From cppreference.com
template<classCodecvt,classElem=wchar_t,classTr=std::char_traits<Elem>>classwbuffer_convert:publicstd::basic_streambuf<Elem,Tr>(since C++11)
(deprecated in C++17)
(removed in C++26)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
for UTF-8/UCS-2 and UTF-8/UCS-4 conversions and
for UTF-8/UTF-16 conversions.
This class template makes the implicit character conversion functionality of
available for any
.
Member types
Type Definition state_typeCodecvt::state_typeData members
Member Description std::streambuf*bufptra pointer to the underlying byte stream buffer
(exposition-only member object*)Codecvt*cvtptra pointer to the allocated conversion object
(exposition-only member object*)state_typecvtstatethe conversion state object
(exposition-only member object*)Member functions
constructs a new wbuffer_convert
(public member function)
operator=
the copy assignment operator is deleted
(public member function)destructs the wbuffer_convert and its conversion facet
(public member function)
returns or replaces the underlying narrow stream buffer
(public member function)
returns the current conversion state
(public member function)
See also
Character
conversions locale-defined multibyte
(UTF-8, GB18030) UTF-8
UTF-16
UTF-16
/
(with C11's DR488)
<char16_t,char,mbstate_t>
<char16_t>
<char32_t>
<wchar_t>
N/AUCS-2
(without C11's DR488)
<char16_t>
<char16_t>UTF-32
/
<char32_t,char,mbstate_t>
<char32_t>
<char32_t>
system wchar_t: UTF-32 (non-Windows)
UCS-2 (Windows)
/
<
<wchar_t,char,mbstate_t>>(
)
<wchar_t>
<wchar_t>(C++11)(deprecated in C++17)(removed in C++26)
performs conversions between a wide string and a byte string
(class template)
(C++11)(deprecated in C++17)(removed in C++26)
converts between UTF-8 and UCS-2/UCS-4
(class template)
(C++11)(deprecated in C++17)(removed in C++26)
converts between UTF-8 and UTF-16
(class template)