2013-04-11 3 views
1

позволяет сказать, что я хочу, чтобы пройти через контейнер в круговом образом:Есть ли что-то вроде round_advance, доступного в std или boost?

IDX = 0, IDX = 1 .. IDX = размер() - 1, IDX = 0, IDX = 1 ...

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

P.S. Нет необходимости в ручной реализации, это тривиально (если вы не забыли о НомерСтарта пунктов: P), просто

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

ответ

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^