Namensräume
Varianten
Aktionen

std::basic_spanbuf

Von cppreference.com
< cpp‎ | io
 
 
 
std::basic_spanbuf
Öffentliche Memberfunktionen
Geschützte Memberfunktionen
Nicht-Member-Funktionen
 
Definiert in Header <spanstream>
template<

    class CharT,
    class Traits = std::char_traits<CharT>
> class basic_spanbuf

    : public std::basic_streambuf<CharT, Traits>
(seit C++23)

std::basic_spanbuf ist ein std::basic_streambuf, dessen zugehörige Zeichensequenz eine speicherresidente Sequenz beliebiger Zeichen ist, die aus einer Instanz von std::span<CharT> initialisiert oder als eine solche verfügbar gemacht werden kann.

std::basic_spanbuf führt E/A auf einem festen Puffer durch und versucht daher nicht, einen neuen Puffer zu erhalten, wenn der zugrunde liegende Puffer erschöpft ist.

Mehrere Typedefs für gängige Zeichentypen werden bereitgestellt

Definiert in Header <spanstream>
Typ Definition
std::spanbuf std::basic_spanbuf<char>
std::wspanbuf std::basic_spanbuf<wchar_t>

Inhalt

[bearbeiten] Member-Typen

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]

[bearbeiten] Datenelemente

Member-Name Definition
mod (private) Ein std::ios_base::openmode, das den Öffnungsmodus speichert.
((exposition-only member object*)
buf (private) Ein std::span<CharT>, der auf den zugrunde liegenden Puffer verweist.
((exposition-only member object*)

[bearbeiten] Memberfunktionen

Öffentliche Memberfunktionen
erstellt ein basic_spanbuf-Objekt
(öffentliche Memberfunktion) [bearbeiten]
(Destruktor)
[virtuell]
zerstört das basic_spanbuf-Objekt
(virtuelle öffentliche Memberfunktion)
weist ein basic_spanbuf-Objekt zu
(öffentliche Memberfunktion) [bearbeiten]
tauscht zwei basic_spanbuf-Objekte
(öffentliche Memberfunktion) [bearbeiten]
ruft einen zugrunde liegenden Puffer ab oder initialisiert ihn gemäß dem Modus
(öffentliche Memberfunktion) [bearbeiten]
Geschützte Memberfunktionen
[virtuell]
versucht, die gesteuerte Zeichensequenz durch ein Array zu ersetzen
(virtuelle geschützte Memberfunktion) [bearbeiten]
[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Memberfunktion) [bearbeiten]
[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung absoluter Adressierung
(virtuelle geschützte Memberfunktion) [bearbeiten]

[bearbeiten] Nicht-Member-Funktionen

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]

[bearbeiten] Hinweise

std::basic_spanbuf besitzt den zugrunde liegenden Puffer nicht.

Es liegt in der Verantwortung des Programmierers sicherzustellen, dass der zugrunde liegende Puffer während seiner Verwendung durch ein std::basic_spanbuf-Objekt in seinem Lebenszyklus existiert. Zusätzliche Synchronisation kann erforderlich sein, wenn mehr als ein Thread denselben zugrunde liegenden Puffer über verschiedene std::basic_spanbuf-Objekte hinweg verwendet.

Feature-Test-Makro Wert Std Feature
__cpp_lib_spanstream 202106L (C++23) std::spanbuf, std::spanstream

[bearbeiten] Siehe auch

implementiert rohe String-Geräte
(Klassen-Template) [bearbeiten]
(in C++98 veraltet)(in C++26 entfernt)
implementiert rohe Zeichen-Array-Geräte
(Klasse) [bearbeiten]