std::erase_if (std::unordered_set)
Defined in header <unordered_set> | ||
---|---|---|
template< class Key, class Hash, class KeyEqual, class Alloc, class Pred > void erase_if(std::unordered_set<Key,Hash,KeyEqual,Alloc>& c, Pred pred); | (1) | (since C++20) |
Erases all elements that satisfy the predicate pred
from the container. Equivalent to.
for (auto i = c.begin(), last = c.end(); i != last; ) { if (pred(*i)) { i = c.erase(i); } else { ++i; } }
Parameters
c | - | container from which to erase |
pred | - | predicate that returns true if the element should be erased |
Complexity
Linear.
Example
See also
removes elements satisfying specific criteria (function template) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/container/unordered_set/erase_if