Namensräume
Varianten
Aktionen

std::strstreambuf

Von cppreference.com
< cpp‎ | io
 
 
 
 
Definiert in 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 Zeichensequenz ein Zeichenarray ist, welches konstant sein kann (z.B. ein String-Literal), veränderbar, aber nicht dynamisch (z.B. ein auf dem Stack allokiertes Array) oder dynamisch, in welchem Fall dem std::strstreambuf erlaubt sein kann, das Array bei Bedarf neu zu allokieren, um Ausgaben unterzubringen (z.B. durch Aufruf von delete[] und new[] oder benutzergestellten Funktionen).

Eine typische Implementierung eines std::strstreambuf enthält vier private Datenmember

1) Pufferzustand, ein Bitmaskentyp, der jede Kombination der vier Werte "allokiert" (Destruktor wird deallokieren), "konstant" (Ausgabe nicht erlaubt), "dynamisch" (Ausgabe kann neu allokiert werden) oder "eingefroren" (Deallokation und Neualokation sind nicht erlaubt) darstellen kann.
2) Größe des allokierten Puffers (der Anfang des Puffers benötigt kein spezielles Datenmember, er kann im geerbten Zeiger eback() gespeichert werden).
3) Zeiger auf eine vom Benutzer bereitgestellte Allokationsfunktion.
4) Zeiger auf eine vom Benutzer bereitgestellte Deallokationsfunktion.

Inhalt

[edit] Anmerkungen

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

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

[edit] Memberfunktionen

Öffentliche Memberfunktionen

konstruiert ein strstreambuf-Objekt
(public member function) [edit]
[virtuell]
destruiert ein strstreambuf-Objekt und deallokiert optional das Zeichenarray
(virtual public member function) [edit]
setzt/löscht den "frozen"-Zustand des Puffers
(public member function) [edit]
markiert den Puffer als eingefroren und gibt den Anfangszeiger der Eingabesequenz zurück
(public member function) [edit]
gibt den Zeiger auf das nächste Zeichen abzüglich des Anfangszeigers der Ausgabesequenz zurück: die Anzahl der geschriebenen Zeichen
(public member function) [edit]

Geschützte Memberfunktionen

[virtuell]
liest ein Zeichen aus der Eingabesequenz, ohne den Zeiger auf das nächste Zeichen vorzuschieben
(virtual protected member function) [edit]
[virtuell]
macht die Eingabesequenz rückgängig, um ein Zeichen zurückzulegen
(virtual protected member function) [edit]
[virtuell]
hängt ein Zeichen an die Ausgabesequenz an, kann den Puffer neu allokieren oder initial allokieren, falls er dynamisch und nicht eingefroren ist
(virtual protected member function) [edit]
[virtuell]
versucht, die gesteuerte Zeichensequenz durch ein Array zu ersetzen
(virtual protected member function) [edit]
[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung relativer Adressierung
(virtual protected member function) [edit]
[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung absoluter Adressierung
(virtual protected member function) [edit]

Geerbt von std::basic_streambuf

Membertypen

Mitgliedertyp Definition
char_type CharT[bearbeiten]
traits_type Traits; das Programm ist fehlerhaft, wenn Traits::char_type nicht CharT ist.[bearbeiten]
int_type Traits::int_type[bearbeiten]
pos_type Traits::pos_type[bearbeiten]
off_type Traits::off_type[bearbeiten]

Memberfunktionen

[virtuell]
zerstört das basic_streambuf-Objekt
(virtuelle öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
Lokale
ändert die zugeordnete Locale und ruft imbue() auf
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
holt eine Kopie der zugeordneten Locale
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
Positionierung
ruft setbuf() auf
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
ruft seekoff() auf
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
ruft seekpos() auf
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
ruft sync() auf
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
Get-Bereich
holt die Anzahl der im Get-Bereich sofort verfügbaren Zeichen
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
bewegt die Eingabesequenz vorwärts und liest dann ein Zeichen, ohne erneut vorzurücken
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
(in C++17 entfernt)
liest ein Zeichen aus der Eingabesequenz und rückt die Sequenz vor
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
liest ein Zeichen aus der Eingabesequenz, ohne die Sequenz vorzurücken
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
ruft xsgetn() auf
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
Put-Bereich
schreibt ein Zeichen in den Put-Bereich und rückt den nächsten Zeiger vor
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
ruft xsputn() auf
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
Putback
legt ein Zeichen zurück in die Eingabesequenz
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
verschiebt den nächsten Zeiger in der Eingabesequenz um eins zurück
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]

Geschützte Memberfunktionen

konstruiert ein basic_streambuf-Objekt
(geschützte Member-Funktion) [bearbeiten]
(C++11)
ersetzt ein basic_streambuf-Objekt
(geschützte Member-Funktion) [bearbeiten]
(C++11)
tauscht zwei basic_streambuf-Objekte
(geschützte Member-Funktion) [bearbeiten]
Lokale
[virtuell]
reagiert auf eine Änderung der zugeordneten Locale
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
Positionierung
[virtuell]
ersetzt den Puffer durch ein benutzerdefiniertes Array, falls zulässig
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung absoluter Adressierung
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
[virtuell]
synchronisiert die Puffer mit der zugeordneten Zeichensequenz
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
Get-Bereich
[virtuell]
holt die Anzahl der für die Eingabe in der zugeordneten Eingabesequenz verfügbaren Zeichen, falls bekannt
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
[virtuell]
liest Zeichen aus der zugeordneten Eingabesequenz in den Get-Bereich
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
[virtuell]
liest Zeichen aus der zugeordneten Eingabesequenz in den Get-Bereich und rückt den nächsten Zeiger vor
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
[virtuell]
liest mehrere Zeichen aus der Eingabesequenz
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
gibt einen Zeiger auf den Anfang, das aktuelle Zeichen und das Ende des Get-Bereichs zurück
(geschützte Member-Funktion) [bearbeiten]
rückt den nächsten Zeiger in der Eingabesequenz vor
(geschützte Member-Funktion) [bearbeiten]
positioniert die Zeiger für Anfang, nächsten und Ende der Eingabesequenz neu
(geschützte Member-Funktion) [bearbeiten]
Put-Bereich
[virtuell]
schreibt mehrere Zeichen in die Ausgabesequenz
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
[virtuell]
schreibt Zeichen aus dem Put-Bereich in die zugeordnete Ausgabesequenz
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
gibt einen Zeiger auf den Anfang, das aktuelle Zeichen und das Ende des Put-Bereichs zurück
(geschützte Member-Funktion) [bearbeiten]
rückt den nächsten Zeiger der Ausgabesequenz vor
(geschützte Member-Funktion) [bearbeiten]
positioniert die Zeiger für Anfang, nächsten und Ende der Ausgabesequenz neu
(geschützte Member-Funktion) [bearbeiten]
Putback
[virtuell]
legt ein Zeichen in die Eingabesequenz zurück, möglicherweise unter Änderung der Eingabesequenz
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]