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
の前の値と等しくなり、範囲
[
0
,
match.
size
(
)
)
内の各インデックス i について
match
[
i
]
.
matched
が
true
である場合、
match
[
i
]
.
position
(
)
は
distance
(
begin, match
[
i
]
.
first
)
を返します。
これは、 match [ i ] . position ( ) がターゲットシーケンスの先頭からのオフセットを返すことを意味します。これは、多くの場合、 regex_search の呼び出しで渡されたシーケンスからのオフセットとは異なります。
これらの調整を実装がどのように行うかは未規定です。これは、コンパイラが実装定義の検索関数を呼び出す可能性があることを意味し、その場合 regex_search のユーザー定義特殊化は呼び出されません。
イテレータがシーケンス終端イテレータの場合、動作は未定義です。
パラメータ
(なし)