[set.erasure] (original) (raw)

23 Containers library [containers]

23.4 Associative containers [associative]

23.4.6 Class template set [set]

23.4.6.3 Erasure [set.erasure]

template<class Key, class Compare, class Allocator, class Predicate> constexpr typename set<Key, Compare, Allocator>::size_type erase_if(set<Key, Compare, Allocator>& c, Predicate pred);

Effects: Equivalent to:auto original_size = c.size();for (auto i = c.begin(), last = c.end(); i != last; ) { if (pred(*i)) { i = c.erase(i);} else { ++i;} } return original_size - c.size();