Есть ли что-то вроде round_advance в std или boost?

Допустим, я хочу пройти контейнер по кругу:

idx = 0, idx = 1 .. idx = size () — 1, idx = 0, idx = 1 …

Есть ли способ сделать с помощью STD или Boost?
Я знаю, что алгоритмы работают с диапазонами, а не с контейнерами, так что, думаю, мне не повезло, но я просто хотел проверить.

Постскриптум Нет необходимости в ручных реализациях, это тривиально (если вы не забудете про следующие точки: P), просто

curr_idx= (curr_idx+1) % my_cont.size()

1

Решение

Я не знаю ни о какой подобной функции, но этот ответ показывает, как использовать Boost.Iterator создать адаптер итератора, который циклически перебирает коллекцию.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]