Other AliasA BackBuffer instance is useful for reading the last part of a file in an efficient manner
Inherits vector< unsigned char >.
Public Member Functions
BackBuffer (istream &is, VirtualSeeker vs=VirtualSeeker(), int chunk_size=1024)
int readChunk (int &read_pointer)
Reads another chunk and returns the size of the chunk that has been read.
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, VirtualSeekervs = VirtualSeeker(), intchunk_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.
- 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.
- 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.
Generated automatically by Doxygen for Zipios++ from the source code.