Namespaces
Variants

std:: strstreambuf

From cppreference.net
< cpp ‎ | io
Definiert im Header <strstream>
class strstreambuf : public std:: basic_streambuf < char >
(veraltet in C++98)
(entfernt in C++26)

std::strstreambuf ist ein std::basic_streambuf , dessen zugehörige Zeichenfolge ein Zeichenarray ist, das konstant sein kann (z.B. ein String-Literal), modifizierbar aber nicht dynamisch (z.B. ein stack-allokiertes Array) oder dynamisch, wobei der std::strstreambuf möglicherweise das Array bei Bedarf neu allokieren darf, um die Ausgabe aufzunehmen (z.B. durch Aufruf von delete [ ] und new [ ] oder benutzerdefinierter Funktionen).

Typische Implementierung eines std::strstreambuf enthält vier private Datenmitglieder:

1) Buffer-Zustand, ein Bitmaskentyp, der jede Kombination der vier Werte "allocated" (Destruktor wird freigeben), "constant" (Ausgabe nicht erlaubt), "dynamic" (Ausgabe kann neu allokieren) oder "frozen" (Freigabe und Neuzuweisung sind nicht erlaubt) darstellen kann
2) zugewiesene Puffergröße (der Anfang des Puffers benötigt kein spezielles Datenmitglied, kann im geerbten Zeiger gespeichert werden eback() )
3) Zeiger auf benutzerdefinierte Allokationsfunktion
4) Zeiger auf eine benutzerdefinierte Freigabefunktion.

Inhaltsverzeichnis

Hinweise

Nach jedem Aufruf von str() auf einem Stream mit dynamischem Puffer ist ein Aufruf von freeze(false) erforderlich, um dem strstreambuf -Destruktor zu ermöglichen, den Puffer bei Bedarf freizugeben.

strstreambuf ist seit C++98 als veraltet markiert und wurde seit C++26 entfernt . Die empfohlene Ersetzung ist std::spanbuf (seit C++23) .

Memberfunktionen

Öffentliche Elementfunktionen

konstruiert ein strstreambuf -Objekt
(öffentliche Elementfunktion)
[virtual]
zerstört ein strstreambuf -Objekt, optional unter Freigabe des Zeichenarrays
(virtuelle öffentliche Elementfunktion)
setzt/löscht den eingefrorenen Zustand des Puffers
(öffentliche Elementfunktion)
markiert den Puffer als eingefroren und gibt den Startzeiger der Eingabesequenz zurück
(öffentliche Elementfunktion)
gibt den nächsten Zeiger minus dem Startzeiger in der Ausgabesequenz zurück: die Anzahl geschriebener Zeichen
(öffentliche Elementfunktion)

Geschützte Elementfunktionen

[virtual]
liest ein Zeichen aus der Eingabesequenz ohne den nächsten Zeiger zu bewegen
(virtuelle geschützte Elementfunktion)
[virtual]
bewegt die Eingabesequenz zurück, um ein Zeichen zurückzustellen
(virtuelle geschützte Elementfunktion)
[virtual]
fügt ein Zeichen an die Ausgabesequenz an, kann den Puffer neu allozieren oder initial allozieren wenn dynamisch und nicht eingefroren
(virtuelle geschützte Elementfunktion)
[virtual]
versucht die gesteuerte Zeichensequenz durch ein Array zu ersetzen
(virtuelle geschützte Elementfunktion)
[virtual]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Elementfunktion)
[virtual]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu unter Verwendung absoluter Adressierung
(virtuelle geschützte Elementfunktion)

Geerbt von std:: basic_streambuf

Mitgliedertypen

Mitgliedtyp Definition
char_type CharT
traits_type Traits ; das Programm ist fehlerhaft, wenn Traits::char_type nicht CharT ist.
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Memberfunktionen

