Freigeben über


ctype<char>-Klasse

Die Klasse ist eine explizite Spezialisierung der Vorlagenklasse, ctype <CharType>, um char einzugeben und beschreibt ein Objekt, das als Gebietsschemafacet dienen kann, verschiedene Eigenschaften eines Zeichens des Typs char zu kennzeichnen.

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 Abweichung zur Vorlagenklasse in mehrfacher Hinsicht:

  • Ein Objekt von Klassenc char<> speichert einen Zeiger auf das erste Element einer Cmaskentabelle, ein Array von UCHAR_MAX + Elemente 1 vom Typ ctype_base::mask. Sie speichert auch ein boolesches Objekt, das angibt, ob das Array gelöscht werden sollte (mit operator delete[]) wenn das C <Elem>-Objekt zerstört wird.

  • Sein einziger öffentlichen Konstruktor können Sie Registerkarte, der Cmaskentabelle und del, den booleschen Objekt angeben, das ist true, wenn das Array, wenn das C <char>-Objekt zerstört wird, sowie die Verweiszählerparameter refs gelöscht wird.

  • Die geschützte Memberfunktion Tabelle gibt der gespeicherten Cmaskentabelle zurück.

  • Statische Memberobjekt table_size gibt die gewünschte Mindestanzahl von Elementen in einer Cmaskentabelle an.

  • Die geschützte statische Memberfunktion classic_table(gibt die Cmaskentabelle entsprechend für das "C " - Gebietsschema.

  • Es gibt keine geschützten virtuellen Memberfunktionen do_is, do_scan_is oder do_scan_not. Die entsprechenden Funktionen des öffentlichen Members führen die entsprechenden Vorgänge selbst aus.

Die Memberfunktionen do_narrow und do_widen kopieren die geänderten Elemente.

Anforderungen

Header: <Gebietsschema>

Namespace: std

Siehe auch

Referenz

facet-Klasse

ctype_base-Klasse

Threadsicherheit in der C++-Standardbibliothek