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_comp hash_compare < 金鑰、 特性 >,以下行為模式所需的最上面的容器:
所有值_Key型別的機碼,呼叫 hash_comp(_Key) 做為雜湊,該函數將產生的散發型別的值 size_t。 Hash_compare 所提供的函式會傳回_Key。
任何值_Key1型別的機碼 ,之前_Key2的順序和具有相同雜湊值 (值傳回雜湊函式), hash_comp(_Key2, _Key1) 為 false。 此函式必須加上型別的值上排序總計機碼。 Hash_compare 所提供的函式會傳回 comp(_Key2, _Key1), , comp 是一種預存的物件型別的特性您可以指定當您建構物件的 hash_comp。 預設值為特性 參數型別 較少的 <Key>,排序鍵永遠不會降低。
整數常數 bucket_size 指定 「 桶 」 (雜湊表項目) 的容器應盡量不要超過每項目的平均數量。 它必須是大於零。 提供 hash_compare 的值為 4。
整數常數 min_buckets 指定在雜湊資料表中維護的雜湊桶的最小數目。 它必須為 2,以及大於零。 提供 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>
Namespace: stdext