A circular view iterator for any container with begin and end iterators. It also works for plain arrays thanks to the generic std::begin and std::end functions.