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] 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 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) |