basic_streambuf::underflow

Geschützte, virtuelle Funktion, um das aktuelle Element des Eingabestreams zu extrahieren.

virtual int_type underflow( );

Rückgabewert

Das aktuelle Element.

Hinweise

Die geschützte virtuelle Memberfunktion ermittelt, das aktuelle Element ch im Eingabestream, ohne zu wechseln zu extrahieren die aktuelle Streamposition, und gibt diese als traits_type::to_int_type zurück (ch).Sie kann auf verschiedene Arten erfolgen:

  • Wenn eine Leseposition verfügbar ist, ist ch das Element, das in der Leseposition gespeichert wird.Weitere Informationen über dieses, finden Sie in den Hinweisen basic_streambuf Class.

  • Es kann eine Leseposition bereitstellen, indem Sie den neuen oder zusätzlichen Speicher für den Eingabepuffer zuordnet und dann in, von einer externen Quelle, eine oder mehrere Elemente liest.Weitere Informationen über dieses, finden Sie in den Hinweisen basic_streambuf Class.

Wenn die Funktion nicht erfolgreich ausgeführt werden kann, gibt sie traits_type::EOF() zurück und löst eine Ausnahme aus.Andernfalls wird das aktuelle Element im Eingabestream zurück, konvertiert, wie zuvor beschrieben.Als Standardverhalten wird traits_type::eof() zurückgegeben.

Die virtuelle Funktion underflow, mit den Synchronisierung und Überlauf-Funktionen, definiert die Eigenschaften streambuf von abgeleitete Klasse.Jede abgeleitete Klasse implementierte underflow anders, aber die Schnittstelle mit der aufrufenden Streamklasse ist gleich.

Die underflow-Funktion wird häufig über öffentliche streambuf-Funktionen wie sgetc und sgetn aufgerufen, wenn der Abrufensbereich leer ist, andere Klassen, einschließlich der Streamklassen, können underflow jederzeit aufrufen.

Die underflow-Funktion bietet den Abrufensbereich mit Zeichen aus der Eingabequelle.Wenn der Abrufensbereich Zeichen enthält, gibt underflow das erste Zeichen zurück.Wenn der Abrufensbereich leer ist, wird er den Abrufensbereich aus und gibt das nächste Zeichen zurück (das er im Abrufensbereich können).Wenn es nicht mehr verfügbaren Zeichen gibt, gibt underflowEOF zurück und lässt den Abrufensbereich leer.

In der strstreambuf-Klasse angepasst underflow den egptr Zeiger auf Zugriffsspeicher, der dynamisch durch einen Aufruf overflow zugeordnet wurde.

Anforderungen

Header: <streambuf>

Namespace: std

Siehe auch

Referenz

basic_streambuf Class

Programmierung der iostream-Headerdatei

iostreams Konventionen