0

我需要一个容器,它可以包装其他容器并使它们像 zip_iterator 一样可遍历,但也可以包装它们的其他功能(如push_back(), size(), ...)。stdlib在or中有这样的东西boost吗?

背景:

我有一个将多态基类存储在 a 中的类,boost::ptr_list<BaseClass>但需要更多信息与此一起存储。正常情况std::list下我会做std::list<std:pair<BaseClass, OtherInformation> >并且已经完成,但我想要boost::ptr_list.

我想出的明显解决方案是:有两个容器boost::ptr_list<BaseClass>std::list<OtherInformation>. 这解决了问题,但让我总是处理两个容器而不是一个(这也会导致容器之间的不一致)。

所以我正在寻找一个包装器,它将包装两个(或任意数量的)容器,并使它们像一个一样可访问,它存储数据的元组。

总结一下:

要么我需要一个容器来执行此操作,然后我想知道是否已经有一个容器,或者我是否必须自己实现它(我认为这很有趣:)。

或者我想到的解决方案是错误的方法,那么请告诉我替代方案。

4

0 回答 0