Bonjour à tous,
Je suis en train d'implémenter le pattern Observer mais j'ai un gros soucis :
- Mon conteneur est une multimap.
1) Une de mes données change.
2) Celle-ci parcours sa liste d'écouteurs pour les notifier.
3) Une écouteur, d'après le changement de cette donnée, n'a plus besoin d'écouter, il se retire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
-> Plantage car l'étape 2 commence une itération, il lance le premier évènnement, mais la réception de l'évennement provoque le retrait de l'élément concerné de la liste des écouteurs, donc lorsque j'incrémente l'itérateur du vector, ça plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
Est-ce que si je pars de la fin vers le début en décrémentant mon itérateur ça pourrai fonctionner ?
J'aimerai bien tester mais je n'ai pas trouvé comment il fallait utiliser un reverse_iterator sur un multimap...
Pouvez-vous m'aiguiller ?
Merci
A bientôt

 

 
		
		 
        

 
			
			

 
   



 Parcourir le résultat d'une multimap de la fin vers le début
 Parcourir le résultat d'une multimap de la fin vers le début
				
 Répondre avec citation
  Répondre avec citation
Partager