cpp/iterator/common iterator/operator arith

Increments the underlying iterator.

The behavior is undefined if the underlying std member object does not hold an object of type, i.e.  is equal to.

Let denote the iterator of type  held by, that is.

@1@ Pre-increments by one. Equivalent to.

@2@ Post-increments by one:
 * Equivalent to:, if models ,
 * Equivalent to:, if the variable definition is well-formed, or either
 * or
 * or
 * is ,
 * is ,


 * Equivalent to: otherwise, where  is an exposition only helper type.

Parameters
(none)

Return value
@1@ . @2@ A copy of that was made before the change, or a result of post-increment of the underlying iterator, or a proxy keeping the value of the current element, as described above.