Partilhar via


ctype<char> Classe

A classe é uma especialização explícita do modelo ctype<CharType> de classe para digitar char, descrevendo um objeto que pode servir 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
};

Observações

A especialização explícita difere do modelo de classe de várias maneiras:

  • Um objeto de classe ctype<char> armazena um ponteiro para o primeiro elemento de uma tabela de máscara de tipo, uma matriz de UCHAR_MAX + 1 elementos do tipo ctype_base::mask. Ele também armazena um objeto booleano que indica se a matriz deve ser excluída (usando operator delete[]) quando o objeto ctype<Elem> é destruído.

  • Seu único construtor público permite especificar tab, a tabela de máscara ctype e del, o objeto Boolean que é true se a matriz deve ser excluída quando o ctype<char> objeto é destruído, bem como o parâmetro reference-count refs.

  • A função table de membro protegido retorna a tabela de máscara de tipo armazenada.

  • O objeto table_size de membro estático especifica o número mínimo de elementos em uma tabela de máscara de tipo.

  • A função classic_table de membro estático protegido retorna a tabela de máscara ctype apropriada para a localidade "C".

  • Não há funções de membro virtual protegidas do_is, do_scan_is ou do_scan_not. As funções de membro público correspondentes realizam elas próprias as operações equivalentes.

As funções de membro do_narrow e do_widen copiar elementos inalterados.

Requerimentos

Cabeçalho:<localidade>

Espaço de nomes: std

Ver também

faceta Classe
ctype_base Classe
segurança de threads na biblioteca padrão C++