forループを使用する次のコードがあり、代わりにtransform、または少なくともfor_eachを使用したいのですが、方法がわかりません。
typedef std::list<boost::function<void(void) > CallbackList;
CallbackList callbacks_;
//...
for(OptionsMap::const_iterator itr = options.begin(); itr != options.end(); ++itr)
{
callbacks_.push_back(boost::bind(&ClassOutput::write_option_,this,*itr));
}
コードの後半で、このnullary関数オブジェクトのコレクションを実際に呼び出したいと思います。ここでもforループを使用していますが、どういうわけかfor_eachを使用できるはずです。
for(CallbackList::iterator itr = callbacks_.begin(); itr != callbacks_.end(); ++itr)
{
(*itr)();
}