The header <string>
defines five specializations of the class template
char_traits:
char_traits<char>,
char_traits<char8_t>,
char_traits<char16_t>,
char_traits<char32_t>,
and
char_traits<wchar_t>.
The type mbstate_t is defined in <cwchar>
and can represent any of the conversion states that can occur in an
implementation-defined set of supported multibyte
character encoding rules.