remplacer un élément dans un multiset
Bonjour.
J'ai un petit soucis avec un multiset. Mon objectif est de réactualiser certains de ses éléments afin qu'ils se repositionnent dans le bon ordre. C'est en fait par rapport a un Z order ( pour un jeu 2D ) : les éléments qui se déplacent doivent continuellement être classés, afin de passer devant/derrière d'autres éléments...
N'ayant trouvé aucune fonction établie pour le faire, je prend le partie ( peut être mauvais ) de détruire l'image du multiset et de la remettre, pour que le trie se fasse, mais le résultat es-conté n'est pas le bon, puisque certains éléments disparaissent alors qu'ils ne sont pas censés :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
void ENGINE_Printer::replaceIE ( IE *ie )
{
_IE.erase ( ie ) ;
std::multiset < IE* > :: iterator it = _IE.begin() ;
_IE.insert ( it , ie ) ;
} |
D'autre part, j'ai bien suivit les cours ( merci a jo_link_noir pour le lien ) de la destruction avec la stl . C'est une vrais merveille pour les vectors, mais aparament, pour le multiset c'st une autre histoire. ( du moins dans mon cas ;) )
Merci si vous pouvez m'aider :)