Namensräume
Varianten
Aktionen

std::basic_stringbuf

Von cppreference.com
< cpp‎ | io
 
 
 
 
Definiert in Header <sstream>
template<

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

    : public std::basic_streambuf<CharT, Traits>

std::basic_stringbuf ist ein std::basic_streambuf, dessen zugeordnete Zeichensequenz eine speicherresidentielle Sequenz beliebiger Zeichen ist, die von einer Instanz von std::basic_string initialisiert werden oder als solche verfügbar gemacht werden kann.

Typische Implementierungen von std::basic_stringbuf speichern ein Objekt vom Typ std::basic_string oder einen äquivalenten änderbaren Sequenzcontainer direkt als Datenmember und verwenden ihn sowohl als gesteuerte Zeichensequenz (das Array, auf das die sechs Zeiger von std::basic_streambuf zeigen) als auch als zugeordnete Zeichensequenz (die Quelle der Zeichen für alle Eingabeoperationen und das Ziel für die Ausgabe).

Zusätzlich speichert eine typische Implementierung einen Datenmember vom Typ std::ios_base::openmode, um den E/A-Modus des zugehörigen Streams anzuzeigen (nur Eingabe, nur Ausgabe, Ein-/Ausgabe, Ende, etc.).

Wenn eine Überallokationsstrategie von overflow() verwendet wird, kann ein zusätzlicher High-Watermark-Zeiger gespeichert werden, um das zuletzt initialisierte Zeichen zu verfolgen.

(seit C++11)

Mehrere Typedefs für gängige Zeichentypen werden bereitgestellt

Definiert in Header <sstream>
Typ Definition
std::stringbuf std::basic_stringbuf<char>
std::wstringbuf std::basic_stringbuf<wchar_t>

Inhalt

[bearbeiten] Member types

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]
allocator_type Allocator[bearbeiten]

[bearbeiten] Exposition-only Mitglieder

buf die std::basic_string<CharT, Traits, Allocator>, die als zugrundeliegender Puffer verwendet wird
((exposition-only member object*)
mode der std::ios_base::openmode des zugeordneten Streams
((exposition-only member object*)
initialisiert die Eingabe- und Ausgabesequenzen
(exposition-only Member-Funktion*)

[bearbeiten] Public Memberfunktionen

konstruiert ein basic_stringbuf-Objekt
(public member function) [bearbeiten]
(C++11)
weist ein basic_stringbuf-Objekt zu
(public member function) [bearbeiten]
(C++11)
tauscht zwei basic_stringbuf-Objekte
(public member function) [bearbeiten]
(Destruktor)
[virtual] (implizit deklariert)
destruiert ein basic_stringbuf-Objekt und den von ihm gehaltenen String
(virtual public member function) [bearbeiten]
ersetzt oder ruft eine Kopie des zugeordneten Zeichenstrings ab
(public member function) [bearbeiten]
ruft einen Allocator ab, der dem internen Sequenzcontainer zugeordnet ist
(public member function) [bearbeiten]
(C++20)
ruft eine Ansicht der zugrundeliegenden Zeichensequenz ab
(public member function) [bearbeiten]

[bearbeiten] Protected Memberfunktionen

[virtuell]
gibt das nächste in der Eingabesequenz verfügbare Zeichen zurück
(virtual protected member function) [bearbeiten]
[virtuell]
legt ein Zeichen zurück in die Eingabesequenz
(virtual protected member function) [bearbeiten]
[virtuell]
hängt ein Zeichen an die Ausgabesequenz an
(virtual protected member function) [bearbeiten]
[virtuell]
versucht, die gesteuerte Zeichensequenz durch ein Array zu ersetzen
(virtual protected member function) [bearbeiten]
[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung relativer Adressierung
(virtual protected member function) [bearbeiten]
[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung absoluter Adressierung
(virtual protected member function) [bearbeiten]

[bearbeiten] Nicht-Memberfunktionen

spezialisiert den Algorithmus std::swap
(Funktionsvorlage) [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]