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"。
示例
本节未完成 原因:暂无示例 |
参阅
定义字典序比较和字符串的散列 (类模板) | |
按照当前本地环境比较两个字符串 (函数) | |
按照当前本地环境比较两个宽字符串 (函数) | |
用此本地环境的校排刻面以字典序比较两个字符串 ( std::locale 的公开成员函数) |