|
BDE 4.14.0 Production release
|
Provide an allocator-independent base-class for basic_syncbuf .
This component is for internal use only. Please don't use it directly.
This component provides a protocol class, SyncBufBase, that is intended for use as a base class for synchronized stream buffers. The SyncBufBase protocol provides methods to emit the synchronized buffer, and mark the buffer to be emitted on a call to sync on an associated stream. This operations are exposed by SyncBufBaseUtil for use by standard functions, like bsl::emit_on_flush, bsl::noemit_on_flush, and bsl::flush_emit, while not exposing them into the public interface of derived types (like basic_syncbuf ) whose interface in defined by an external standard.
Factoring these operations into a non-templatized base class allows operations (like bsl::emit_on_flush etc) to applied to derived objects in contexts where it is impossible to deduce the ALLOCATOR type of the inheriting synchornized buffer.