我需要一个容器,它可以包装其他容器并使它们像 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>
. 这解决了问题,但让我总是处理两个容器而不是一个(这也会导致容器之间的不一致)。
所以我正在寻找一个包装器,它将包装两个(或任意数量的)容器,并使它们像一个一样可访问,它存储数据的元组。
总结一下:
要么我需要一个容器来执行此操作,然后我想知道是否已经有一个容器,或者我是否必须自己实现它(我认为这很有趣:)。
或者我想到的解决方案是错误的方法,那么请告诉我替代方案。