名前空間
変種
操作

名前付き要件: RegexTraits

提供: cppreference.com
< cpp‎ | named req
 
 
名前付き要件
基本
型の性質
ライブラリ全体
コンテナ
コンテナの要素
イテレータ
ストリーム入出力
乱数
並行処理
(C++11)

(C++11)
(C++11)
その他
RegexTraits
(C++11)
 

RegexTraitsstd::basic_regex に対するテンプレート型引数として指定された文字型に必要な操作を抽象化する特性クラスです。

[編集] 要件

  • 文字型 CharT
  • CharT 型のための RegexTraitsX
  • 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 戻り値:
  • 文字シーケンスが有効な照合要素でない場合は空文字列。
  • そうでなければ、イテレータ範囲 [F1, F2) によって表される文字シーケンスによって構成される照合要素を表す文字シーケンス。
v.lookup_classname(F1, F2, b) X::char_class_type
  • イテレータ範囲 [F1, F2) によって表される文字シーケンスを後に isctype に渡すことができる BitmaskType の値に変換します。
  • lookup_classname によって返された値はお互いにビット単位の排他的論理和ができます。 結果の値は対応する文字クラスのいずれかのメンバであることを表します。
  • b が true であれば、返されるビットマスクはその大文字小文字を区別せずに文字をマッチするのに適します。
  • 文字シーケンスが X によって認識される文字クラスの名前でない場合は 0 を返します。
  • 返された値はシーケンス内の文字の大文字小文字と独立しているものとします。
v.isctype(c, cl) bool 戻り値: ccl によって表される文字クラスのいずれかのメンバであるかどうか。
v.value(c, I) int 戻り値:
  • 文字 c 基数 I で有効な数字であれば基数 I の数字 c によって表される値。
  • そうでなければ -1
u.imbue(loc) X::locale_type
  • ロケール loc を使用して u を設定します。
  • 戻り値: もしあれば u によって使用されていた以前のロケール。
v.getloc() X::locale_type 戻り値: もしあれば v によって使用されていた以前のロケール。


[編集] 標準ライブラリ

RegexTraits は以下の標準ライブラリのクラスによって満たされます。

template<> class regex_traits<char>;
template<> class regex_traits<wchar_t>;
(C++11以上)
(C++11以上)