Classe ctype<char>
La classe è una specializzazione esplicita del modello ctype\<CharType>
di classe da digitare char
, che descrive un oggetto che può fungere da facet delle impostazioni locali per caratterizzare varie proprietà di un carattere di tipo char
.
Sintassi
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
};
Osservazioni:
La specializzazione esplicita differisce dal modello di classe in diversi modi:
Un oggetto della classe
ctype<char>
archivia un puntatore al primo elemento di una tabella maschera ctype, una matrice di UCHAR_MAX + 1 elementi di tipoctype_base::mask
. Archivia inoltre un oggetto booleano che indica se la matrice deve essere eliminata (utilizzandooperator delete[]
) quando l'oggetto Elem> ctype<viene eliminato definitivamente.L'unico costruttore pubblico consente di specificare
tab
, la tabella della maschera ctype edel
, l'oggetto booleano true se la matrice deve essere eliminata quando l'oggettoctype<char>
viene eliminato definitivamente, nonché i riferimenti al parametro reference-count.La funzione
table
membro protetta restituisce la tabella ctype mask archiviata.L'oggetto
table_size
membro statico specifica il numero minimo di elementi in una tabella maschera ctype.La funzione
classic_table
membro statica protetta ( restituisce la tabella ctype mask appropriata alle impostazioni locali "C".Non ci sono funzioni membro virtuale protetto do_is, do_scan_is o do_scan_not. Le funzioni membro pubblico corrispondenti eseguono direttamente le operazioni equivalenti.
Le funzioni membro do_narrow e do_widen copiano elementi non modificati.
Requisiti
Intestazione:<impostazioni locali>
Spazio dei nomi: std
Vedi anche
Classe facet
Classe ctype_base
Thread Safety in the C++ Standard Library (Sicurezza dei thread nella libreria standard C++)