I'm still a novice with bind but I think you have to bind twice:
#include <iostream>
#include <functional>
#include <algorithm>
#include <boost/bind.hpp>
using std::cout;
using std::endl;
using std::equal_to;
class A
{
int i_;
public:
int test() {return i_;}
};
class B
{
A _a;
public:
A& getA() {return _a;}
};
int main()
{
B b;
cout << (1 == boost::bind(&A::test,
boost::bind(&B::getA, &b))()) << endl;
return 0;
}
I cannot figure out how to use boost::bind in following scenario:
class A
{
int i_;
public:
int test() {return i;}
};
class B
{
A _a;
public:
A& getA() {return _a;}
}
bool testbind()
{
B b;
// here I am trying to find out if b.getA().test() equals 1
// I understand that B::getA::test is incorrect, and that's my question-
// how to use bind here?
return (boost::bind (&B::getA::test, b) ==1);
}
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users