Поделиться через


ctype<char> Class

Класс явная специализация ctype<CharType> класса шаблона для типизации, описывающий char объект, который может служить аспект языкового стандарта характеризовать различные свойства символов типа char.

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
};

Заметки

Явная специализация шаблона отличается от класса несколькими способами:

  • Объект >char ctype< класса сохраняет указатель на первый элемент таблицы маски ctype, массив элементов типа UCHAR_MAX + 1 ctype_base::mask.Он также сохраняет логический объект, указывающее, должен ли быть удален с помощью operator delete[](массив) при уничтожении объекта >Elem ctype<.

  • Его единственная открытый конструктор позволяет указать TAB, таблица маски ctype и del, логический, значение true, если объект удаляется, когда объект > массив должен char ctype< уничтожается, а также refs параметра счетчик ссылок.

  • Защищенный функцию-член table возвращает сохраненные таблицу маски ctype.

  • Объект table_size статического члена указывает минимальное количество элементов в таблице маски ctype.

  • Защищенная функции возвращают таблицу classic_table статического члена (маски ctype соответствующую языковому стандарту «c».

  • Нет do_is защищенные виртуальных функций-членов, do_scan_is или do_scan_not.Соответствующие открытые функции-члены выполняют эквивалентные операции, сами.

Функции-члены do_narrow и do_widen копировать элементы без изменений.

Требования

Header: <locale>

std пространство имен:

См. также

Ссылки

facet Class

ctype_base Class

Потокобезопасность в стандартной библиотеке C++