BloombergLP::bslstl::SyncBufBaseUtil::emitInternal

Atomically transfer buffered characters from syncBuf to its wrapped stream.

Synopsis

Declared in <bslstl_syncbufbase.h>

static
bool
emitInternal(SyncBufBase* syncBuf);

Description

Atomically transfer any characters buffered by the specified syncBuf object to the wrapped stream buffer, so that it appears in the output stream as a contiguous sequence of characters. The wrapped stream buffer is flushed if and only if a call was made to sync since the most recent call to emit or construction. Return true if get_wrapped() != nullptr, and all of the characters in the associated output were successfully transferred, and the flush (if any) succeeded; return false otherwise. The behavior is undefined unless syncBuf is not null.

Return Value

true if the transfer (and optional flush) succeeded, otherwise false

Parameters

NameDescription
syncBufsynchronized buffer whose contents are emitted