This class implements overflowable output stream‐buffer functionality.

Synopsis

Declared in <bdlsb_overflowmemoutput.h>

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

Name

Description

char_type

This typedef is an alias to char.

int_type

This typedef is an alias to traits_type::int_type.

off_type

This typedef is an alias to traits_type::off_type.

pos_type

This typedef is an alias to traits_type::pos_type.

traits_type

This typedef is an alias to bsl::char_traits<char>.

Member Functions

Name

Description

OverflowMemOutput [constructor]

Create an OverflowMemOutput using the specified initial output buffer.

~OverflowMemOutput [destructor]

Destroy this stream buffer.

dataLength

Return the number of bytes that have been written to this object.

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.

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.

initialBuffer

Return a pointer providing non‐modifiable access to the character buffer held by this stream buffer (specified at construction).

initialBufferSize

Return the size of the initial buffer held by this stream buffer.

overflowBuffer

Return a pointer providing non‐modifiable access to the overflow buffer if there is one, or 0 otherwise.

overflowBufferSize

Return the size of the overflow buffer, or 0 if there is no overflow buffer.

pubseekoff

Set the position indicator relative to the specified base position.

pubseekpos

Set the position indicator to the specified absolute position.

pubsetbuf

Reinitialize this stream buffer to use the specified character buffer.

pubsync

Synchronize this stream buffer with associated character sequence. Operation has no effect. Return 0 unconditionally.

sputc

Write the specified character at the current write position.

sputn

Write characters from the specified source to this buffer.

operator BloombergLP::bslmf::NestedTraitDeclaration<OverflowMemOutput, UsesBslmaAllocator>

Declare that this type uses a bslma allocator.

Created with MrDocs