[#BloombergLP-bdlsb] = xref:BloombergLP.adoc[BloombergLP]::bdlsb :relfileprefix: ../ :mrdocs: Components in the `bdlsb` package provide streambuf utilities. == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlsb/FixedMemInStreamBuf.adoc[`FixedMemInStreamBuf`] | This class implements the input functionality of the `basic_streambuf` protocol, using client‐supplied `char *` memory. | xref:BloombergLP/bdlsb/FixedMemInput.adoc[`FixedMemInput`] | This class, like `bdlsb::FixedMemInStreamBuf`, implements the input functionality of the `basic_streambuf` interface, using client‐supplied `char *` memory. It has an interface identical to `bdlsb::FixedMemInStreamBuf` but does _not_ inherit from `bsl::streambuf`. This implementation is advantageous for performance reasons, as the overhead of the initialization and virtual function calls of a `bsl::streambuf` can be undesirable. It is especially designed for streaming a very small amount of information from a fixed‐length buffer using a `bslx_genericinstream` when the number of characters read from the input is guaranteed not to exceed the length of the buffer. Note that this class is not designed to be derived from. | xref:BloombergLP/bdlsb/FixedMemOutStreamBuf.adoc[`FixedMemOutStreamBuf`] | This class implements the output functionality of the `basic_streambuf` protocol for client‐supplied memory. | xref:BloombergLP/bdlsb/FixedMemOutput.adoc[`FixedMemOutput`] | This class, like `bdlsb::FixedMemOutStreamBuf`, implements the output functionality of the `basic_streambuf` interface, using client‐supplied `char *` memory. It has an identical interface to `bdlsb::FixedMemOutStreamBuf` but does _not_ inherit from `bsl::streambuf`. Thus, it is suitable for use as template parameter to `bslx::GenericOutStream` (but not to `bslx::StreambufOutStream`). Note that this class is not designed to be derived from. | xref:BloombergLP/bdlsb/MemOutStreamBuf.adoc[`MemOutStreamBuf`] | This `class` implements the output functionality of the `basic_streambuf` protocol, using a user‐supplied or default `bslma` allocator to supply memory. | xref:BloombergLP/bdlsb/MemOutStreamBuf_Util.adoc[`MemOutStreamBuf_Util`] | Utility functions for `MemOutStreamBuf` buffer management. | xref:BloombergLP/bdlsb/OverflowMemOutStreamBuf.adoc[`OverflowMemOutStreamBuf`] | This class implements the output functionality of the `bsl::basic_streambuf` protocol, using client‐supplied memory and client‐supplied allocator if additional memory is needed. | xref:BloombergLP/bdlsb/OverflowMemOutput.adoc[`OverflowMemOutput`] | This class, like `bdlsb::OverflowMemOutStreamBuf`, implements the output functionality of the `bsl::basic_streambuf` interface, using a client‐supplied buffer and allocator‐supplied overflow buffer if additional memory is needed. It has an interface similar to `bdlsb::OverflowMemOutStreamBuf` but does *not* inherit from `bsl::streambuf`. Thus, it is suitable for use as template parameter to `bslx::GenericByteOutStream` (but not to `bslx::ByteOutStream` or `bslx::ByteOutStreamFormatter`). Note that this class is not designed to be derived from. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#