0

他のコンテナーをラップし、zip_iterator のように通過可能にするだけでなく、他の関数 (、、... など) もラップするコンテナーが必要push_back()ですsize()。またはにこのようなものはありますstdlibboost

バックグラウンド:

ポリモーフィック基本クラスを格納するクラスがありboost::ptr_list<BaseClass>ますが、これと一緒に格納するにはさらに情報が必要です。通常の場合std::liststd::list<std:pair<BaseClass, OtherInformation> >そのままで完了ですが、のポインター管理が必要ですboost::ptr_list

私が思いついた明白な解決策は、2 つのコンテナーboost::ptr_list<BaseClass>std::list<OtherInformation>. これで問題は解決しますが、常に 1 つではなく 2 つのコンテナーを処理することになります (コンテナー間の不整合も招きます)。

そのため、2 つ (または任意の数) のコンテナーをラップし、データのタプルを格納する 1 つのようにアクセスできるようにするラッパーを探しています。

要約する:

これを行うコンテナが必要な場合は、すでにコンテナがあるかどうか、または自分で実装する必要があるかどうかを知りたいです(これは楽しいと思います:)。

または、私が考えた解決策が間違った方法である場合は、代替案を教えてください。

4

0 に答える 0