読者です 読者をやめる 読者になる 読者になる

Boost.Fusionのタプルを生成するヘルパ関数

C++

Boost.Tupleの場合は、boost::make_tupleでタプルを生成していましたが

#include <string>
#include <boost/tuple/tuple.hpp>

int main()
{
    boost::tuple<int, std::string, double> t = boost::make_tuple(24, "Akira", 3.14);
}

Boost.Fusionの場合は、boost::fusion::make_vector, boost::fusion::make_listのように、
コンテナごとにヘルパ関数が用意されています。

#include <string>
#include <boost/fusion/container/vector.hpp>
#include <boost/fusion/include/make_vector.hpp>

int main()
{
    namespace fusion = boost::fusion;
    fusion::vector<int, std::string, double> t = fusion::make_vector(24, "Akira", 3.14);
}
#include <string>
#include <boost/fusion/container/list.hpp>
#include <boost/fusion/include/make_list.hpp>

int main()
{
    namespace fusion = boost::fusion;
    fusion::list<int, std::string, double> t = fusion::make_list(24, "Akira", 3.14);
}