Je cherche une classe de conteneur C++, c'est un peu comme un multimap, mais légèrement différent. Le conteneur stockera des paires de chaînes. Mais quand je récupère des éléments du conteneur en utilisant la clé K, je veux trouver tous les éléments où K commence par la clé de l'élément.J'ai besoin d'un multimap légèrement différent
E.G. Si j'utilise la touche "abcde" je veux trouver des éléments avec la clé "adc" et "abcde", mais pas "abcqz".
ou en pseudo C la forme de:
multimap2<string, string> myMultiMap;
myMultiMap.insert(pair("abcde", "hello"));
myMultiMap.insert(pair("abc", "Hi"));
myMultiMap.insert(pair("abcqz", "goodbye"));
// prints 2
cout << myMultiMap.count("abcde") << endl;
// prints "hello" and "Hi"
cout << myMultiMap.everything_which_matches("abcde") << endl;
// prints "Hi"
cout << myMultiMap.everything_which_matches("abc") << endl;
// prints "goodbye"
cout << myMultiMap.everything_which_matches("abcqz") << endl;
temps d'insertion est sans importance, mais je besoin d'un accès rapide aux éléments. Est-il possible de le faire avec un Multimap normal en créant un opérateur spécial <? Mon intuition est que j'aurais besoin de l'opérateur < normal pour l'insertion, et un spécial pour la récupération.
grâce
Hugo
Alerte typo: remplacez "adc" par "abc" dans la ligne commençant par "E.G. Si j'utilise la touche "abcde" '. –