std::multimap
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header  <map> | ||
| template<     class Key, | ||
Multimap is an associative container that contains a sorted list of key-value pairs. Sorting is done according to the comparison function Compare, applied to the keys. Search, insertion, and removal operations have logarithmic complexity.
The order of the key-value pairs whose keys compare equivalent is the order of insertion and does not change. (since C++11)
std::multimap meets the requirements of Container, AllocatorAwareContainer, AssociativeContainer and ReversibleContainer.
| 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) | ||||
| key_compare | Compare | ||||
| allocator_type | Allocator | ||||
| reference | 
 | ||||
| const_reference | 
 | ||||
| pointer | 
 | ||||
| const_pointer | 
 | ||||
| iterator | BidirectionalIterator | ||||
| const_iterator | Constant bidirectional iterator | ||||
| reverse_iterator | std::reverse_iterator<iterator> | ||||
| const_reverse_iterator | std::reverse_iterator<const_iterator> | 
[edit] Member classes
| compares objects of type value_type(class) | 
[edit] Member functions
| constructs the multimap(public member function) | |
| destructs the 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) | |
| returns a reverse iterator to the beginning (public member function) | |
| returns a reverse 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) | |
| (C++11) | constructs element in-place (public member function) | 
| (C++11) | 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) | |
| returns an iterator to the first element not less than the given value (public member function) | |
| returns an iterator to the first element greater than a certain value (public member function) | |
| Observers | |
| returns the function that compares keys (public member function) | |
| returns the function that compares keys in objects of type value_type (public member function) | |
[edit] Non-member functions
| lexicographically compares the values in the multimap (function template) | |
| specializes the std::swap algorithm (function template) | 


