Namespaces
Variants

std:: basic_spanbuf

From cppreference.net
< cpp ‎ | io
std::basic_spanbuf
Definiert im 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 zugeordnete Zeichenfolge eine speicherresidente Folge beliebiger Zeichen ist, die von einer Instanz von std:: span < CharT > initialisiert oder als solche verfügbar gemacht werden kann.

std::basic_spanbuf führt E/A-Operationen auf einem festen Puffer aus und versucht daher nicht, einen neuen Puffer zu beschaffen, wenn der zugrundeliegende Puffer erschöpft ist.

Es werden mehrere Typdefinitionen für gängige Zeichentypen bereitgestellt:

Definiert im Header <spanstream>
Typ Definition
std::spanbuf std :: basic_spanbuf < char >
std::wspanbuf std :: basic_spanbuf < 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

Datenmitglieder

Mitgliedername Definition
mod (privat) Ein std::ios_base::openmode der den Öffnungsmodus speichert.
( Nur zur Darstellung verwendetes Mitgliedsobjekt* )
buf (privat) Ein std:: span < CharT > der auf den zugrundeliegenden Puffer verweist.
( Nur zur Darstellung verwendetes Mitgliedsobjekt* )

Memberfunktionen

Öffentliche Elementfunktionen
konstruiert ein basic_spanbuf Objekt
(öffentliche Elementfunktion)
(destructor)
[virtual]
zerstört das basic_spanbuf Objekt
(virtuelle öffentliche Elementfunktion)
weist ein basic_spanbuf Objekt zu
(öffentliche Elementfunktion)
tauscht zwei basic_spanbuf Objekte
(öffentliche Elementfunktion)
erhält oder initialisiert einen zugrundeliegenden Puffer entsprechend des Modus
(öffentliche Elementfunktion)
Geschützte Elementfunktionen
[virtual]
versucht, die kontrollierte Zeichensequenz durch ein Array zu ersetzen
(virtuelle geschützte Elementfunktion)
[virtual]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden unter Verwendung relativer Adressierung neu
(virtuelle geschützte Elementfunktion)
[virtual]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden unter Verwendung absoluter Adressierung neu
(virtuelle geschützte Elementfunktion)

Nicht-Member-Funktionen

spezialisiert den std::swap Algorithmus
(Funktionsschablone)

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 erneutes Vorrücken
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
(entfernt in C++17)
liest ein Zeichen aus der Eingabesequenz und bewegt die Sequenz vor
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
liest ein Zeichen aus der Eingabesequenz ohne die Sequenz zu bewegen
(ö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 zurück in die Eingabesequenz
(ö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
(virtuelle geschützte 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> )

Hinweise

std::basic_spanbuf besitzt nicht den zugrundeliegenden Puffer.

Es liegt in der Verantwortung der Programmierer, sicherzustellen, dass der zugrundeliegende Puffer sich in seiner Lebensdauer befindet, wenn er von einem std::basic_spanbuf -Objekt verwendet wird. Zusätzliche Synchronisierung kann erforderlich sein, wenn mehr als ein Thread denselben zugrundeliegenden Puffer über verschiedene std::basic_spanbuf -Objekte bedient.

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

Siehe auch

implementiert Roh-String-Device
(Klassen-Template)
(veraltet in C++98) (entfernt in C++26)
implementiert Roh-Zeichenarray-Device
(Klasse)