As withのコンテナがあります
struct A { int f(); }
コンテナーは反復子を提供し、この例ではそれが std::vector であると想定できます。そう:
std::vector<A> As;
ここで、A::f によって提供される値を 2 番目のコンテナーにコピーします。
std::vector<int> fs;
単純に反復することもできましたが、演習として、ブーストバインド/ブーストイテレータでこれを解決しようとしました。これまでに試したことは次のとおりです。
std::copy(
boost::make_transform_iterator
(As.begin(), boost::bind(&A::f, _1)),
boost::make_transform_iterator
(As.begin(), boost::bind(&A::f, _1)),
std::back_inserter( fs )
);
これを行う方法を知っている人はいますか?