Пространства имён
Варианты
Действия

std::collate

Материал из cppreference.com
< cpp‎ | locale

 
 
Локализация
Локализации и фасеты
locale
Классификация символов
Преобразования
Базовые классы фасетов
Категории фасетов
Зависящие от локализации категории фасетов
Не зависящие от локализации фасеты преобразования unicode
codecvt_utf8(C++11)
codecvt_utf16(C++11)
Локализации С
 
std::collate
Член функций
Оригинал:
Member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
collate::collate
collate::~collate
collate::compare
collate::do_compare
collate::transform
collate::do_transform
collate::hash
collate::do_hash
 
Определено в заголовочном файле <locale>
template< class CharT >
class collate;
Класс std::collate инкапсулирует локалей сопоставления (сравнения) и хэширования строк. Этот аспект используется std::basic_regex и может быть применен, с помощью std::locale::operator(), непосредственно на все стандартные алгоритмы, которые ожидают предикат сравнения строк.
Оригинал:
Class std::collate encapsulates locale-specific collation (comparison) and hashing of strings. This facet is used by std::basic_regex and can be applied, by means of std::locale::operator(), directly to all standard algorithms that expect a string comparison predicate.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
cpp/locale/locale/facetstd-collate-inheritance.svg
Описание изображения

Диаграмма наследования

Две специализации предоставляются стандартные библиотеки и осуществляются все локали объекты, созданные в C + + программ
Оригинал:
Two specializations are provided by the standard library and are implemented by all locale objects created in a C++ program:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Заголовочный файл <locale>
std::collate<char>
орудия лексикографический порядок байтов строки
Оригинал:
implements lexicographical ordering of byte strings
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
std::collate<wchar_t>
орудия лексикографическом упорядочении широкого строк
Оригинал:
implements lexicographical ordering of wide strings
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Типы-члены

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

[править] Функции-члены

строит новую грань сортировки
Оригинал:
constructs a new collate facet
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член)
разрушает грань сортировки
Оригинал:
destructs a collate facet
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(protected функция-член)
Вызывает do_compare
Оригинал:
invokes do_compare
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член) [edit]
Вызывает do_transform
Оригинал:
invokes do_transform
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член) [edit]
Вызывает do_hash
Оригинал:
invokes do_hash
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член) [edit]

[править] Член объектов

static std::locale::id id
' Идентификатор локали
Оригинал:
id of the locale
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public объект-член)

[править] Охраняемые функций-членов

[virtual]
сравнение двух строк с использованием сортировки эту грань правилами
Оригинал:
compares two strings using this facet's collation rules
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(virtual protected функция-член) [edit]
[virtual]
преобразует строку так, чтобы сортировки можно заменить сравнение
Оригинал:
transforms a string so that collation can be replaced by comparison
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(virtual protected функция-член) [edit]
[virtual]
генерирует целое число хэш-значение с помощью сортировки эту грань правилами
Оригинал:
generates an integer hash value using this facet's collation rules
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(virtual protected функция-член) [edit]

[править] Пример

#include <locale>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
int main()
{
    std::wcout.imbue(std::locale(""));
    std::vector<std::wstring> v = {L"ar", L"zebra", L"\u00f6grupp", L"Zebra", L"\u00e4ngel",
                                   L"\u00e5r", L"f\u00f6rnamn"};
 
    std::wcout << "Default locale collation order: ";
    std::sort(v.begin(), v.end());
    for(auto s : v) std::wcout << s << ' '; std::wcout << '\n';
 
    std::wcout << "English locale collation order: ";
    std::sort(v.begin(), v.end(), std::locale("en_US.UTF-8"));
    for(auto s : v) std::wcout << s << ' '; std::wcout << '\n';
 
    std::wcout << "Swedish locale collation order: ";
    std::sort(v.begin(), v.end(), std::locale("sv_SE.UTF-8"));
    for(auto s : v) std::wcout << s << ' '; std::wcout << '\n';
}

Вывод:

Default locale collation order: Zebra ar förnamn zebra ängel år ögrupp
English locale collation order: ängel ar år förnamn ögrupp zebra Zebra
Swedish locale collation order: ar förnamn zebra Zebra år ängel ögrupp

[править] См. также

lexicographically compares two strings using this locale's collate facet
(public функция-член std::locale) [edit]
создает грань сортировки по имени локали
Оригинал:
creates a collate facet for the named locale
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса)