Main Page   Class Hierarchy   Compound List   File List   Compound Members  

zipios::BackBuffer Class Reference

A BackBuffer instance is useful for reading the last part of a file in an efficient manner, when it is not known exactly how far back (towards the front!) to go, to find the start of the desired data block. More...

#include <backbuffer.h>

Inheritance diagram for zipios::BackBuffer

Inheritance graph

[legend]
List of all members.

Public Methods

 BackBuffer ( istream &is, VirtualSeeker vs = VirtualSeeker(), int chunk_size = 1024 )
 BackBuffer constructor. More...

int readChunk ( int &read_pointer )
 Reads another chunk and returns the size of the chunk that has been read. More...


Detailed Description

A BackBuffer instance is useful for reading the last part of a file in an efficient manner, when it is not known exactly how far back (towards the front!) to go, to find the start of the desired data block.

BackBuffer is a vector< unsigned char > that fills itself with data from a file by reading chunks from the end of the file progressing towards the start. Upon construction the BackBuffer instance is associated with a file and a chunksize can be specified. To read a chunk of the file into the BackBuffer call readChunk().

Definition at line 32 of file backbuffer.h.


Constructor & Destructor Documentation

zipios::BackBuffer::BackBuffer ( istream & is,
VirtualSeeker vs = VirtualSeeker(),
int chunk_size = 1024 ) [inline, explicit]
 

BackBuffer constructor.

Parameters:
is   The istream to read the data from. The stream must be seekable, as BackBuffer will reposition the file position to read chunks from the back of the file.
chunk_size   specifies the size of the chunks to read the file into the BackBuffer in.
Exceptions:
FCollException   Thrown if the VirtualSeeker vs that has been specified is invalid for the istream is.

Definition at line 61 of file backbuffer.h.


Member Function Documentation

int zipios::BackBuffer::readChunk ( int & read_pointer ) [inline]
 

Reads another chunk and returns the size of the chunk that has been read.

Returns 0 on I/O failure.

Parameters:
read_pointer   When a new chunk is read in the already stored bytes change position in the BackBuffer. read_pointer is assumed by readChunk() to be a pointer into a position in the BackBuffer, and is updated to point to the same position in the file as it pointed to before the new chunk was read.

Definition at line 75 of file backbuffer.h.


The documentation for this class was generated from the following file:
Generated at Tue Aug 14 20:39:55 2001 for Zipios++ by doxygen1.2.0 written by Dimitri van Heesch, © 1997-2000