我有一个包含两组的类。它们都包含相同的密钥类型,但具有不同的比较操作。
我想为迭代两个集合的元素的类提供迭代器。我想从一组开始,然后当我增加指向第一组的最后一个元素的迭代器时,我想转到第二组的第一个元素。我该怎么做呢?我想保留std :: set的双向迭代器语义,但如果事实证明实现一个前向迭代器要容易得多,那就这样吧。
如果有帮助,我愿意使用Boost Iterator库。
答案 0 :(得分:2)
我使用boost库实现了一个非常相似的迭代器:
对于前向迭代器,您需要实现operator ++,将其更改为需要实现运算符的双向迭代器。
实施取决于您,但所有内容都在文档中进行了解释。