C++03 defines two character types: char
and wchar_t
. (lets ignore the signed char
and unsigned char
insanity).
These two character are then applied to std::basic_string
, std::basic_ostream
, etc as std::string/std::wstring
and std::ostream/std::wostream
.
From the streams the standard library also defines the globals std::cout
and std::wcout
.
The new c++0x standard defines two more character types char16_t
and char32_t
. However, the only new typedefs are std::u16string
and std::u32string
.
Why doesn't the standard supply a std::u16ostream
? Or how about a std::u32cout
?