
I have seen your example and source and recognize your contribution already now. Especially I like the constructor which converts between various types of unicode strings. It is also nice you try to mimic basic_string interface. However it isn't basic_string and it means it is isolated from the rest of standard library. In perfect world I would expect to read/write utf_strings from std::streams in the same way it is provided for std::string i.e. all the operations like operator>>, getline and so on should be usable on utf_strings. But these rely on specializing char_traits, codecvt and other locale facets so I Am afraid to achieve this it is necessary to write it the way the standard does. So in this area I basicaly identify with Matt Austern's proposal for the C++0x ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2035.pdf ). Of course there is also necessary to provide utf32 access for each utf_string specialization (effectively implemented through iterators) which is missing there and which your implementation already has. Best Regards Tomas