std::collate_byname
来自cppreference.com
在标头 <locale> 定义
|
||
template< class CharT > class collate_byname : public std::collate<CharT>; |
||
std::collate_byname
是封装本地环境限定对照(比较)和字符串哈希的 std::collate 平面。正如同 std::collate,它可以浸染于 std::regex,并以 std::locale::operator() 直接应用到所有期待字符串比较谓词的标准算法。
特化
标准库保证提供以下特化:
在标头
<locale> 定义 | |
std::collate_byname<char> | 多字节字符串的本地环境限定对照 |
std::collate_byname<wchar_t> | 宽字符串的本地环境限定对照 |
成员函数
(构造函数) |
构造新的 collate_byname 平面 (公开成员函数) |
(析构函数) |
析构 collate_byname 平面 (受保护成员函数) |
std::collate_byname::collate_byname
explicit collate_byname( const char* name, std::size_t refs = 0 ); |
||
explicit collate_byname( const std::string& name, std::size_t refs = 0 ); |
(C++11 起) | |
为名为 name 的本地环境构造新的 std::collate_byname
平面。
refs 用于资源管理:在销毁最后一个保有平面的 std::locale 对象时,如果 refs == 0,那么实现会销毁平面对象。否则不销毁对象。
参数
name | - | 本地环境的名称 |
refs | - | 链接到该平面的引用数 |
std::collate_byname::~collate_byname
protected: ~collate_byname(); |
||
销毁平面。
继承自 std::collate
成员类型
成员类型 | 定义 |
char_type
|
CharT
|
string_type
|
std::basic_string<CharT> |
成员函数
调用 do_compare ( std::collate<CharT> 的公开成员函数) | |
调用 do_transform ( std::collate<CharT> 的公开成员函数) | |
调用 do_hash ( std::collate<CharT> 的公开成员函数) |
受保护成员函数
[虚] |
用此平面的对照规则比较二个字符串 ( std::collate<CharT> 的虚受保护成员函数) |
[虚] |
变换字符串,使得能用比较替换对照 ( std::collate<CharT> 的虚受保护成员函数) |
[虚] |
生成使用此平面对照规则的整数哈希值 ( std::collate<CharT> 的虚受保护成员函数) |
注意
对照顺序为字典顺序:国家字母表(其等价类)中字母的位置拥有高于其大小写或变体的优先级。在等价类内,小写字符先于其大写等价物对照,而且本地环境限定的顺序可能应用到有发音符号的字符。一些本地环境中,字符组作为单个对照单元比较。例如, "ch" 在捷克语中后随 "h" 而前趋 "i" , "dzs" 在匈牙利语中后随 "dz" 而前趋 "g" 。
示例
本节未完成 原因:暂无示例 |
参阅
定义字典序比较和字符串的散列 (类模板) | |
按照当前本地环境比较两个字符串 (函数) | |
按照当前本地环境比较两个宽字符串 (函数) | |
用此 locale 的 collate 刻面以字典序比较两个字符串 ( std::locale 的公开成员函数) |