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
Elem
A Char_type.Tr
Das Zeichen Traits_type.
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.
Konstruktoren
Erstellt ein Objekt vom Typ basic_streambuf. |
Typedefs
Ordnet einen Typnamen mit dem Elem Vorlagenparameter. |
|
Ordnet einen Typnamen in basic_streambuf Bereich mit den Elem Vorlagenparameter. |
|
Ordnet einen Typnamen in basic_streambuf Bereich mit den Elem Vorlagenparameter. |
|
Ordnet einen Typnamen in basic_streambuf Bereich mit den Elem Vorlagenparameter. |
|
Ordnet einen Typnamen mit dem Tr Vorlagenparameter. |
Member-Funktionen
Eine geschützte Funktion, die einen Zeiger auf den Anfang des Eingabepuffers zurückgibt. |
|
Eine geschützte Funktion, die einen Zeiger nur hinter dem Ende der Eingabepuffer zurückgibt. |
|
Eine geschützte Funktion, die einen Zeiger nur hinter dem Ende des Ausgabepuffers zurückgibt. |
|
Eine geschützte Funktion, die fügt _Count , die nächsten Zeiger für den Eingabepuffer. |
|
Ruft die basic_streambuf Objekt Gebietsschema. |
|
Eine geschützte Funktion, die einen Zeiger auf das nächste Element des Eingabepuffers zurückgibt. |
|
A geschützt, virtuelle Funktion aufgerufen, die von Pubimbue. |
|
Gibt die Anzahl der Elemente, die aus dem Puffer gelesen werden können. |
|
Eine geschützte virtuelle Funktion, die aufgerufen werden kann, wenn ein neues Zeichen in einem vollständigen Puffer eingefügt wird. |
|
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). |
|
Eine geschützte Funktion, die einen Zeiger auf den Anfang des Ausgabepuffers zurückgibt. |
|
Eine geschützte Funktion, die fügt count , die nächsten Zeiger für den Ausgabepuffer. |
|
Eine geschützte Funktion, die einen Zeiger auf das nächste Element des Ausgabepuffers zurückgibt. |
|
Legt die basic_streambuf Objekt Gebietsschema. |
|
Aufrufe Seekoff, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben wird. |
|
Aufrufe Seekpos, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben, und setzt die aktuelle Position des Mauszeigers. |
|
Aufrufe Setbuf, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben wird. |
|
Aufrufe Sync, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben wird, und aktualisiert den externen Stream diese Puffer zugeordnet. |
|
Liest und gibt das aktuelle Element Bewegen des Mauszeigers Stream. |
|
Die geschützten virtuellen Member-Funktion versucht, die aktuellen Positionen für die kontrollierte Datenströme zu ändern. |
|
Die geschützten virtuellen Member-Funktion versucht, die aktuellen Positionen für die kontrollierte Datenströme zu ändern. |
|
Die geschützten virtuellen Member-Funktion führt eine Operation bestimmten zu jeder abgeleiteten Streampuffer. |
|
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. |
|
Eine geschützte Funktion, die speichert _Pbeg in den Anfangszeiger und _Pend in der End-Zeiger für den Ausgabepuffer. |
|
Gibt das aktuelle Element ohne Position im Stream zurück. |
|
Gibt die Anzahl der Elemente zu lesen. |
|
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. |
|
Liest das aktuelle Element und gibt das folgende Element zurück. |
|
Stellt eine char_type in den Stream. |
|
Fügt ein Zeichen in den Stream. |
|
Fügt eine Zeichenfolge in den Stream. |
|
Verschieben Sie hinter das aktuelle Element in den Stream. |
|
Ruft ein Zeichen aus dem Stream ab. |
|
Tauscht die Werte in diesem Objekt für die Werte in der mitgelieferten basic_streambuf Parameter-Objekt. |
|
Eine geschützte virtuelle Funktion, die versucht, die kontrollierte Datenströme mit allen zugeordneten externe Streams zu synchronisieren. |
|
Eine geschützte virtuelle Funktion, die das aktuelle Element aus dem Eingabestream extrahiert. |
|
Eine geschützte virtuelle Funktion, die das aktuelle Element aus dem Eingabestream extrahiert. |
|
Eine geschützte virtuelle Funktion, die Elemente aus dem Eingabestream extrahiert. |
|
Eine geschützte virtuelle Funktion, die Elemente in den Ausgabestream einfügt. |
Operatoren
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