std:: basic_stringbuf
|
Definiert im Header
<sstream>
|
||
|
template
<
class
CharT,
|
||
std::basic_stringbuf
ist ein
std::basic_streambuf
, dessen zugehörige Zeichenfolge eine speicherresidente Folge beliebiger Zeichen ist, die aus einer Instanz von
std::basic_string
initialisiert oder als solche verfügbar gemacht werden kann.
Typische Implementierungen von
std::basic_stringbuf
halten ein Objekt vom Typ
std::basic_string
oder einen äquivalenten anpassbaren Sequenzcontainer direkt als Datenmember und verwenden es sowohl als gesteuerte Zeichensequenz (das Array, auf das die sechs Zeiger von
std::basic_streambuf
zeigen) als auch als zugeordnete Zeichensequenz (die Quelle von Zeichen für alle Eingabeoperationen und das Ziel für die Ausgabe).
Zusätzlich enthält eine typische Implementierung ein Datenmitglied vom Typ std::ios_base::openmode um den I/O-Modus des zugehörigen Streams anzugeben (nur Eingabe, nur Ausgabe, Eingabe/Ausgabe, am Ende, etc.).
|
Falls eine Überbelegungsstrategie von overflow() verwendet wird, kann ein zusätzlicher High-Watermark-Zeiger gespeichert werden, um das letztinitialisierte Zeichen zu verfolgen. |
(since C++11) |
Es werden mehrere Typdefinitionen für gängige Zeichentypen bereitgestellt:
|
Definiert im Header
<sstream>
|
|
| Typ | Definition |
std::stringbuf
|
std :: basic_stringbuf < char > |
std::wstringbuf
|
std :: basic_stringbuf < wchar_t > |
Inhaltsverzeichnis |
Mitgliedertypen
| 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
|
allocator_type
|
Allocator
|
Nur zur Darstellung bestimmte Member
buf
|
der
std::
basic_string
<
CharT, Traits, Allocator
>
, der als zugrundeliegender Puffer verwendet wird
( Nur zur Darstellung verwendetes Mitgliedsobjekt* ) |
mode
|
der
std::ios_base::openmode
des zugehörigen Streams
( Nur zur Darstellung verwendetes Mitgliedsobjekt* ) |
|
initialisiert die Eingabe- und Ausgabesequenzen
( Nur zur Darstellung verwendete Mitgliedsfunktion* ) |
Öffentliche Elementfunktionen
konstruiert ein
basic_stringbuf
Objekt
(öffentliche Elementfunktion) |
|
|
(C++11)
|
weist ein
basic_stringbuf
Objekt zu
(öffentliche Elementfunktion) |
|
(C++11)
|
tauscht zwei
basic_stringbuf
Objekte
(öffentliche Elementfunktion) |
|
(destructor)
[virtual]
(implizit deklariert)
|
zerstört ein
basic_stringbuf
Objekt und die enthaltene Zeichenkette
(virtuelle öffentliche Elementfunktion) |
|
ersetzt oder erhält eine Kopie der assoziierten Zeichenkette
(öffentliche Elementfunktion) |
|
|
(C++20)
|
erhält eine Kopie des mit dem internen Sequenzcontainer assoziierten Allokators
(öffentliche Elementfunktion) |
|
(C++20)
|
erhält eine Ansicht über die zugrundeliegende Zeichensequenz
(öffentliche Elementfunktion) |
Geschützte Memberfunktionen
|
[virtual]
|
gibt das nächste verfügbare Zeichen in der Eingabesequenz zurück
(virtuelle geschützte Memberfunktion) |
|
[virtual]
|
stellt ein Zeichen wieder in die Eingabesequenz zurück
(virtuelle geschützte Memberfunktion) |
|
[virtual]
|
hängt ein Zeichen an die Ausgabesequenz an
(virtuelle geschützte Memberfunktion) |
|
[virtual]
|
versucht, die gesteuerte Zeichensequenz durch ein Array zu ersetzen
(virtuelle geschützte Memberfunktion) |
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden unter Verwendung relativer Adressierung neu
(virtuelle geschützte Memberfunktion) |
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden unter Verwendung absoluter Adressierung neu
(virtuelle geschützte Memberfunktion) |
Nicht-Member-Funktionen
|
(C++11)
|
spezialisiert den
std::swap
Algorithmus
(Funktions-Template) |
Geerbt von std:: basic_streambuf
Membertypen
| 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 sofort verfügbarer 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
(ö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 Memberfunktion 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]
|
Fügt ein Zeichen zurück in die Eingabesequenz ein und modifiziert möglicherweise die Eingabesequenz
(geschützte virtuelle Memberfunktion von
std::basic_streambuf<CharT,Traits>
)
|