std:: collate_byname
|
定义于头文件
<locale>
|
||
|
template
<
class
CharT
>
class collate_byname : public std:: collate < CharT > ; |
||
std::collate_byname
是一个
std::collate
facet,它封装了区域特定的字符串排序(比较)和哈希功能。与
std::collate
类似,它可以被植入
std::regex
中,并通过
std::locale::operator()
直接应用于所有需要字符串比较谓词的标准算法。
目录 |
特化
标准库保证提供以下特化版本:
|
定义于头文件
<locale>
|
|
| std :: collate_byname < char > | 多字节字符串的本地化排序规则 |
| std :: collate_byname < wchar_t > | 宽字符串的本地化排序规则 |
成员函数
|
(constructor)
|
构造新的
collate_byname
本地化刻面
(公开成员函数) |
|
(destructor)
|
销毁
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
)
;
|
(since C++11) | |
为具有
name
的区域设置构造新的
std::collate_byname
平面。
refs 用于资源管理:如果 refs == 0 ,当最后一个持有该平面的 std::locale 对象被销毁时,实现会销毁该平面。否则,该对象不会被销毁。
参数
| name | - | 区域设置的名称 |
| refs | - | 链接到该平面的引用数量 |
std::collate_byname:: ~collate_byname
|
protected
:
~collate_byname ( ) ; |
||
销毁该区域设置刻面。
继承自 std:: collate
嵌套类型
| 类型 | 定义 |
char_type
|
CharT
|
string_type
|
std:: basic_string < CharT > |
数据成员
| 成员 | 描述 |
std::locale::id
id
[static]
|
facet 的标识符 |
成员函数
调用
do_compare
(
std::collate<CharT>
的公开成员函数)
|
|
调用
do_transform
(
std::collate<CharT>
的公开成员函数)
|
|
调用
do_hash
(
std::collate<CharT>
的公开成员函数)
|
受保护成员函数
|
[virtual]
|
使用此 facet 的排序规则比较两个字符串
(
std::collate<CharT>
的虚受保护成员函数)
|
|
[virtual]
|
转换字符串以便用比较替代排序
(
std::collate<CharT>
的虚受保护成员函数)
|
|
[virtual]
|
使用此 facet 的排序规则生成整数哈希值
(
std::collate<CharT>
的虚受保护成员函数)
|
注释
排序规则采用字典顺序:字母在民族字母表中的位置(其 等价类 )优先于字母的大小写或变体。在等价类内部,小写字符排序先于对应的大写字符,对于带变音符号的字符可能采用区域特定的排序规则。在某些区域设置中,字符组会作为单个 排序单元 进行比较。例如,捷克语中的 "ch" 排在 "h" 之后、 "i" 之前,而匈牙利语中的 "dzs" 排在 "dz" 之后、 "g" 之前。
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
定义字符串的字典序比较和哈希计算
(类模板) |
|
|
根据当前本地化设置比较两个字符串
(函数) |
|
|
根据当前本地化设置比较两个宽字符串
(函数) |
|
|
使用此locale的collate facet对两个字符串进行字典序比较
(
std::locale
的公开成员函数)
|