Sdílet prostřednictvím


ctype<char> Třída

Třída je explicitní specializace šablony ctype\<CharType> třídy typ char, popisující objekt, který může sloužit jako omezující vlastnost národního prostředí k charakterizaci různých vlastností typu 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
};

Poznámky

Explicitní specializace se liší od šablony třídy několika způsoby:

  • Objekt třídy ctype<char> ukládá ukazatel na první prvek tabulky masky ctype, pole UCHAR_MAX + 1 prvků typu ctype_base::mask. Uloží také logický objekt, který označuje, zda má být pole odstraněno (pomocí operator delete[]) při zničení objektu ctype<Elem> .

  • Jeho jediný veřejný konstruktor umožňuje zadat tab, ctype mask table, a del, logický objekt, který je true, pokud pole má být odstraněn při ctype<char> zničení objektu, stejně jako odkazy parametru reference-count.

  • Chráněná členová funkce table vrátí uloženou tabulku masky ctype.

  • Statický členský objekt table_size určuje minimální počet prvků v tabulce masky ctype.

  • Chráněná statická členová funkce classic_table( vrátí tabulku masky ctype odpovídající národnímu prostředí "C".

  • Neexistují žádné chráněné virtuální členské funkce do_is, do_scan_is ani do_scan_not. Odpovídající veřejné členské funkce provádějí ekvivalentní operace samy.

Členské funkce do_narrow a do_widen kopírovat prvky beze dokumentace.

Požadavky

Záhlaví:<národní prostředí>

Obor názvů: std

Viz také

facet – třída
ctype_base – třída
Bezpečný přístup z více vláken ve standardní knihovně C++