Konstruktorargumente aus Tupel

Angenommen, ich habe eine Vorlage, die durch einen Klassentyp und eine Reihe von Argumenttypen parametrisiert ist. Eine Reihe von Argumenten, die diesen Typen entsprechen, werden in einem Tupel gespeichert. Wie kann man diese an einen Konstruktor des Klassentyps übergeben?

In fast C ++ 11 Code:

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

Wie kann das... im Konstruktoraufruf gefüllt werden, ohne die Länge zu fixieren?

Ich denke, ich könnte mir einen komplizierten Mechanismus für rekursive Vorlagenaufrufe einfallen lassen, der dies ermöglicht, aber ich kann nicht glauben, dass ich der Erste bin, der dies möchte. Ich denke, es wird gebrauchsfertige Lösungen dafür geben Vielleicht sogar in den Standardbibliotheken.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage