类模板
<locale>

std::collate_byname

template <class charT> class collate_byname;
用于比较和哈希字符串的 Facet

samp>collate_byname 标准 facet 重写了 samp>collate 虚成员,为特定的命名 locale 实现其语义。

它的公共接口与 samp>collate 的相同,只是它的构造函数接受一个额外的 std_name 参数。

1
explicit collate_byname (const char* std_name, size_t refs = 0);
1
2
explicit collate_byname (const char* std_name, size_t refs = 0);
explicit collate_byname (const string& std_name, size_t refs = 0);

其中 std_name 是一个C locale 的名称。可用的C locales 取决于系统和库实现,但至少以下几种保证在所有实现中都存在:
区域设置名称描述
"C"最小的“C” locale(与 samp>locale::classic 相同)
""环境变量的默认 locale

特化

在所有库实现中,至少提供了以下模板特化:
特化
collate_byname<char>
collate_byname<wchar_t>