Namensräume
Varianten
Aktionen

operator==,!=(std::istream_iterator<T, CharT, Traits, Dist>)

Von cppreference.com
 
 
Iterator-Bibliothek
Iterator-Konzepte
Iterator-Primitive
Algorithmus-Konzepte und Hilfsprogramme
Indirekte aufrufbare Konzepte
Gemeinsame Algorithmus-Anforderungen
(C++20)
(C++20)
(C++20)
Dienstprogramme
(C++20)
Iterator-Adapter
Bereichszugriff
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
Definiert in Header <iterator>
template< class T, class CharT, class Traits, class Dist >

bool operator==( const std::istream_iterator<T, CharT, Traits, Dist>& lhs,

                 const std::istream_iterator<T, CharT, Traits, Dist>& rhs );
(1)
template< class T, class CharT, class Traits, class Dist >

bool operator!=( const std::istream_iterator<T, CharT, Traits, Dist>& lhs,

                 const std::istream_iterator<T, CharT, Traits, Dist>& rhs );
(2) (bis C++20)
friend bool operator==( const istream_iterator& i, std::default_sentinel_t );
(3) (seit C++20)

Prüft, ob lhs und rhs gleich sind. Zwei Stream-Iteratoren sind gleich, wenn beide End-of-Stream-Iteratoren sind oder beide auf denselben Stream verweisen.

1) Prüft, ob lhs gleich rhs ist.
2) Prüft, ob lhs ungleich rhs ist.
3) Prüft, ob lhs ein End-of-Stream-Iterator ist.
Diese Funktion ist weder für gewöhnliche unqualifizierte noch für qualifizierte Suchen sichtbar und kann nur durch argumentabhängige Suche gefunden werden, wenn std::istream_iterator<T, CharT, Traits, Dist> eine assoziierte Klasse der Argumente ist.

Der Operator != wird aus operator== synthetisiert.

(seit C++20)

Inhalt

[bearbeiten] Parameter

lhs, rhs - zu vergleichende Stream-Iteratoren

[bearbeiten] Rückgabewert

1) true, wenn lhs gleich rhs ist, false andernfalls.
2) true, wenn lhs ungleich rhs ist, false andernfalls.
3) true, wenn lhs ein End-of-Stream-Iterator ist, false andernfalls.

[edit] Exceptions

Kann implementierungsdefinierte Ausnahmen auslösen.

[bearbeiten] Fehlerberichte

Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 261 C++98 die Beschreibung von operator!= fehlte hinzugefügt