implémentation d'un conteneur particulier
Bonjour à tous,
Il y a quelques temps j'avais construit un conteneur qui me permet de supprimer des éléments de ce dernier à la volée au cours d'une itération, sans que cela n'invalide les itérateurs. En gros, cela me permet d'écrire un code du genre :
Code:
1 2 3 4 5 6
| for(auto & v:conteneur) {
if(v.data == 2) {
conteneur.erase(v.id);
}
/* ... */
} |
Cependant, pour raison pédagogique, je me propose alors de refondre ce conteneur de manière à le rendre plus robuste, compatible avec les fonctions de la STL, et l'optimiser autant que possible.
Étant persuadé que ce genre de conteneur existe déjà et/ou a déjà été réalisé par beaucoup de personnes plus calées que moi dans le domaine, auriez-vous, à votre connaissance, des implémentations propres sur lesquelles je pourrais m'appuyer pour réaliser mon objectif ?
Aussi, comment s'appellerait un tel type de conteneur ?
Merci d'avance.