std:: basic_osyncstream
|
Definiert im Header
<syncstream>
|
||
|
template
<
class
CharT,
|
(seit C++20) | |
Die Klassenvorlage
std::basic_osyncstream
ist ein praktischer Wrapper für
std::basic_syncbuf
. Sie bietet einen Mechanismus zur Synchronisierung von Threads, die in denselben Stream schreiben.
Es kann mit einer benannten Variable verwendet werden:
sowie mit einem Temporären:
std::osyncstream(std::cout) << "Hallo, " << "Welt!" << '\n';
Es bietet die Garantie, dass alle Ausgaben an denselben endgültigen Zielpuffer (
std::cout
in den obigen Beispielen) frei von Datenrennen sein werden und auf keine Weise vermischt oder verstümmelt werden, solange jeder Schreibvorgang in diesen endgültigen Zielpuffer über (möglicherweise verschiedene) Instanzen von
std::basic_osyncstream
erfolgt.
Typische Implementierung von
std::basic_osyncstream
enthält nur ein Mitglied: den eingepackten
std::basic_syncbuf
.
Vererbungsdiagramm
Es werden mehrere Typdefinitionen für gängige Zeichentypen bereitgestellt:
|
Definiert in Header
<syncstream>
|
|
| Typ | Definition |
std::osyncstream
|
std :: basic_osyncstream < char > |
std::wosyncstream
|
std :: basic_osyncstream < 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
|
streambuf_type
|
std:: basic_streambuf < CharT, Traits > |
syncbuf_type
|
std:: basic_syncbuf < CharT, Traits, Allocator > |
Memberfunktionen
Konstruiert ein
basic_osyncstream
Objekt
(öffentliche Elementfunktion) |
|
weist ein
basic_osyncstream
Objekt zu
(öffentliche Elementfunktion) |
|
zerstört den
basic_osyncstream
und gibt seinen internen Puffer frei
(öffentliche Elementfunktion) |
|
erhält einen Zeiger auf den zugrundeliegenden
basic_syncbuf
(öffentliche Elementfunktion) |
|
|
erhält einen Zeiger auf den finalen Ziel-Stream-Puffer
(öffentliche Elementfunktion) |
|
ruft
emit()
auf dem zugrundeliegenden
basic_syncbuf
auf, um seine internen Daten an das finale Ziel zu übertragen
(öffentliche Elementfunktion) |
Geerbt von std:: basic_ostream
Elementfunktionen
Formatierte Ausgabe |
|
|
fügt formatierte Daten ein
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
Unformatierte Ausgabe |
|
|
fügt ein Zeichen ein
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
|
fügt Zeichenblöcke ein
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
Positionierung |
|
|
gibt die Ausgabepositionsanzeige zurück
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
|
setzt die Ausgabepositionsanzeige
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
Verschiedenes |
|
|
synchronisiert mit dem zugrundeliegenden Speichergerät
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
Elementklassen
|
implementiert grundlegende Logik für die Vorbereitung des Streams für Ausgabeoperationen
(öffentliche Elementklasse von
std::basic_ostream<CharT,Traits>
)
|
Geerbt von std:: basic_ios
Member-Typen
| Member-Typ | Definition |
char_type
|
CharT
|
traits_type
|
Traits
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
Member-Funktionen
Status-Funktionen |
|
|
prüft, ob kein Fehler aufgetreten ist, d.h. I/O-Operationen verfügbar sind
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
prüft, ob das Dateiende erreicht wurde
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
prüft, ob ein Fehler aufgetreten ist
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
prüft, ob ein nicht behebbarer Fehler aufgetreten ist
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
prüft, ob ein Fehler aufgetreten ist (Synonym für
fail()
)
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
prüft, ob kein Fehler aufgetreten ist (Synonym für
!
fail()
)
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
gibt Statusflags zurück
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
setzt Statusflags
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
modifiziert Statusflags
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
Formatierung |
|
|
kopiert Formatierungsinformationen
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
verwaltet das Füllzeichen
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
Sonstiges |
|
|
verwaltet die Ausnahmemaske
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
setzt das Locale
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
verwaltet den assoziierten Streampuffer
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
verwaltet den verknüpften Stream
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
verengt Zeichen
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
|
erweitert Zeichen
(öffentliche Member-Funktion von
std::basic_ios<CharT,Traits>
)
|
|
Geerbt von std:: ios_base
Memberfunktionen
Formatierung |
|
|
verwaltet Formatierungsflags
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
setzt spezifische Formatierungsflags
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
löscht spezifische Formatierungsflags
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
verwaltet Dezimalgenauigkeit von Gleitkommaoperationen
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
verwaltet Feldbreite
(öffentliche Elementfunktion von
std::ios_base
)
|
|
Locales |
|
|
setzt Locale
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
gibt aktuelle Locale zurück
(öffentliche Elementfunktion von
std::ios_base
)
|
|
Internes erweiterbares Array |
|
|
[static]
|
gibt eine programmweit eindeutige Ganzzahl zurück, die sicher als Index für
pword()
und
iword()
verwendet werden kann
(öffentliche statische Elementfunktion von
std::ios_base
)
|
|
vergrößert bei Bedarf den privaten Speicher und ermöglicht Zugriff auf das
long
-Element am gegebenen Index
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
vergrößert bei Bedarf den privaten Speicher und ermöglicht Zugriff auf das
void
*
-Element am gegebenen Index
(öffentliche Elementfunktion von
std::ios_base
)
|
|
Verschiedenes |
|
|
registriert Ereignis-Callback-Funktion
(öffentliche Elementfunktion von
std::ios_base
)
|
|
|
[static]
|
legt fest, ob C++ und C I/O-Bibliotheken interoperabel sind
(öffentliche statische Elementfunktion von
std::ios_base
)
|
Elementklassen |
|
|
Stream-Exception
(öffentliche Elementklasse von
std::ios_base
)
|
|
|
initialisiert Standard-Stream-Objekte
(öffentliche Elementklasse von
std::ios_base
)
|
|
Membertypen und Konstanten |
|||||||||||||||||||||||||||||||||||||||
| Typ | Erklärung | ||||||||||||||||||||||||||||||||||||||
|
Stream-Öffnungsmodus-Typ
Folgende Konstanten sind ebenfalls definiert:
(Typedef) |
|||||||||||||||||||||||||||||||||||||||
|
Formatierungsflags-Typ
Die folgenden Konstanten sind ebenfalls definiert:
(Typdefinition) |
|||||||||||||||||||||||||||||||||||||||
|
Zustandstyp des Streams
Folgende Konstanten sind ebenfalls definiert:
(Typdefinition) |
|||||||||||||||||||||||||||||||||||||||
|
Suchrichtungstyp
Folgende Konstanten sind ebenfalls definiert:
(Typdefinition) |
|||||||||||||||||||||||||||||||||||||||
|
gibt den Ereignistyp an
(enum) |
|||||||||||||||||||||||||||||||||||||||
|
Callback-Funktionstyp
(typedef) |
|||||||||||||||||||||||||||||||||||||||
Hinweise
| Feature-Test Makro | Wert | Std | Funktion |
|---|---|---|---|
__cpp_lib_syncbuf
|
201803L
|
(C++20) |
Synchronisierter gepufferter ostream (
std::osyncstream
,
std::syncbuf
) und Manipulatoren
|