Предположим, что у меня есть некоторые классы шаблонов, определенные следующим образом:
template<template<class>class...>
struct my_class;
template<class>
struct define_template{
template<class>
class type;
};
Мне нужно определить шаблон псевдонима, который заменяет define_template:: type в my_class поэтому для трех классов я мог бы это сделать
template<class A, class B, class C>
using my_alias = my_class< define_template<A>::template type,
define_template<B>::template type,
define_template<C>::template type>;
Я не могу выработать синтаксис, чтобы сделать это для вариативного шаблона в идеале, что-то вроде этого
template<class... T>
using new_class = my_class<define_template<T>::template type...>;
который дает мне ошибку "пакеты параметров, не расширенные с помощью"..."
Кто-нибудь знает правильную синаксию?
Из комментариев ниже он компилируется в clang, я использую gcc 4.8.2 через Cygwin.