Boost.Fusion(Runtime)のfoldで合計値計算

メタ関数版のfoldは試したけど関数版は試してなかったなーと思ったのでやってみた。

#include <iostream>
#include <functional>
#include <boost/fusion/container/vector.hpp>
#include <boost/fusion/algorithm/iteration/fold.hpp>

namespace fusion = boost::fusion;

int main()
{
    const fusion::vector<int, int, int> v(1, 2, 3);
    std::cout << fusion::fold(v, 0, std::plus<int>()) << std::endl; // 6
}


【参考】
boost::fusion::fold