Partager via


La classe ctype<char>

La classe est une spécialisation explicite du modèle ctype\<CharType> de classe en type char, décrivant un objet qui peut servir de facette de paramètres régionaux pour caractériser différentes propriétés d’un caractère de type char.

Syntaxe

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
};

Notes

La spécialisation explicite diffère du modèle de classe de plusieurs façons :

  • Un objet de classe ctype<char> stocke un pointeur vers le premier élément d’une table de masque ctype, un tableau d’éléments UCHAR_MAX + 1 de type ctype_base::mask. Il stocke également un objet booléen qui indique si le tableau doit être supprimé (à l’aide operator delete[]) lorsque l’objet ctype<Elem> est détruit.

  • Son seul constructeur public vous permet de spécifier tab, la table de masque ctype et del, l’objet booléen qui est vrai si le tableau doit être supprimé lorsque l’objet ctype<char> est détruit, ainsi que les références de paramètre de nombre de références.

  • La fonction table membre protégée retourne la table de masque ctype stockée.

  • L’objet table_size membre statique spécifie le nombre minimal d’éléments dans une table de masque ctype.

  • Fonction membre classic_tablestatique protégée (retourne la table de masque ctype appropriée aux paramètres régionaux « C ».

  • Il n’y a aucune fonction membre virtuelle protégée do_is, do_scan_is ou do_scan_not. Les fonctions membres publiques correspondantes effectuent les opérations équivalentes.

Les fonctions membres do_narrow et do_widen copient des éléments non modifiés.

Spécifications

Header :<locale>

Espace de noms : std

Voir aussi

facet, classe
ctype_base, classe
Sécurité des threads dans la bibliothèque C++ Standard