ctype<char>
-Klasse
Die Klasse ist eine explizite Spezialisierung der Klassenvorlage ctype\<CharType>
zum Eingeben char
, die ein Objekt beschreibt, das als Gebietsschema-Facet dienen kann, um verschiedene Eigenschaften eines Typs char
zu charakterisieren.
Syntax
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
};
Hinweise
Die explizite Spezialisierung unterscheidet sich von der Klassenvorlage auf verschiedene Arten:
Ein Objekt der Klasse
ctype<char>
speichert einen Zeiger auf das erste Element einer Ctype-Maskentabelle, ein Array von UCHAR_MAX + 1 Elemente vom Typctype_base::mask
. Außerdem wird ein boolesches Objekt gespeichert, das angibt, ob das Array gelöscht werden soll (mitoperator delete[]
) wenn das ctype<Elem-Objekt> zerstört wird.Mit dem einzigen öffentlichen Konstruktor können Sie angeben
tab
, die ctype-Maskentabelle unddel
das boolesche Objekt, das true ist, wenn das Array gelöscht werden soll, wenn dasctype<char>
Objekt zerstört wird, sowie die Verweisanzahl-Parameterreferenzen.Die geschützte Memberfunktion
table
gibt die gespeicherte Ctype-Maskentabelle zurück.Das statische Memberobjekt
table_size
gibt die Mindestanzahl von Elementen in einer Ctype-Maskentabelle an.Die geschützte statische Memberfunktion
classic_table
( gibt die ctype-Maskentabelle zurück, die für das Gebietsschema "C" geeignet ist.Die geschützten virtuellen Memberfunktionen do_is, do_scan_is bzw. do_scan_not werden nicht verwendet. Die entsprechenden öffentlichen Memberfunktionen führen die jeweiligen Vorgänge selbst aus.
Die Memberfunktionen do_narrow und do_widen kopieren Elemente unverändert.
Anforderungen
Header:<locale>
Namespace: std
Siehe auch
facet-Klasse
ctype_base-Klasse
Threadsicherheit in der C++-Standardbibliothek