boost::fusion ベクター内のタイプを識別するにはどうすればよいでしょうか?
例えば
fusion::vector<int, double, string> v;
次に、タイプとして、タイプとして、タイプとして識別v[0]
できるもの。int
v[1]
double
v[2]
string
ありがとう。
boost::fusion ベクター内のタイプを識別するにはどうすればよいでしょうか?
例えば
fusion::vector<int, double, string> v;
次に、タイプとして、タイプとして、タイプとして識別v[0]
できるもの。int
v[1]
double
v[2]
string
ありがとう。
から要素を抽出するには、次のようboost::fusion::vector
に を使用する必要があります。boost::fusion::at_c
boost::fusion::vector<int, std::string> v(1, "hello");
std::cout << boost::fusion::at_c<0>(v) << std::endl; // prints 1
位置 N の型は次のとおりです。
boost::fusion::result_of::at_c<boost::fusion::vector<int, std::string>, 1>::type
このリンクは、私がやろうとしていたことを説明しています。
詳細には、次のことを達成しようとしていました。
template<int N, typename T>
struct a_struct{
typedef typename T::value_type etype;
typedef typename boost::fusion::result_of::value_at<etype, boost::mpl::int_<N> >::type a_type;
};
ここで、T は boost::fusion ベクトルの std::vector です。