|
Boost Users : |
From: Darren Cook (darren_at_[hidden])
Date: 2003-10-31 08:30:46
>>struct Foo { int fDataMember;}
>>
>>int main()
>>{
>> std::vector<Foo> foos;
>> Foo fo;
>> std::find_if(foos.begin(), foos.end(), _1->fDataMember ==
>>fo.fDataMember); //<-- won't compile; }
As your vector is of Foo, not Foo*, did you mean "_1.fDataMember" ?
If so, you can do this:
std::find_if(foos.begin(), foos.end(),
bind(&Foo::fDataMember,_1) == fo.fDataMember);
That assumes:
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
using namespace boost::lambda;
> I imagine you're having trouble with "_1->fDataMember".
I didn't realize there was a limitation when using "->". Surely there must
already be something in the lambda library to deal with this? It seems like
something that must come up a lot.
Darren
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