Freigeben über


basic_streambuf Class

Beschreibt eine abstrakte Basisklasse für das Ableiten eines Streampuffers die Übertragung von Elementen aus einer bestimmten Darstellung eines Streams steuert.

template<class Elem, class Tr = char_traits<Elem> >
   class basic_streambuf;

Parameter

Hinweise

Die Vorlagenklasse beschreibt eine abstrakte Basisklasse für das Ableiten eines Streampuffers die Übertragung von Elementen aus einer bestimmten Darstellung eines Streams steuert.Ein Objekt der Klasse basic_streambuf steuert einen Stream mit Elementen des Typs Tr, auch bekannt als Char_type, deren Eigenschaften hängen von der Klasse Char_traits, auch bekannt als Traits_type.

Jeder Streampuffer konzeptionell steuert zwei unabhängige Streams: eine für Extraktionen (Eingabe) und eine für Einfügungen (Output).Eine besondere Darstellung kann jedoch eine oder beide der folgenden Streams unzugänglich machen.Sie führt in der Regel eine Beziehung zwischen den beiden Streams.Einfügen in den Ausgabestream, der ein Basic_stringbuf<Elem, Tr> Objekt ist z. B., was Sie später aus der Eingabestream extrahieren.Wenn Sie einen Stream, der position ein Basic_filebuf<Elem, Tr> Objekt Positionieren von anderen Datenstrom zusammen.

Die öffentliche Schnittstelle für die Vorlagenklasse basic_streambuf liefert die Vorgänge, die gemeinsam alle Stream-Puffer jedoch spezialisiert sind.Die geschützte Schnittstelle stellt Verfahren, um eine bestimmte Darstellung eines Streams seine Arbeit erledigen.Die geschützten virtuellen Member-Funktionen können Sie das Verhalten des einen abgeleiteten Streampuffer für eine bestimmte Darstellung eines Streams anpassen.Jeder abgeleiteten Streampuffer in dieser Bibliothek beschreibt, wie sie das Verhalten ihrer geschützten virtuellen Member-Funktionen spezialisiert hat.Das Standardverhalten für die Basisklasse, die oft nichts zu tun ist, wird in diesem Thema beschrieben.

Die verbleibenden geschützten Funktionen Steuerelement kopieren und von allen Speicherarten bereitgestellt, um Puffer-Übertragungen zu und von Streams.Ein Eingabepuffers zeichnet sich beispielsweise durch:

  • dbringt, einen Zeiger auf den Anfang des Puffers.

  • GPTR, einen Zeiger auf das nächste Element zu lesen.

  • Egptr, einen Zeiger nur hinter dem Ende des Puffers.

Ebenso ein Ausgabepuffer charakterisiert:

  • Pbase, einen Zeiger auf den Anfang des Puffers.

  • Pptr, einen Zeiger auf das nächste Element zu schreiben.

  • Epptr, einen Zeiger nur hinter dem Ende des Puffers.

Das folgende Protokoll wird verwendet, für alle Puffer:

  • Wenn der nächste Zeiger null ist, ist kein Puffer vorhanden.Andernfalls zeigen alle drei Zeiger in der gleichen Reihenfolge.Sie können sicher Reihenfolge verglichen werden.

  • Wenn der nächste Zeiger kleiner als der End-Zeiger verglichen, können Sie für einen Ausgabepuffer ein Element an die Schreibposition bezeichnet, mit der nächsten Zeiger speichern.

  • Wenn der nächste Zeiger kleiner als der End-Zeiger verglichen, können Sie für einen Eingabepuffer ein Element in der Lesen Position bezeichnet, mit der nächsten Zeiger lesen.

  • Für einen Eingabepuffer vergleicht den Anfangszeiger kleiner als der nächste Zeiger können Sie wieder ein Element an die festgelegte dekrementiert Zeiger für die nächste Putback-Position setzen.

Beliebige geschützte virtuelle Memberfunktionen, die Sie für eine Klasse abgeleitet schreiben basic_streambuf<Elem, Tr> Aufrechterhaltung dieses Protokoll zusammenarbeiten müssen.

An object of class basic_streambuf<Elem, Tr> speichert die sechs Zeiger, die zuvor beschrieben.Es speichert auch ein Gebietsschema-Objekt in ein Objekt vom Typ Locale für die mögliche Verwendung von abgeleiteten Streampuffer.

9h24a8cd.collapse_all(de-de,VS.110).gifKonstruktoren

basic_streambuf

Erstellt ein Objekt vom Typ basic_streambuf.

9h24a8cd.collapse_all(de-de,VS.110).gifTypedefs

char_type

Ordnet einen Typnamen mit dem Elem Vorlagenparameter.

int

Ordnet einen Typnamen in basic_streambuf Bereich mit den Elem Vorlagenparameter.

off_type

Ordnet einen Typnamen in basic_streambuf Bereich mit den Elem Vorlagenparameter.

POS

Ordnet einen Typnamen in basic_streambuf Bereich mit den Elem Vorlagenparameter.

traits_type