[virtuell]
zerstört das basic_streambuf -Objekt
(virtuelle öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
Locales
ändert die assoziierte Locale und ruft imbue ( ) auf
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
erhält eine Kopie der assoziierten Locale
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
Positionierung
ruft setbuf ( ) auf
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
ruft seekoff ( ) auf
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
ruft seekpos ( ) auf
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
ruft sync ( ) auf
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
Lesebereich
ermittelt die Anzahl der sofort verfügbaren Zeichen im Lesebereich
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
bewegt die Eingabesequenz vor und liest ein Zeichen ohne erneute Bewegung
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
(entfernt in C++17)
liest ein Zeichen aus der Eingabesequenz und bewegt die Sequenz vor
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
liest ein Zeichen aus der Eingabesequenz ohne Bewegung der Sequenz
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
ruft xsgetn ( ) auf
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
Schreibbereich
schreibt ein Zeichen in den Schreibbereich und bewegt den nächsten Zeiger
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
ruft xsputn ( ) auf
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
Zurücklegen
legt ein Zeichen in der Eingabesequenz zurück
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
bewegt den nächsten Zeiger in der Eingabesequenz um eine Position zurück
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )

Geschützte Memberfunktionen

konstruiert ein basic_streambuf Objekt
(geschützte Elementfunktion)
(C++11)
ersetzt ein basic_streambuf Objekt
(geschützte Elementfunktion)
(C++11)
tauscht zwei basic_streambuf Objekte aus
(geschützte Elementfunktion)
Locales
[virtual]
reagiert auf eine Änderung des assoziierten Locale
(virtuelle geschützte Memberfunktion von std::basic_streambuf<CharT,Traits> )
Positionierung
[virtual]
ersetzt den Puffer durch ein benutzerdefiniertes Array, falls erlaubt
(virtuelle geschützte Elementfunktion von std::basic_streambuf<CharT,Traits> )
[virtual]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Memberfunktion von std::basic_streambuf<CharT,Traits> )
[virtual]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden mittels absoluter Adressierung neu
(virtuelle geschützte Memberfunktion von std::basic_streambuf<CharT,Traits> )
[virtual]
synchronisiert die Puffer mit der assoziierten Zeichensequenz
(virtuelle geschützte Elementfunktion von std::basic_streambuf<CharT,Traits> )
Bereich abrufen
[virtual]
Ermittelt die Anzahl der für die Eingabe verfügbaren Zeichen in der zugehörigen Eingabesequenz, falls bekannt
(geschützte virtuelle Memberfunktion von std::basic_streambuf<CharT,Traits> )
[virtual]
Liest Zeichen aus der zugehörigen Eingabesequenz in den Get-Bereich
(virtuelle geschützte Memberfunktion von std::basic_streambuf<CharT,Traits> )
[virtual]
Liest Zeichen aus der zugehörigen Eingabesequenz in den Get-Bereich und bewegt den nächsten Zeiger vorwärts
(virtuelle geschützte Memberfunktion von std::basic_streambuf<CharT,Traits> )
[virtual]
liest mehrere Zeichen aus der Eingabesequenz
(virtuelle geschützte Memberfunktion von std::basic_streambuf<CharT,Traits> )
gibt einen Zeiger auf den Anfang, das aktuelle Zeichen und das Ende des Lesebereichs zurück
(geschützte Elementfunktion)
bewegt den nächsten Zeiger in der Eingabesequenz vor
(geschützte Elementfunktion)
positioniert die Anfangs-, Nächste- und End-Zeiger der Eingabesequenz neu
(geschützte Elementfunktion)
Put-Bereich
[virtual]
Schreibt mehrere Zeichen in die Ausgabesequenz
(geschützte virtuelle Memberfunktion von std::basic_streambuf<CharT,Traits> )
[virtual]
Schreibt Zeichen in die zugehörige Ausgabesequenz aus dem Put-Bereich
(virtuelle geschützte Memberfunktion von std::basic_streambuf<CharT,Traits> )
gibt einen Zeiger auf den Anfang, das aktuelle Zeichen und das Ende des Put-Bereichs zurück
(geschützte Member-Funktion)
bewegt den nächsten Zeiger der Ausgabesequenz vorwärts
(geschützte Elementfunktion)
positioniert die Anfangs-, Nächste- und End-Zeiger der Ausgabesequenz neu
(geschützte Elementfunktion)
Putback
[virtual]
setzt ein Zeichen zurück in die Eingabesequenz und modifiziert möglicherweise die Eingabesequenz
(geschützte virtuelle Memberfunktion von std::basic_streambuf<CharT,Traits> )