Boost logo

Boost :

From: Caleb Epstein (caleb.epstein_at_[hidden])
Date: 2006-03-14 01:21:24

I've recently wondered why std::copy doesn't have an analogous std::copy_if:

template<class InIt, class OutIt, class Pr>
     OutIt *copy_if*(InIt first, InIt last, OutIt dest, Pr pred);

that would copy elements to dest where the predicate returns true. Not
unlike "grep" in Perl and "filter" in Python.

The same goal can be achieved with std::remove_copy_if and the use of a
sense-reversed predicate, but this leads to confusing code IMHO.

Why wouldn't this be part of the Standard Library, or am I missing something
ridiculously obvious?

Caleb Epstein
caleb dot epstein at gmail dot com

Boost list run by bdawes at, gregod at, cpdaniel at, john at