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

std::regex_traits::transform_primary

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

 
 
Библиотеки регулярных выражений
Классы
Оригинал:
Classes
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
basic_regex(C++11)
sub_match(C++11)
match_results(C++11)
Алгоритмы
Оригинал:
Algorithms
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
regex_match(C++11)
regex_search(C++11)
regex_replace(C++11)
Итераторы
Оригинал:
Iterators
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
regex_iterator(C++11)
regex_token_iterator(C++11)
Исключения
Оригинал:
Exceptions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
regex_error(C++11)
Черты
Оригинал:
Traits
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
regex_traits(C++11)
Константы
Оригинал:
Constants
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
syntax_option_type(C++11)
match_flag_type(C++11)
error_type(C++11)
 
std::regex_traits
Функции-члены
Оригинал:
Member Functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
regex_traits::regex_traits
regex_traits::length
regex_traits::translate
regex_traits::translate_nocase
regex_traits::transform
regex_traits::transform_primary
regex_traits::lookup_collatename
regex_traits::lookup_classname
regex_traits::isctype
regex_traits::value
regex_traits::imbue
regex_traits::getloc
 
template< class ForwardIt >
string_type transform_primary( ForwardIt first, ForwardIt last) const
Получает первичный (без учета регистра, диакритических знаков, вариант, и т.д.) ключ сортировки для последовательности символов [first, last), такие, что если первичный ключ сортировки сравнивает меньше, чем другой первичный ключ сортировки с operator<, то последовательность символов, которая выпустила первый ключ сортировки доходит до последовательность символов, который произвел второй ключ сортировки, в первичных порядка сортировки в настоящее время проникнуться локали.
Оригинал:
Obtains the primary (ignoring case, diacritics, variant, etc) sort key for the character sequence [first, last), such that if a primary sort key compares less than another primary sort key with operator<, then the character sequence that produced the first sort key comes before the character sequence that produced the second sort key, in the currently imbued locale's primary collation order.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Библиотека регулярных выражений использует эту черту в соответствии с символами на классы эквивалентности. Например, [[=a=]] регулярное выражение эквивалентно характер c1 если traits.transform_primary(c1) эквивалентно traits.transform_primary("a") (что справедливо для любой c1 от "AÀÁÂÃÄÅaàáâãäå"). Обратите внимание, что transform_primary() принимает аргумент последовательность символов, потому что классы эквивалентности может быть multicharacter, таких как [[=ll=]].
Оригинал:
The regex library uses this trait to match characters against equivalence classes. For example, the regex [[=a=]] is equivalent to the character c1 if traits.transform_primary(c1) is equivalent to traits.transform_primary("a") (which is true for any c1 from "AÀÁÂÃÄÅaàáâãäå"). Note that transform_primary() takes a character sequence argument because equivalence classes may be multicharacter, such as [[=ll=]].
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Существует нет портативный способ определить первичный ключ сортировки в терминах std::locale, так как переход от сортировки ключевых возвращается std::collate::transform() к первичному эквивалентности ключ локали, и если пользователь заменяет std::collate грань, что преобразование не известно стандартной библиотеки std::regex_traits. Стандартный специализации библиотеки std::regex_traits возвращать пустую строку, если std::collate аспект в данный момент проникнуться язык не был заменен самим пользователем, и до сих пор совпадает с системой поставляемых std::collate грань), в этом случае std::collate_byname<charT>::transform(first, last) выполняется и ключ сортировки он производит превращается в ожидаемый первичный ключ сортировки, используя местные условия преобразования.
Оригинал:
There is no portable way to define primary sort key in terms of std::locale since the conversion from the collation key returned by std::collate::transform() to the primary equivalence key is locale-specific, and if the user replaces the std::collate facet, that conversion is no longer known to the standard library's std::regex_traits. Standard library specializations of std::regex_traits return an empty string unless the std::collate facet of the currently-imbued locale was not replaced by the user, and still matches the system-supplied std::collate facet), in which case std::collate_byname<charT>::transform(first, last) is executed and the sort key it produces is converted to the expected primary sort key using a locale-specific conversion.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

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

first, last -
пару итераторов который определяет последовательность символов для сравнения
Оригинал:
a pair of iterators which determines the sequence of characters to compare
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Требования к типам
-
ForwardIt должен соответствовать требованиям ForwardIterator.

[править] Возвращаемое значение

Первичный ключ сортировки для [first, last) последовательность символов в настоящее время проникнуться языка, игнорируя случае, вариант, диакритические знаки, и т.д.
Оригинал:
The primary sort key for the character sequence [first, last) in the currently imbued locale, ignoring case, variant, diacritics, etc.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

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

Демонстрирует регулярных выражений особенность, которая работает через transform_primary ()
Оригинал:
Demonstrates the regex feature that works through transform_primary()
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

#include <iostream>
#include <regex>
 
int main()
{
    std::locale::global(std::locale("en_US.UTF-8"));
    std::wstring str = L"AÀÁÂÃÄÅaàáâãäå";
    std::wregex re(L"[[=a=]]*", std::regex::basic);
    std::cout << std::boolalpha << std::regex_match(str, re) << '\n';
}

Вывод:

true