#include <algorithm>
  iterator remove_copy_if( iterator start, iterator end, iterator result, Predicate p );

The remove_copy_if() function copies the range of elements [start,end) to result, omitting any elements for which the predicate function p returns true.

The return value of remove_copy_if() is an iterator the end of the new range.

remove_copy_if() runs in linear time.