共用方式為


unordered_multimap Class

樣板類別描述物件控制項型別的 std::pair<const Key, Ty>項目內變更長的序列。這個序列會雜湊函式弱式地排序,排序這個序列稱為 Bucket 一組已排序的結果。在每一個 Bucket 中比較函式來判斷是否有任何對應項目是否具有相同的順序。每個項目儲存兩個物件、指定的排序索引鍵和值。此順序表示以允許搜尋、選擇性項目插入和移除與許多作業可以是中的項目數獨立在序列中方法 (常數時間),,至少在所有雜湊桶大約等於的長度時。在最壞的情況中,例如,當所有項目都在一個 Bucket 時,表示作業的數目等於項目數目成正比在序列 (線性時間)。此外,插入項目不會失效, Iterator,並移除項目失效指向所移除的項目之型別的 Iterator。

template<class Key,
    class Ty,
    class Hash = std::tr1::hash<Key>,
    class Pred = std::equal_to<Key>,
    class Alloc = std::allocator<Key> >
    class unordered_multimap;

參數

參數

描述

Key

關鍵的型別。

Ty

對應的類型。

Hash

雜湊函式物件型別。

Pred

相等比較函式物件型別。

Alloc

配置器類別。

Members

型別定義

描述

unordered_multimap::allocator_type

一個配置器類型處理的儲存區。

unordered_multimap::const_iterator

常數 Iterator 的型別受控制序列的。

unordered_multimap::const_local_iterator

常數 Bucket Iterator 的型別受控制序列的。

unordered_multimap::const_pointer

常數指標型別為的項目。

unordered_multimap::const_reference

常數參考的資料型別的項目。

unordered_multimap::difference_type

已簽署的距離的型別有兩個項目之間。

unordered_multimap::hasher

雜湊函式的型別。

unordered_multimap::iterator

Iterator 的型別受控制序列的。

unordered_multimap::key_equal

比較函式的型別。

unordered_multimap::key_type

"排程之索引鍵的型別。

unordered_multimap::local_iterator

一個 Bucket Iterator 的型別受控制序列的。

unordered_multimap::mapped_type

對應之值的型別與每個索引鍵。

unordered_multimap::pointer

指標型別為的項目。

unordered_multimap::reference

參考型別的項目。

unordered_multimap::size_type

一個不帶正負號的距離的型別有兩個項目之間。

unordered_multimap::value_type

項目的型別。

成員函式

描述

unordered_multimap::begin

指定受控制序列的開頭。

unordered_multimap::bucket

取得一個關鍵值的 Bucket 數目。

unordered_multimap::bucket_count

取得 Bucket 的數目。

unordered_multimap::bucket_size

取得雜湊桶的大小。

unordered_multimap::cbegin

指定受控制序列的開頭。

unordered_multimap::cend

指定受控制序列的結尾。

unordered_multimap::clear

移除所有項目。

unordered_multimap::count

尋找符合指定索引鍵的項目數目。

unordered_multimap::emplace

將已建構的一個項目。

unordered_multimap::emplace_hint

將項目就地建構,以提示。

unordered_multimap::empty

測試項目是否不存在。

unordered_multimap::end

指定受控制序列的結尾。

unordered_multimap::equal_range

尋找符合指定之索引鍵的範圍。

unordered_multimap::erase

移除指定位置的項目。

unordered_multimap::find

尋找符合指定之索引鍵的項目。

unordered_multimap::get_allocator

取得儲存的配置器物件。

unordered_multimap::hash_function

取得儲存的雜湊函式物件。

unordered_multimap::insert

加入項目。

unordered_multimap::key_eq

取得已儲存的比較函式物件。

unordered_multimap::load_factor

計數平均項目每個 Bucket。

unordered_multimap::max_bucket_count

取得雜湊桶元素的最大數目。

unordered_multimap::max_load_factor

取得或設定最大項目的每一個 Bucket。

unordered_multimap::max_size

取得受控制序列中的最大值。

unordered_multimap::rehash

重新建置雜湊資料表。

unordered_multimap::size

計數項目的數目。

unordered_multimap::swap

交換兩個容器的內容。

unordered_multimap::unordered_multimap

建構物件容器。

運算子

描述

unordered_multimap::operator=

複製雜湊資料表。

備註

它會呼叫兩個儲存物件控制項的物件排序的序列,型別 unordered_multimap::key_equal 比較函式物件和型別 unordered_multimap::hasher雜湊函式物件。您可藉由呼叫成員函式存取先儲存物件 unordered_multimap::key_eq();以及呼叫成員函式存取第二個中的物件 unordered_multimap::hash_function()。更明確地說,,只有在兩個引數的值與相等排序,為型別 Key的任何值 X 和 Y ,呼叫 key_eq()(X, Y) 傳回 TRUE;這個呼叫 hash_function()(keyval) 產生型別 size_t值的散發。不同於樣板類別, unordered_map Class樣板類別 unordered_multimap 物件並不保證 key_eq()(X, Y) 為受控制序列的任何兩個項目都是錯誤的。(索引鍵不需要是唯一的)。

物件也會儲存一個最大的負載因素,指定項目的最大預期平均數。每個 Bucket。如果插入項目所 unordered_multimap::load_factor() 超過最大的負載因素,容器加入 Bucket 的數目並重新建置雜湊資料表的需要。

項目實際順序在受控制序列的決定雜湊函式、比較函式、插入順序,最大的負載因數和目前 Bucket 數目。您通常無法預測的項目順序受控制序列的。,不過,您可能永遠都是識別之項目的任何子集與相等排序的短破折號是在受控制序列。

物件配置並透過型別控制項 unordered_multimap::allocator_type所儲存的配置器物件序列中未使用的記憶體區域。這類配置器物件必須具有外部介面和樣板類別相同 allocator物件。請注意儲存的配置器不會複製物件本身,在容器物件指定。

需求

標題: <unordered_map>

命名空間: std

請參閱

參考

<unordered_map>

unordered_multimap Class