Compartilhar via


Classe codecvt

Uma classe de modelo que descreve um objeto que pode servir como uma faceta de localidade. Ela pode controlar conversões entre uma sequência de valores usada para codificar caracteres dentro do programa e uma sequência de valores usada para codificar caracteres fora do programa.

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

Parâmetros

  • CharType
    O tipo usado em um programa para codificar caracteres.

  • Byte
    Um tipo usado para codificar caracteres fora de um programa.

  • StateType
    Um tipo que pode ser usado para representar estados intermediários de uma conversão entre tipos internos e externos das representações de caractere.

Comentários

A classe de modelo descreve um objeto que pode servir como uma faceta de localidade e para controlar conversões entre uma sequência de valores do tipo CharType e uma sequência de valores do tipo Byte. A classe StateType caracteriza a transformação – e um objeto da classe StateType armazena todas as informações de estado necessárias durante uma conversão.

A codificação interna usa uma representação com um número fixo de bytes por caractere, geralmente do tipo char ou do tipo wchar_t.

Como qualquer faceta de localidade, a id de objeto estático tem um valor armazenado inicial de zero. A primeira tentativa de acessar seu valor armazenado armazena um valor positivo exclusivo emid.

As versões de modelo de do_in e do_out sempre retornam codecvt_base::noconv.

A Biblioteca Padrão do C++ define várias especializações explícitas:

template<>

codecvt<wchar_t, char, mbstate_t>

conversões entre sequências wchar_t e char.

template<>

codecvt<char16_t, char, mbstate_t>

conversões entre sequências char16_t codificadas como UTF-16 e sequências char codificadas como UTF-8.

template<>

codecvt<char32_t, char, mbstate_t>

conversões entre sequências char32_t codificadas como UTF-32 (UCS-4) e sequências char codificadas como UTF-8.

Construtores

codecvt

O construtor para objetos da classe codecvt que serve como uma faceta de localidade para tratar conversões.

Typedefs

extern_type

Um tipo de caractere que é usado para representações externas.

intern_type

Um tipo de caractere que é usado para representações internas.

state_type

Um tipo de caractere que é usado para representar estados intermediários durante conversões entre representações internas e externas.

Funções membro

always_noconv

Testa se nenhuma conversão precisa ser feita.

do_always_noconv

Uma função virtual chamada para testar se nenhuma conversão precisa ser feita.

do_encoding

Uma função virtual que testa se a codificação do fluxo Byte é dependente de estado, se a taxa entre os Bytes usados e os CharTypes produzidos é constante e, em caso positivo, determina o valor dessa taxa.

do_in

Uma função virtual chamada para converter uma sequência de Bytes internos em uma sequência de CharTypes externos.

do_length

Uma função virtual que determina quantos Bytes de uma determinada sequência de Bytes externos produzem não mais do que um determinado número de CharTypes internos e retorna esse número de Bytes.

do_max_length

Uma função virtual que retorna o número máximo de Bytes externos necessários para gerar um CharType interno.

do_out

Uma função virtual chamada para converter uma sequência de CharTypes internos em uma sequência de Bytes externos.

do_unshift

Uma função virtual chamada para fornecer os Bytes necessários em uma conversão dependente de estado para completar o último caractere em uma sequência de Bytes.

encoding

Testa se a codificação do fluxo Byte é dependente de estado, se a taxa entre os Bytes usados e os CharTypes produzidos é constante e, em caso positivo, determina o valor dessa taxa.

in

Converte uma representação externa de uma sequência de Bytes em uma representação interna de uma sequência de CharTypes.

length

Determina quantos Bytes de uma determinada sequência de Bytes externos produzem não mais do que um determinado número de CharTypes internos e retorna esse número de Bytes.

max_length

Retorna o número máximo de Bytes externos necessários para gerar um CharType interno.

out

Converte uma sequência de CharTypes internos em uma sequência de Bytes externos.

unshift

Fornece os Bytes externos necessários em uma conversão dependente de estado para completar o último caractere da sequência de Bytes.

Requisitos

Cabeçalho: <locale>

Namespace: std

Consulte também

Referência

<locale>

Páginas de código

Nomes de localidades, idiomas e cadeias de caracteres de país/região

Segurança de threads na Biblioteca Padrão C++