W3cubDocs

/C++

std::wstring_convert

Defined in header <locale>
template< class Codecvt,
          class Elem = wchar_t,
          class Wide_alloc = std::allocator<Elem>,
          class Byte_alloc = std::allocator<char> >
class wstring_convert;
(since C++11)

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

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

See also

Character
conversions
narrow multibyte
(char)
UTF-8
(char)
UTF-16
(char16_t)
UTF-16 mbrtoc16(one way) codecvt<char16_t, char, mbstate_t>
codecvt_utf8_utf16<char16_t>
codecvt_utf8_utf16<char32_t>
codecvt_utf8_utf16<wchar_t>
N/A
UCS2 c16rtomb(one way) codecvt_utf8<char16_t> codecvt_utf16<char16_t>
UTF-32/UCS4
(char32_t)
mbrtoc32 / c32rtomb codecvt<char32_t, char, mbstate_t>
codecvt_utf8<char32_t>
codecvt_utf16<char32_t>
UCS2/UCS4
(wchar_t)
No codecvt_utf8<wchar_t> codecvt_utf16<wchar_t>
wide
(wchar_t)
codecvt<wchar_t, char, mbstate_t>
mbsrtowcs / wcsrtombs
No No
performs conversion between a byte stream buffer and a wide stream buffer
(class template)
(C++11)
converts between UTF-8 and UCS2/UCS4
(class template)
converts between UTF-8 and UTF-16
(class template)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/locale/wstring_convert