C++ Locale 库 - operator()
描述
它使用 locale 比较字符串,并根据 locale 中 collate facet 定义的排序规则比较 s1 和 s2,并返回 s1 在排序顺序中是否在 s2 之前。
声明
以下是 std::locale::operator() 的声明
C++98
template <class charT, class Traits, class Allocator> bool operator() (const basic_string<charT,Traits,Allocator>& s1, const basic_string<charT,Traits,Allocator>& s2) const;
C++11
template <class charT, class Traits, class Allocator> bool operator() (const basic_string<charT,Traits,Allocator>& s1, const basic_string<charT,Traits,Allocator>& s2) const;
参数
s1, s2 − 它是以区域设置敏感的方式进行比较的 basic_string 对象。
返回值
如果在 collate facet 为字符串定义的特定严格弱排序中 s1 在 s2 之前,它返回 true,否则返回 false。
异常
Strong guarantee − 如果抛出异常,则任何对象都没有变化。
数据竞争
访问了 locale 对象。