The specializations required
in Table 104
convert the implementation-defined native character set.
codecvt<char, char, mbstate_t>
implements a degenerate conversion;
it does not convert at all.
The specialization codecvt<char16_t, char8_t, mbstate_t>
converts between the UTF-16 and UTF-8 encoding forms, and
the specialization codecvt<char32_t, char8_t, mbstate_t>
converts between the UTF-32 and UTF-8 encoding forms.
codecvt<wchar_t, char, mbstate_t>
converts between the native character sets for ordinary and wide characters.
Specializations on mbstate_t
perform conversion between encodings known to the library implementer.
Other encodings can be converted by specializing on
a program-defined stateT
Objects of type stateT
can contain any state
that is useful to communicate to or from
the specialized do_in