Function std.path.isValidFilename
Checks that the given file or directory name is valid.
bool isValidFilename(Range)(
Range filename
)
if ((isRandomAccessRange!Range && hasLength!Range && hasSlicing!Range && isSomeChar!(ElementEncodingType!Range) || isNarrowString!Range) && !isConvertibleToString!Range);
The maximum length of filename is given by the constant
FILENAME_MAX. (On Windows, this number is
defined as the maximum number of UTF-16 code points, and the
test will therefore only yield strictly correct results when
filename is a string of wchars.)
On Windows, the following criteria must be satisfied (source):
filenamemust not contain any characters whose integer representation is in the range 0-31.filenamemust not contain any of the following reserved characters:<>:filenamemay not end with a space (' ') or a period ('.').
On POSIX, filename may not contain a forward slash ('/') or
the null character ('\0').
Parameters
| Name | Description |
|---|---|
| filename | string to check |
Returns
true if and only if filename is not
empty, not too long, and does not contain invalid characters.
Example
import std .utf : byCodeUnit;
assert(isValidFilename("hello.exe" .byCodeUnit));
Authors
Lars Tandle Kyllingstad, Walter Bright, Grzegorz Adam Hankiewicz, Thomas Kühne, Andrei Alexandrescu