Boost logo

Boost :

Subject: Re: [boost] [filesystem] Version 3 request for comments
From: Peter Dimov (pdimov_at_[hidden])
Date: 2009-02-02 11:48:54

Beman Dawes:

> A prototype implementation of version 3 of Boost.Filesystem is available
> for comment.


> See
> for a fuller description of the prototype and links to the prototype
> implementation.

locale( "" ) is not correct on Mac OS X, where the API always takes UTF-8
char* and the filesystem uses wchar_t internally (AFAIK).

One might make a case that a default UTF-8 locale is more "correct" on all
OSes. On Solaris, it is the recommended choice by Sun for path encoding
(AFAIK). All Linuxes are also moving to UTF-8 by default. There do exist
vocal minorities that prefer other encodings though. :-)

I'm, personally, using UTF-8 as the narrow encoding on Windows as well. The
reason it works is that if one always gets a path object from the FS library
it doesn't matter that the encoding doesn't match the ANSI APIs because they
never get used. In addition, UTF-8 is roundtrip-safe, that is, path(
p.string() ) produces a path that is equivalent to p; this is not
necessarily the case with the system encoding, where some paths cannot be
represented as a narrow string.

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