Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Classe
A classe que é uma especialização explícita do modelo de classe ctype<CharType> para o tipo char, descrevendo um objeto que pode funcionar como uma faceta de localidade para caracterizar várias propriedades de um caractere do tipo char.
Sintaxe
template <>
class ctype<char>
: public ctype_base
{
public:
typedef char _Elem;
typedef _Elem char_type;
bool is(
mask _Maskval,
_Elem _Ch) const;
const _Elem* is(
const _Elem* first,
const _Elem* last,
mask* dest) const;
const _Elem* scan_is(
mask _Maskval,
const _Elem* first,
const _Elem* last) const;
const _Elem* scan_not(
mask _Maskval,
const _Elem* first,
const _Elem* last) const;
_Elem tolower(
_Elem _Ch) const;
const _Elem* tolower(
_Elem* first,
const _Elem* last) const;
_Elem toupper(
_Elem _Ch) const;
const _Elem* toupper(
_Elem* first,
const _Elem* last) const;
_Elem widen(
char _Byte) const;
const _Elem* widen(
const char* first,
const char* last,
_Elem* dest) const;
const _Elem* _Widen_s(
const char* first,
const char* last,
_Elem* dest,
size_t dest_size) const;
_Elem narrow(
_Elem _Ch,
char _Dflt = '\0') const;
const _Elem* narrow(
const _Elem* first,
const _Elem* last,
char _Dflt,
char* dest) const;
const _Elem* _Narrow_s(
const _Elem* first,
const _Elem* last,
char _Dflt,
char* dest,
size_t dest_size) const;
static locale::id& id;
explicit ctype(
const mask* _Table = 0,
bool _Deletetable = false,
size_t _Refs = 0);
protected:
virtual ~ctype();
//other protected members
};
Comentários
A especialização explícita é diferente do modelo de classe de várias formas:
Um objeto da classe
ctype<char>armazena um ponteiro para o primeiro elemento de uma tabela de máscara ctype, uma matriz de elementos UCHAR_MAX + 1 do tipoctype_base::mask. Ele também armazena um objeto booliano que indica se a matriz deve ser excluída (usandooperator delete[]) quando o objeto ctype<Elem> é destruído.Seu único construtor público permite especificar
tab, a tabela de máscara ctype edel, o objeto booliano que será verdadeiro se a matriz precisar ser excluída quando o objetoctype<char>for destruído, bem como as referências de parâmetro de contagem de referência.A função de membro protegida
tableretorna a tabela de máscara ctype armazenada.O objeto de membro estático
table_sizeespecifica o número mínimo de elementos em uma tabela de máscara ctype.A função
classic_tablemembro estático protegido retorna a tabela de máscara de ctype apropriada para a localidade "C".Não existem funções de membro virtuais protegidas do_is, do_scan_is ou do_scan_not. As funções de membro público correspondentes executam as operações equivalentes por conta própria.
As funções de membro do_narrow e do_widen copiam os elementos inalterados.
Requisitos
Cabeçalho:<locale>
Namespace: std
Confira também
Classe facet
Classe ctype_base
Acesso Thread-Safe na Biblioteca Padrão C++