std::strstreambuf
| 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
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) | |
| [virtuell] |
destruiert ein strstreambuf-Objekt und deallokiert optional das Zeichenarray(virtual public member function) |
| setzt/löscht den "frozen"-Zustand des Puffers (public member function) | |
| markiert den Puffer als eingefroren und gibt den Anfangszeiger der Eingabesequenz zurück (public member function) | |
| gibt den Zeiger auf das nächste Zeichen abzüglich des Anfangszeigers der Ausgabesequenz zurück: die Anzahl der geschriebenen Zeichen (public member function) | |
Geschützte Memberfunktionen | |
| [virtuell] |
liest ein Zeichen aus der Eingabesequenz, ohne den Zeiger auf das nächste Zeichen vorzuschieben (virtual protected member function) |
| [virtuell] |
macht die Eingabesequenz rückgängig, um ein Zeichen zurückzulegen (virtual protected member function) |
| [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) |
| [virtuell] |
versucht, die gesteuerte Zeichensequenz durch ein Array zu ersetzen (virtual protected member function) |
| [virtuell] |
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung relativer Adressierung (virtual protected member function) |
| [virtuell] |
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung absoluter Adressierung (virtual protected member function) |
Geerbt von std::basic_streambuf
Membertypen
| Mitgliedertyp | 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 Member-Funktion von std::basic_streambuf<CharT,Traits>) |
Lokale | |
| ändert die zugeordnete Locale und ruft imbue() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| holt eine Kopie der zugeordneten Locale (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
Positionierung | |
| ruft setbuf() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| ruft seekoff() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| ruft seekpos() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| ruft sync() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
Get-Bereich | |
| holt die Anzahl der im Get-Bereich sofort verfügbaren Zeichen (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| bewegt die Eingabesequenz vorwärts und liest dann ein Zeichen, ohne erneut vorzurücken (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| (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>) |
| liest ein Zeichen aus der Eingabesequenz, ohne die Sequenz vorzurücken (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| ruft xsgetn() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
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>) | |
| ruft xsputn() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
Putback | |
| legt ein Zeichen zurück in die Eingabesequenz (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| verschiebt den nächsten Zeiger in der Eingabesequenz um eins zurück (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
Geschützte Memberfunktionen
konstruiert ein basic_streambuf-Objekt(geschützte Member-Funktion) | |
| (C++11) |
ersetzt ein basic_streambuf-Objekt(geschützte Member-Funktion) |
| (C++11) |
tauscht zwei basic_streambuf-Objekte(geschützte Member-Funktion) |
Lokale | |
| [virtuell] |
reagiert auf eine Änderung der zugeordneten Locale (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
Positionierung | |
| [virtuell] |
ersetzt den Puffer durch ein benutzerdefiniertes Array, falls zulässig (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [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>) |
| [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>) |
| [virtuell] |
synchronisiert die Puffer mit der zugeordneten Zeichensequenz (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
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>) |
| [virtuell] |
liest Zeichen aus der zugeordneten Eingabesequenz in den Get-Bereich (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [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>) |
| [virtuell] |
liest mehrere Zeichen aus der Eingabesequenz (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| gibt einen Zeiger auf den Anfang, das aktuelle Zeichen und das Ende des Get-Bereichs zurück (geschützte Member-Funktion) | |
| rückt den nächsten Zeiger in der Eingabesequenz vor (geschützte Member-Funktion) | |
| positioniert die Zeiger für Anfang, nächsten und Ende der Eingabesequenz neu (geschützte Member-Funktion) | |
Put-Bereich | |
| [virtuell] |
schreibt mehrere Zeichen in die Ausgabesequenz (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| [virtuell] |
schreibt Zeichen aus dem Put-Bereich in die zugeordnete Ausgabesequenz (virtuelle geschützte Member-Funktion 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) | |
| rückt den nächsten Zeiger der Ausgabesequenz vor (geschützte Member-Funktion) | |
| positioniert die Zeiger für Anfang, nächsten und Ende der Ausgabesequenz neu (geschützte Member-Funktion) | |
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>) |