
On Tue, Jan 20, 2009 at 9:11 AM, Robert Jones
On Tue, Jan 20, 2009 at 2:53 PM, Maxim Koshelev
wrote: The Lambda version would be similar, just replacing the outer bind with infix notation
#include "boost/lambda/lambda.hpp" #include "boost/lambda/bind.hpp"
using namespace boost::lambda;
std::accumulate( begin, end, _1 + bind(&A::a, _2 ));
Again untested.
this std::accumulate return complicated lambda function, but not int value :-)
Yeah, sorry, missed the initial value!
std::accumulate( begin, end, 0, _1 + bind(&A::a, _2 ));
I still get problems. Mostly ambiguity issues with _1 and _2, so I qualify them with boost::lambda and then I get boost::lambda::function_adaptor<Func>::apply none of the 8 overloads could convert all the argument types with [ Func = int Test::* ] could be ... and from there it lists every possible overload of RET boost::lambda::function_adaptor<Func>::apply<RET>(T Test::*, _____) where ____ is every possible combination of const, volatile, pointer, and reference, and the type "Object".