名稱空間
變體
操作

C++ 命名需求: RegexTraits (C++11 起)

來自 cppreference.com
 
 
C++ 命名要求
基本
型別屬性
全庫範圍




Container(容器)
容器元素
迭代器 (Iterator)
流 I/O
格式化器
隨機數
併發
(C++11)
範圍
多維檢視
其他

 

RegexTraits 是一個特性類,它抽象了在作為 std::basic_regex 的模板型別引數時,給定字元型別所需的操作。

[編輯] 要求

給定

  • CharT,一個字元型別
  • X,型別 CharTRegexTraits 型別
  • 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 返回:一個字元,使得對於任何被認為與 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 返回:迭代器範圍 [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 返回的值可以按位或運算;結果值表示在相應字元類中的成員資格
  • 如果 b 為真,則返回的位掩碼適用於不區分大小寫的字元匹配。
  • 如果字元序列不是 X 識別的字元類的名稱,則返回 0
  • 返回的值應獨立於序列中字元的大小寫。
v.isctype(c, cl) 布林 返回:c 是否是 cl 指定的字元類之一的成員。
v.value(c, I) 整型 返回
  • 如果字元 c 是基數 I 中的有效數字,則為數字 c 在基數 I 中表示的值
  • 否則為 -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 起)