# std::experimental::erase_if (std::set)

From cppreference.com
< cpp‎ | experimental

Defined in header `<experimental/set>` |  |
template< class Key, class Compare, class Alloc, class Pred > void erase_if(std::set<Key,Compare,Alloc>& c, Pred pred); |  | (library fundamentals TS v2)

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 determines which elements should be erased

### Complexity

Linear.

### Example

| This section is incomplete Reason: no example

### See also

remove remove_if | removes elements satisfying specific criteria (function template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/set/erase_if&oldid=98561"