Angus Leeming <[EMAIL PROTECTED]> writes:

| Lars Gullik Bjønnes <[EMAIL PROTECTED]> writes:
| > | | Can't we use std::basic_string<char_type>?
| > | Only if you create the proper char_traits<char_type>.
| > Except on Linux (and others, but not win) where wstring really is a
| > basic_string<ucs-4> (ucs-4 == wchar_t)
| 
| You mean wchar_t == uint32? UCS-4 is the encoding, no?

yes.
(but wchar_t on linux also follow the ucs-4 encoding...)

| > So perhaps we can use that, and have a fallback on platforms where
| > wchar_t is 16bit.
| 
| Do it the same way on all platforms; let's have no second class citizens.
| 
| Anyway, your answer raises the question: why not "borrow" the linux gcc
| char_traits<uint32> implementation and use that on Windows?
| 
| typedef boost::uint32 lyx::char_type;
| 
| #ifdef _WIN32 // native Windows, Cygwin
|   typedef borrowed_gcc_char_traits<lyx::char_type> lyx::uchar_traits;
| #else if defined POSIX // Linux, Mac, other *nixes.
|   typedef std::char_traits<lyx::char_type> lyx::uchar_traits;
| #endif
| 
| typedef std::basic_string<lyx::char_type, lyx::uchar_traits> lyx::ustring;
| 
| What do I miss?

Perhaps nothing.

-- 
        Lgb

Reply via email to