Boost logo

Boost :

From: Bill Buklis (boostuser_at_[hidden])
Date: 2006-03-14 13:18:20


What you mean by the ranges? Although I'm learning it fast, I'm still fairly
new to the STL and Boost. I don't think I've seen this yet.

-- Bill --

> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]]
> On Behalf Of Thorsten Ottosen
> Sent: Tuesday, March 14, 2006 7:08 AM
> To: boost_at_[hidden]
> Subject: Re: [boost] [off-topic] why do we not have std::copy_if?
>
> Caleb Epstein wrote:
> > 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?
>
> I guess it should have been part of C++98, but didn't make it due to
> perhaps time contraints.
>
> With the advent of ranges, we might make *all* the xxx_if versions of
> algorithms redundant by replacing xxx_if( range, pred ) with
>
> xxx( range | filtered( pred ) );
>
>
> -Thorsten
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk