vector<double> result(vectorOfClassA.size());
vector<classB> temp(vectorOfClassA.size());
std::transform(vectorOfClassA.begin(), vectorOfClassA.end(), back_inserter(temp),
std::tr1::bind(&A::memberVariableOfClassB, std::tr1::placeholders::_1));
std::transform(temp.begin(), temp.end(), back_inserter(result),
std::tr1::bind(&B::getValue, std::tr1::placeholders::_1));
I like to use one transform but it can't compile
std::transform(vectorOfClassA.begin(), vectorOfClassA.end(), back_inserter(result),
std::tr1::bind(&B::getValue,
std::tr1::bind(&A::memberVariableOfClassB,
std::tr1::placeholders::_1)));
Here double getValue()
is class B member function. How to do it or what is wrong with my code?