Класс ctype<char>
Класс является явной специализацией шаблона класса для типаchar
, описывая объект, который может служить аспектом языкового стандарта ctype\<CharType>
для описания различных свойств символа типа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
};
Замечания
Явная специализация отличается от шаблона класса несколькими способами:
Объект класса
ctype<char>
сохраняет указатель на первый элемент таблицы маски типа, массив элементов типа UCHAR_MAX + 1.ctype_base::mask
Он также сохраняет логический объект, указывающий, следует ли удалять массив (с помощьюoperator delete[]
) при уничтожении объекта Ctype<Elem> .Его единственный открытый конструктор позволяет указать
tab
, таблицу маски ctype иdel
логический объект, который имеет значение true, если массив должен быть удален приctype<char>
уничтожении объекта, а также ссылочный параметр счетчика ссылок.Функция защищенного члена
table
возвращает сохраненную таблицу маски ctype.Объект
table_size
статического члена указывает минимальное количество элементов в таблице маски ctype.Защищенная статическую функцию-член
classic_table
(возвращает таблицу маски типа, соответствующую языковому стандарту "C".Отсутствуют защищенные виртуальные функции-члены do_is, do_scan_is или do_scan_not. Соответствующие открытые функции-члены самостоятельно выполняют эквивалентные операции.
Функции-члены do_narrow и do_widen копируют элементы без изменений.
Требования
Заголовок:<языковой стандарт>
Пространство имен: std
См. также
Класс facet
Класс ctype_base
Потокобезопасность в стандартной библиотеке C++