
David Abrahams wrote:
Carlo Wood <carlo@alinoe.com> writes:
I've seen several people already agreeing that there is a design problem with the current boost::filesystem.
I'm among them. However, I have a hard time articulating what I found difficult about the library, other than that the path portability checks seemed to get in my way. If there's something deeper going on, I'd like to hear your opinion of what it is.
The fact that boost::filesystem has zero support for internationalization kills it for me. Ideally, it would just use UTF-8 for everything. It could fairly easily be changed to expect and return UTF-8 strings and then convert (Win32...) or pass-through (Linux...) as appropriate based on the platform. As it is currently written, it can't be used for a Windows application that is used in any country which requires a non-Latin character set. If I'm writing an application that will be running in Japan or China (for e.g.), their file paths and filenames *require* full Unicode support. Boost::filesystem completely ignores this problem so I've never been able to use it. It may have other weaknesses but considering it fails right out of the gate for anyone having to write internationalized applications, I'd say that's a fairly big problem. Patrick Bennett