bool emit(); |
Atomically transmits all pending output to the wrapped stream.
All emit()
calls transferring characters to the same wrapped stream buffer object appear to execute in a total order, where each emit()
call synchronizes-with subsequent emit()
calls in that total order, even if these calls are made through difference instances of std::basic_syncbuf
/std::basic_osyncstream
. In practice, this means that emit() takes a lock uniquely associated with the wrapped stream object: for example, it could be held in a static hash map where the address of the wrapped stream is used as the key.
If a call had been made to sync
since the last call to emit()
, then also flushes the wrapped stream by calling pubsync()
on it.
(none).
true
if all of the following is true:
pubsync()
, if requested, also completed successfully. Returns false
otherwise.
Normally called by the destructor of the owning std::basic_osyncstream
or by std::basic_osyncstream::emit
.
destroys the basic_osyncstream and emits its internal buffer (public member function of std::basic_osyncstream<CharT,Traits,Allocator> ) |
|
calls emit() on the underlying basic_syncbuf to transmit its internal data to the final destination (public member function of std::basic_osyncstream<CharT,Traits,Allocator> ) |
|
constructs a basic_syncbuf object (public member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_syncbuf/emit