Boost logo

Boost Users :

From: David Klein (d.klein_at_[hidden])
Date: 2006-07-11 07:03:09


boost-users-bounces_at_[hidden] wrote:
> On Tue, Jul 11, 2006 at 10:19:05AM +0000, Roman Neuhauser wrote:
>> # kneeride_at_[hidden] / 2006-07-11 17:31:23 +1000:
>>> On 7/11/06, Michael Nicolella <boost_at_[hidden]> wrote:
>>>> vec.erase( std::remove_if( vec.begin(), vec.end(),
>>>> some_condition_functor
>>>> ) );
>>>
>>> Mike, I do like your remove_if example.
>>>
>>> i am not familar with this approach, can you please give me an
>>> example of defining a some_condition_functor? for example when the
>>> value == 5.
>
> What about this?
>
> Let's assume the vector contains ints
>
> class condition_functor {
>
> public:
>
> bool operator()(int elem)
> {
> return elem==5
> }
> };
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users

you can use Boost.Lambda for this

#include <boost/lambda/lambda.hpp>

using namespace boost::lambda;

std::vector<int> v;
...
v.erase(std::remove_if(v.begin(), v.end(), 5 == _1));

--
HTH dave

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net