codecvt (Clase)

Clase de plantilla que describe un objeto que puede actuar como faceta de configuración regional. Puede controlar las conversiones entre una secuencia de valores usados para codificar caracteres dentro del programa y una secuencia de valores usados para codificar caracteres fuera del programa.

template<class CharType, class Byte, class StateType>
    class codecvt : public locale::facet, codecvt_base;

Parámetros

  • CharType
    Tipo usado dentro de un programa para codificar caracteres.

  • Byte
    Tipo usado para codificar caracteres fuera de un programa.

  • StateType
    Tipo que se puede usar para representar los estados intermedios de una conversión entre los tipos internos y externos de representaciones de caracteres.

Comentarios

La clase de plantilla describe un objeto que puede actuar como faceta de configuración regional, para controlar las conversiones entre una secuencia de valores de tipos CharType y una secuencia de valores de tipo Byte. La clase StateType caracteriza la transformación y un objeto de clase StateType almacena la información de estado necesaria durante una conversión.

La codificación interna emplea una representación con un número fijo de bytes por carácter, normalmente de tipo char o de tipo wchar_t.

Como ocurre con cualquier faceta de configuración regional, el id de objeto estático tiene un valor almacenado inicial de cero. El primer intento de acceso a su valor almacenado almacena un valor positivo único enid.

Las versiones de plantilla de do_in y do_out siempre devuelven codecvt_base::noconv.

La Biblioteca estándar de C++ define varias especializaciones explícitas:

template<>

codecvt<wchar_t, char, mbstate_t>

convierte entre secuencias wchar_t y char.

template<>

codecvt<char16_t, char, mbstate_t>

convierte entre secuencias char16_t codificadas como UTF-16 y secuencias char codificadas como UTF-8.

template<>

codecvt<char32_t, char, mbstate_t>

convierte entre secuencias char32_t codificadas como UTF-32 (UCS-4) y secuencias char codificadas como UTF-8.

Constructores

codecvt

Constructor de objetos de clase codecvt que actúa como faceta de configuración regional para controlar las conversiones.

Typedefs

extern_type

Tipo de carácter que se usa para las representaciones externas.

intern_type

Tipo de carácter que se usa para las representaciones internas.

state_type

Tipo de carácter que se usa para representar los estados intermedios durante las conversiones entre las representaciones internas y externas.

Funciones miembro

always_noconv

Comprueba si no es necesario realizar ninguna conversión.

do_always_noconv

Función virtual a la que se llama para comprobar si no es necesario realizar ninguna conversión.

do_encoding

Función virtual que comprueba si la codificación del flujo Byte depende del estado, si la relación entre los Bytes usados y los CharTypes generados es constante y, en tal caso, determina el valor de esa relación.

do_in

Función virtual a la que se llama para convertir una secuencia de Bytes internos en una secuencia de CharTypes externos.

do_length

Función virtual que determina cuántos Bytes de una secuencia determinada de Bytes externos generan no más de un número determinado de CharTypes internos y devuelve ese número de Bytes.

do_max_length

Función virtual que devuelve el número máximo de bytes externos necesarios para generar un CharType interno.

do_out

Función virtual a la que se llama para convertir una secuencia de CharTypes internos en una secuencia de Bytes externos.

do_unshift

Función virtual a la que se llama para proporcionar los Bytes necesarios en una conversión dependiente del estado para completar el último carácter de una secuencia de Bytes.

encoding

Comprueba si la codificación del flujo Byte depende del estado, si la relación entre los Bytes usados y los CharTypes generados es constante y, en tal caso, determina el valor de esa relación.

in

Convierte una representación externa de una secuencia de Bytes en una representación interna de una secuencia de CharTypes.

length

Determina cuántos Bytes de una secuencia dada de Bytes externos generan no más de un número determinado de CharTypes internos y devuelve ese número de Bytes.

max_length

Devuelve el número máximo de Bytes externos necesarios para generar un CharType interno.

out

Convierte una secuencia de CharTypes internos en una secuencia de Bytes externos.

unshift

Proporciona los Bytes externos necesarios en una conversión dependiente del estado para completar el último carácter de la secuencia de Bytes.

Requisitos

Encabezado: <locale>

Espacio de nombres: std

Vea también

Referencia

<locale>

Páginas de códigos

Nombres de configuración regional, idiomas y cadenas de país/región

Seguridad para subprocesos en la biblioteca estándar de C++