-
Une map FIFO
Bonjour,
Je possède une map que je remplit via un fichier XML, puis je la parcours pour afficher des données. J'aimerai que le parcours se fasse dans le même ordre que les éléments qui ont été inséré (comme ça mon utilisateur, s'il souhaite inverser des colonnes, il n'a qu'à modifier l'XML, ça y sait faire).
Le soucis c'est que la map trie les paires alphabétiquement selon la clé...
Est-ce qu'il y aurai un conteneur me permettant d'avoir ça ?
Merci :)
A bientôt
-
Bonjour,
A partir du moment où tu as une map, cela signifie que tu veux privilégier la performance de l'accès par une clé. Donc forcément la représentation interne ne va pas tenir compte de l'ordre d'insertion des éléments. C'est pour ça que les map sont ordonnées suivant la clé et que les maps non ordonnées de TR1 utilisent une table de hachage (enfin, je crois). En fait, tu ne seras jamais garantie d'avoir un accès dans le même ordre que tes insertions avec une map.
La solution passe peut-être par adjoindre une FIFO des clés par exemple à ta map.
-
La solution c'est de faire une queue avec un index.
L'idéal pour ce genre de choses, c'est bien entendu Boost.MultiIndex.
-
Merci pour vos réponses.
Boost.MultiIndex, je m'y colle dès demain :)
A bientôt