Итерация вперед через кольцевой буфер без использования условного оператора легко с оператором остаточного ...Как вы повторяете обратный круговой буфер без условного?
iterator = (iterator + 1) % buffer_size;
я не могу за жизнь мне выяснить обратную операцию, итерация назад.
Это не просто, 'buffer_size - (iterator + 1)% buffer_size - 1'? – Anycorn