Namespaces
Variants

std:: basic_stringbuf

From cppreference.net
< cpp ‎ | io
Definiert im Header <sstream>
template <

class CharT,
class Traits = std:: char_traits < CharT > ,
class Allocator = std:: allocator < CharT >
> class basic_stringbuf

: public std:: basic_streambuf < CharT, Traits >

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)
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

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> )