名前空間
変種
操作

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

From cppreference.com
 
 
 
正規表現ライブラリ
クラス
(C++11)
アルゴリズム
イテレータ
例外
Traits
定数
(C++11)
正規表現文法
 
 
regex_iterator& operator++();
(C++11以降)
regex_iterator operator++( int );
(C++11以降)

イテレータを次のマッチに進めます。

最初に、match[0].second の値で `BidirIt` 型のローカル変数が構築されます。

イテレータがゼロ長マッチを保持しており、かつ 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` の以前の値と等しくなり、match[i].matchedtrue である範囲 [0match.size()) の各インデックス i について、match[i].position()distance(begin, match[i].first) を返します。

これは、match[i].position() がターゲットシーケンスの先頭からのオフセットを与えることを意味しますが、これは多くの場合、`regex_search` の呼び出しに渡されたシーケンスからのオフセットと同じではありません。

実装がこれらの調整をどのように行うかは未規定です。これは、コンパイラが実装固有の検索関数を呼び出す可能性があることを意味し、その場合、ユーザー定義の `regex_search` の特殊化は呼び出されません。

イテレータがシーケンス終了イテレータである場合、動作は未定義です。

[編集] パラメータ

(なし)

[編集] 戻り値

1) *this
2) イテレータの以前の値。
English 日本語 中文(简体) 中文(繁體)