std.path review: second update

Lars T. Kyllingstad public at kyllingen.NOSPAMnet
Fri Jul 29 11:06:58 PDT 2011


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


More information about the Digitalmars-d mailing list