cpp/ranges/subrange/next

@1@ Obtains a whose iterator is incremented by  times or decremented by  times respect to that of, when  or  respectively. Equivalent to.

@2@ Increments the stored iterator by times or decremented it by  times, when  or  respectively, and then move-constructs the result from. Equivalent to.

The behavior is undefined if:
 * does not model and, or
 * the stored iterator is decremented after becoming a non-decrementable value.

Return value
A whose iterator is incremented by  times or decremented by  times respect to the original value of that of, when  or  respectively.

Complexity
Generally increments or  decrements on the iterator, when  or  respectively.

Constant if models, and either  or  is modeled.