
On Wed, Jan 19, 2011 at 1:16 PM, Alexander Lamaison <awl03@doc.ic.ac.uk> wrote:
On Wed, 19 Jan 2011 11:33:02 +0100, Matus Chochlik wrote:
The string-encoding-related discussion boils down for me to the following: What fill the string handling in C++ look like in the (maybe not immediate) future.
*Scenario A:*
[..]
All the wstrings, wxString, Qstrings, utf8strings, etc. will be abandoned. All the APIs using ANSI or UCS-2 will be slowly phased out with the help of convenience classes like ansi_str_t and ucs2_t that will be made obsolete and finally dropped (after the transition).
This is simply not going to happen. How could MS even go about doing this in Windows? It would make very single piece of Windows software incompatible with the next version!
This is where the convenience classes would be used. For windows it may take a while to get rid of them and maybe a converter from std::string to WINAPI string will have to exist for a long time. IMO even Microsoft is finally realizing that the dual interface is crap and they will have to do something about it. Many new additions to WINAPI already use only WCHAR* and do not provide the ANSI version. What this means for Boost is that we would be using std::string with UTF-8 and when using WINAPI as backend (in Filesystem, Interproces, etc.) we should as Artyom already suggested use only the "wide-char interface". Matus