View source code
Display the source code in std/path.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Function std.path.pathSplitter
Slice up a path
into its elements.
Prototype
auto pathSplitter(R)( R path ) if (isRandomAccessRange!R && hasSlicing!R || isSomeString!R);
Parameters
Name | Description |
---|---|
path | string or slicable random access range |
Returns
bidirectional range of slices of path
Examples
assert (equal(pathSplitter("/"), ["/"])); assert (equal(pathSplitter("/foo/bar"), ["/", "foo", "bar"])); assert (equal(pathSplitter("//foo/bar"), ["//foo", "bar"])); assert (equal(pathSplitter("foo/../bar//./"), ["foo", "..", "bar", "."])); version (Windows) { assert (equal(pathSplitter(foo\..\bar\/.\
), ["foo", "..", "bar", "."])); assert (equal(pathSplitter("c:"), ["c:"])); assert (equal(pathSplitter(c:\foo\bar
), [c:\
, "foo", "bar"])); assert (equal(pathSplitter(c:foo\bar
), ["c:foo", "bar"])); }
Authors
Lars Tandle Kyllingstad, Walter Bright, Grzegorz Adam Hankiewicz, Thomas Kühne, Andrei Alexandrescu