Namensräume
Varianten
Aktionen

std::istream_iterator<T,CharT,Traits,Distance>::operator++, operator++(int)

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)
 
std::istream_iterator
Memberfunktionen
istream_iterator::operator++istream_iterator::operator++(int)
Nicht-Member-Funktionen
 
istream_iterator& operator++();
(1)
istream_iterator operator++( int );
(2)

Liest einen Wert aus dem zugrundeliegenden Stream (unter Verwendung dessen operator>>) und speichert ihn im Iteratorobjekt. Wenn das Lesen fehlschlägt (fail() des zugrundeliegenden Streams gibt true zurück), wird der Iterator zum End-of-Stream-Iterator.

Das Verhalten ist undefiniert, wenn der Iterator ein End-of-Stream-Iterator ist.

Inhalt

[edit] Parameter

(keine)

[edit] Rückgabewert

1) *this
2) Ein istream_iterator, der einen unveränderten Wert enthält.

[edit] Exceptions

Kann implementierungsdefinierte Ausnahmen auslösen.

[edit] Defect reports

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 260 C++98 der Rückgabetyp von operator++(int) war istream_iterator& korrigiert zu istream_iterator
LWG 788 C++98 der zugrundeliegende Stream operator void* wurde
verwendet, um festzustellen, ob das Lesen fehlschlägt, aber er
wurde durch die Auflösung von LWG issue 468 entfernt
verwendet stattdessen fail()
LWG 838 C++98 war unklar, ob End-of-Stream-Iteratoren inkrementiert werden können das Verhalten ist undefiniert