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:
[legend]

## Public Member Functions

| BackBuffer (istream &is, VirtualSeeker vs=VirtualSeeker(), int chunk_size=1024)
| BackBuffer constructor.
int | readChunk (int &read_pointer)
| Reads another chunk and returns the size of the chunk that has been read.

## 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

## BackBuffer()

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

## readChunk()

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:

- backbuffer.h