| 1974 | } |
| 1975 | |
| 1976 | void UTFString::_load_buffer_WStr() const |
| 1977 | { |
| 1978 | _getBufferWStr(); |
| 1979 | std::wstring &buffer = ( *mBuffer.mWStrBuffer ); |
| 1980 | buffer.reserve( length() ); // may over reserve, but should be close enough |
| 1981 | # ifdef WCHAR_UTF16 // wchar_t matches UTF-16 |
| 1982 | const_iterator i, ie = end(); |
| 1983 | for( i = begin(); i != ie; ++i ) |
| 1984 | { |
| 1985 | buffer.push_back( (wchar_t)( *i ) ); |
| 1986 | } |
| 1987 | # else // wchar_t fits UTF-32 |
| 1988 | unicode_char c; |
| 1989 | const_iterator i, ie = end(); |
| 1990 | for( i = begin(); i != ie; i.moveNext() ) |
| 1991 | { |
| 1992 | c = i.getCharacter(); |
| 1993 | buffer.push_back( (wchar_t)c ); |
| 1994 | } |
| 1995 | # endif |
| 1996 | } |
| 1997 | |
| 1998 | void UTFString::_load_buffer_UTF32() const |
| 1999 | { |