C++ named requirements: RegexTraits (since C++11)
From cppreference.net
RegexTraits — это класс характеристик, который абстрагирует операции, необходимые для заданного типа символов, когда они используются в качестве параметров шаблона для std:: basic_regex .
Требования
Дано
- CharT , тип символа
- X , тип RegexTraits для типа CharT
- u , объект типа X
- v , объект типа const X
- p , значение типа const CharT *
- I1, I2 , итераторы ввода
- F1, F2 , однонаправленные итераторы
- c , значение типа const CharT
- s , объект типа X :: string_type
- cs , объект типа const X :: string_type
- b , значение типа bool
- I , значение типа int
- cl , объект типа X :: char_class_type
- loc , объект типа X :: locale_type
| выражение | тип возвращаемого значения | семантика |
|---|---|---|
| X :: char_type | CharT | Используется для обозначения типа символа. |
| X :: string_type | std:: basic_string < CharT > | |
| X :: locale_type | Тип CopyConstructible , который представляет локаль, используемую классом характеристик. | |
| X :: char_class_type | Тип BitmaskType , представляющий определённую классификацию символов. | |
| X :: length ( p ) | std:: size_t | Возвращает: наименьшее i такое, что p [ i ] == 0 . Сложность линейна относительно i . |
| v. translate ( c ) | X :: char_type | Возвращает: символ, такой что для любого символа d считающегося эквивалентным c , тогда v. translate ( c ) == v. translate ( d ) . |
| v. translate_nocase ( c ) | X :: char_type | Возвращает: символ, такой что для любого символа C считающегося эквивалентным c без учета регистра, тогда v. translate_nocase ( c ) == v. translate_nocase ( C ) . |
| v. transform ( F1, F2 ) | X :: string_type | Возвращает: ключ сортировки для последовательности символов, заданной диапазоном итераторов [ F1, F2 ) такой, что если последовательность символов [ G1, G2 ) сортируется перед последовательностью символов [ H1, H2 ) , тогда v. transform ( G1, G2 ) < v. transform ( H1, H2 ) . |
| v. transform_primary ( F1, F2 ) | X :: string_type | Возвращает: ключ сортировки для последовательности символов, заданной диапазоном итераторов [ F1, F2 ) таким образом, что если последовательность символов [ G1, G2 ) сортируется перед последовательностью символов [ H1, H2 ) без учета регистра, тогда v. transform_primary ( G1, G2 ) < v. transform_primary ( H1, H2 ) . |
| v. lookup_collatename ( F1, F2 ) | X :: string_type |
Возвращает:
|
| v. lookup_classname ( F1, F2, b ) | X :: char_class_type |
|
| v. isctype ( c, cl ) | bool | Возвращает: является ли c членом одного из классов символов, определяемых cl или нет. |
| v. value ( c, I ) | int |
Возвращает:
|
| u. imbue ( loc ) | X :: locale_type |
|
| v. getloc ( ) | X :: locale_type | Возвращает: Предыдущую локаль, использовавшуюся v если таковая имелась. |
Стандартная библиотека
RegexTraits удовлетворяют следующие классы стандартной библиотеки:
|
template
<>
class
regex_traits
<
char
>
;
template <> class regex_traits < wchar_t > ; |
(начиная с C++11)
(начиная с C++11) |
|