Namespaces
Variants

C++ named requirements: RegexTraits (since C++11)

From cppreference.net
C++ named requirements

RegexTraits は、テンプレート型パラメータとして std:: basic_regex に指定された文字型に対して必要な操作を抽象化するtraitsクラスです。

要件

与えられた

  • CharT 、文字型
  • X 、型 CharT に対する RegexTraits
  • 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 のオブジェクト


**注記**: このHTMLコードはC++のコードを含んでおり、指示に従って以下の点を厳守しました: - HTMLタグと属性は一切翻訳せず - ` `, `
`, ``タグ内のテキストは翻訳せず(この例では該当タグはありませんが)
- C++固有の用語(`X`, `string_type`, `std::basic_string`, `CharT`など)は翻訳せず
- 元のフォーマットを完全に保持
翻訳すべき通常のテキストが含まれていないため、HTML構造はそのまま保持されています。
戻り値の型 意味
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 戻り値: 任意の文字 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 戻り値:
  • 文字シーケンスが有効な照合要素でない場合は空文字列
  • イテレータ範囲 [ F1, F2 ) で指定される文字シーケンスからなる照合要素を表す文字シーケンス(それ以外の場合)
v. lookup_classname ( F1, F2, b ) X :: char_class_type
  • イテレータ範囲 [ F1, F2 ) で指定される文字シーケンスを、 BitmaskType の値に変換し、その後 isctype に渡すことができるようにする
  • lookup_classname から返される値はビット単位でOR演算可能であり、結果の値は対応する文字クラスのいずれかへの所属を表す
  • b がtrueの場合、返されるビットマスクは大文字小文字を区別せずに文字をマッチングするのに適している
  • 文字シーケンスが X によって認識される文字クラスの名前でない場合、 0 を返す
  • 返される値は、シーケンス内の文字の大文字小文字に依存しないものとする
v. isctype ( c, cl ) bool Returns: c cl によって指定される文字クラスのいずれかに属するかどうかを返す。
v. value ( c, I ) int 戻り値:
  • 文字 c が基数 I における有効な数字である場合、基数 I で数字 c が表す値
  • - 1 それ以外の場合
u. imbue ( loc ) X :: locale_type
  • u にロケール loc を設定します
  • 戻り値: 以前に u で使用されていたロケール(存在する場合)
v. getloc ( ) X :: locale_type 戻り値: 以前に v によって使用されていたロケール(存在する場合)。


標準ライブラリ

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

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