Тип класса или указателя X удовлетворяет требованиям двунаправленного итератора, если, помимо удовлетворения требований для прямых итераторов, допустимы следующие выражения, как показано в таблице 98.
Выражение | Тип возврата | Оперативный | Утверждение / примечание |
семантика | до / после состояния | ||
--r | X& |
Requires: существует s такое что r == ++s. Postconditions: r разыменуемо. --(++r) == r. --r == --s подразумевает r == s. &r == &--r. | |
r-- | конвертируемый в const X& |
{ X tmp = r; --r; return tmp; } | |
*r-- | reference |