可变参数模板对
Variadic template couples
是否可以编写可变模板对?类似于:
template<typename<typename A, typename B>...>
class A : public std::tuple<A<B>...>
{
};
谢谢! :)
使用类型列表我得到了这个来编译:
#include <iostream>
#include <tuple>
using namespace std;
template <typename ...Args>
struct type_list
{};
template<typename B, template <typename> class ...A>
class test;
template<typename ...B, template <typename> class ...A>
class test<type_list<B...>, A...>: tuple<A<B>...>
{};
template<typename T> class t1{};
template<typename T> class t2{};
template<typename T> class t3{};
int main() {
auto t = test<type_list<int, double, char>, t1, t2, t3>();
return 0;
}
我不知道,你为什么需要这个,但它应该能满足你的需求。
是否可以编写可变模板对?类似于:
template<typename<typename A, typename B>...>
class A : public std::tuple<A<B>...>
{
};
谢谢! :)
使用类型列表我得到了这个来编译:
#include <iostream>
#include <tuple>
using namespace std;
template <typename ...Args>
struct type_list
{};
template<typename B, template <typename> class ...A>
class test;
template<typename ...B, template <typename> class ...A>
class test<type_list<B...>, A...>: tuple<A<B>...>
{};
template<typename T> class t1{};
template<typename T> class t2{};
template<typename T> class t3{};
int main() {
auto t = test<type_list<int, double, char>, t1, t2, t3>();
return 0;
}
我不知道,你为什么需要这个,但它应该能满足你的需求。