Panda3D
Public Member Functions | Protected Member Functions
SubStreamBuf Class Reference

The streambuf object that implements ISubStream. More...

#include "subStreamBuf.h"

List of all members.

Public Member Functions

void close ()
void open (IStreamWrapper *source, OStreamWrapper *dest, streampos start, streampos end, bool append)
virtual streampos seekoff (streamoff off, ios_seekdir dir, ios_openmode which)
 Implements seeking within the stream.
virtual streampos seekpos (streampos pos, ios_openmode which)
 A variant on seekoff() to implement seeking within a stream.

Protected Member Functions

virtual int overflow (int c)
 Called by the system ostream implementation when its internal buffer is filled, plus one character.
virtual int sync ()
 Called by the system iostream implementation to implement a flush operation.
virtual int underflow ()
 Called by the system istream implementation when its internal buffer needs more characters.

Detailed Description

The streambuf object that implements ISubStream.

Definition at line 25 of file subStreamBuf.h.


Member Function Documentation

int SubStreamBuf::overflow ( int  c) [protected, virtual]

Called by the system ostream implementation when its internal buffer is filled, plus one character.

Definition at line 259 of file subStreamBuf.cxx.

References OStreamWrapper::seek_eof_write(), and OStreamWrapper::seek_write().

streampos SubStreamBuf::seekoff ( streamoff  off,
ios_seekdir  dir,
ios_openmode  which 
) [virtual]

Implements seeking within the stream.

Definition at line 127 of file subStreamBuf.cxx.

References IStreamWrapper::seek_gpos_eof(), OStreamWrapper::seek_ppos_eof(), and sync().

Referenced by seekpos().

streampos SubStreamBuf::seekpos ( streampos  pos,
ios_openmode  which 
) [virtual]

A variant on seekoff() to implement seeking within a stream.

The MSDN Library claims that it is only necessary to redefine seekoff(), and not seekpos() as well, as the default implementation of seekpos() is supposed to map to seekoff() exactly as I am doing here; but in fact it must do something else, because seeking didn't work on Windows until I redefined this function as well.

Definition at line 248 of file subStreamBuf.cxx.

References seekoff().

int SubStreamBuf::sync ( void  ) [protected, virtual]

Called by the system iostream implementation to implement a flush operation.

Definition at line 311 of file subStreamBuf.cxx.

References OStreamWrapper::seek_eof_write(), and OStreamWrapper::seek_write().

Referenced by seekoff(), and underflow().

int SubStreamBuf::underflow ( void  ) [protected, virtual]

Called by the system istream implementation when its internal buffer needs more characters.

Definition at line 340 of file subStreamBuf.cxx.

References IStreamWrapper::seek_read(), and sync().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations