std::multimap::erase
From cppreference.com
| void erase( iterator pos ); iterator erase( const_iterator pos ); |
(1) | (until C++11) (since C++11) |
| void erase( iterator first, iterator last ); iterator erase( const_iterator first, const_iterator last ); |
(2) | (until C++11) (since C++11) |
| size_type erase( const key_type& key ); |
(3) | |
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 references and iterators are not affected.
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] Exceptions
1,2) (none)
3) Any exceptions thrown by the
Compare object.[edit] Notes
The iterator pos must be valid and dereferenceable. Thus the end() iterator (which is valid, but is not dereferencable) cannot be used as a value for pos.
[edit] Complexity
Given an instance c of multimap:
1) Amortized constant
2) log(c.size()) + std::distance(first, last)
3) log(c.size()) + c.count(k)
[edit] See also
| clears the contents (public member function) | |