BOOST_FUSION_ADAPT_STRUCT有两个模板参数

时间:2015-08-19 20:40:10

标签: c++ boost boost-fusion

这是错误的coliru: http://coliru.stacked-crooked.com/a/a03c61dc0c33c94b

我有一个带有两个模板参数的类型,如下所示:

template <typename T, typename U> class DoubleTemplate {};

在结构中,我有上述类型的成员,如下所示:

namespace test
{
    struct adaptee
    {
        DoubleTemplate<int, int> dt;
    };
}

当我尝试像这样调用Boost适应函数时:

BOOST_FUSION_ADAPT_STRUCT( test::adaptee,
    (DoubleTemplate<int, int>, dt) )

它抱怨传入了3个参数(我猜它会看到这三个参数:DoubleTemplate<intint>dt

如果我typedef DoubleTemplate类型并且在Boost适应调用中使用较短的名称,它可以正常工作,但这需要一个令人讨厌的10个左右typedef代码。

是否有一种简单的方法来传递双模板?我觉得我在这里错过了一个简单的答案。谢谢你的帮助。

0 个答案:

没有答案