Namespaces
Variants

std:: collate_byname

From cppreference.net
Определено в заголовочном файле <locale>
template < class CharT >
class collate_byname : public std:: collate < CharT > ;

std::collate_byname — это фасет std::collate , который инкапсулирует локале-специфичное сравнение и хеширование строк. Подобно std::collate , он может быть установлен в std::regex и применён, посредством std::locale::operator() , напрямую ко всем стандартным алгоритмам, ожидающим предикат сравнения строк.

Содержание

Специализации

Стандартная библиотека гарантированно предоставляет следующие специализации:

Определено в заголовке <locale>
std :: collate_byname < char > Локализованное сравнение многобайтовых строк
std :: collate_byname < wchar_t > Локализованное сравнение широких строк

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

(constructor)
создает новый collate_byname фацет
(публичная функция-член)
(destructor)
уничтожает collate_byname фацет
(защищенная функция-член)

std::collate_byname:: collate_byname

explicit collate_byname ( const char * name, std:: size_t refs = 0 ) ;
explicit collate_byname ( const std:: string & name, std:: size_t refs = 0 ) ;
(since C++11)

Создает новый фасет std::collate_byname для локали с именем name .

refs используется для управления ресурсами: если refs == 0 , реализация уничтожает фасет, когда уничтожается последний объект std::locale , содержащий его. В противном случае объект не уничтожается.

Параметры

name - имя локали
refs - количество ссылок, связывающих с фасетом

std::collate_byname:: ~collate_byname

protected :
~collate_byname ( ) ;

Уничтожает фацет.

Унаследовано от std:: collate

Вложенные типы

Тип Определение
char_type CharT
string_type std:: basic_string < CharT >

Члены данных

Член Описание
std::locale::id id [static] идентификатор аспекта

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

вызывает do_compare
(публичная функция-член std::collate<CharT> )
вызывает do_transform
(публичная функция-член std::collate<CharT> )
вызывает do_hash
(публичная функция-член std::collate<CharT> )

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

[virtual]
сравнивает две строки, используя правила сортировки этого аспекта
(виртуальная защищенная функция-член std::collate<CharT> )
[virtual]
преобразует строку так, чтобы сортировка могла быть заменена сравнением
(виртуальная защищенная функция-член std::collate<CharT> )
[virtual]
генерирует целочисленное хеш-значение, используя правила сортировки этого аспекта
(виртуальная защищенная функция-член std::collate<CharT> )

Примечания

Порядок сортировки — это словарный порядок: позиция буквы в национальном алфавите (её класс эквивалентности ) имеет более высокий приоритет, чем её регистр или вариант. В пределах класса эквивалентности строчные символы сортируются перед их прописными эквивалентами, а локально-зависимый порядок может применяться к символам с диакритическими знаками. В некоторых локалях группы символов сравниваются как единые элементы сортировки . Например, "ch" в чешском языке следует после "h" и предшествует "i" , а "dzs" в венгерском языке следует после "dz" и предшествует "g" .

Пример

Смотрите также

определяет лексикографическое сравнение и хеширование строк
(шаблон класса)
сравнивает две строки в соответствии с текущей локалью
(функция)
сравнивает две широкие строки в соответствии с текущей локалью
(функция)
лексикографически сравнивает две строки, используя фасет collate этой локали
(публичная функция-член std::locale )