Есть ли адаптер контейнера, который бы отменил направление итераторов, чтобы я мог перебирать контейнер в обратном направлении с помощью цикла for-loop?
С явными итераторами я бы преобразовал это:
for (auto i = c.begin(); i != c.end(); ++i) { ...
в это:
for (auto i = c.rbegin(); i != c.rend(); ++i) { ...
Я хочу преобразовать это:
for (auto& i: c) { ...
:
for (auto& i: std::magic_reverse_adapter(c)) { ...
Есть ли такая вещь или мне нужно написать ее самостоятельно?