Here's a new update based on your comments and requests. Code and docs are in the usual place,
https://github.com/kyllingstad/phobos/blob/std-path/std/path.d http://www.kyllingen.net/code/std-path/phobos-prerelease/std_path.html Here are the highlights: * UNC paths, i.e. \\server\share\..., are now (hopefully) handled correctly on Windows. See the baseName(), dirName(), rootName(), driveName(), pathSplitter(), etc. docs for examples. * Support for //foo/bar paths on POSIX has been removed. * rootName() is new. * pathSplitter() now returns a bidirectional range. * pathCharMatch() and fcmp() have been replaced by improved functions filenameCharCmp() and filenameCmp(), respectively, with optional case sensitivity. * joinPath() has been renamed to buildPath(). * Added a function buildNormalizedPath(), which performs normalization while joining the segments. * Redefined normalize() in terms of buildNormalizedPath(). I am still unsure of the extent to which long UNC paths (i.e. \\?\...) should be supported, if at all. If anyone has anything to say on the matter, please do. :) -Lars
