将Type和Non Type参数混合到可变参数模板

时间:2013-11-24 07:20:46

标签: c++ templates

我想传递Type和Non-Type参数的混合。像这样

template<typename ...TAND_NONT> 
class genericTPL { };

然后像这样使用它。

genericTPL<5, int, char, 7>

就像这样

template<size_t N, typename ...TAND_NONT> class customTPL { };

template<template<typename...> TT, typename...A> class metaTPL { };

metaTPL<customTPL, A1, A2>  // Note : Compiler errors out saying customTPL doesn't match parameter TT.

我能想到这样做的唯一方法是使用const来输入idiom并将可能的可接受常量转换为类型并在varidic args中使用该类型。

例如:

template<size_t N> constToType{}

然后我可以使用constToType&lt; 5&gt;和constToType&lt; 7&gt;等等。

实现这一目标的任何更好的想法?

0 个答案:

没有答案