Incrementable Iterator Concept .............................. A class or built-in type ``X`` models the *Incrementable Iterator* concept if, in addition to ``X`` being Assignable and Copy Constructible, the following expressions are valid and respect the stated semantics. +-------------------------------------------------------------------------------------+ |Incrementable Iterator Requirements (in addition to Assignable, Copy Constructible) | | | +--------------------------------+-------------------------------+--------------------+ |Expression |Return Type |Assertion/Semantics | +================================+===============================+====================+ |``++r`` |``X&`` |``&r == &++r`` | +--------------------------------+-------------------------------+--------------------+ |``r++`` |``X`` |:: | | | | | | | | { | | | | X tmp = r; | | | | ++r; | | | | return tmp; | | | | } | +--------------------------------+-------------------------------+--------------------+ |``iterator_traversal::type`` |Convertible to | | | |``incrementable_traversal_tag``| | +--------------------------------+-------------------------------+--------------------+