Boost logo

Boost :

Subject: Re: [boost] Review Request: Boost.Locale
From: Gevorg Voskanyan (v_gevorg_at_[hidden])
Date: 2010-05-24 06:53:43


Artyom wrote:
> However there is still a limitation when working with 2 byte
> characters (ie char16_t or wchar_t under windows) as
> Boost.Locale would work correctly only with UCS-2

> But this is actually C++ standard's limitation.

Artyom,

I've always wondered about this, so will take this chance for clarification.
Isn't this rather windows compilers' non-compliance?
3.9.1/5
"Type wchar_t is a distinct type whose values can represent distinct codes for all members of the largest
extended character set specified among the supported locales (22.1.1). Type wchar_t shall have the same
size, signedness, and alignment requirements (3.9) as one of the other integral types, called its underlying
type."
So _if_ any supported locale can handle characters outside of BMP, the implementation will qualify as non-conforming according to this paragraph. I know that windows OS itself can handle such characters, so I'd expect supported std locales to be able to handle them as well, but I haven't checked that.

Any clarification on this matter would be appreciated.

Thank you,
Gevorg


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