Is there any path open-source manipulation library which supports all of the following?
Unrestricted path lengths (i.e. the only restriction should be from the range of
size_t, not arbitrary limitations like 256 characters)Basic manipulations like canonicalization, the equivalent of
basename,dirname, getting the file extension, getting the root, etc.All valid Windows-style paths and file names, such as
\Rooted,Dir/,C:\Dir/foo,File,\\Computer\Dir/File,\\.\C:,Foo\./.\Bar:ADS, or\\?\C:\Dir\Escaped:ADS:$DATA- I believe this should also cover POSIX-style paths, but if not, those should work too
I'd prefer C++, but C is also fine.