私は次のものを持っています:
class Foo
{
public:
std::string const& Value() const { return /*Return some string*/; }
};
typedef std::list<Foo> FooList;
FooList foos; // Assume it has some valid entities inside
std::vector<int> ints;
FooList::const_iterator it, iend = foos.end();
for (it = foos.begin(); it != iend; ++it)
{
ints.push_back(boost::lexical_cast<int>(it->Value()));
}
std::for_each
andを使用して for ループを実装するにはどうすればよいboost::phoenix
ですか? 私はいくつかのアプローチを試しましたが、本当に醜いものになりました(ネストされたbind()
ステートメントがたくさんありました)。基本的には、Boost phoenix がこの for ループをどのように作成できるかを確認したいだけなので、1 ~ 2 行の特殊なロジックを持つコンテナーを反復処理するボイラープレート コードはあまり作成していません。
時々、C++11 より前のラムダを実行することは、あまりにも読みにくく、メンテナンスが困難であると思われるため、問題を解決する価値がありません。