|
Boost Users : |
From: Mattias Brändström (thebrasse_at_[hidden])
Date: 2004-07-28 09:19:21
Hello!
I am new to the boost lambda library so this might be a naive question.
Here goes. This is what I want to do:
class Foo {
public:
int bar() { return 42; }
};
int main()
{
std::vector<Foo> v;
v.push_back(Foo());
count_if(v.begin(), v.end(), boost::bind(&Foo::bar, _1) == 42);
return 0;
}
However, I get a comilation error when trying to compile this with g++
version 3.3.2:
test.cpp: In function `int main()':
test.cpp:17: error: no match for 'operator==' in '`empty_class_expr' not
test.cpp:17: sorry, unimplemented: supported by dump_expr
test.cpp:17: sorry, unimplemented: boost::bind(R (T::*)(), A1) [with R =
int, T = Foo, A1 = boost::arg<1>]((<unnamed>::_1, <expression error>))
== 42'
To me it seems that this is something that I should be able to do with
the BLL. If someone could point me in the right direction here I would
be really greatful!
Thanks in advance!
Regards,
Mattias
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