std :: multimapのように機能するが、ランダムなn番目の要素へのアクセス時間が一定であるSTLコンテナーを探しています。多くの理由でstd::multimapであるようなメモリ内の構造があるため、これが必要ですが、そこに格納されているアイテムは、リストボックスでユーザーに提示する必要があります。データ量が膨大なため、仮想アイテムを含むリストボックスを使用しています(つまり、リストコントロールはX行の値をポーリングします)。
回避策として、現在、追加のstd::vectorを使用して「インデックス」をstd::mapに格納しており、次のように入力します。
std::vector<MMap::data_type&> vec;
for (MMap::iterator it = mmap.begin(); it != mmap.end(); ++it)
vec.push_back((*it).second);
しかし、これはあまり洗練された解決策ではありません。
そのような封じ込め器はありますか?