#include <bdlsb_overflowmemoutstreambuf.h>
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.
See bdlsb_overflowmemoutstreambuf
◆ OverflowMemOutStreamBuf()
bdlsb::OverflowMemOutStreamBuf::OverflowMemOutStreamBuf |
( |
char * |
buffer, |
|
|
bsl::size_t |
size, |
|
|
bslma::Allocator * |
basicAllocator = 0 |
|
) |
| |
Create an empty stream buffer that uses the specified buffer
as an initial output buffer of the specified size
(in bytes). Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently-installed default allocator is used. The behavior is undefined unless buffer
points to a valid sequence of positive size
characters. Note that this stream buffer does not assume ownership of buffer
.
◆ ~OverflowMemOutStreamBuf()
bdlsb::OverflowMemOutStreamBuf::~OverflowMemOutStreamBuf |
( |
| ) |
|
|
inline |
◆ BSLMF_NESTED_TRAIT_DECLARATION()
◆ dataLength()
bsl::size_t bdlsb::OverflowMemOutStreamBuf::dataLength |
( |
| ) |
const |
|
inline |
Return the number of bytes written to this stream. Note that if pptr()
is currently pointing into the overflow buffer the data length will be greater than the size of the initial buffer.
◆ dataLengthInInitialBuffer()
bsl::size_t bdlsb::OverflowMemOutStreamBuf::dataLengthInInitialBuffer |
( |
| ) |
const |
|
inline |
◆ dataLengthInOverflowBuffer()
bsl::size_t bdlsb::OverflowMemOutStreamBuf::dataLengthInOverflowBuffer |
( |
| ) |
const |
|
inline |
◆ initialBuffer()
const char * bdlsb::OverflowMemOutStreamBuf::initialBuffer |
( |
| ) |
const |
|
inline |
◆ initialBufferSize()
bsl::size_t bdlsb::OverflowMemOutStreamBuf::initialBufferSize |
( |
| ) |
const |
|
inline |
◆ overflow()
int_type bdlsb::OverflowMemOutStreamBuf::overflow |
( |
int_type |
c = bsl::streambuf::traits_type::eof() | ) |
|
|
protected |
If c is not EOF
, adjust the underlying buffer so that the next put position is valid, put the specified c
at this position, and increment the put position. Return c
on success, and traits_type::not_eof(c)
if c
is EOF
.
◆ overflowBuffer()
const char * bdlsb::OverflowMemOutStreamBuf::overflowBuffer |
( |
| ) |
const |
|
inline |
Return a pointer to the non-modifiable overflow buffer if there is one, or 0 otherwise.
◆ overflowBufferSize()
bsl::size_t bdlsb::OverflowMemOutStreamBuf::overflowBufferSize |
( |
| ) |
const |
|
inline |
Return the size of the overflow buffer, or 0 if there is no overflow buffer.
◆ seekoff()
pos_type bdlsb::OverflowMemOutStreamBuf::seekoff |
( |
off_type |
offset, |
|
|
bsl::ios_base::seekdir |
way, |
|
|
bsl::ios_base::openmode |
which = bsl::ios_base::in|bsl::ios_base::out |
|
) |
| |
|
protected |
Set the position indicator to the relative specified offset
from the base position indicated by the specified way
and return the resulting absolute position on success or pos_type(-1) on failure. Optionally specify which
area of the stream buffer. The seek operation will fail if which
does not include the flag bsl::ios_base::out
or if the resulting absolute position is negative.
◆ seekpos()
OverflowMemOutStreamBuf::pos_type bdlsb::OverflowMemOutStreamBuf::seekpos |
( |
pos_type |
position, |
|
|
bsl::ios_base::openmode |
which = bsl::ios_base::in | bsl::ios_base::out |
|
) |
| |
|
inlineprotected |
Set the position indicator to the specified position
and return the resulting absolute position on success or pos_type(-1) on failure. Optionally specify which
area of the stream buffer. The seekpos
operation will fail if which
does not include the flag bsl::ios_base::out
or if position
is negative.
◆ sync()
int bdlsb::OverflowMemOutStreamBuf::sync |
( |
| ) |
|
|
inlineprotected |
Set d_dataLength
to the amount of data that has been written to this stream buffer, from the beginning of the stream to the current pptr()
position and return 0. Note that if pptr()
points into the overflow buffer, this size the initial buffer, plus the portion of the overflow buffer that has been written to.
◆ xsputn()
bsl::streamsize bdlsb::OverflowMemOutStreamBuf::xsputn |
( |
const char_type * |
source, |
|
|
bsl::streamsize |
numChars |
|
) |
| |
|
protected |
Write the specified numChars
characters from the specified source
to the stream buffer. Return the number of characters successfully written. The behavior is undefined unless '(source && 0 < numChars) || 0 == numChars'.
The documentation for this class was generated from the following file: