LLBufferStreamBuf Class Reference

This implements the buffer wrapper for an istream. More...

#include <llbufferstream.h>

Collaboration diagram for LLBufferStreamBuf:

Collaboration graph
[legend]
List of all members.

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
LLBufferArraymBuffer

Detailed Description

This implements the buffer wrapper for an istream.

The buffer array passed in is not owned by the stream buf object.

Definition at line 47 of file llbufferstream.h.


Constructor & Destructor Documentation

LLBufferStreamBuf::LLBufferStreamBuf ( const LLChannelDescriptors channels,
LLBufferArray buffer 
)

Definition at line 45 of file llbufferstream.cpp.

References LLMemType::MTYPE_IO_BUFFER.

LLBufferStreamBuf::~LLBufferStreamBuf (  )  [virtual]

Definition at line 54 of file llbufferstream.cpp.

References LLMemType::MTYPE_IO_BUFFER, and sync().


Member Function Documentation

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.


Member Data Documentation

LLBufferArray* LLBufferStreamBuf::mBuffer [protected]

Definition at line 131 of file llbufferstream.h.

Referenced by overflow(), sync(), and underflow().

LLChannelDescriptors LLBufferStreamBuf::mChannels [protected]

Definition at line 128 of file llbufferstream.h.

Referenced by overflow(), sync(), and underflow().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:11 2010 for Second Life Viewer by  doxygen 1.4.7