【发布时间】:2013-11-13 13:48:47
【问题描述】:
我的容器是随机访问的,例如标准::向量。我需要容器的“索引子集迭代器”。我编了这个名字。这个想法是:
我的容器的一个子集由一组索引给出,例如[0, 4, 5, 7] (我的容器的大小大于 7),我想要一个迭代这个子集的迭代器。
以下是伪代码:
std::vector<std::string> v = boost::assign::list_of("Aa")("Bb")("Cc")("Dd")("Ee");
std::vector<int> subsetIndex = boost::assign::list_of(0)(2)(3);
IndexedSubsetIterator subsetIterator = IndexedSubsetIterator(v.begin(), subsetIndex); // or templated version
std::vector<std::string> subset;
boost::push_back(subset ubsetIterator);
我想知道在 STL 或 boost 中是否有一种简单的方法可以做到这一点?示例代码请赞赏。
非常感谢。
【问题讨论】: