Proposal for std.path replacement

Graham St Jack Graham.StJack at internode.on.net
Thu Mar 3 15:30:37 PST 2011


On 04/03/11 02:59, Lars T. Kyllingstad wrote:
> As mentioned in the "std.path.getName(): Screwy by design?" thread, I
> started working on a rewrite of std.path a long time ago, but I got
> sidetracked by other things.  The recent discussion got me working on it
> again, and it turned out there wasn't that much left to be done.
>
> So here it is, please comment:
>
>      http://kyllingen.net/code/ltk/doc/path.html
>      https://github.com/kyllingstad/ltk/blob/master/ltk/path.d
>
> Features:
>
> - Most functions work with all string types, i.e. all permutations of
> mutable/const/immutable(char/wchar/dchar)[].  Notable exceptions are
> toAbsolute() and toCanonical, because they rely on std.file.getcwd()
> which returns an immutable(char)[].
>
> - Correct behaviour in corner cases that aren't covered by the current
> std.path.  See the other thread for some examples, or take a look at the
> unittests for a more complete picture.
>
> - Saner naming scheme.  (Still not set in stone, of course.)
>
> -Lars

I like it. It certainly looks a lot cleaner than the current std.path.

I am interested in why you chose to use templates to allow not only 
char, dchar and wchar arrays, but also const, mutable, and immutable. My 
first instinct would be to use non-templated functions that take const 
char[].

-- 
Graham St Jack



More information about the Digitalmars-d mailing list