Spec-Zone.ru › C++

std::wbuffer_convert

Определено в заголовке <locale>
template<
    class Codecvt,
    class Elem = wchar_t,
    class Tr = std::char_traits<Elem>
> class wbuffer_convert : public std::basic_streambuf<Elem, Tr>
(с C++11)
(устарело в C++17)

std::wbuffer_convert — это обертка над буфером потока типа std::basic_streambuf<char>, которая придает ему вид std::basic_streambuf<Elem>. Все ввод-вывод, выполняемые через std::wbuffer_convert, проходит преобразование символов, определённое объектом-фасетом Codecvt. std::wbuffer_convert берет на себя управление объектом-фасетом преобразования и не может использовать фасет, управляемый локали. Стандартные фасеты, пригодные для использования с std::wbuffer_convert, — это std::codecvt_utf8 для преобразований UTF-8/UCS-2 и UTF-8/UCS-4 и std::codecvt_utf8_utf16 для преобразований UTF-8/UTF-16.

Этот шаблон класса предоставляет функциональность неявного преобразования символов std::basic_filebuf для любого std::basic_streambuf.

Типы членов

Тип члена Определение
state_type Codecvt::state_type

Члены-функции

(конструктор)
создает новый wbuffer_convert
(публичная функция-член)
operator=
оператор присваивания по копированию удален
(публичная функция-член)
(деструктор)
уничтожает wbuffer_convert и его объект-фасет преобразования
(публичная функция-член)
rdbuf
возвращает или заменяет базовую узкую буферную строку потока
(публичная функция-член)
state
возвращает текущее состояние преобразования
(публичная функция-член)

См. также

Преобразование символов
Многобайтовые преобразования, определённые в локали
(UTF-8, GB18030)
UTF-8
UTF-16
UTF-16 mbrtoc16 / c16rtomb (с DR488 C11)

codecvt<char16_t,char,mbstate_t>
codecvt_utf8_utf16<char16_t>
codecvt_utf8_utf16<char32_t>
codecvt_utf8_utf16<wchar_t>

Н/Д
UCS-2 c16rtomb (без DR488 C11) codecvt_utf8<char16_t> codecvt_utf16<char16_t>
UTF-32

mbrtoc32 / c32rtomb

codecvt<char32_t,char,mbstate_t>
codecvt_utf8<char32_t>

codecvt_utf16<char32_t>

системный wchar_t:

UTF-32 (не Windows)
UCS-2 (Windows)

mbsrtowcs / wcsrtombs
use_facet<codecvt
<wchar_t,char,mbstate_t>>(locale)

codecvt_utf8<wchar_t> codecvt_utf16<wchar_t>
wstring_convert
(C++11)(устарело в C++17)
выполняет преобразования между широкой строкой и строкой байтов
(шаблон класса)
codecvt_utf8
(C++11)(устарело в C++17)(удалено в C++26)
выполняет преобразования между UTF-8 и UCS-2/UCS-4
(шаблон класса)
codecvt_utf8_utf16
(C++11)(устарело в C++17)(удалено в C++26)
выполняет преобразования между UTF-8 и UTF-16
(шаблон класса)

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API