std::regex_traits::transform

template< class ForwardIt >
string_type transform( ForwardIt first, ForwardIt last) const;

获得字符序列 [first, last) 的排序关键,满足若排序关键以 operator< 小于另一排序关键,则在当前感染的 locale 的对照顺序中,产生第一个排序关键的字符序列比产生第二个排序关键的字符序列先来。

例如,在设置 regex 标志 std::regex_constants::collate 时,若 traits.transform("a") <= traits.transform(c1) <= traits.transform("b") 则序列 [a-b] 会匹配某字符 c1 。注意此函数接收字符序列为参数,以适应定义为如 [[.ae.]-d] 的范围。

std::regex_traits 的标准库特化返回 std::use_facet<std::collate<CharT>>(getloc()).transform(&*str.begin(), &*str.begin() + str.length()) ,对于某个构造为 string_type str(first, last) 的临时字符串 str

参数

first, last - 一对向前迭代器 (ForwardIterator) ,确定要比较的字符序列
类型要求
-
ForwardIt 必须满足 ForwardIterator 的要求。

返回值

当前感染的 locale 中字符序列 [first, last) 的对照关键。

示例

版本历史

  • (当前 | 先前 2017年10月13日 (五) 08:45Fruderica讨论 | 贡献. . (1,440字节) (-1,456). . (撤销)
  • 当前 | 先前 2014年10月26日 (日) 18:07P12bot讨论 | 贡献 . . (2,896字节) (0). . (Fix some translations) (撤销)
  • 当前 | 先前 2013年7月2日 (二) 11:14P12bot讨论 | 贡献 . . (2,896字节) (-59). . (Use {{lc}}. Update links. Various fixes.) (撤销)
  • 当前 | 先前 2012年11月2日 (五) 11:32P12bot讨论 | 贡献 . . (2,955字节) (+321). . (r2.7.3) (机器人添加:de, en, es, fr, it, ja, pt, ru) (撤销)
  • 当前 | 先前 2012年10月27日 (六) 12:11P12讨论 | 贡献 . . (2,634字节) (0). . (1个修订: Translate from the English version) (撤销)
  • 当前 | 先前 2012年10月26日 (五) 06:00TranslationBot讨论 | 贡献. . (2,634字节) (-43). . (Translated from the English version using Google Translate) (撤销)
  • 当前 | 先前 2012年10月25日 (四) 15:33P12讨论 | 贡献 . . (2,677字节) (0). . (1个修订: Translate from the English version) (撤销)
  • 当前 | 先前) 2012年10月25日 (四) 12:00TranslationBot讨论 | 贡献. . (2,677字节) (+2,677). . (Translated from the English version using Google Translate)