std::unordered_multiset::erase
From cppreference.com
                    
                                        
                    < cpp | container | unordered multiset
                    
                                                            
                    
|   iterator erase( const_iterator pos ); 
 | 
(1) | (since C++11) | 
|   iterator erase( const_iterator first, const_iterator last ); 
 | 
(2) | (since C++11) | 
|   size_type erase( const key_type& key ); 
 | 
(3) | (since C++11) | 
Removes specified elements from the container.
1) Removes the element at 
pos.
2) Removes the elements in the range 
[first; last).
3) Removes all elements with the key value 
key
References and iterators to the erased elements are invalidated. Other iterators and references are not invalidated.
Contents | 
[edit] Parameters
| pos | - | iterator to the element to remove | 
| first, last | - | range of elements to remove | 
| key | - | key value of the elements to remove | 
[edit] Return value
1-2) Iterator following the last removed element.
3) Number of elements removed.
[edit] Notes
All iterators (pos, first, last) must be valid and dereferenceable, that is, the end() iterator (which is valid, but is not dereferencable) cannot be used.
[edit] Complexity
Given an instance c of unordered_multiset:
1) Average case: constant, worst case: c.size()
3) Average case: c.count(key), worst case: c.size()
[edit] See also
|    clears the contents   (public member function)  | 
|