From: jon@hackcraft.net
Date: Wed Dec 03 2003 - 05:28:21 EST
> So you can have a wchar_t datatype in C/C++ that stores UCS-4, but
> your strings will most often not be arrays of wchar_t but of an
> intermediate 16-bit size which gets parsed to 32-bit wchar_t by
> very simple run-time scanners.
If wchar_t maps to UCS-4 then wchar_t* will map to UCS-4 and all of the C
runtime support for string handling use wchar_t* for "wide" characters.
It would not be possible to implement std::wstring on a system for which
wchar_t was 32bits with it internally using a 16-bit unit storing UTF-16 since
you are required to provide random-access iterators into the code-units and
such an implementation could only provide bi-directional iterators (you could
do weird things like storing indexes into the internal string, but the only
reason for doing that would be to show that you could; the result would be
worse in every way to an more straight-forward implementation that stored
wchar_t characters).
-- Jon Hanna | Toys and books <http://www.hackcraft.net/> | for sick children: | <http://santa.boards.ie/>
This archive was generated by hypermail 2.1.5 : Wed Dec 03 2003 - 06:22:42 EST