Namespaces
Variants

std:: wbuffer_convert

From cppreference.net
Definido en el encabezado <locale>
template <

class Codecvt,
class Elem = wchar_t ,
class Tr = std:: char_traits < Elem >

> class wbuffer_convert : public std:: basic_streambuf < Elem, Tr >
(desde C++11)
(obsoleto en C++17)
(eliminado en C++26)

std::wbuffer_convert es un envoltorio sobre el búfer de flujo de tipo std:: basic_streambuf < char > que le da la apariencia de std:: basic_streambuf < Elem > . Toda E/S realizada a través de std::wbuffer_convert sufre conversión de caracteres según lo definido por la faceta Codecvt . std::wbuffer_convert asume la propiedad de la faceta de conversión y no puede utilizar una faceta gestionada por una configuración regional.

Los facets estándar adecuados para usar con std::wbuffer_convert son std::codecvt_utf8 para conversiones UTF-8/UCS-2 y UTF-8/UCS-4, y std::codecvt_utf8_utf16 para conversiones UTF-8/UTF-16.

Esta plantilla de clase hace que la funcionalidad de conversión implícita de caracteres de std::basic_filebuf esté disponible para cualquier std::basic_streambuf .

Contenidos

Tipos de miembros

Tipo Definición
state_type Codecvt :: state_type

Miembros de datos

Miembro Descripción
std:: streambuf * bufptr un puntero al búfer de flujo de bytes subyacente
( objeto miembro solo para exposición* )
Codecvt * cvtptr un puntero al objeto de conversión asignado
( objeto miembro solo para exposición* )
state_type cvtstate el objeto de estado de conversión
( objeto miembro solo para exposición* )

Funciones miembro

construye un nuevo wbuffer_convert
(función miembro pública)
operator=
el operador de asignación de copia está eliminado
(función miembro pública)
destruye el wbuffer_convert y su faceta de conversión
(función miembro pública)
devuelve o reemplaza el búfer de flujo subyacente de caracteres estrechos
(función miembro pública)
devuelve el estado actual de conversión
(función miembro pública)

Véase también

Conversiones de caracteres
multibyte definido por locale
(UTF-8, GB18030)
UTF-8
UTF-16
UTF-16 mbrtoc16 / c16rtomb (con DR488 de C11)

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

N/A
UCS-2 c16rtomb (sin DR488 de 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 >

system wchar_t :

UTF-32 (no Windows)
UCS-2 (Windows)

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

codecvt_utf8 < wchar_t > codecvt_utf16 < wchar_t >
(C++11) (deprecated in C++17) (removed in C++26)
realiza conversiones entre una cadena ancha y una cadena de bytes
(plantilla de clase)
(C++11) (deprecated in C++17) (removed in C++26)
convierte entre UTF-8 y UCS-2/UCS-4
(plantilla de clase)
(C++11) (deprecated in C++17) (removed in C++26)
convierte entre UTF-8 y UTF-16
(plantilla de clase)