我开始使用 boost fusion 和 mpl 库,但遇到了一个非常简单的问题。
我声明了以下类型:
typedef boost::mpl::vector<char, int, long> TypeVector;
typedef boost::fusion::vector<char, int, long> FusionVector_t;
现在我想编写一个函数来获取来自 FusionVector 的值。
template<size_t N typename T>
T getValue(FusionVector_t fvec)
{
return boost::fusion::at_c<N>(fvec);
}
该函数按预期工作,但我想从 boost::mpl 向量中获取索引并在此函数中使用它,而不是将其作为模板参数传递给函数。但到目前为止我还没有弄清楚如何做到这一点。
有人可以给我一个提示吗?