使用可变参数模板,模板本身带有可变参数?

问题描述 投票:0回答:0

可以制作一个可变模板模板,它本身带有可变参数吗?
如何显式/部分专门化此模板?

//E.g. something where the following would be valid:

template <template <typename...> typename... Containers>
    class SomeClass {};

SomeClass <int, std::vector<int>, std::tuple<int, char, float, double, short>> var;

我最远

template <template <typename...> typename... Tuples>
    class CVarMap : public CVarMap<Tuples>
    {};

template <template <typename...> typename Tuple, template <typename...> typename... Tuples>
    class CVarMap : public CVarMap<Tuple, Tuples...>
    {};

但是任何解压缩“内部”可变参数的尝试都会导致具有多个可变参数的模板。然而在这个问题的答案中有多个可变参数,这是有效的。

我在这里错过了什么?

c++ c++11 variadic-templates template-specialization
© www.soinside.com 2019 - 2024. All rights reserved.