std::istream_iterator<T,CharT,Traits,Distance>::operator++, operator++(int)
From cppreference.com
< cpp | iterator | istream iterator
| istream_iterator& operator++(); |
(1) | |
| istream_iterator operator++( int ); |
(2) | |
基になるストリームから値を読み込み(そのoperator>>を使用)、イテレータオブジェクトに格納します。読み込みが失敗した場合(基になるストリームのfail()がtrueを返した場合)、イテレータはストリーム終了イテレータになります。
イテレータがストリーム終端イテレータの場合、未定義の動作となります。
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
1) *this
2) 変更されていない値を保持する
istream_iterator。[編集] 例外
実装定義の例外をスローする場合があります。
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 260 | C++98 | operator++(int) の戻り値の型がistream_iterator&でした |
istream_iteratorに修正されました |
| LWG 788 | C++98 | 基になるストリームのoperator void*が 読み込みが失敗したかどうかを判断するために使用されていましたが、これは LWG issue 468の解決によって削除されました |
代わりにfail()を使用します |
| LWG 838 | C++98 | ストリーム終了イテレータをインクリメントできるかどうかは不明でした | 未定義の動作 |