Ordnet einen Typnamen mit dem Tr Vorlagenparameter.

9h24a8cd.collapse_all(de-de,VS.110).gifMember-Funktionen

dbringt

Eine geschützte Funktion, die einen Zeiger auf den Anfang des Eingabepuffers zurückgibt.

egptr

Eine geschützte Funktion, die einen Zeiger nur hinter dem Ende der Eingabepuffer zurückgibt.

epptr

Eine geschützte Funktion, die einen Zeiger nur hinter dem Ende des Ausgabepuffers zurückgibt.

gbump

Eine geschützte Funktion, die fügt _Count , die nächsten Zeiger für den Eingabepuffer.

getloc

Ruft die basic_streambuf Objekt Gebietsschema.

GPTR

Eine geschützte Funktion, die einen Zeiger auf das nächste Element des Eingabepuffers zurückgibt.

verleihen

A geschützt, virtuelle Funktion aufgerufen, die von Pubimbue.

in_avail

Gibt die Anzahl der Elemente, die aus dem Puffer gelesen werden können.

Überlauf

Eine geschützte virtuelle Funktion, die aufgerufen werden kann, wenn ein neues Zeichen in einem vollständigen Puffer eingefügt wird.

pbackfail

Eine geschützten virtuellen Member-Funktion, die versucht, ein Element wieder in den Eingabestream legen dann machen das aktuelle Element (mit der nächsten Zeiger verwiesen).

pbase

Eine geschützte Funktion, die einen Zeiger auf den Anfang des Ausgabepuffers zurückgibt.

pbump

Eine geschützte Funktion, die fügt count , die nächsten Zeiger für den Ausgabepuffer.

pptr

Eine geschützte Funktion, die einen Zeiger auf das nächste Element des Ausgabepuffers zurückgibt.

pubimbue

Legt die basic_streambuf Objekt Gebietsschema.

pubseekoff

Aufrufe Seekoff, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben wird.

pubseekpos

Aufrufe Seekpos, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben, und setzt die aktuelle Position des Mauszeigers.

pubsetbuf

Aufrufe Setbuf, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben wird.

pubsync

Aufrufe Sync, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben wird, und aktualisiert den externen Stream diese Puffer zugeordnet.

sbumpc

Liest und gibt das aktuelle Element Bewegen des Mauszeigers Stream.

seekoff

Die geschützten virtuellen Member-Funktion versucht, die aktuellen Positionen für die kontrollierte Datenströme zu ändern.

seekpos

Die geschützten virtuellen Member-Funktion versucht, die aktuellen Positionen für die kontrollierte Datenströme zu ändern.

setbuf

Die geschützten virtuellen Member-Funktion führt eine Operation bestimmten zu jeder abgeleiteten Streampuffer.

setg

Eine geschützte Funktion, die speichert _Gbeg in den Anfangszeiger _Gnext in den nächsten Zeiger und _Gend in der End-Zeiger für den Eingabepuffer.

SETP

Eine geschützte Funktion, die speichert _Pbeg in den Anfangszeiger und _Pend in der End-Zeiger für den Ausgabepuffer.

sgetc

Gibt das aktuelle Element ohne Position im Stream zurück.

sgetn

Gibt die Anzahl der Elemente zu lesen.

showmanyc

Geschützten virtuellen Member-Funktion, die die Anzahl der Zeichen, die aus dem Eingabestream extrahiert werden können, und stellen Sie sicher zurückgibt, dass das Programm nicht für eine unbegrenzte Wartezeit.

snextc

Liest das aktuelle Element und gibt das folgende Element zurück.

sputbackc

Stellt eine char_type in den Stream.

streambufsputc

Fügt ein Zeichen in den Stream.

sputn

Fügt eine Zeichenfolge in den Stream.

stossc

Verschieben Sie hinter das aktuelle Element in den Stream.

sungetc

Ruft ein Zeichen aus dem Stream ab.

Swap

Tauscht die Werte in diesem Objekt für die Werte in der mitgelieferten basic_streambuf Parameter-Objekt.

Sync

Eine geschützte virtuelle Funktion, die versucht, die kontrollierte Datenströme mit allen zugeordneten externe Streams zu synchronisieren.

uflow

Eine geschützte virtuelle Funktion, die das aktuelle Element aus dem Eingabestream extrahiert.

Unterlauf

Eine geschützte virtuelle Funktion, die das aktuelle Element aus dem Eingabestream extrahiert.

xsgetn

Eine geschützte virtuelle Funktion, die Elemente aus dem Eingabestream extrahiert.

xsputn

Eine geschützte virtuelle Funktion, die Elemente in den Ausgabestream einfügt.

9h24a8cd.collapse_all(de-de,VS.110).gifOperatoren

operator=

Weist die Werte dieses Objekts aus einer anderen basic_streambuf Objekt.

Anforderungen

Header: <streambuf>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

Programmierung der iostream-Headerdatei

iostreams Konventionen

Weitere Ressourcen

basic_streambuf Member

<streambuf> Member