[#BloombergLP-bdlsb-OverflowMemOutput] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlsb.adoc[bdlsb]::OverflowMemOutput :relfileprefix: ../../ :mrdocs: This class implements overflowable output stream‐buffer functionality. == Synopsis Declared in `<bdlsb_overflowmemoutput.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class OverflowMemOutput; ---- == Description 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. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlsb/OverflowMemOutput/char_type.adoc[`char_type`] | This `typedef` is an alias to `char`. | xref:BloombergLP/bdlsb/OverflowMemOutput/int_type.adoc[`int_type`] | This `typedef` is an alias to `traits_type::int_type`. | xref:BloombergLP/bdlsb/OverflowMemOutput/off_type.adoc[`off_type`] | This `typedef` is an alias to `traits_type::off_type`. | xref:BloombergLP/bdlsb/OverflowMemOutput/pos_type.adoc[`pos_type`] | This `typedef` is an alias to `traits_type::pos_type`. | xref:BloombergLP/bdlsb/OverflowMemOutput/traits_type.adoc[`traits_type`] | This `typedef` is an alias to `bsl::char_traits<char>`. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlsb/OverflowMemOutput/2constructor.adoc[`OverflowMemOutput`] [.small]#[constructor]# | Create an `OverflowMemOutput` using the specified initial output buffer. | xref:BloombergLP/bdlsb/OverflowMemOutput/2destructor.adoc[`~OverflowMemOutput`] [.small]#[destructor]# | Destroy this stream buffer. | xref:BloombergLP/bdlsb/OverflowMemOutput/dataLength.adoc[`dataLength`] | Return the number of bytes that have been written to this object. | xref:BloombergLP/bdlsb/OverflowMemOutput/dataLengthInInitialBuffer.adoc[`dataLengthInInitialBuffer`] | Return the length of data in the initial buffer, i.e., `dataLength()` if there is no overflow buffer, or `initialBufferSize()` if there is one. | xref:BloombergLP/bdlsb/OverflowMemOutput/dataLengthInOverflowBuffer.adoc[`dataLengthInOverflowBuffer`] | Return the length of the data in the overflow buffer, i.e., 0 if there is no overflow buffer, or `dataLength() ‐ initialBufferSize()` if there is one. | xref:BloombergLP/bdlsb/OverflowMemOutput/initialBuffer.adoc[`initialBuffer`] | Return a pointer providing non‐modifiable access to the character buffer held by this stream buffer (specified at construction). | xref:BloombergLP/bdlsb/OverflowMemOutput/initialBufferSize.adoc[`initialBufferSize`] | Return the size of the initial buffer held by this stream buffer. | xref:BloombergLP/bdlsb/OverflowMemOutput/overflowBuffer.adoc[`overflowBuffer`] | Return a pointer providing non‐modifiable access to the overflow buffer if there is one, or 0 otherwise. | xref:BloombergLP/bdlsb/OverflowMemOutput/overflowBufferSize.adoc[`overflowBufferSize`] | Return the size of the overflow buffer, or 0 if there is no overflow buffer. | xref:BloombergLP/bdlsb/OverflowMemOutput/pubseekoff.adoc[`pubseekoff`] | Set the position indicator relative to the specified base position. | xref:BloombergLP/bdlsb/OverflowMemOutput/pubseekpos.adoc[`pubseekpos`] | Set the position indicator to the specified absolute position. | xref:BloombergLP/bdlsb/OverflowMemOutput/pubsetbuf.adoc[`pubsetbuf`] | Reinitialize this stream buffer to use the specified character buffer. | xref:BloombergLP/bdlsb/OverflowMemOutput/pubsync.adoc[`pubsync`] | Synchronize this stream buffer with associated character sequence. Operation has no effect. Return `0` unconditionally. | xref:BloombergLP/bdlsb/OverflowMemOutput/sputc.adoc[`sputc`] | Write the specified character at the current write position. | xref:BloombergLP/bdlsb/OverflowMemOutput/sputn.adoc[`sputn`] | Write characters from the specified source to this buffer. | xref:BloombergLP/bdlsb/OverflowMemOutput/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<OverflowMemOutput, UsesBslmaAllocator>`] | Declare that this type uses a `bslma` allocator. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#