hash_compare Class
模板类描述可由任意哈希关联容器的对象 — hash_map、 hash_multimap、 hash_set 或 hash_multiset 使用 ),以便对命令和哈希的默认 特征 参数对象它们包含的元素。
template<class Key, class Traits = less<Key> >
class hash_compare
{
Traits comp;
public:
const size_t bucket_size = 4;
const size_t min_buckets = 8;
hash_compare( );
hash_compare( Traits pred );
size_t operator( )( const Key& _Key ) const;
bool operator( )(
const Key& _Key1,
const Key& _Key2
) const;
};
备注
每个哈希关联容器存储哈希特征的对象类型 特征 (模板参数)。 可以从 hash_compare 的专用化派生类有选择地重写某些功能和对象,也可以提供拥有此类的版本,如果满足某些最低要求。 具体而言,对于类型 hash_compareKey, Traits对象 hash_comp,以下行为由上述容器是必需的:
对类型 键的任何值 _Key ,调用 hash_comp(_Key) 用作哈希函数,给定类型 size_t的值分布。 hash_compare 提供的函数返回 _Key。
对于类型 键 的所有值的前面放置一个序列的 _Key2 和具有相同的哈希值进行 _Key1 (哈希函数返回的值), hash_comp(_Key2, _Key1) 是错误的。 函数必须施加了一个总排序的类型 键的值。 hash_compare 提供的函数返回 comp(_Key2, _Key1),comp 是类型 特征 的位置一个单元的对象可以指定要在构造对象 hash_comp。 对于默认 特征 参数类型 小于Key,不要排序关键字减小值。
整型常数 bucket_size 指定元素的数量平均每个 “容器应尽量不超过的存储桶” (hashtable 项)。 它比零输入到。 hash_compare 提供的值是 4。
整型常数 min_buckets 在哈希表指定存储桶的最少量维护。 它必须大于零的次幂和大。 hash_compare 提供的值是 8。
在 Visual C++ .NET 2003 中, hash_map 和 hash_set 头文件的成员中不再标准,命名空间,而是将 stdext 命名空间。 有关更多信息,请参见 stdext 命名空间。
示例
为 hash_map:: hash_map、 hash_multimap:: hash_multimap、 hash_set:: hash_set和 hash_multiset:: hash_multiset参见示例,有关如何声明和使用 hash_compare 的示例。
要求
**标题:**hash_map
命名空间: stdext