同じ型が入った std::tuple を楽に書きたい
同じ型が入った std::tuple を楽に書きたい - Qiitaというようであれば、オレオレライブラリsrook.mpl.variadic_playerでも、より簡単に記述できますよ〜、という紹介。
#include<srook/mpl/variadic_player.hpp> #include<boost/type_index.hpp> #include<iostream> #include<tuple> int main() { using int6_tuple_type = // int型が6つのタプル srook::mpl::Transfer_t< std::tuple, srook::mpl::make_pack<int,6> >; using int3_char4_float2_tuple_type = // int型が3つ、char型が4つ、float型が2つのタプル srook::mpl::Transfer_t< std::tuple, srook::mpl::make_some_pack< srook::mpl::pack_setting<int,3>, srook::mpl::pack_setting<char,4>, srook::mpl::pack_setting<float,2> > >; std::cout<< boost::typeindex::type_id< int6_tuple_type >().pretty_name()<<std::endl; std::cout<< boost::typeindex::type_id< int3_char4_float2_tuple_type >().pretty_name()<<std::endl; }
std::__1::tuple<int, int, int, int, int, int> std::__1::tuple<int, int, int, char, char, char, char, float, float>
実装は以下のように楽チン&簡単。