tmp/tmpv3loojbg/{from.md → to.md}
RENAMED
|
@@ -10,43 +10,50 @@ regex_iterator& operator++();
|
|
| 10 |
|
| 11 |
If the iterator holds a zero-length match and `start == end` the
|
| 12 |
operator sets `*this` to the end-of-sequence iterator and returns
|
| 13 |
`*this`.
|
| 14 |
|
| 15 |
-
Otherwise, if the iterator holds a zero-length match the operator
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
If the most recent match was not a zero-length match, the operator sets
|
| 22 |
-
`flags` to `flags
|
| 23 |
`regex_search(start, end, match, *pregex, flags)`. If the call returns
|
| 24 |
`false` the iterator sets `*this` to the end-of-sequence iterator. The
|
| 25 |
iterator then returns `*this`.
|
| 26 |
|
| 27 |
In all cases in which the call to `regex_search` returns `true`,
|
| 28 |
`match.prefix().first` shall be equal to the previous value of
|
| 29 |
`match[0].second`, and for each index `i` in the half-open range
|
| 30 |
-
`[0, match.size())` for which `match[i].matched` is true,
|
| 31 |
-
`match
|
| 32 |
|
| 33 |
-
This means that `match
|
| 34 |
-
beginning of the target sequence, which is often not the same as the
|
| 35 |
-
offset from the sequence passed in the call to
|
|
|
|
| 36 |
|
| 37 |
It is unspecified how the implementation makes these adjustments.
|
| 38 |
|
| 39 |
-
This means that a compiler may call an
|
| 40 |
-
function, in which case a user-defined
|
| 41 |
-
will not be called.
|
| 42 |
|
| 43 |
``` cpp
|
| 44 |
regex_iterator operator++(int);
|
| 45 |
```
|
| 46 |
|
| 47 |
-
*Effects:*
|
| 48 |
|
| 49 |
``` cpp
|
| 50 |
regex_iterator tmp = *this;
|
| 51 |
++(*this);
|
| 52 |
return tmp;
|
|
|
|
| 10 |
|
| 11 |
If the iterator holds a zero-length match and `start == end` the
|
| 12 |
operator sets `*this` to the end-of-sequence iterator and returns
|
| 13 |
`*this`.
|
| 14 |
|
| 15 |
+
Otherwise, if the iterator holds a zero-length match, the operator
|
| 16 |
+
calls:
|
| 17 |
+
|
| 18 |
+
``` cpp
|
| 19 |
+
regex_search(start, end, match, *pregex,
|
| 20 |
+
flags | regex_constants::match_not_null | regex_constants::match_continuous)
|
| 21 |
+
```
|
| 22 |
+
|
| 23 |
+
If the call returns `true` the operator returns `*this`. Otherwise the
|
| 24 |
+
operator increments `start` and continues as if the most recent match
|
| 25 |
+
was not a zero-length match.
|
| 26 |
|
| 27 |
If the most recent match was not a zero-length match, the operator sets
|
| 28 |
+
`flags` to `flags | regex_constants::match_prev_avail` and calls
|
| 29 |
`regex_search(start, end, match, *pregex, flags)`. If the call returns
|
| 30 |
`false` the iterator sets `*this` to the end-of-sequence iterator. The
|
| 31 |
iterator then returns `*this`.
|
| 32 |
|
| 33 |
In all cases in which the call to `regex_search` returns `true`,
|
| 34 |
`match.prefix().first` shall be equal to the previous value of
|
| 35 |
`match[0].second`, and for each index `i` in the half-open range
|
| 36 |
+
`[0, match.size())` for which `match[i].matched` is `true`,
|
| 37 |
+
`match.position(i)` shall return `distance(begin, match[i].first)`.
|
| 38 |
|
| 39 |
+
[*Note 1*: This means that `match.position(i)` gives the offset from
|
| 40 |
+
the beginning of the target sequence, which is often not the same as the
|
| 41 |
+
offset from the sequence passed in the call to
|
| 42 |
+
`regex_search`. — *end note*]
|
| 43 |
|
| 44 |
It is unspecified how the implementation makes these adjustments.
|
| 45 |
|
| 46 |
+
[*Note 2*: This means that a compiler may call an
|
| 47 |
+
implementation-specific search function, in which case a user-defined
|
| 48 |
+
specialization of `regex_search` will not be called. — *end note*]
|
| 49 |
|
| 50 |
``` cpp
|
| 51 |
regex_iterator operator++(int);
|
| 52 |
```
|
| 53 |
|
| 54 |
+
*Effects:* As if by:
|
| 55 |
|
| 56 |
``` cpp
|
| 57 |
regex_iterator tmp = *this;
|
| 58 |
++(*this);
|
| 59 |
return tmp;
|