C++ コンテナー クラスを探しています。これはマルチマップによく似ていますが、少し異なります。コンテナーには、文字列のペアが格納されます。しかし、キー K を使用してコンテナからアイテムを取得するときは、K がアイテム自身のキーで始まるすべてのアイテムを見つけたいと考えています。
EG キー「abcde」を使用する場合、「abcqz」ではなく、キー「adc」および「abcde」を持つアイテムを検索したい。
または疑似 C++ 形式:
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;
挿入時間は重要ではありませんが、アイテムにすばやくアクセスする必要があります。特別な < 演算子を作成することにより、通常のマルチマップでこれを行うことは可能ですか? 私の推測では、挿入には通常の < 演算子が必要で、検索には特別な演算子が必要です。
ありがとう
ヒューゴ