LINUX.ORG.RU

История изменений

Исправление 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.