cpp/experimental/ranges/iterator/advance

Advances the iterator  times, or until  is reached, whichever comes first.

@1@ If models, equivalent to. Otherwise, increments (or decrements if is negative)   times. The behavior is undefined if is negative and  does not model. @2@ If is satisfied, equivalent to. @@ Otherwise, if does not denote a range, the behavior is undefined. @@ Otherwise, if is satisfied, equivalent to. @@ Otherwise, increments until. @3@ If is satisfied, equivalent to  if |n| >= |bound - i|, and  otherwise. @@ Otherwise, increments (or decrements if is negative)  either  times or until, whichever comes first. @@ If, shall denote a range; if , either  or  shall denote a range; if ,  shall denote a range,  and  shall be the same type, and  must model. Otherwise, the behavior is undefined.

Return value
@1-2@ (none) @3@ The number of increment/decrements not performed due to reaching. In other words,, where is the distance from the starting position of  to the ending position and is negative if the ending position is before the starting position.