Bonjour,
J'ai ouvert une nouvelle discussion car, après beaucoup de recherches, je ne trouve aucune discussion/forum qui répondent à ma question.

- J'ai une structure de la forme suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
typedef struct 
{
     int idPipe;
     list<pair<int,int>> elemNodeList;
} PipeElemNode;
- Je souhaite créer une liste de ce type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
list<PipeElemNode> pipeElemNodeList;
- Je possède un tuple de la forme : <idPipe, element, node>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
vector<tuple<int,int,int>> myVector =  myPipingModel.GetTupleElemNode();
myVector est donc mon tuple.

- Mes tuples sont de la forme : <1, 1, 1> <1, 1, 2> <2, 1, 2> ...
Je peux donc avoir plusieurs paires d'élement-Node pour un pipe donné. Dans mon exemple, pour le pipe 1, j'ai la paire <1, 1> et <1,2> d'où mon choix de structure.

- Mon problème : Je n'arrive pas à remplir ma liste pipeElemNodeList. J'arrive à remplir une structure donnée mais pas pour une liste de structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
PipeElemNode test;
test.idPipe = get<0>(myVector[0]); // Remplissage du premier paramètre de ma structure
test.elemNodeList.push_back(make_pair(get<1>(myVector[0]), get<2>(myVector[0]))); // Remplissage de la liste de paire de ma structure
for (list<pair<int,int>>::iterator i = test.elemNodeList.begin(); i != test.elemNodeList.end(); i++ ) 
{
    cout << (*i).first << " and " << (*i).second << endl; // affichage pour les tests
    cout << endl << "press any key to continue...";
    getchar();
}
Je souhaiterai faire un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
pipeElemNodeList.push_back(PipeElemNode(Les paramètres de mon struct))
mais je sais que cette syntaxe n'existe pas. Le tout bien sûr dans une boucle FOR mais la boucle je pense savoir où la mettre.
Je ne sais donc pas remplir une liste de structure avec une liste de paire à l'intérieur de cette structure. Je sais que c'est un peu tordu.

Je ne sais pas si j'ai été claire dans mes explications.

Je vous remercie d'avance pour votre aide