他のコンテナーをラップし、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 つのようにアクセスできるようにするラッパーを探しています。
要約する:
これを行うコンテナが必要な場合は、すでにコンテナがあるかどうか、または自分で実装する必要があるかどうかを知りたいです(これは楽しいと思います:)。
または、私が考えた解決策が間違った方法である場合は、代替案を教えてください。