Пропуск итератора

У меня есть последовательность значений, которую я хотел бы передать функции, которая принимает пару (начало итератора, конец итератора) . Однако я хочу, чтобы обрабатывался только каждый второй элемент исходной последовательности.

Есть ли хороший способ с помощью Standard-Lib / Boost создать фасад итератора, который позволит мне передать исходную последовательность? Я подумал, что что-то такое простое уже есть в итераторах повышения или библиотеках диапазонов, но я этого не сделал. Ничего не нашел.

Или мне не хватает другого совершенно очевидного способа сделать это? Конечно, я знаю, что у меня всегда есть возможность скопировать значения в другую последовательность, но это не то, что я хочу делать.

Изменить: Я знаю о filter_iterator , но он фильтрует по значения - это не меняет способ продвижения итерации.

12
задан ltjax 16 April 2011 в 15:32
поделиться