27 Iterators library [iterators]

27.2 Iterator requirements [iterator.requirements]

27.2.2 Iterator [iterator.iterators]

В Iterator требования легли в основу концепции итератора систематики; каждый итератор удовлетворяет Iterator требованиям. Этот набор требований определяет операции для разыменования и увеличения итератора. Большинство алгоритмов потребует дополнительных действий для read или write значения, или обеспечить более богатый набор итератор движений ([forward.iterators], [bidirectional.iterators], [random.access.iterators]).

Тип X удовлетворяет Iterator требованиям, если:

  • X удовлетворяет CopyConstructible, CopyAssignableи Destructible требования ([utility.arg.requirements]) и lvalues типа X являются swappable, и

  • выражения в таблице 94 действительны и имеют указанную семантику.

Таблица 94 - Требования к итератору
ВыражениеТип возвратаОперативныйУтверждение / примечание
семантикадо / после состояния
*r неопределенные Requires: r разыменуемо.
++r X&