std:: wbuffer_convert
|
Определено в заголовке
<locale>
|
||
|
template
<
class
Codecvt,
|
(начиная с C++11)
(устарело в C++17) (удалено в C++26) |
|
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 |
Члены данных
| Участник | Описание |
std::
streambuf
*
bufptr
|
указатель на базовый буфер байтового потока
( объект-член только для демонстрации* ) |
Codecvt
*
cvtptr
|
указатель на выделенный объект преобразования
( объект-член только для демонстрации* ) |
state_type
cvtstate
|
объект состояния преобразования
( объект-член только для демонстрации* ) |
Функции-члены
создает новый
wbuffer_convert
(публичная функция-член) |
|
|
operator=
|
оператор присваивания копированием удален
(публичная функция-член) |
уничтожает
wbuffer_convert
и его фасет преобразования
(публичная функция-член) |
|
|
возвращает или заменяет базовый узкополосный буфер потока
(публичная функция-член) |
|
|
возвращает текущее состояние преобразования
(публичная функция-член) |
Смотрите также
|
Преобразования символов
|
Многобайтовые, определенные локализацией
(UTF-8, GB18030) |
UTF-8
|
UTF-16
|
|---|---|---|---|
| UTF-16 | mbrtoc16 / c16rtomb (с DR488 из C11) |
codecvt
<
char16_t
,
char
,mbstate_t
>
|
Н/П |
| UCS-2 | c16rtomb (без DR488 из C11) | codecvt_utf8 < char16_t > | codecvt_utf16 < char16_t > |
| UTF-32 |
codecvt
<
char32_t
,
char
,mbstate_t
<
|
codecvt_utf16 < char32_t > |
|
|
Системный
wchar_t
:
UTF-32
(не-Windows)
|
mbsrtowcs
/
wcsrtombs
|
codecvt_utf8 < wchar_t > | codecvt_utf16 < wchar_t > |
|
(C++11)
(deprecated in C++17)
(removed in C++26)
|
выполняет преобразования между широкой строкой и байтовой строкой
(шаблон класса) |
|
(C++11)
(deprecated in C++17)
(removed in C++26)
|
преобразует между UTF-8 и UCS-2/UCS-4
(шаблон класса) |
|
(C++11)
(deprecated in C++17)
(removed in C++26)
|
преобразует между UTF-8 и UTF-16
(шаблон класса) |