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 typectype_base::mask
. Il stocke également un objet booléen qui indique si le tableau doit être supprimé (à l’aideoperator delete[]
) lorsque l’objet ctype<Elem> est détruit.Son seul constructeur public vous permet de spécifier
tab
, la table de masque ctype etdel
, l’objet booléen qui est vrai si le tableau doit être supprimé lorsque l’objetctype<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_table
statique 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