public member function
<locale>

std::collate::transform

string_type transform (const char_type* low, const char_type* high) const;
转换字符序列
返回一个字符串对象,该对象的字符值在与调用此函数对另一个字符串返回的字符值进行词典排序时,其结果与使用 collate::compare 比较字符串的结果相同。

这允许在需要将单个字符串与许多其他字符串进行排序比较时加快比较速度,因为对于某些区域设置,词典排序(例如 lexicographical_compare 算法执行的排序)可能比 collate::compare 快得多。

内部,此函数仅调用虚保护成员 do_transform,对于默认特化的经典区域设置,它返回一个与范围相同的字符的字符串,而不执行任何转换。

参数

low, high
指向序列的开始和结束字符的指针。使用的范围是 [low,high),它包含 low 指向的所有字符以及 low 处的字符,但不包含 high 指向的字符。
请注意,空字符(如果有)也会被转换,并且函数会继续处理它们,直到整个范围被转换。
成员类型char_type是分面(facet)的字符类型(定义为collate的模板参数charT的别名)。

返回值

一个字符串,如果与此函数对另一个字符串返回的结果进行词典排序,将返回与使用 collate::compare 比较两个原始字符串的结果相同。
成员类型 string_typebasic_string 的一个实例化,其字符类型与此 facet 相同(定义为 basic_string<charT> 的别名,其中 charTcollate 的模板参数)。

数据竞争

访问 facet 对象以及范围 [low,high) 中的字符。

异常安全

强异常保证: 如果抛出异常,则没有副作用。

另见