Namespaces
Variants
Views
Actions

std::erase, std::erase_if (std::)

From cppreference.com
Revision as of 22:23, 19 November 2018 by T. Canens (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

{{cpp/container/{{{1}}}/navbar}}

Defined in header [[cpp/header/{{{1}}}|<{{{1}}}>]]
template< ..., class U >
void erase(std::{{{1}}}<...>& c, const U& value);
(1) (since C++20)
template< ..., class Predicate >
void erase_if(std::{{{1}}}<...>& c, Predicate pred);
(2) (since C++20)
1) Erases all elements that compare equal to value from the container.
2) Erases all elements that satisfy the predicate pred from the container.

Contents

Parameters

c - container from which to erase
value - value to be removed
pred - unary predicate which returns ​true if the element should be erased.

The expression pred(v) must be convertible to bool for every argument v of type (possibly const) T, regardless of value category, and must not modify v. Thus, a parameter type of T&is not allowed, nor is T unless for T a move is equivalent to a copy(since C++11). ​

Complexity

Linear.

Example


See also

removes elements satisfying specific criteria
(function template) [edit]