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.

0he30td8.collapse_all(es-es,VS.110).gifConstructores

codecvt

El constructor para los objetos de la clase codecvt que actúa como faceta de configuración regional controlar conversiones.

0he30td8.collapse_all(es-es,VS.110).gifTypedefs

extern_type

Un tipo de caracteres que se usa para las representaciones externas.

intern_type

un tipo de carácter que se utiliza para las representaciones internas.

state_type

Un tipo de carácter que se utiliza para representar estados intermedias durante las conversiones entre las representaciones internas y externas.

0he30td8.collapse_all(es-es,VS.110).gifFunciones miembro

always_noconv

Comprueba si ninguna conversión deben realizarse.

do_always_noconv

Una función virtual denominada para probar si ninguna conversión deben realizarse.

el do_encoding

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.

do_in

una función virtual denominada para convertir una secuencia de s interna de Bytea una secuencia de s externa de CharType.

do_length

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.

do_max_length

Una función virtual que devuelve el número máximo de bytes externos necesarios para generar un CharTypeinterno.

do_out

una función virtual denominada para convertir una secuencia de s interna de CharTypea una secuencia de bytes externos.

do_unshift

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.

la codificación

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.

in

convierte una representación externa de una secuencia de s de Bytea una representación interna de una secuencia de s de CharType.

length

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.

max_length

Devuelve el número máximo de s externa de Bytenecesaria para generar un CharTypeinterno.

out

convierte una secuencia de s interna de CharTypea una secuencia de s externa de Byte.

unshift

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++

Otros recursos

miembros de <configuración regional>