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
型別定義 |
描述 |
一個配置器類型處理的儲存區。 |
|
常數 Iterator 的型別受控制序列的。 |
|
常數 Bucket Iterator 的型別受控制序列的。 |
|
常數指標型別為的項目。 |
|
常數參考的資料型別的項目。 |
|
已簽署的距離的型別有兩個項目之間。 |
|
雜湊函式的型別。 |
|
Iterator 的型別受控制序列的。 |
|
比較函式的型別。 |
|
"排程之索引鍵的型別。 |
|
一個 Bucket Iterator 的型別受控制序列的。 |
|
對應之值的型別與每個索引鍵。 |
|
指標型別為的項目。 |
|
參考型別的項目。 |
|
一個不帶正負號的距離的型別有兩個項目之間。 |
|
項目的型別。 |
成員函式 |
描述 |
指定受控制序列的開頭。 |
|
取得一個關鍵值的 Bucket 數目。 |
|
取得 Bucket 的數目。 |
|
取得雜湊桶的大小。 |
|
指定受控制序列的開頭。 |
|
指定受控制序列的結尾。 |
|
移除所有項目。 |
|
尋找符合指定索引鍵的項目數目。 |
|
將已建構的一個項目。 |
|
將項目就地建構,以提示。 |
|
測試項目是否不存在。 |
|
指定受控制序列的結尾。 |
|
尋找符合指定之索引鍵的範圍。 |
|
移除指定位置的項目。 |
|
尋找符合指定之索引鍵的項目。 |
|
取得儲存的配置器物件。 |
|
取得儲存的雜湊函式物件。 |
|
加入項目。 |
|
取得已儲存的比較函式物件。 |
|
計數平均項目每個 Bucket。 |
|
取得雜湊桶元素的最大數目。 |
|
取得或設定最大項目的每一個 Bucket。 |
|
取得受控制序列中的最大值。 |
|
重新建置雜湊資料表。 |
|
計數項目的數目。 |
|
交換兩個容器的內容。 |
|
建構物件容器。 |
運算子 |
描述 |
複製雜湊資料表。 |
備註
它會呼叫兩個儲存物件控制項的物件排序的序列,型別 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