#include <llbufferstream.h>
Collaboration diagram for LLBufferStreamBuf:
Public Member Functions | |
LLBufferStreamBuf (const LLChannelDescriptors &channels, LLBufferArray *buffer) | |
virtual | ~LLBufferStreamBuf () |
Protected Member Functions | |
virtual int | underflow () |
virtual int | overflow (int c) |
virtual int | sync () |
virtual streampos | seekoff (streamoff off, std::ios::seekdir way, std::ios::openmode which) |
Protected Attributes | |
LLChannelDescriptors | mChannels |
LLBufferArray * | mBuffer |
The buffer array passed in is not owned by the stream buf object.
Definition at line 47 of file llbufferstream.h.
LLBufferStreamBuf::LLBufferStreamBuf | ( | const LLChannelDescriptors & | channels, | |
LLBufferArray * | buffer | |||
) |
LLBufferStreamBuf::~LLBufferStreamBuf | ( | ) | [virtual] |
Definition at line 54 of file llbufferstream.cpp.
References LLMemType::MTYPE_IO_BUFFER, and sync().
int LLBufferStreamBuf::overflow | ( | int | c | ) | [protected, virtual] |
Definition at line 133 of file llbufferstream.cpp.
References DEFAULT_OUTPUT_SEGMENT_SIZE, LLBufferArray::endSegment(), LLBufferArray::makeSegment(), mBuffer, mChannels, LLMemType::MTYPE_IO_BUFFER, LLChannelDescriptors::out(), start, and sync().
streampos LLBufferStreamBuf::seekoff | ( | streamoff | off, | |
std::ios::seekdir | way, | |||
std::ios::openmode | which | |||
) | [protected, virtual] |
Definition at line 249 of file llbufferstream.cpp.
References end, mBuffer, LLMemType::MTYPE_IO_BUFFER, LLBufferArray::npos, NULL, S32, and start.
int LLBufferStreamBuf::sync | ( | ) | [protected, virtual] |
Definition at line 172 of file llbufferstream.cpp.
References end, LLBufferArray::endSegment(), LLBufferArray::eraseSegment(), mBuffer, mChannels, LLMemType::MTYPE_IO_BUFFER, NULL, LLChannelDescriptors::out(), LLBufferArray::seek(), and LLBufferArray::splitAfter().
Referenced by overflow(), and ~LLBufferStreamBuf().
int LLBufferStreamBuf::underflow | ( | ) | [protected, virtual] |
Definition at line 61 of file llbufferstream.cpp.
References LLBufferArray::constructSegmentAfter(), LLSegment::data(), end, LLBufferArray::endSegment(), LLBufferArray::eraseSegment(), LLChannelDescriptors::in(), LLSegment::isOnChannel(), mBuffer, mChannels, LLMemType::MTYPE_IO_BUFFER, LLSegment::size(), LLBufferArray::splitAfter(), and start.
LLBufferArray* LLBufferStreamBuf::mBuffer [protected] |
LLChannelDescriptors LLBufferStreamBuf::mChannels [protected] |