Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Klassen är en explicit specialisering av klassmallen ctype<CharType> för att skriva char, som beskriver ett objekt som kan fungera som en språkvariant för att karakterisera olika egenskaper för ett tecken av typen char.
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
};
Anmärkningar
Den explicita specialiseringen skiljer sig från klassmallen på flera sätt:
Ett objekt i klassen
ctype<char>lagrar en pekare till det första elementet i en ctype-masktabell, en matris med UCHAR_MAX + 1 element av typenctype_base::mask. Det lagrar också ett booleskt objekt som anger om matrisen ska tas bort (med hjälp avoperator delete[]) när ctype<Elem-objektet> förstörs.Med den enda offentliga konstruktorn kan du ange
tab, tabellen ctype mask ochdel, det booleska objektet som är sant om matrisen ska tas bort närctype<char>objektet förstörs, samt referensantalsparametern refs.Funktionen skyddad medlem
tablereturnerar den lagrade ctype-masktabellen.Det statiska medlemsobjektet
table_sizeanger det minsta antalet element i en ctype-masktabell.Den skyddade statiska medlemsfunktionen
classic_tablereturnerar den ctype-masktabell som är lämplig för språkvarianten "C".Det finns inga skyddade virtuella medlemsfunktioner do_is, do_scan_is eller do_scan_not. Motsvarande offentliga medlemsfunktioner utför motsvarande åtgärder själva.
Medlemsfunktionerna do_narrow och do_widen kopiera element oförändrade.
Kravspecifikation
Rubrik:<Locale>
namnområde: std
Se även
fasetteringsklass
ctype_base-klass
Trådsäkerhet i C++ Standard Library