名前付き要件: RegexTraits
提供: cppreference.com
RegexTraits は std::basic_regex に対するテンプレート型引数として指定された文字型に必要な操作を抽象化する特性クラスです。
[編集] 要件
- 文字型 CharT
- CharT 型のための RegexTraits 型 X
- X 型のオブジェクト u
- const X 型のオブジェクト v
- const CharT* 型の値 p
- 入力イテレータ I1, I2
- 前方イテレータ F1, F2
- const CharT 型の値 c
- X::string_type 型のオブジェクト s
- const X::string_type 型のオブジェクト cs
- bool 型の値 b
- int 型の値 I
- X::char_class_type 型のオブジェクト cl
- X::locale_type 型のオブジェクト loc
が与えられたとき、
式 | 戻り値 | 意味論 |
---|---|---|
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 | 戻り値: p[i] == 0 であるような最小の i。 計算量は i の線形時間です。 |
v.translate(c) | X::char_type | 戻り値: c と同等であるとみなされる任意の文字 d について 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 | 戻り値: 文字シーケンス [G1, G2) が文字シーケンス [H1, H2) より前にソートされるとき v.transform(G1, G2) < v.transform(H1, H2) であるような、イテレータ範囲 [F1, F2) によって指定される文字シーケンスに対するソートキー。 |
v.transform_primary(F1, F2) | X::string_type | 戻り値: 大文字小文字を区別しないとき、文字シーケンス [G1, G2) が文字シーケンス [H1, H2) より前にソートされるとき v.transform_primary(G1, G2) < v.transform_primary(H1, H2) であるような、イテレータ範囲 [F1, F2) によって表される文字シーケンスに対するソートキー。 |
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以上) |
|