Replying to my own post here, apologies all, what was I thinking ::_1 is just a place holder. However, I'd much like to achieve something along similar lines .. all help appreciated. -- Manfred Manfred Doudar wrote:
Hello all:
Hoping someone might help with a simple problem; how I might call a member on a boost::bind placeholder, see below ...
#include <list>
class Xtype { public:
Xtype(int v) : value_(v) { }
int the_value() const { return this->value_; }
private:
int value_; };
template <typename Predicate> class Excise { public:
void operator()(std::list<Xtype>& li) const { li.remove_if(boost::bind(Predicate(), ::_1, 10)); } };
... what I really want is something more like [, note the call of Xtype::this_value() ]:
void operator()(std::list<Xtype>& li) const { li.remove_if(boost::bind(Predicate(), ::_1.the_value(), 10)); }
But how do I achieve that (, if at all possible); as seemingly ::_1.the_value() is illegal/invalid code ?
Thanks in advance,