Jeff Garland wrote:
On Wed, 30 Jun 2004 11:26:14 -0700, Delfin Rojas wrote
... snip ... preprocessor definition. Then, boost::fylesystem::path could accept std::basic_string<TCHAR> instead of std::basic_string<char>. That would solve the problem and everybody would be happy ;)
I'm guessing it's a bit more complicated than that. In February Beman (author of filesystem) was working on a proposal for this which was to be discussed at the Sydney meeting. See
http://lists.boost.org/MailArchives/boost/msg60389.php
You can find a copy of it here:
http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2004/n1576.html
Apparently he didn't finish in time because he left internationalization as an open issue (see the bottom of the previous link). I'm not certain what's happened to Beman -- he hasn't posted lately -- hopefully he or someone else can update the state of the work.
I went through long arguments on comp.std.c++ trying to push for wide character filenames to be added into the current C++ standard library where only narrow character filenames are allowed. I wasn't attempting to specify what those wide character filenames should mean on operating systems which supported them, but suggesting it should be completely implementation specific. Nor was I attempting to suggest that a wide character filename be connected in any way to a particular Unicode representation. Merely on the basis of orthogonality, and the fact that a number of operating systems supported it, I argued that wide character filenames be allowed. In the C++ standard library the only thing known about filenames is that they are currently a sequence of narrow characters, with all other meanings and usage being purely implementation defined. My suggestion was that wide character filenames be added to the C++ standard library with the single proviso that they be a sequence of wide characters, with all other meanings being purely implementation defined. Needless to say, my suggestion was rejected. In the case of the boost::filesystem the situation is a great deal more complicated since the notion of a filename is much more specifically defined than in the C++ standard library. So I do wish Mr. Dawes good luck in attempting to come up with a good definition of wide character filenames in his library.