boost::lambdaでメンバへのアクセスが面倒
struct data
{
std::string name;
};
std::vector < data > v;
find(v.begin(), v.end(), _1.name == s);
て感じの事をやろうとしたら、コンパイルできなかったのでwebで調べる。
http://ml.tietew.jp/cppll/cppll/thread_articles/11300によると、こんな感じに書くらしい。
fine(v.begin(), v.end(), (&_1 ->* &data::name) == s);
いくらboost::lambdaがスゴいといっても流石に限度はあるか。