タイプ foo の std::unique_ptr のマップがあり、マップを反復処理して、それぞれの値をマップにない foo のパブリック メンバーに渡します。私は近くにいますが、最も内側のバインドの結果を参照からポインターに変える方法がわかりません。
与えられた:
class foo
{
public:
bool DoWork(foo *);
};
std::map<long, std::unique_ptr<foo> map_t;
map_t foo_map_;
foo bar_;
std::for_each(std::begin(foo_map_), std::end(foo_map_), std::bind(&Foo::DoWork, &bar_, std::bind(&std::unique_ptr<foo>::get, /* This guy here -->*/std::bind(&std::pair<long, std::unique_ptr<foo>>::second, std::placeholders::_1))));
おすすめは?Visual Studio 2010 SP1 を使用しています。