std::unordered_multiset::erase

From Cppreference

Jump to: navigation, search
void erase( iterator position );
iterator erase( const_iterator position );
(1) (since C++11)
void erase( iterator first, iterator last );
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 the elements with the key value key

References and iterators to the erased elements are invalidated. If rehashing occurs due to the erasure, all other iterators are invalidated also. Otherwise, other iterators are not affected. References to elements other than the erased ones 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] Complexity

1) Average case: constant, worst case: a.size()

2) Average case: std::distance(first, last), worst case: a.size()

3) Average case: a.count(key), worst case: a.size()

[edit] See also

clears the contents
(public member function)