std::regex_iterator<BidirIt,CharT,Traits>:: operator++, operator++ (int)
|
regex_iterator
&
operator
++
(
)
;
|
(начиная с C++11) | |
|
regex_iterator operator
++
(
int
)
;
|
(начиная с C++11) | |
Перемещает итератор на следующее совпадение.
|
Этот раздел не завершён
Причина: требуется лучшее объяснение |
Сначала создаётся локальная переменная типа
BidirIt
со значением
match
[
0
]
.
second
.
Если итератор содержит совпадение нулевой длины и start == end , * this устанавливается в итератор конца последовательности и функция завершает работу.
В противном случае, если итератор содержит совпадение нулевой длины, оператор вызывает следующее:
regex_search
(
start, end, match,
*
pregex,
flags
|
regex_constants
::
match_not_null
|
regex_constants
::
match_continuous
)
;
Если вызов возвращает true , функция завершает работу.
В противном случае оператор увеличивает
start
и продолжает так, как если бы последнее совпадение не было совпадением нулевой длины.
Если последнее совпадение не было совпадением нулевой длины, оператор устанавливает
flags
в
flags
|
regex_constants
::
match_prev_avail
и вызывает следующее:
regex_search ( start, end, match, * pregex, flags ) ;
Если вызов возвращает false , итератор устанавливает * this в итератор конца последовательности, функция завершается.
Во всех случаях, когда вызов
regex_search
возвращает
true
,
match.
prefix
(
)
.
first
будет равен предыдущему значению
match
[
0
]
.
second
, и для каждого индекса i в диапазоне
[
0
,
match.
size
(
)
)
, для которого
match
[
i
]
.
matched
равен
true
,
match
[
i
]
.
position
(
)
вернет
distance
(
begin, match
[
i
]
.
first
)
.
Это означает, что match [ i ] . position ( ) возвращает смещение от начала целевой последовательности, которое часто не совпадает со смещением от последовательности, переданной в вызове regex_search .
Не определено, как реализация выполняет эти корректировки. Это означает, что компилятор может вызывать специфичную для реализации функцию поиска, в этом случае пользовательская специализация regex_search не будет вызвана.
Поведение не определено, если итератор является конечным итератором.
Параметры
(нет)