27 Iterators library [iterators]

27.5 Iterator adaptors [predef.iterators]

27.5.1 Reverse iterators [reverse.iterators]

27.5.1.2 reverse_­iterator requirements [reverse.iter.requirements]

Параметр шаблона Iterator должен соответствовать всем требованиям a Bidirectional Iterator.

Кроме того, Iterator должен соответствовать требованиям a, random access iterator если какой-либо из членов operator+ ([reverse.iter.op+]), operator- ([reverse.iter.op-]), operator+= ([reverse.iter.op+=]), operator-= ([reverse.iter.op-=]), operator[] ([reverse.iter.opindex]) или операторов, не являющихся членами operator< ([reverse.iter.op<]), operator> ([reverse.iter.op>]),
operator<= ([reverse.iter.op<=]), operator>= ([reverse.iter.op>=]), operator- ([reverse.iter.opdiff]) или operator+ ([reverse.iter.opsum]) ссылаются таким образом, что требуется instantiation ([temp.inst]).