我想使用 Boostany_range
来处理多个异构数据范围。我的数据范围的类型称为融合向量,例如:
typedef vector<double, int, char> TypeSequence
给定这样的类型,我想编写一个模板来派生这样的进一步类型:
vector<AnyRange<double>::value, AnyRange<int>::value, AnyRange<char>::value>
其中AnyRange
定义为:
using namespace boost;
template <typename T>
struct AnyRange
{
typedef typename any_range<typename T, forward_pass_traversal_tag, int, std::ptrdiff_t> value;
};
我已经尝试过并且失败了。这甚至可以通过 Fusion 实现吗?MPL?或者,也许我正朝着错误的方向前进any_range
。