template <typename T1, typename T2>
class Base
{
T1 t1;
T2 t2;
};
template <typename...TN>
class Derived
: public Base< std::tuple<QList<TN...>>,
std::tuple<QVector<TN...>> > //does not work
{
};
Derived<int, double> d;
t1
shall becomestd::tuple<QList<int>, QList<double>>
t2
shall becomestd::tuple<QVector<int>, QVector<double>>
I don't know if this is possible in general. Currently I use preprocessor magic for that. But I hoped that variadic template can do that too. So, can I do any recursive things or any similar to extract the template?