Namespaces
Variants

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

From cppreference.net
void emit ( ) ;
**Примечание:** В данном фрагменте кода не содержится текста для перевода, так как: - Все элементы внутри тегов ` ` являются C++ кодом и не подлежат переводу - HTML теги и атрибуты сохранены без изменений - Единственное слово "emit" является C++ специфическим термином и сохраняется в оригинале

Выдает весь буферизованный вывод и выполняет все ожидающие операции сброса, вызывая emit() на базовом std::basic_syncbuf .

Параметры

(нет)

Пример

#include <iostream>
#include <syncstream>
int main()
{
    {
        std::osyncstream bout(std::cout);
        bout << "Hello," << '\n'; // без сброса
        bout.emit(); // символы переданы; cout не сброшен
        bout << "World!" << std::endl; // сброс отмечен; cout не сброшен
        bout.emit(); // символы переданы; cout сброшен
        bout << "Greetings." << '\n'; // без сброса
    } // деструктор вызывает emit(): символы переданы; cout не сброшен
    // emit может использоваться для локальной обработки исключений в обёрнутом потоке
    std::osyncstream bout(std::cout);
    bout << "Hello, " << "World!" << '\n';
    try
    {
        bout.emit();
    }
    catch (...)
    {
        // обработка исключений
    }
}

Вывод:

Hello,
World!
Greetings.
Hello, World!

Смотрите также

уничтожает объект basic_osyncstream и отправляет его внутренний буфер
(публичная функция-член)
атомарно передаёт весь внутренний буфер в обёрнутый streambuf
(публичная функция-член std::basic_syncbuf<CharT,Traits,Allocator> )