Boost logo

Boost :

Subject: Re: [boost] [C++0x] Emulate C++0x char16_t, char32_t, std::u16string, and std::u32string
From: John Maddock (boost.regex_at_[hidden])
Date: 2011-07-21 07:26:06


> I'm starting to fold in Boost.Filesystem support for the new C++0x
> character types. Support is emulated for compilers and standard
> libraries not currently supporting the 0x features. The emulation is
> working fine, with tests passing on Windows for GCC 4.5 and 4.6, and
> VC++ 8, 9, and 10. Haven't tested on non-Windows systems yet.
>
> This is the same emulation approach Microsoft ships in VC++ 10.
>
> It seems to me that all Boost libraries that want to emulate these 0X
> features should use the a unified approach. Otherwise we could get
> into a situation where libraries A and B worked fine in isolation, but
> had symbol or ODR clashes when used together.
>
> The header I'm using is attached. I propose to place this in
> <boost/string_0x.hpp> rather than, say,
> <boost/filesystem/detail/string_0x.hpp>, and providing a simple doc
> page.
>
> Does this make sense?

Yes but..... won't there be (possibly linker) errors from those std::string
specializations?

My gut feeling is that at the very least, some kind of basic_string concept
check is required for those new string types.

John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk