std::wbuffer_convert(3)

NAME
std::wbuffer_convert - std::wbuffer_convert

Synopsis
   Defined in header <locale>
   template<class Codecvt,
   class Elem = wchar_t, (since C++11)
   class Tr = std::char_traits<Elem> > (deprecated in C++17)
   class wbuffer_convert : public std::basic_streambuf<Elem, Tr>
   std::wbuffer_convert is a wrapper over stream buffer of type
   std::basic_streambuf<char> which gives it the appearance of
   std::basic_streambuf<Elem>. All I/O performed through std::wbuffer_convert undergoes
   character conversion as defined by the facet Codecvt. std::wbuffer_convert assumes
   ownership of the conversion facet, and cannot use a facet managed by a locale. The
   standard facets suitable for use with std::wbuffer_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.
   This class template makes the implicit character conversion functionality of
   std::basic_filebuf available for any std::basic_streambuf.

Member types
   Member type Definition
   state_type Codecvt::state_type

Member functions
   constructor constructs a new wbuffer_convert
                 (public member function)
   operator= the copy assignment operator is deleted
                 (public member function)
   destructor destructs the wbuffer_convert and its conversion facet
                 (public member function)
   rdbuf returns or replaces the underlying narrow stream buffer
                 (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)
   wstring_convert performs conversions between a wide string and a byte
   (C++11) string
   (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)