std::regex_traits<CharT>::transform
template< class ForwardIt > string_type transform( ForwardIt first, ForwardIt last) const; |
Получает ключ сортировки для последовательности символов [first, last), так что если один ключ сортировки меньше другого при сравнении с помощью operator<, то последовательность символов, для которой был получен первый ключ сортировки, предшествует последовательности символов, для которой был получен второй ключ сортировки, в порядке сортировки текущей локали.
Например, если установлен флаг регулярного выражения std::regex_constants::collate, то последовательность [a-b] будет соответствовать некоторому символу c1, если traits.transform("a") <= traits.transform(c1) <= traits.transform("b"). Обратите внимание, что эта функция принимает в качестве аргумента последовательность символов, чтобы поддерживать диапазоны, определённые, например, как [[.ae.]-d].
Специализации стандартной библиотеки для std::regex_traits возвращают std::use_facet<std::collate<CharT>>(getloc()).transform(str.data(), str.data() + str.length()) для некоторой временной строки str, созданной как string_type str(first, last).
Параметры
| first, last | - | пара LegacyForwardIterators, задающая последовательность символов для сравнения |
| Требования к типам | ||
-ForwardIt должен удовлетворять требованиям LegacyForwardIterator. |
||
Возвращаемое значение
Ключ сортировки для последовательности символов [first, last) в текущей локали.
Пример
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/regex/regex_traits/transform