std::collate
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Диаграмма наследования
Две специализации предоставляются стандартные библиотеки и осуществляются все локали объекты, созданные в 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 функция-элемент) | |
Вызывает do_transform Оригинал: invokes do_transform Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
Вызывает do_hash Оригинал: invokes do_hash Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) |
Член объектов
static std::locale::id id |
' Идентификатор локали Оригинал: id of the locale Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (публичный объект-член) |
Охраняемые функций-членов
[virtual] |
сравнение двух строк с использованием сортировки эту грань правилами Оригинал: compares two strings using this facet's collation rules Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (virtual protected функция-элемент) |
[virtual] |
преобразует строку так, чтобы сортировки можно заменить сравнение Оригинал: transforms a string so that collation can be replaced by comparison Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (virtual protected функция-элемент) |
[virtual] |
генерирует целое число хэш-значение с помощью сортировки эту грань правилами Оригинал: generates an integer hash value using this facet's collation rules Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (virtual protected функция-элемент) |
Пример
Запустить этот код
#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
См. также
| лексикографически сравнивает две строки, используя фасет сопоставления этой локали (public функция-элемент std::locale)
| |
создает грань сортировки по имени локали Оригинал: creates a collate facet for the named locale Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) |