|
Boost : |
From: Erik Wien (wien_at_[hidden])
Date: 2004-10-21 13:31:24
"Rogier van Dalen" <rogiervd_at_[hidden]> wrote in message
> I hadn't yet looked at it this way, but you are right from a
> theoretical point of view at least. To get more to practical matters,
> what do you think this should do:
>
> unicode::string s = ...;
> s += 0xDC01; // An isolated surrogate, which is nonsense
>
> ?
> Should it throw, or convert the isolated surrogate to U+FFFD
> REPLACEMENT CHARACTER (Unicode standard 4 Section 2.7), or something
> else? And what should the member function with the opposite behaviour
> be called?
The best solution would be to never append single code units, but instead
code points. The += operator would determine how many code units is required
for the given code point.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk