codecvt Class
Una clase de plantilla que describe un objeto que puede actuar como faceta de la configuración regional.Puede controlar conversiones entre una secuencia de valores utilizados para codificar los caracteres en el programa y una secuencia de valores utilizados para codificar los caracteres fuera del programa.
template<class CharType, class Byte, class StateType>
class codecvt
: public locale::facet, codecvt_base {
public:
typedef CharType intern_type;
typedef Byte extern_type;
typedef StateType state_type;
explicit codecvt (size_t _Refs = 0);
result in (
StateType& _State,
const Byte *_First1,
const Byte *_Last1,
const Byte *_Next1,
CharType *_First2,
CharType *_Last2,
CharType *_Next2
);
result out (
StateType& _State,
const Elem *_First1,
const Elem *_Last1,
const Elem *_Next1,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
result unshift (
StateType& _State,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
bool always_noconv () const throw();
int max_length () const throw();
int length (
const StateType& _State,
const Byte *_First1,
const Byte *_Last1,
size_t _N2
) const throw();
int encoding () const throw();
static locale::id id;
protected:
~codecvt();
virtual result do_in (
StateType& _State,
const Byte *_First1,
const Byte *_Last1,
const Byte *_Next1,
CharType *_First2,
CharType *_Last2,
CharType *_Next2
);
virtual result do_out (
StateType& _State,
const CharType *_First1,
const CharType *_Last1,
const CharType *_Next1,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
virtual result do_unshift (
StateType& _State,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
virtual bool do_always_noconv () const throw();
virtual int do_max_length () const throw();
virtual int do_encoding () const throw();
virtual int do_length (
const StateType& _State,
const Byte *_First1,
const Byte *_Last1,
size_t _Len2
) const throw();
};
Parámetros
CharType
El tipo utilizado en un programa para codificar los caracteres.Byte
un tipo utilizado para codificar los caracteres fuera de un programa.StateType
Un tipo que puede utilizar para representar estados intermedias 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 conversiones entre una secuencia de valores de CharType escrito y una secuencia de valores de Byteescrito.La clase StateType caracteriza transformación -- y un objeto de clase StateType almacena la información de estado necesaria durante una conversión.
La codificación interna utiliza una representación con un número de bytes por carácter fijo, escriba char o escriba normalmente wchar_t.
Como con cualquier faceta de configuración regional, el objeto estático id tiene un valor almacenado inicial de cero.El primer intento de acceso al valor almacenado almacena un valor positivo único enid.
Las versiones de la plantilla de do_in y de 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 wchar_t y secuencias de char .
template<>
codecvt<char16_t, char, mbstate_t>
convierte entre las secuencias de char16_t codificadas como UTF-16 y secuencias de char codificadas como UTF-8.
template<>
codecvt<char32_t, char, mbstate_t>
convierte entre las secuencias de char32_t codificadas como UTF-32 (UCS-4) y secuencias de char codificadas como UTF-8.
Constructores
El constructor para los objetos de la clase codecvt que actúa como faceta de configuración regional controlar conversiones. |
Typedefs
Un tipo de caracteres que se usa para las representaciones externas. |
|
un tipo de carácter que se utiliza para las representaciones internas. |
|
Un tipo de carácter que se utiliza para representar estados intermedias durante las conversiones entre las representaciones internas y externas. |
Funciones miembro
Comprueba si ninguna conversión deben realizarse. |
|
Una función virtual denominada para probar si ninguna conversión deben realizarse. |
|
Una función virtual que prueba si la codificación de la secuencia de Byte depende del estado, si la relación entre s para Byteutilizada y s para CharTypegenerada es constante, y, si lo determina el valor de esa relación. |
|
una función virtual denominada para convertir una secuencia de s interna de Bytea una secuencia de s externa de CharType. |
|
Una función virtual que determina cuánto s de Bytede una secuencia determinada de producción externa de s para Byteno más de un número determinado de s interna de CharTypey devuelve ese número de s de Byte. |
|
Una función virtual que devuelve el número máximo de bytes externos necesarios para generar un CharTypeinterno. |
|
una función virtual denominada para convertir una secuencia de s interna de CharTypea una secuencia de bytes externos. |
|
Una función virtual denominada para proporcionar s para Bytenecesarias en una conversión provincia-dependiente completar el último carácter de una secuencia de s de Byte. |
|
Comprueba si la codificación de la secuencia de Byte depende del estado, si la relación entre s para Byteutilizada y s para CharTypegenerada es constante, y, si es así determinan el valor de esa relación. |
|
convierte una representación externa de una secuencia de s de Bytea una representación interna de una secuencia de s de CharType. |
|
Determina cuánto s de Bytede una secuencia determinada de producción externa de s para Byteno más de un número determinado de s interna de CharTypey devuelve ese número de s de Byte. |
|
Devuelve el número máximo de s externa de Bytenecesaria para generar un CharTypeinterno. |
|
convierte una secuencia de s interna de CharTypea una secuencia de s externa de Byte. |
|
Proporciona s externa de Bytenecesaria en una conversión provincia-dependiente para completar el último de la secuencia de s de Byte. |
Requisitos
encabezado: <configuración regional>
espacio de nombres: std
Vea también
Referencia
Seguridad para subprocesos de la biblioteca estándar de C++