Namespaces
Variants

std::basic_osyncstream<CharT,Traits,Allocator>:: emit

From cppreference.net
void emit ( ) ;

Gibt alle gepufferten Ausgaben aus und führt ausstehende Flush-Operationen aus, indem emit() auf dem zugrundeliegenden std::basic_syncbuf aufgerufen wird.

Parameter

(keine)

Beispiel

#include <iostream>
#include <syncstream>
int main()
{
    {
        std::osyncstream bout(std::cout);
        bout << "Hello," << '\n'; // kein Flush
        bout.emit(); // Zeichen übertragen; cout nicht geflusht
        bout << "World!" << std::endl; // Flush vermerkt; cout nicht geflusht
        bout.emit(); // Zeichen übertragen; cout geflusht
        bout << "Greetings." << '\n'; // kein Flush
    } // Destruktor ruft emit() auf: Zeichen übertragen; cout nicht geflusht
    // emit kann für lokale Ausnahmebehandlung auf dem gekapselten Stream verwendet werden
    std::osyncstream bout(std::cout);
    bout << "Hello, " << "World!" << '\n';
    try
    {
        bout.emit();
    }
    catch (...)
    {
        // Ausnahmen behandeln
    }
}

Ausgabe:

Hello,
World!
Greetings.
Hello, World!

Siehe auch

zerstört den basic_osyncstream und gibt seinen internen Puffer aus
(öffentliche Elementfunktion)
überträgt atomar den gesamten internen Puffer an den umschlossenen Streambuf
(öffentliche Elementfunktion von std::basic_syncbuf<CharT,Traits,Allocator> )