template<class FwdIt, class Pred>
FwdIt remove_if(FwdIt first, FwdIt last, Pred pr);
The template function effectively assigns first
to X
, then executes the statement:
if (!pr(*(first + N)))
*X++ = *(first + N);
once for each N
in the range [0, last - first)
. It then returns X
. Thus, the function removes from the sequence all
elements for which the predicate pr(*(first + N))
is true, without altering the relative order of remaining elements,
and returns the iterator value that designates the end of the revised sequence.
See the related sample program.