提升MPL序列和默认参数

时间:2017-05-05 01:44:39

标签: c++ boost boost-mpl

我目前仍然坚持使用C ++ 03,因此可变参数模板对我不起作用。

我可以使用boost :: mpl :: vector和boost :: mpl :: inherit_linearly使用有限数量的参数做我想要的但是我想做类似于以下的操作,所以用户不会这样做必须直接处理mpl容器:

template<class T, class A1, class A2 = void_, class A3 = void_>
class Foo : public FooHelper<T, boost::mpl::vector<A1, A2, A3>> {}

我可以使用魔法类型而不是void_,该向量会自动解释为默认模板参数的终结符吗? boost :: mpl :: void_实际上没有工作,序列元函数将迭代它。

现在我有一个专门化,它捕获我自己的终结类,并使它几乎成为层次结构中的无操作,但我只是提升,只需将void_条目视为集合的结尾。 / p>

0 个答案:

没有答案