C++14で導入されたジェネリックラムダはBoost.Fusionのためにあるようなものですが、この組み合わせをまだ動かしていなかったので、検証。
#include <iostream> #include <boost/fusion/include/make_vector.hpp> #include <boost/fusion/include/for_each.hpp> int main() { namespace fusion = boost::fusion; fusion::for_each(fusion::make_vector(1, "hello", 3.14), [](const auto& x) { std::cout << x << std::endl; }); }
出力:
1 hello 3.14
無事に動いた。
確認した環境: