basic_streambuf-Klasse
Beschreibt eine abstrakte Basisklasse zum Ableiten eines Streampuffers, der die Übertragung von Elemente daraus eine bestimmte Darstellung eines Streams steuert.
template<class Elem, class Tr = char_traits<Elem> >
class basic_streambuf;
Parameter
Elem
char_type.Tr
Das Zeichen unter traits_type.
Hinweise
Die Vorlagenklasse beschreibt eine abstrakte Basisklasse zum Ableiten eines Streampuffers, der die Übertragung von Elemente daraus eine bestimmte Darstellung eines Streams steuert. Ein Objekt der Klassen basic_streambuf erleichtert steuern einen Stream mit Elementen des Typs Tr, auch char_type, dessen Zeichenmerkmale durch die char_traits festgelegt werden, auch traits_type.
Jeder Streampuffer steuert begrifflich zwei unabhängige Streams: ein für Extraktion (Eingabe) und eines für Einfüge- (Ausgabe). Eine bestimmte Darstellung macht möglicherweise jedoch eines oder beide Streams jedoch nicht zugänglich. Sie werden in der Regel eine Beziehung zwischen den zwei Streams bei. Was Sie in den Ausgabestream von basic_stringbuf<Elem, Tr>-Objekt beispielsweise einfügen ist, was Sie später Auszug aus dem Eingabestream. Wenn Sie einen Stream aus basic_filebuf<Elem, Tr>-Objekt positionieren, positionieren Sie den anderen im Stream Tandem.
Die öffentlichen Schnittstelle zur Vorlagenklasse basic_streambuf stellt die Vorgänge, die allen Streampuffern gemeinsam sind, jedoch spezialisiert. Die geschützte Schnittstelle stellt die Vorgänge, die für eine bestimmte Darstellung eines Streams benötigt werden, um seine Arbeit erledigt. Die geschützte virtuelle Memberfunktionen können Sie das Verhalten eines abgeleiteten Streampuffers für eine bestimmte Darstellung eines Streams anpassen. Jeder abgeleitete Streampuffer in dieser Bibliothek werden, wie er das Verhalten der geschützten virtuellen Memberfunktionen spezialisiert. Das Standardverhalten für die Basisklasse, die oft, nichts zu tun ist, wird in diesem Thema beschrieben.
Die verbleibenden geschützten Memberfunktionen steuern das Kopieren in und aus jedem Speicher, der angegeben wird, um die Übertragung vom und Streams zu puffern. Ein Eingabepuffer wird beispielsweise " bezeichnet:
eback, ein Zeiger am Anfang des Puffers.
gptr, ein Zeiger auf das nächste Element zum Lesen.
egptr, ein Zeiger nur nach dem Ende des Puffers.
Entsprechend wird ein Ausgabepuffer " bezeichnet:
pbase, ein Zeiger am Anfang des Puffers.
pptr, ein Zeiger zum nächsten zu schreiben Element.
epptr, ein Zeiger nur nach dem Ende des Puffers.
Für jeden Puffer wird Folgendes Protokoll verwendet:
Wenn der folgende Zeiger NULL ist, besteht kein Puffer. Andernfalls werden alle drei Mauszeiger in die gleiche Sequenz. Sie können für sicher Reihenfolge verglichen werden.
Einen Ausgabepuffer wenn der folgende Zeiger kleiner als der Endenzeiger vergleicht, können Sie ein Element in der Schreibposition speichern, die Zeiger der folgenden festgelegt wird.
Für einen Eingabepuffer wenn der folgende Zeiger kleiner als der Endenzeiger vergleicht, können Sie ein Element in der Leseposition lesen, die vom folgenden Zeiger festgelegt wird.
Für einen Eingabepuffer wenn der Anfangszeiger kleiner als nächster Zeiger vergleicht, können Sie wieder einfügen, die ein Element in der Rückstellungsposition durch den folgenden dekrementierten Zeiger fest.
Alle geschützten virtuellen Memberfunktionen, die Sie für eine Klasse erstellen, die von basic_streambuf<,ElemTr> abgeleitet wird, müssen zusammenarbeiten, beibehalten, dieses Protokoll beizubehalten.
Ein Objekt der Klasse basic_streambuf<Elem, Tr> speichert die sechs zuvor beschriebenen Zeiger. Sie speichert auch ein Gebietsschemaobjekt in ein Objekt des Typs Gebietsschema für eine Verwendung durch einen abgeleiteten Streampuffer.
Konstruktoren
Konstruiert ein Objekt vom Typ basic_streambuf. |
Typedefs
Ordnet einen Typnamen mit dem Vorlagenparameter Elem zu. |
|
Ordnet einen Typnamen innerhalb basic_streambuf Bereichs mit dem Vorlagenparameter Elem zu. |
|
Ordnet einen Typnamen innerhalb basic_streambuf Bereichs mit dem Vorlagenparameter Elem zu. |
|
Ordnet einen Typnamen innerhalb basic_streambuf Bereichs mit dem Vorlagenparameter Elem zu. |
|
Ordnet einen Typnamen mit dem Vorlagenparameter Tr zu. |
Memberfunktionen
Eine geschützte Funktion, die einen Zeiger auf den Anfang des Eingabepuffers zurückgibt. |
|
Eine geschützte Funktion, die einen Zeiger nur nach dem Ende des Eingabepuffers zurückgibt. |
|
Eine geschützte Funktion, die einen Zeiger nur nach dem Ende des Ausgabepuffers zurückgibt. |
|
Eine geschützte Funktion, die den folgenden _Count Zeiger für den Eingabepuffer hinzufügt. |
|
Ruft das Gebietsschema des basic_streambuf-Objekts ab. |
|
Eine geschützte Funktion, die einen Zeiger auf das nächste Element des Eingabepuffers zurückgibt. |
|
Eine geschützte, virtuelle Funktion aufgerufen über pubimbue. |
|
Gibt die Anzahl von Elementen zurück, die bereit sind, aus dem Puffer gelesen werden. |
|
Eine geschützte virtuelle Funktion, die aufgerufen, wenn ein neues Zeichen in einem vollständigen Puffer eingefügt wird. |
|
Eine geschützte virtuelle Memberfunktion, die versucht, die ein Element in dem Eingabestream anzuordnen, dann machen das aktuelle Element (dargestellt für vom folgenden Zeiger). |
|
Eine geschützte Funktion, die einen Zeiger auf den Anfang des Ausgabepuffers zurückgibt. |
|
Eine geschützte Funktion, die den folgenden count Zeiger für den Ausgabepuffer hinzufügt. |
|
Eine geschützte Funktion, die einen Zeiger auf das nächste Element des Ausgabepuffers zurückgibt. |
|
Legt das Gebietsschema des basic_streambuf-Objekts fest. |
|
Ruft seekoff, eine geschützte virtuelle Funktion auf, die in einer abgeleiteten Klasse überschrieben wird. |
|
Ruft seekpos, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben wird auf und fügt die aktuelle Position des Mauszeigers zurück. |
|
Ruft setbuf, eine geschützte virtuelle Funktion auf, die in einer abgeleiteten Klasse überschrieben wird. |
|
Ruft Synchronisierung, eine geschützte virtuelle Funktion, die in einer abgeleiteten Klasse überschrieben wird auf und aktualisiert den externen Stream, der mit diesem Puffer verknüpften wird. |
|
Liest und gibt das aktuelle Element zurück und verschiebt den Stream-Zeiger. |
|
Die Versuche der geschützten virtuellen Memberfunktion, um die aktuelle Position für die kontrollierten Streams zu ändern. |
|
Die Versuche der geschützten virtuellen Memberfunktion, um die aktuelle Position für die kontrollierten Streams zu ändern. |
|
Die geschützte virtuelle Memberfunktion wird eine Vorgangseinzelheit auf jedes abgeleiteten Streampuffer aus. |
|
Eine geschützte Funktion, die Zeiger _Gbeg am Anfang, _Gnext im folgenden Zeiger und _Gend für den im Endenzeiger Eingabepuffer speichert. |
|
Eine geschützte Funktion, die Zeiger _Pend und _Pbeg am Anfang im Endenzeiger für den Ausgabepuffer speichert. |
|
EINGABETASTEaktuelles element, ohne Position im Stream zu ändern. |
|
Gibt die Zahl des Elementlesens zurück. |
|
Geschützte virtuelle Memberfunktion, die einer die Anzahl von Zeichen zurückgibt, die aus dem Eingabestream extrahiert werden und dabei sicherstellen, dass das Programm nicht abhängig von einem unbestimmten Wartevorgang ist. |
|
Liest das aktuelle Element und gibt dem folgenden Element zurück. |
|
Setzt char_type in den Stream ein. |
|
Setzt ein Zeichen in den Stream. |
|
Fügt eine Zeichenfolge in den Stream. |
|
Vorbeibewegung an das aktuelle Element im Stream. |
|
Ruft ein Zeichen vom Stream ab. |
|
Vertauscht die Werte in diesem Objekt für die Werte im bereitgestellten basic_streambuf-Objektparameter aus. |
|
Eine geschützte virtuelle Funktion, die versucht, die Streams kontrollierten mit allen zugeordneten externen Streams zu synchronisieren. |
|
Eine geschützte virtuelle Funktion, die das aktuelle Element im Eingabestream extrahiert. |
|
Eine geschützte virtuelle Funktion, die das aktuelle Element im 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 von einem anderen basic_streambuf-Objekt zu. |
Anforderungen
Header: <streambuf>
Namespace: std
Siehe auch
Referenz
Threadsicherheit in der C++-Standardbibliothek