Beman Dawes wrote
On Thu, Sep 4, 2014 at 11:59 AM, Robert Ramey <
ramey@
> wrote:
Does any Boost library other than serialization try to switch between boost:: and std:: versions?
I'm just trying to make sure that the serialization library works on both C++O3 and C++11 systems. Support for utf8_codecvt is different for the libraries which come withe systems. On many platforms, C++11 includes std support for utf8_codecvt and that's what I use if it exists. While C++03 libraries don't come with such support. And those that did had inconsistent interfaces. I made changes which use config to select the std version if the library supports it and the boost version otherwise. That was the only way I saw to avoid invalidating all existing files created with the serialization library.
A better solution might be a new library for codecvt facets. There is a rich opportunity here.
Why? Microsoft, for example, ships codecvt facets for 79 character sets, including the difficult Asian character sets. Why should boost try to duplicate the work that vendors have already done, particularly when Unicode become predominate.?
the codecvt interface is quite general purpose and could be used for a lot of other things like translating binary data into base64. This could be used to decouple things like base64 from the user program and just make it a component of the stream buffer. Also there's the possibility of making a codecvt composer such that other codecvt types could be piped together. Basically, it would be a kit including a set of stream transformation primitives which could be arbitrarily composed to generate a more complex stream. FWIW that's what I had in mind. RObert Ramey -- View this message in context: http://boost.2283326.n4.nabble.com/serialization-libstdc-detail-utf8-codecvt... Sent from the Boost - Dev mailing list archive at Nabble.com.