Quick Links: |
#include <bdlsb_fixedmemoutput.h>
Public Types | |
typedef char | char_type |
typedef bsl::char_traits< char > ::int_type | int_type |
typedef bsl::char_traits< char > ::pos_type | pos_type |
typedef bsl::char_traits< char > ::off_type | off_type |
typedef bsl::char_traits< char > | traits_type |
Public Member Functions | |
FixedMemOutput (char *buffer, bsl::streamsize length) | |
~FixedMemOutput () | |
char * | data () |
bsl::locale | pubimbue (const bsl::locale &loc) |
FixedMemOutput * | pubsetbuf (char *buffer, bsl::streamsize length) |
pos_type | pubseekoff (off_type offset, bsl::ios_base::seekdir fixedPosition, bsl::ios_base::openmode which=bsl::ios_base::in|bsl::ios_base::out) |
pos_type | pubseekpos (pos_type position, bsl::ios_base::openmode which=bsl::ios_base::in|bsl::ios_base::out) |
int | pubsync () |
int_type | sputc (char c) |
bsl::streamsize | sputn (const char *s, bsl::streamsize length) |
bsl::streamsize | capacity () const |
const char * | data () const |
bsl::streamsize | length () const |
bsl::locale | getloc () const |
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.
See Component bdlsb_fixedmemoutput
typedef char bdlsb::FixedMemOutput::char_type |
typedef bsl::char_traits<char>::int_type bdlsb::FixedMemOutput::int_type |
typedef bsl::char_traits<char>::pos_type bdlsb::FixedMemOutput::pos_type |
typedef bsl::char_traits<char>::off_type bdlsb::FixedMemOutput::off_type |
typedef bsl::char_traits<char> bdlsb::FixedMemOutput::traits_type |
bdlsb::FixedMemOutput::FixedMemOutput | ( | char * | buffer, | |
bsl::streamsize | length | |||
) |
Create an empty stream buffer that uses the specified character buffer
of the specified length
. The behavior is undefined unless length == 0
or length > 0 && buffer != 0
. Note that buffer
is held but not owned.
bdlsb::FixedMemOutput::~FixedMemOutput | ( | ) |
Destroy this stream buffer. Note that this method's definition is compiler generated.
char* bdlsb::FixedMemOutput::data | ( | ) |
Return a pointer providing modifiable access to the character buffer held by this stream buffer (supplied at construction).
bsl::locale bdlsb::FixedMemOutput::pubimbue | ( | const bsl::locale & | loc | ) |
Associate the specified locale loc
to this stream buffer. Operation has no effect, because locales are not supported by this component. Return default constructed bsl::locale object.
FixedMemOutput* bdlsb::FixedMemOutput::pubsetbuf | ( | char * | buffer, | |
bsl::streamsize | length | |||
) |
Reset the internal buffer of this stream to the specified buffer
of the specified length
. Note that the next write operation will start at the beginning of buffer
.
pos_type bdlsb::FixedMemOutput::pubseekoff | ( | off_type | offset, | |
bsl::ios_base::seekdir | fixedPosition, | |||
bsl::ios_base::openmode | which = bsl::ios_base::in|bsl::ios_base::out | |||
) |
Set the position indicator to the relative specified offset
from the base position indicated by the specified fixedPosition
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 less than zero or greater than the value returned by length
.
pos_type bdlsb::FixedMemOutput::pubseekpos | ( | pos_type | position, | |
bsl::ios_base::openmode | which = bsl::ios_base::in|bsl::ios_base::out | |||
) |
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 less then zero or greater than the value returned by length
.
int bdlsb::FixedMemOutput::pubsync | ( | ) |
Synchronizes the controlled character sequence (the buffers) with the associated character sequence. Operation has no effect, because the stream is always kept in sync (no buffered output). Return 0.
int_type bdlsb::FixedMemOutput::sputc | ( | char | c | ) |
Write the specified character c
to this buffer. Return c
, or traits_type::eof()
if the end of the write buffer is reached.
bsl::streamsize bdlsb::FixedMemOutput::sputn | ( | const char * | s, | |
bsl::streamsize | length | |||
) |
Write the specified length
characters at the specified address s
to this buffer. Return the number of characters written, which is either length
or the distance from the current write position to the end of the write buffer, whichever is smaller, and move the write cursor position by this amount.
bsl::streamsize bdlsb::FixedMemOutput::capacity | ( | ) | const |
Return the size in bytes of the buffer held by this stream buffer.
const char* bdlsb::FixedMemOutput::data | ( | ) | const |
Return a pointer providing non-modifiable access to the character buffer held by this stream buffer (supplied at construction).
bsl::streamsize bdlsb::FixedMemOutput::length | ( | ) | const |
Return the number of characters from the beginning of the buffer to the current write position.
bsl::locale bdlsb::FixedMemOutput::getloc | ( | ) | const |
Return the current default locale. Operation has no effect, because locales are not supported by this component. Return default constructed bsl::locale object.