std::unordered_multimap
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header <unordered_map>
   | 
||
|   template<     class Key,  | 
(since C++11) | |
Unordered multimap is an unordered associative container that supports equivalent keys (an unordered_multimap may contain multiple copies of each key value) and that associates values of another type with the keys. The unordered_multimap class supports forward iterators. Search, insertion, and removal have average constant-time complexity.
std::unordered_multimap meets the requirements of Container, AllocatorAwareContainer, UnorderedAssociativeContainer.
Contents | 
[edit] Member types
| Member type | Definition | 
  key_type
 | 
  Key 
 | 
  mapped_type
 | 
  T 
 | 
  value_type
 | 
std::pair<const Key, T> | 
  size_type
 | 
Unsigned integral type (usually std::size_t) | 
  difference_type
 | 
Signed integer type (usually std::ptrdiff_t) | 
  hasher
 | 
  Hash 
 | 
  key_equal
 | 
  KeyEqual 
 | 
  allocator_type
 | 
  Allocator 
 | 
  reference
 | 
  value_type& 
 | 
  const_reference
 | 
  const value_type& 
 | 
  pointer
 | 
std::allocator_traits<Allocator>::pointer | 
  const_pointer
 | 
std::allocator_traits<Allocator>::const_pointer | 
  iterator
 | 
  ForwardIterator 
 | 
  const_iterator
 | 
Constant forward iterator | 
  local_iterator
 | 
  An iterator type whose category, value, difference, pointer and reference types are the same as iterator. This iteratorcan be used to iterate through a single bucket but not across buckets  | 
  const_local_iterator
 | 
  An iterator type whose category, value, difference, pointer and reference types are the same as const_iterator. This iteratorcan be used to iterate through a single bucket but not across buckets  | 
[edit] Member functions
  constructs the unordered_multimap (public member function)  | |
  destructs the unordered_multimap (public member function)  | |
|    assigns values to the container   (public member function)  | |
|    returns the associated allocator   (public member function)  | |
 Iterators | |
|    returns an iterator to the beginning   (public member function)  | |
|    returns an iterator to the end   (public member function)  | |
 Capacity | |
|    checks whether the container is empty   (public member function)  | |
|    returns the number of elements   (public member function)  | |
|    returns the maximum possible number of elements   (public member function)  | |
 Modifiers | |
|    clears the contents   (public member function)  | |
|    inserts elements   (public member function)  | |
|    constructs element in-place   (public member function)  | |
|    constructs elements in-place using a hint   (public member function)  | |
|    erases elements   (public member function)  | |
|    swaps the contents   (public member function)  | |
 Lookup | |
|    returns the number of elements matching specific key   (public member function)  | |
|    finds element with specific key  (public member function)  | |
|    returns range of elements matching a specific key  (public member function)  | |
 Bucket interface | |
|    returns an iterator to the beginning of the specified bucket   (public member function)  | |
|    returns an iterator to the end of the specified bucket   (public member function)  | |
|    returns the number of buckets  (public member function)  | |
|    returns the maximum number of buckets  (public member function)  | |
|    returns the number of elements in specific bucket  (public member function)  | |
|    returns the bucket for specific key  (public member function)  | |
 Hash policy | |
|    returns average number of elements per bucket  (public member function)  | |
|    manages maximum average number of elements per bucket  (public member function)  | |
|    reserves at least the specified number of buckets. This regenerates the hash table. (public member function)  | |
|    reserves space for at least the specified number of elements. This regenerates the hash table. (public member function)  | |
 Observers | |
|    returns function used to hash the keys   (public member function)  | |
|    returns the function used to compare keys for equality   (public member function)  | |
[edit] Non-member functions
|    compares the values in the unordered_multimap   (function template)  | |
|    specializes the std::swap algorithm   (function template)  | |