我的容器是随机访问的,例如 std::vector。我需要一个容器的“索引子集迭代器”。我编了这个名字。这个想法是:
我的容器的一个子集由一组索引给出,例如 [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 中是否有一种简单的方法可以做到这一点?示例代码请赞赏。
非常感谢。