blocxx
|
#include <BaseStreamBuffer.hpp>
Public Types | |
enum | EDirectionFlag { E_IN, E_OUT, E_IN_OUT } |
Public Member Functions | |
BaseStreamBuffer (EDirectionFlag direction, size_t bufSize=BASE_BUF_SIZE) | |
Create a base stream buffer. | |
~BaseStreamBuffer () | |
Protected Member Functions | |
int | underflow () |
std::streamsize | xsputn (const char *s, std::streamsize n) |
virtual int | overflow (int c) |
virtual int | sync () |
virtual void | initBuffers () |
virtual void | initGetBuffer () |
virtual void | initPutBuffer () |
virtual int | buffer_to_device (const char *c, int n) |
Writes the buffer to the "device". | |
virtual int | buffer_from_device (char *c, int n) |
Fill the buffer from the "device". | |
Private Member Functions | |
int | buffer_in () |
int | buffer_out () |
BaseStreamBuffer (const BaseStreamBuffer &arg) | |
BaseStreamBuffer & | operator= (const BaseStreamBuffer &arg) |
Private Attributes | |
std::streamsize | m_bufSize |
char * | m_inputBuffer |
char * | m_outputBuffer |
Definition at line 57 of file BaseStreamBuffer.hpp.
Definition at line 60 of file BaseStreamBuffer.hpp.
BLOCXX_NAMESPACE::BaseStreamBuffer::BaseStreamBuffer | ( | EDirectionFlag | direction, |
size_t | bufSize = BASE_BUF_SIZE |
||
) |
Create a base stream buffer.
direction | E_IN, E_OUT, E_IN_OUT |
bufSize | size of buffer |
Definition at line 51 of file BaseStreamBuffer.cpp.
References E_IN, E_IN_OUT, E_OUT, initGetBuffer(), initPutBuffer(), m_bufSize, m_inputBuffer, and m_outputBuffer.
BLOCXX_NAMESPACE::BaseStreamBuffer::~BaseStreamBuffer | ( | ) |
Definition at line 85 of file BaseStreamBuffer.cpp.
References m_inputBuffer, and m_outputBuffer.
BLOCXX_NAMESPACE::BaseStreamBuffer::BaseStreamBuffer | ( | const BaseStreamBuffer & | arg | ) | [private] |
int BLOCXX_NAMESPACE::BaseStreamBuffer::buffer_from_device | ( | char * | c, |
int | n | ||
) | [protected, virtual] |
Fill the buffer from the "device".
c | A pointer to the beginning of the buffer |
n | The number of bytes to be read into the buffer. |
IOException | on failure. |
Reimplemented in BLOCXX_NAMESPACE::FileBuf, and BLOCXX_NAMESPACE::IOIFCStreamBuffer.
Definition at line 190 of file BaseStreamBuffer.cpp.
References BLOCXX_ASSERT.
Referenced by buffer_in().
int BLOCXX_NAMESPACE::BaseStreamBuffer::buffer_in | ( | ) | [private] |
Definition at line 166 of file BaseStreamBuffer.cpp.
References buffer_from_device(), m_bufSize, and m_inputBuffer.
Referenced by underflow().
int BLOCXX_NAMESPACE::BaseStreamBuffer::buffer_out | ( | ) | [private] |
Definition at line 98 of file BaseStreamBuffer.cpp.
References buffer_to_device(), and m_outputBuffer.
Referenced by overflow(), and sync().
int BLOCXX_NAMESPACE::BaseStreamBuffer::buffer_to_device | ( | const char * | c, |
int | n | ||
) | [protected, virtual] |
Writes the buffer to the "device".
c | A pointer to the start of the buffer |
n | the number of bytes to write |
Reimplemented in BLOCXX_NAMESPACE::FileBuf, BLOCXX_NAMESPACE::IOIFCStreamBuffer, and BLOCXX_NAMESPACE::OStringStreamBuf.
Definition at line 183 of file BaseStreamBuffer.cpp.
References BLOCXX_ASSERT.
Referenced by buffer_out().
void BLOCXX_NAMESPACE::BaseStreamBuffer::initBuffers | ( | ) | [protected, virtual] |
Definition at line 67 of file BaseStreamBuffer.cpp.
References initGetBuffer(), and initPutBuffer().
Referenced by BLOCXX_NAMESPACE::IOIFCStreamBuffer::reset().
void BLOCXX_NAMESPACE::BaseStreamBuffer::initGetBuffer | ( | ) | [protected, virtual] |
Definition at line 80 of file BaseStreamBuffer.cpp.
References m_inputBuffer.
Referenced by BaseStreamBuffer(), and initBuffers().
void BLOCXX_NAMESPACE::BaseStreamBuffer::initPutBuffer | ( | ) | [protected, virtual] |
Definition at line 74 of file BaseStreamBuffer.cpp.
References m_bufSize, and m_outputBuffer.
Referenced by BaseStreamBuffer(), and initBuffers().
BaseStreamBuffer& BLOCXX_NAMESPACE::BaseStreamBuffer::operator= | ( | const BaseStreamBuffer & | arg | ) | [private] |
int BLOCXX_NAMESPACE::BaseStreamBuffer::overflow | ( | int | c | ) | [protected, virtual] |
Definition at line 107 of file BaseStreamBuffer.cpp.
References buffer_out().
int BLOCXX_NAMESPACE::BaseStreamBuffer::sync | ( | ) | [protected, virtual] |
Definition at line 92 of file BaseStreamBuffer.cpp.
References buffer_out().
Referenced by BLOCXX_NAMESPACE::OStringStream::c_str(), BLOCXX_NAMESPACE::OStringStream::length(), BLOCXX_NAMESPACE::OStringStream::releaseString(), BLOCXX_NAMESPACE::OStringStream::toString(), and BLOCXX_NAMESPACE::IOIFCStreamBuffer::~IOIFCStreamBuffer().
int BLOCXX_NAMESPACE::BaseStreamBuffer::underflow | ( | ) | [protected] |
Definition at line 149 of file BaseStreamBuffer.cpp.
References buffer_in().
std::streamsize BLOCXX_NAMESPACE::BaseStreamBuffer::xsputn | ( | const char * | s, |
std::streamsize | n | ||
) | [protected] |
Definition at line 127 of file BaseStreamBuffer.cpp.
References i.
std::streamsize BLOCXX_NAMESPACE::BaseStreamBuffer::m_bufSize [private] |
Definition at line 107 of file BaseStreamBuffer.hpp.
Referenced by BaseStreamBuffer(), buffer_in(), and initPutBuffer().
char* BLOCXX_NAMESPACE::BaseStreamBuffer::m_inputBuffer [private] |
Definition at line 108 of file BaseStreamBuffer.hpp.
Referenced by BaseStreamBuffer(), buffer_in(), initGetBuffer(), and ~BaseStreamBuffer().
char* BLOCXX_NAMESPACE::BaseStreamBuffer::m_outputBuffer [private] |
Definition at line 109 of file BaseStreamBuffer.hpp.
Referenced by BaseStreamBuffer(), buffer_out(), initPutBuffer(), and ~BaseStreamBuffer().