容器压缩其他容器

时间:2012-08-30 10:28:24

标签: c++ boost containers

我需要一个容器,它包装其他容器并使它们像zip_iterator一样可穿越,但也包含其他功能(如push_back()size(),...)。在stdlibboost

中是否有这样的内容?

背景

我有一个类,它在boost::ptr_list<BaseClass>中存储多态基类,但需要更多信息存储在此旁边。使用正常std::list我只会做std::list<std:pair<BaseClass, OtherInformation> >并完成,但我想要boost::ptr_list的指针管理。

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

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

总结一下:

要么我需要一个能够做到这一点的容器,那么我想知道是否已经有一个容器,或者我是否必须实现它自己(我会考虑一些乐趣:)。

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

0 个答案:

没有答案