cpp/regex/regex iterator/operator arith

Advances the iterator on the next match.

At first, a local variable of type is constructed with the value of.

If the iterator holds a zero-length match and, is set to end-of-sequence iterator and the function returns.

Otherwise, if the iterator holds a zero-length match the operator invokes the following:

If the call returns, the function returns.

Otherwise the operator increments and continues as if the most recent match was not a zero-length match.

If the most recent match was not a zero-length match, the operator sets to  and invokes the following:

If the call returns, the iterator sets to the end-of-sequence iterator, the function returns.

In all cases in which the call to returns,  will be equal to the previous value of  and for each index i in the range [0, ) for which  is ,  will return.

This means that gives the offset from the beginning of the target sequence, which is often not the same as the offset from the sequence passed in the call to.

It is unspecified how the implementation makes these adjustments. This means that a compiler may call an implementation-specific search function, in which case a user-defined specialization of will not be called.

The behavior is undefined if the iterator is end-of-sequence iterator.

Parameters
(none)

Return value
@1@

@2@ The previous value of the iterator.