Argumentos del constructor de la tupla

Supongamos que tengo una plantilla que está parametrizada por un tipo de clase y varios tipos de argumentos. un conjunto de argumentos que coinciden con estos tipos se almacenan en una tupla. ¿Cómo se pueden pasar estos a un constructor del tipo de clase?

En código casi C ++ 11:

template<typename T, typename... Args>
struct foo {
  tuple<Args...> args;
  T gen() { return T(get<0>(args), get<1>(args), ...); }
};

Como puede... en el constructor de la llamada se rellena sin fijar la longitud?

Supongo que podría encontrar un mecanismo complicado de llamadas de plantillas recursivas que haga esto, pero no puedo creer que sea el primero en querer esto, así que supongo que habrá soluciones listas para usar para esto. , tal vez incluso en las bibliotecas estándar.

Respuestas a la pregunta(4)

Su respuesta a la pregunta