История изменений
Исправление zx_gamer, (текущая версия) :
как вы себе видите возможность сравнения итераторов от двух разных контейнеров? Например, можно ли сравнить на равенство итератор от Vector с итератором от Set?
Не совсем понял вопрос. Вы хотите проверить, равны ли итераторы, которые указывают на объект в разных контейнерах?
как вы себе видите эффективную поддержку сдвига итератора на N позиций влево/вправо? Ведь у вас же некий базовый Interator<T>, глядя на который мы не знаем, получен ли он для Vector, OrderedSet, UnorderedSet, DoubleLinkedList, ForwardList и т.д.
Есть общий интерфейс итераторов, который может только на 1 двигаться, есть более детальные (например для random access iterator), которые добавляют к общему новые возможности. Например ForwardList наслудется только от общего IIterator, а Vector, Array и т.п. от IRandomAccessIterator.
Исходная версия zx_gamer, :
как вы себе видите возможность сравнения итераторов от двух разных контейнеров? Например, можно ли сравнить на равенство итератор от Vector с итератором от Set?
Не совсем понял вопрос? Вы хотите проверить, равны ли итераторы, которые указывают на объект в разных контейнерах?
как вы себе видите эффективную поддержку сдвига итератора на N позиций влево/вправо? Ведь у вас же некий базовый Interator<T>, глядя на который мы не знаем, получен ли он для Vector, OrderedSet, UnorderedSet, DoubleLinkedList, ForwardList и т.д.
Есть общий интерфейс итераторов, который может только на 1 двигаться, есть более детальные (например для random access iterator), которые добавляют к общему новые возможности. Например ForwardList наслудется только от общего IIterator, а Vector, Array и т.п. от IRandomAccessIterator.