std::wstring_convert(3)

NAME
std::wstring_convert - std::wstring_convert

Synopsis
   Defined in header <locale>
   template< class Codecvt,
   class Elem = wchar_t, (since C++11)
   class Wide_alloc = std::allocator<Elem>, (deprecated in C++17)
   class Byte_alloc = std::allocator<char> >
   class wstring_convert;
   Class template std::wstring_convert performs conversions between byte string
   std::string and wide string std::basic_string<Elem>, using an individual code
   conversion facet Codecvt. std::wstring_convert assumes ownership of the conversion
   facet, and cannot use a facet managed by a locale. The standard facets suitable for
   use with std::wstring_convert are std::codecvt_utf8 for UTF-8/UCS2 and UTF-8/UCS4
   conversions and std::codecvt_utf8_utf16 for UTF-8/UTF-16 conversions.

Member types
   Member type Definition
   byte_string std::basic_string<char, char_traits<char>, Byte_alloc>
   wide_string std::basic_string<Elem, char_traits<Elem>, Wide_alloc>
   state_type Codecvt::state_type
   int_type wide_string::traits_type::int_type

Member functions
   constructor constructs a new wstring_convert
                 (public member function)
   operator= the copy assignment operator is deleted
                 (public member function)
   destructor destructs the wstring_convert and its conversion facet
                 (public member function)
   from_bytes converts a byte string into a wide string
                 (public member function)
   to_bytes converts a wide string into a byte string
                 (public member function)
   converted returns the number of characters successfully converted
                 (public member function)
   state returns the current conversion state
                 (public member function)

See also
     Character locale-defined
    conversions multibyte UTF-8 UTF-16
                     (UTF-8, GB18030)
                    mbrtoc16 / codecvt<char16_t, char, mbstate_t>
      UTF-16 c16rtomb(with C11's codecvt_utf8_utf16<char16_t> N/A
                    DR488) codecvt_utf8_utf16<char32_t>
                        codecvt_utf8_utf16<wchar_t>
                    c16rtomb(without codecvt_utf8<char16_t> codecvt_utf16<char16_t>
       UCS2 C11's DR488)
                        codecvt_utf8<wchar_t>(Windows) codecvt_utf16<wchar_t>(Windows)
                        codecvt<char32_t, char, mbstate_t> codecvt_utf16<char32_t>
      UTF-32 mbrtoc32 / c32rtomb codecvt_utf8<char32_t> codecvt_utf16<wchar_t>(non-Windows)
                        codecvt_utf8<wchar_t>(non-Windows)
                    mbsrtowcs /
   system wide: wcsrtombs UTF-32(non-Windows) use_facet<codecvt No No
   UCS2(Windows) <wchar_t, char,
                    mbstate_t>>(locale)
   wbuffer_convert performs conversion between a byte stream buffer and a
   (C++11) wide stream buffer
   (deprecated in C++17) (class template)
   codecvt_utf8 converts between UTF-8 and UCS2/UCS4
   (C++11)(deprecated in C++17) (class template)
   codecvt_utf8_utf16 converts between UTF-8 and UTF-16
   (C++11)(deprecated in C++17) (class template)