value_compare 类
提供一个函数对象,该对象能通过比较 hash_map 元素的键值来比较这些元素,以确定其在 hash_map 中的相对顺序。
语法
class value_compare
: std::public binary_function<value_type, value_type, bool>
{
public:
bool operator()(
const value_type& left,
const value_type& right) const
{
return (comp(left.first, right.first));
}
protected:
value_compare(const key_compare& c) : comp (c) { }
key_compare comp;
};
备注
辅助类构造包含的相应元素的键之间的比较将引发一种比较条件,这种比较条件由 hash_map 包含的整个元素的 value_types
之间的 value_compare 提供。 成员函数运算符使用 value_compare 提供的函数对象中存储的 key_compare
类型的 comp
对象,用于比较两个元素的排序键组件。
对于 hash_set 和 hash_multiset(二者均为键值与元素值完全相同的简单容器),value_compare 等效于 key_compare
;对于 hash_map 和 hash_multimap,它们则不相等,因为类型 pair
元素的值与元素的键值不完全相同。
示例
有关如何声明和使用 value_compare 的示例,请参阅 hash_map::value_comp 的示例。
要求
标头:<hash_map>
命名空间: stdext