CMS 3D CMS Logo

lat::BZCompressor Class Reference

Compress data using the BZLIB algorithm. More...

#include <Iguana/Utilities/classlib/zip/BZCompressor.h>

Inheritance diagram for lat::BZCompressor:

lat::Compressor lat::BZConstants lat::ZipUtils

List of all members.

Public Member Functions

 BZCompressor (unsigned level=DEFAULT_COMPRESSION, unsigned workFactor=DEFAULT_WORK_FACTOR)
virtual unsigned checksum (void) const
virtual size_t compress (void *into, IOSize length)
virtual void end (void)
virtual void finish (void)
virtual bool finished (void) const
virtual void flush (void)
virtual bool flushed (void) const
virtual IOOffset in (void) const
virtual void input (const void *buffer, IOSize length)
virtual unsigned level (void) const
virtual void level (unsigned level)
virtual bool more (void) const
virtual IOOffset out (void) const
virtual void reset (void)
virtual unsigned workFactor (void) const
virtual void workFactor (unsigned value)
 ~BZCompressor (void)

Private Member Functions

 BZCompressor (const BZCompressor &other)
BZCompressoroperator= (const BZCompressor &other)

Private Attributes

int m_action
unsigned m_checksum
unsigned m_level
int m_state
Stream * m_stream
unsigned m_workFactor


Detailed Description

Compress data using the BZLIB algorithm.

This class supports general purpose compression using the BZLIB library. The BZLIB compression library is much like the popular ZLIB; it usually compresses better but slower than ZLIB due to a rather different algorithm (Burrows-Wheeler block sorting text compression algorithm). The compression engine can use rather large amounts of memory; please refer to BZLIB documentation for an overview of the underlying library.

Note:
Although the amount of work perfomed by this engine is related to how much input data and output space is available, it is not possible to predict or control how much work the engine will do in one call to compress(). BZLIB compressor usually consumes large amounts of input before producing any output (blocks of hundreds of kilobytes), compresses a block in a single call to compress(), and then begins to produce output. It is therefore not compatible with strict timing requirements, such as real-time or highly interactive use.
See also:
BZLIB documentation at https://www.muraroa.demon.co.uk

Definition at line 38 of file BZCompressor.h.


Constructor & Destructor Documentation

lat::BZCompressor::BZCompressor ( unsigned  level = DEFAULT_COMPRESSION,
unsigned  workFactor = DEFAULT_WORK_FACTOR 
)

lat::BZCompressor::~BZCompressor ( void   ) 

lat::BZCompressor::BZCompressor ( const BZCompressor other  )  [private]


Member Function Documentation

virtual unsigned lat::BZCompressor::checksum ( void   )  const [virtual]

Implements lat::Compressor.

virtual size_t lat::BZCompressor::compress ( void into,
IOSize  length 
) [virtual]

Implements lat::Compressor.

virtual void lat::BZCompressor::end ( void   )  [virtual]

Implements lat::Compressor.

virtual void lat::BZCompressor::finish ( void   )  [virtual]

Implements lat::Compressor.

virtual bool lat::BZCompressor::finished ( void   )  const [virtual]

Implements lat::Compressor.

virtual void lat::BZCompressor::flush ( void   )  [virtual]

Implements lat::Compressor.

virtual bool lat::BZCompressor::flushed ( void   )  const [virtual]

Implements lat::Compressor.

virtual IOOffset lat::BZCompressor::in ( void   )  const [virtual]

Implements lat::Compressor.

virtual void lat::BZCompressor::input ( const void buffer,
IOSize  length 
) [virtual]

Implements lat::Compressor.

virtual unsigned lat::BZCompressor::level ( void   )  const [virtual]

virtual void lat::BZCompressor::level ( unsigned  level  )  [virtual]

virtual bool lat::BZCompressor::more ( void   )  const [virtual]

Implements lat::Compressor.

BZCompressor& lat::BZCompressor::operator= ( const BZCompressor other  )  [private]

virtual IOOffset lat::BZCompressor::out ( void   )  const [virtual]

Implements lat::Compressor.

virtual void lat::BZCompressor::reset ( void   )  [virtual]

Implements lat::Compressor.

virtual unsigned lat::BZCompressor::workFactor ( void   )  const [virtual]

virtual void lat::BZCompressor::workFactor ( unsigned  value  )  [virtual]


Member Data Documentation

int lat::BZCompressor::m_action [private]

Definition at line 75 of file BZCompressor.h.

unsigned lat::BZCompressor::m_checksum [private]

Definition at line 74 of file BZCompressor.h.

unsigned lat::BZCompressor::m_level [private]

Definition at line 72 of file BZCompressor.h.

int lat::BZCompressor::m_state [private]

Definition at line 76 of file BZCompressor.h.

Stream* lat::BZCompressor::m_stream [private]

Definition at line 70 of file BZCompressor.h.

unsigned lat::BZCompressor::m_workFactor [private]

Definition at line 73 of file BZCompressor.h.


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:48:22 2009 for CMSSW by  doxygen 1.5.4