У меня есть класс, который содержит два набора. Они оба содержат один и тот же тип ключа, но имеют разные операции сравнения.
Я хотел бы предоставить итератор для класса, который перебирает элементы обоих наборов. Я хочу начать с одного набора, затем, когда я увеличиваю итератор, указывающий на последний элемент первого набора, я хочу перейти к первому элементу второго набора. Как мне это сделать? Я хотел бы сохранить семантику двунаправленного итератора в std :: set, но если окажется, что реализовать прямой итератор намного проще, пусть будет так.
Я готов использовать библиотеку Boost Iterator, если это поможет.