Compartilhar via


ctype<char> Class

A classe é uma especialização explícita da classe de modelo ctype<CharType> ao tipo char, que descreve um objeto que pode servir como um aspecto de localidade para caracterizar várias propriedades de um caractere de tipo char.

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 difere da classe de modelo em várias maneiras:

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

  • O único construtor público permite que você especifique guia, a tabela de máscara ctype, e del, o objeto booleano que é verdadeiro se a matriz é excluída quando o ctype<char> objeto é destruído, bem como os refs parâmetro de contagem de.

  • A função de membro protegida tabela retorna a tabela armazenada de máscara ctype.

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

  • A função de membro estático protegida classic_table(retorna a tabela de máscara ctype apropriado para o local de “C”.

  • Não há nenhuma função de membro virtual protegido do_is, do_scan_is, ou do_scan_not.As funções de membro públicas correspondentes executam operações equivalentes elas mesmas.

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

Requisitos

Cabeçalho: <locale>

namespace: STD

Consulte também

Referência

facet Class

ctype_base Class

Segurança do thread na biblioteca C++ padrão