operator==,!=(std::istream_iterator<T, CharT, Traits, Dist>)
From cppreference.com
< cpp | iterator | istream iterator
| ヘッダ <iterator> で定義 |
||
| template< class T, class CharT, class Traits, class Dist > bool operator==( const std::istream_iterator<T, CharT, Traits, Dist>& lhs, |
(1) | |
| template< class T, class CharT, class Traits, class Dist > bool operator!=( const std::istream_iterator<T, CharT, Traits, Dist>& lhs, |
(2) | (C++20まで) |
| friend bool operator==( const istream_iterator& i, std::default_sentinel_t ); |
(3) | (C++20以降) |
両方の lhs と rhs が等しいかどうかをチェックします。2つのストリームイテレータは、両方がストリーム終端イテレータであるか、または両方が同じストリームを参照している場合に等しいとみなされます。
1) lhs が rhs と等しいかどうかをチェックします。
2) lhs が rhs と等しくないかどうかをチェックします。
3) lhs がストリーム終端イテレータであるかどうかをチェックします。
この関数は、通常の非修飾または修飾ルックアップからは見えず、`std::istream_iterator<T, CharT, Traits, Dist>` が引数に関連付けられたクラスである場合にのみ、引数依存の名前探索によって見つけることができます。
この関数は、通常の非修飾または修飾ルックアップからは見えず、`std::istream_iterator<T, CharT, Traits, Dist>` が引数に関連付けられたクラスである場合にのみ、引数依存の名前探索によって見つけることができます。
|
|
(C++20以降) |
目次 |
[編集] パラメータ
| lhs, rhs | - | 比較するストリームイテレータ |
[編集] 戻り値
1) true (`lhs` が `rhs` と等しい場合)、それ以外の場合は false。
2) true (`lhs` が `rhs` と等しくない場合)、それ以外の場合は false。
3) true (`lhs` がストリーム終端イテレータの場合)、それ以外の場合は false。
[編集] 例外
実装定義の例外をスローする場合があります。
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 261 | C++98 | `operator!=` の説明が欠落していた | 追加された |