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); }