Namespaces
Variants

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

From cppreference.net
bool emit ( ) ;

Атомарно передает все ожидающие выходные данные в обернутый поток.

Все emit ( ) вызовы, передающие символы в тот же обернутый объект буфера потока, выполняются в полном порядке, где каждый emit ( ) вызов синхронизируется-с последующими emit ( ) вызовами в этом полном порядке, даже если эти вызовы выполняются через разные экземпляры std::basic_syncbuf / std::basic_osyncstream . На практике это означает, что emit() захватывает блокировку, уникально связанную с обернутым объектом потока: например, она может храниться в статической хэш-таблице, где адрес обернутого потока используется в качестве ключа.

Если с момента последнего вызова sync был выполнен вызов emit ( ) , тогда также сбрасывает буфер обёрнутого потока, вызывая pubsync() для него.

Содержание

Параметры

(нет)

Возвращаемое значение

true если все следующее верно:

  • имеется обернутый поток (указатель на обернутый streambuf не является нулевым)
  • все символы из временного хранилища были успешно отправлены в обернутый поток
  • вызов pubsync() , если запрошен, также завершился успешно.

Возвращает false в противном случае.

Примечания

Обычно вызывается деструктором или оператором перемещающего присваивания владеющего std::basic_osyncstream , или методом std::basic_osyncstream::emit .

Пример

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

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