Boost logo

Boost :

From: Edward Diener (eddielee_at_[hidden])
Date: 2003-04-21 20:03:35

Beman Dawes wrote:
> There are two use cases for filesystem functionality. One is the
> portable case, where paths are often explicitly specified in program
> code, and the need is portable and as-identical-as-possible operation
> across operating systems. The second is the "native" case, where
> paths often originate as
> user input, and the need is for portable code that still can handle
> native format paths.
> What is very explicitly not a supported use case is for providing
> simply a new but still non-portable interface to non-portable
> operating system
> API's. If that is the need, just call the non-portable operating
> system
> API's directly.
> As far as filtering goes, my primary interest is the portable case.
> Presumably this involves a generic portable filter grammar, and that
> requirement seems made to order for regular expressions. But it is
> hard to tell if that idea is actually useful without more study and
> experimentation.
> Once the portable case is handled, then I'm willing to see if native
> format paths with wild-cards can be accommodated. But solving the
> portable case seems to me to be most important.

I can see the theoretical importance of a portable regex-based filter but
the practical importance of providing non-portable filters for specific OSs
in the filesystem library.

> My highest current priority for filesystem is work on
> internationalization, specifically portable wide-character paths.
> Until that problem is solved,
> the filesystem library can't be proposed for standardization.

Since I was very vocal on this issue on comp.std.c++, I would really like to
know what happens regarding wide-character file names in the future. I
believe very strongly that the next iteration of the C++ standard library
needs to support wide-character file names, and that it does no good for the
C++ committee to avoid this issue and hope it just fades away somehow. I do
not believe that C++ should attempt to legislate what wide characters go
into a wide character file name as different locales will have their own
idea of what constitutes a valid wide character name. Neverthless I am
willing to be wrong about this as long as the C++ standards commitee
realizes that it is important to add to the C++ standard library wide
character filename support of some kind, so that cultures whose normal
language encoding is a wide character one can use the C++ standard library
to specify wide character names for their I/O functionality on OSs which
support wide character filenames.

Boost list run by bdawes at, gregod at, cpdaniel at, john at