他のコンテナーをラップし、zip_iterator のように通過可能にするだけでなく、他の関数 (、、... など) もラップするコンテナーが必要push_back()ですsize()。またはにこのようなものはありますstdlibかboost?
バックグラウンド:
ポリモーフィック基本クラスを格納するクラスがありboost::ptr_list<BaseClass>ますが、これと一緒に格納するにはさらに情報が必要です。通常の場合std::listはstd::list<std:pair<BaseClass, OtherInformation> >そのままで完了ですが、のポインター管理が必要ですboost::ptr_list。
私が思いついた明白な解決策は、2 つのコンテナーboost::ptr_list<BaseClass>とstd::list<OtherInformation>. これで問題は解決しますが、常に 1 つではなく 2 つのコンテナーを処理することになります (コンテナー間の不整合も招きます)。
そのため、2 つ (または任意の数) のコンテナーをラップし、データのタプルを格納する 1 つのようにアクセスできるようにするラッパーを探しています。
要約する:
これを行うコンテナが必要な場合は、すでにコンテナがあるかどうか、または自分で実装する必要があるかどうかを知りたいです(これは楽しいと思います:)。
または、私が考えた解決策が間違った方法である場合は、代替案を教えてください。