Namespaces
Variants

std::regex_iterator<BidirIt,CharT,Traits>:: operator++, operator++ (int)

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
regex_iterator & operator ++ ( ) ;
(C++11 이후)
regex_iterator operator ++ ( int ) ;
(C++11 이후)

반복자를 다음 일치 항목으로 진행시킵니다.

먼저, BidirIt 타입의 지역 변수가 match [ 0 ] . second 값으로 생성됩니다.

반복자가 길이가 0인 매치를 보유하고 있으며 start == end 인 경우, * this 는 시퀀스 종료 반복자로 설정되고 함수는 반환됩니다.

그렇지 않고, 반복자가 길이가 0인 일치를 보유하고 있는 경우 연산자는 다음을 호출합니다:

regex_search ( start, end, match, * pregex,
flags | regex_constants :: match_not_null |
regex_constants :: match_continuous ) ;

호출이 true 를 반환하면, 함수가 반환됩니다.

그렇지 않으면 연산자는 start 를 증가시키고 가장 최근 일치가 제로 길이 일치가 아니었던 것처럼 계속 진행합니다.

가장 최근 일치가 길이가 0인 일치가 아니었다면, 이 연산자는 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 의 이전 값과 같을 것이며, [ 0 , match. size ( ) ) 범위 내의 각 인덱스 i에 대해 match [ i ] . matched true 인 경우, match [ i ] . position ( ) distance ( begin, match [ i ] . first ) 를 반환할 것입니다.

이는 match [ i ] . position ( ) 가 대상 시퀀스의 시작점부터의 오프셋을 제공한다는 것을 의미하며, 이는 종종 regex_search 호출 시 전달된 시퀀스로부터의 오프셋과 일치하지 않습니다.

이러한 조정을 구현이 어떻게 수행하는지는 명시되어 있지 않습니다. 이는 컴파일러가 구현체 정의 검색 함수를 호출할 수 있음을 의미하며, 이 경우 사용자 정의 regex_search 특수화는 호출되지 않습니다.

이터레이터가 시퀀스의 끝을 가리키는 이터레이터인 경우 동작은 정의되지 않습니다.

매개변수

(없음)

반환값

1) * this
2) 반복자의 이전 값.