Spec-Zone.ru › C++

std::ctype_byname<char>

Определено в заголовке <locale>
template<>
class ctype_byname : public std::ctype<char>;

Эта специализация std::ctype_byname содержит функции классификации символов для типа char. В отличие от универсальных std::ctype_byname, она использует табличный поиск для классификации символов, как и её базовый класс std::ctype<char>.

Типы членов

Тип члена Определение
mask ctype<char>::mask

Члены-функции

(конструктор)
создаёт новый объект ctype_byname<char>
(публичная функция-член)
(деструктор)
уничтожает объект ctype_byname<char>
(защищённая функция-член)

Наследуется от std::ctype<char>

Типы членов

Тип члена Определение
char_type char

Объекты-члены

Имя члена Тип
id (статический) std::locale::id
table_size (статический константный) std::size_t размер таблицы классификации, не менее 256

Функции-члены

table
получает таблицу классификации символов
(публичная функция-член std::ctype<char> )
classic_table
[статический]
получает таблицу классификации символов по умолчанию ("C" локали)
(публичная статическая функция-член std::ctype<char> )
is
классифицирует символ или последовательность символов, используя таблицу классификации
(публичная функция-член std::ctype<char> )
scan_is
находит первый символ в последовательности, соответствующий заданной классификации, используя таблицу классификации
(публичная функция-член std::ctype<char> )
scan_not
находит первый символ в последовательности, который не соответствует заданной классификации, используя таблицу классификации
(публичная функция-член std::ctype<char> )
toupper
вызывает do_toupper
(публичная функция-член std::ctype<CharT> )
tolower
вызывает do_tolower
(публичная функция-член std::ctype<CharT> )
widen
вызывает do_widen
(публичная функция-член std::ctype<CharT> )
narrow
вызывает do_narrow
(публичная функция-член std::ctype<CharT> )

Защищённые функции-члены

do_toupper
[виртуальная]
преобразует символ или символы в верхний регистр
(виртуальная защищённая функция-член std::ctype<CharT> )
do_tolower
[виртуальная]
преобразует символ или символы в нижний регистр
(виртуальная защищённая функция-член std::ctype<CharT> )
do_widen
[виртуальная]
преобразует символ или символы из char в CharT
(виртуальная защищённая функция-член std::ctype<CharT> )
do_narrow
[виртуальная]
преобразует символ или символы из CharT в char
(виртуальная защищённая функция-член std::ctype<CharT> )

Наследуется от std::ctype_base

Типы членов

Тип Определение
mask неопределённый тип битовой маски (перечисление, целочисленный тип или битовая последовательность)

Константы-члены

space
[статический]
значение mask, обозначающее классификацию пробельных символов
(публичная статическая константа-член)
print
[статический]
значение mask, обозначающее классификацию печатных символов
(публичная статическая константа-член)
cntrl
[статический]
значение mask, обозначающее классификацию управляющих символов
(публичная статическая константа-член)
upper
[статический]
значение mask, обозначающее классификацию символов верхнего регистра
(публичная статическая константа-член)
lower
[статический]
значение mask, обозначающее классификацию символов нижнего регистра
(публичная статическая константа-член)
alpha
[статический]
значение mask, обозначающее классификацию буквенных символов
(публичная статическая константа-член)
digit
[статический]
значение mask, обозначающее классификацию цифр
(публичная статическая константа-член)
punct
[статический]
значение mask, обозначающее классификацию знаков препинания
(публичная статическая константа-член)
xdigit
[статический]
значение mask, обозначающее классификацию шестнадцатеричных цифр
(публичная статическая константа-член)
blank
[статический] (C++11)
значение mask, обозначающее классификацию пробельных символов
(публичная статическая константа-член)
alnum
[статический]
alpha | digit
(публичная статическая константа-член)
graph
[статический]
alnum | punct
(публичная статическая константа-член)

Пример

#include <iostream>
#include <locale>
 
int main()
{
    char c = '\xde'; // capital letter thorn
 
    std::locale loc("C");
 
    std::cout << "isupper('Þ', C locale) returned "
               << std::boolalpha << std::isupper(c, loc) << '\n';
 
    loc = std::locale(loc, new std::ctype_byname<char>("en_US.utf8"));
 
    std::cout << "isupper('Þ', C locale with Unicode ctype<char>) returned "
              << std::boolalpha << std::isupper(c, loc) << '\n';
 
    loc = std::locale(loc, new std::ctype_byname<char>("is_IS.iso88591"));
 
    std::cout << "isupper('Þ', C locale with Islandic ctype<char>) returned "
              << std::boolalpha << std::isupper(c, loc) << '\n';
}

Вывод:

isupper('Þ', C locale) returned false
isupper('Þ', C locale with Unicode ctype<char>) returned false
isupper('Þ', C locale with Islandic ctype<char>) returned true

См. также

ctype
определяет таблицы классификации символов
(шаблон класса)
ctype<char>
специализация std::ctype для типа char
(специализация шаблона класса)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/locale/ctype_byname_char

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API