Classe wstring_convert

O modelo de classe wstring_convert que executa conversões entre uma cadeia de caracteres larga e uma cadeia de caracteres de bytes.

Sintaxe

template <class Codecvt, class Elem = wchar_t>
class wstring_convert

Parâmetros

Codecvt
A faceta de locale que representa o objeto de conversão.

Elem
O tipo de elemento de caractere largo.

Comentários

O modelo de classe descreve um objeto que controla conversões entre objetos de cadeia de caracteres amplos da classe std::basic_string<Elem> e objetos de cadeia de caracteres de bytes da classe std::basic_string<char> (também conhecido como std::string). O modelo de classe define os tipos wide_string e byte_string como sinônimos desses dois tipos. A conversão entre uma sequência de valores Elem (armazenada em um objeto wide_string) e as sequências multibyte (armazenadas em um objeto byte_string) é executada por um objeto da classe Codecvt<Elem, char, std::mbstate_t>, que atende aos requisitos da faceta de conversão de código padrão std::codecvt<Elem, char, std::mbstate_t>.

Um objeto deste modelo de classe armazena:

  • Uma cadeia de caracteres de bytes para ser exibida em caso de erros

  • Uma cadeia de caracteres largos para ser exibida em caso de erros

  • Um ponteiro para o objeto de conversão alocado (que é liberado quando o objeto wbuffer_convert é destruído)

  • Um objeto do estado da conversão do tipo state_type

  • Uma contagem de conversões

Construtores

Construtor Descrição
wstring_convert Constrói um objeto do tipo wstring_convert.

Typedefs

Nome do tipo Descrição
byte_string Um tipo que representa uma cadeia de caracteres de bytes.
wide_string Um tipo que representa uma cadeia de caracteres largos.
state_type Um tipo que representa o estado da conversão.
int_type Um tipo que representa um número inteiro.

Funções de membro

Função de membro Descrição
from_bytes Converte uma cadeia de caracteres de bytes em uma cadeia de caracteres largos.
to_bytes Converte uma cadeia de caracteres largos em uma cadeia de caracteres de bytes.
converted Retorna o número de conversões bem-sucedidas.
state Retorna um objeto que representa o estado da conversão.

Requisitos

Cabeçalho:<locale>

Namespace: std

wstring_convert::byte_string

Um tipo que representa uma cadeia de caracteres de bytes.

typedef std::basic_string<char> byte_string;

Comentários

O tipo é um sinônimo de std::basic_string<char>.

wstring_convert::convertido

Retorna o número de conversões bem-sucedidas.

size_t converted() const;

Valor de retorno

O número de conversões bem-sucedidas.

Comentários

O número de conversões bem-sucedidas é armazenado no objeto de contagem de conversões.

wstring_convert::from_bytes

Converte uma cadeia de caracteres de bytes em uma cadeia de caracteres largos.

wide_string from_bytes(char Byte);
wide_string from_bytes(const char* ptr);
wide_string from_bytes(const byte_string& Bstr);
wide_string from_bytes(const char* first, const char* last);

Parâmetros

Byte
A sequência de bytes de elemento único a ser convertida.

ptr
A sequência de caracteres terminada em nulo de estilo C a ser convertida.

Bstr
A byte_string a ser convertida.

first
O primeiro caractere em um intervalo de caracteres a ser convertido.

last
O último caractere em um intervalo de caracteres a ser convertido.

Valor de retorno

Um objeto de cadeia de caracteres largos resultante da conversão.

Comentários

Se o objeto do estado da conversão não for construído com um valor explícito, ele será definido como seu valor padrão (o estado inicial da conversão) antes do início da conversão. Caso contrário, ele permanecerá inalterado.

O número de elementos de entrada convertidos com êxito é armazenado no objeto de contagem de conversões. Se não houver erro de conversão, a função membro retornará a cadeia de caracteres largos convertida. Caso contrário, se o objeto for construído com um inicializador para a mensagem de erro de cadeia de caracteres largos, a função membro retornará o objeto da mensagem de erro de cadeia de caracteres largos. Caso contrário, a função membro gerará um objeto da classe range_error.

wstring_convert::int_type

Um tipo que representa um número inteiro.

typedef typename wide_string::traits_type::int_type int_type;

Comentários

O tipo é um sinônimo de wide_string::traits_type::int_type.

wstring_convert::estado

Retorna um objeto que representa o estado da conversão.

state_type state() const;

Valor de retorno

O objeto do estado da conversão que representa o estado da conversão.

Comentários

wstring_convert::state_type

Um tipo que representa o estado da conversão.

typedef typename Codecvt::state_type state_type;

Comentários

O tipo descreve um objeto que pode representar o estado da conversão. O tipo é um sinônimo de Codecvt::state_type.

wstring_convert::to_bytes

Converte uma cadeia de caracteres largos em uma cadeia de caracteres de bytes.

byte_string to_bytes(Elem Char);
byte_string to_bytes(const Elem* Wptr);
byte_string to_bytes(const wide_string& Wstr);
byte_string to_bytes(const Elem* first, const Elem* last);

Parâmetros

Char
O caractere largo a ser convertido.

Wptr
A sequência de caracteres terminada em nulo de estilo C, começando em wptr, a ser convertida.

Wstr
A wide_string a ser convertida.

first
O primeiro elemento em um intervalo de elementos a ser convertido.

last
O último elemento em um intervalo de elementos a ser convertido.

Comentários

Se o objeto do estado da conversão não for construído com um valor explícito, ele será definido como seu valor padrão (o estado inicial da conversão) antes do início da conversão. Caso contrário, ele permanecerá inalterado.

O número de elementos de entrada convertidos com êxito é armazenado no objeto de contagem de conversões. Se não houver erro de conversão, a função membro retornará a cadeia de caracteres de bytes convertida. Caso contrário, se o objeto for construído com um inicializador para a mensagem de erro de cadeia de caracteres de bytes, a função membro retornará o objeto da mensagem de erro de cadeia de caracteres de bytes. Caso contrário, a função membro gerará um objeto da classe range_error.

wstring_convert::wide_string

Um tipo que representa uma cadeia de caracteres largos.

typedef std::basic_string<Elem> wide_string;

Comentários

O tipo é um sinônimo de std::basic_string<Elem>.

wstring_convert::wstring_convert

Constrói um objeto do tipo wstring_convert.

wstring_convert(Codecvt *Pcvt = new Codecvt);
wstring_convert(Codecvt *Pcvt, state_type _State);
wstring_convert(const byte_string& _Berr, const wide_string& Werr = wide_string());

Parâmetros

*Pcvt
O objeto do tipo Codecvt para executar a conversão.

_State
O objeto do tipo state_type que representa o estado da conversão.

_Berr
Uma byte_string para ser exibida em caso de erros.

Werr
Uma wide_string para ser exibida em caso de erros.

Comentários

O primeiro construtor armazena Pcvt_arg no objeto de conversão