模板参数部分专业化,参数数量不定

亚历山大·康德拉茨基(Alexander Kondratskiy)

如果标题没有意义,则是问题的要点:

template <template <class> class ContainerOf>
class Foo;

template <>
class Foo<boost::optional> // works!
{
    // ...
};

// ERROR! std::vector takes two parameters
// T and Alloc.
template <>
class Foo<std::vector> 
{
    // ...
};

在本质上,我想专门研究采用单个类型参数的各种模板。但是,STL和其他地方的许多模板具有其他参数,例如分配器和比较操作(例如std :: map)。我不在乎那些。我想专门研究带有t的“孔”的std :: vector。

有什么想法吗?我觉得我需要某种包装对象或某种间接方法来实现此目的-它也可能会改变用户实例化这些模板的方式。

多发性硬化症

在C ++ 11中,您可以使用variadics:

template <template<typename T, typename...> class ContainerOf> 
class Foo;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据模板模板参数所采用的参数数量,对模板进行部分专业化的语法是什么?

部分专业化,后跟可变参数模板参数

C ++-可变参数模板部分专业化

具有部分专业化的类模板参数推导

无法在部分专业化中推导的模板参数

可变参数模板成员函数的部分专业化

具有更多模板参数的部分专业化

以函数为模板参数的部分专业化拒绝

模板参数的模板专业化

从专业化访问模板参数

继承专业化的模板参数推导

以数组为参数的模板专业化

类的可变参数模板部分专业化以限制模板参数的类型

g ++ 7.1.1中的可变参数模板部分专业化“不更加专业”

尝试了解带有模板模板参数的部分模板专业化

模板别名,模板专业化和模板模板参数

当部分专业化的参数不使用其任何模板参数时,适用哪些规则

为某些外部模板类定义部分专业化,并限制模板参数

[Args ...]为空的可变参数模板的部分模板专业化

错误:类模板的部分专业化包含无法推导的模板参数

需要额外模板参数的类型的函数的部分模板专业化

具有std :: enable_if的C ++可变参数模板部分模板专业化

具有模板模板参数的类模板专业化

参数化和“不允许功能模板部分专业化”

部分模板专业化

可变参数模板与类模板的专业化

没有模板参数的功能模板专业化

在模板专业化中将类模板作为参数

带有模板参数的模板专业化