View source code
Display the source code in std/path.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
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.

Function std.path.isAbsolute

Determines whether a path is absolute or not.

bool isAbsolute(R) (
  R path
) pure nothrow @safe
if (isRandomAccessRange!R && isSomeChar!(ElementType!R) || is(StringTypeOf!R));

bool isAbsolute(R) (
  R path
) pure nothrow @safe
if (isRandomAccessRange!R && isSomeChar!(ElementType!R) || is(StringTypeOf!R));

Parameters

NameDescription
path A path name.

Returns

Whether a path is absolute or not.

Example

On POSIX, an absolute path starts at the root directory. (In fact, _isAbsolute is just an alias for isRooted.)

version (Posix)
{
    assert(isAbsolute("/"));
    assert(isAbsolute("/foo"));
    assert(!isAbsolute("foo"));
    assert(!isAbsolute("../foo"));
}

On Windows, an absolute path starts at the root directory of a specific drive. Hence, it must start with d:\ or d:/, where d is the drive letter. Alternatively, it may be a network path, i.e. a path starting with a double (back)slash.

version (Windows)
{
    assert(isAbsolute(`d:\`));
    assert(isAbsolute(`d:\foo`));
    assert(isAbsolute(`\\foo\bar`));
    assert(!isAbsolute(`\`));
    assert(!isAbsolute(`\foo`));
    assert(!isAbsolute("d:foo"));
}

Authors

Lars Tandle Kyllingstad, Walter Bright, Grzegorz Adam Hankiewicz, Thomas Kühne, Andrei Alexandrescu

License

Boost License 1.0