Bonjour !

Fiou, quel intitulé

Alors, prenez un tuple simple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
std::tuple<A,B,C,E,D,...> mon_tuple;
Maintenant, prenez une classe et son constructeur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
class X { X(A,B,C,E,D,...); };
Puis un vecteur de cette classe:
J'aimerais pouvoir faire un emplace_back sur le vecteur, en utilisant mes tuples.

Evidemment, la question du std::tie ne se pose meme pas, trop lourd à la lecture et aussi si je dois changer des choses dans la classe.

Avec une simple rechercher, je tombe sur...
http://stackoverflow.com/questions/6...ions-arguments

Le truc, c'est comment attraper la signature de emplace back d'un vecteur v ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
            collection_t r; // mon vecteur de pointeur
            for(...)
            {
                auto un_tuple = ...
                auto fn = std::mem_fn(&collection_t::emplace_back);
                apply(fn(r), un_tuple);
J'obtiens des erreurs du type:
error: no matching function for call to ‘mem_fn(<unresolved overloaded function type>)’|
Au final, ce que je fais c'est au lieu de faire
tuple -> variables -> emplace_back
j'aimerais sauter l'etapes des variables, et qu'un template depaquetes mon tuple sur une fonction variadic, ici, emplace_back!

Merci, nico