ICompression Class Reference
[Compression]

Search Toolkit Book for ICompression

#include <compress.hpp>

Inheritance diagram for ICompression:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 63 of file compress.hpp.

Public Types

typedef unsigned int TFlags
 Compression flags.
enum  ELevel {
  eLevel_Default = -1, eLevel_NoCompression = 0, eLevel_Lowest = 1, eLevel_VeryLow = 2,
  eLevel_Low = 3, eLevel_MediumLow = 4, eLevel_Medium = 5, eLevel_MediumHigh = 6,
  eLevel_High = 7, eLevel_VeryHigh = 8, eLevel_Best = 9
}
 Compression level. More...

Public Member Functions

virtual ~ICompression (void)
 Destructor.
virtual CVersionInfo GetVersion (void) const =0
 Return name and version of the compression library.
virtual void SetLevel (ELevel level)=0
virtual ELevel GetLevel (void) const =0
virtual ELevel GetDefaultLevel (void) const =0
 Return the default compression level for current compression algorithm.
virtual int GetErrorCode (void) const =0
virtual string GetErrorDescription (void) const =0
virtual TFlags GetFlags (void) const =0
virtual void SetFlags (TFlags flags)=0
virtual bool CompressBuffer (const void *src_buf, size_t src_len, void *dst_buf, size_t dst_size, size_t *dst_len)=0
virtual bool DecompressBuffer (const void *src_buf, size_t src_len, void *dst_buf, size_t dst_size, size_t *dst_len)=0
virtual bool CompressFile (const string &src_file, const string &dst_file, size_t buf_size=kCompressionDefaultBufSize)=0
virtual bool DecompressFile (const string &src_file, const string &dst_file, size_t buf_size=kCompressionDefaultBufSize)=0


Member Typedef Documentation

typedef unsigned int ICompression::TFlags
 

Compression flags.

The flag selection depends from compression algorithm implementation.

Definition at line 89 of file compress.hpp.


Member Enumeration Documentation

enum ICompression::ELevel
 

Compression level.

It is in range [0..9]. Increase of level might mean better compression and usualy greater time of compression. Usualy 1 gives best speed, 9 gives best compression, 0 gives no compression at all. eDefault value requests a compromise between speed and compression (according to developers of the corresponding compression algorithm).

Enumerator:
eLevel_Default 
eLevel_NoCompression 
eLevel_Lowest 
eLevel_VeryLow 
eLevel_Low 
eLevel_MediumLow 
eLevel_Medium 
eLevel_MediumHigh 
eLevel_High 
eLevel_VeryHigh 
eLevel_Best 

Definition at line 73 of file compress.hpp.


Constructor & Destructor Documentation

virtual ICompression::~ICompression void   )  [inline, virtual]
 

Destructor.

Definition at line 93 of file compress.hpp.


Member Function Documentation

virtual bool ICompression::CompressBuffer const void *  src_buf,
size_t  src_len,
void *  dst_buf,
size_t  dst_size,
size_t *  dst_len
[pure virtual]
 

Implemented in CBZip2Compression, and CZipCompression.

virtual bool ICompression::CompressFile const string &  src_file,
const string &  dst_file,
size_t  buf_size = kCompressionDefaultBufSize
[pure virtual]
 

Implemented in CBZip2Compression, and CZipCompression.

virtual bool ICompression::DecompressBuffer const void *  src_buf,
size_t  src_len,
void *  dst_buf,
size_t  dst_size,
size_t *  dst_len
[pure virtual]
 

Implemented in CBZip2Compression, and CZipCompression.

virtual bool ICompression::DecompressFile const string &  src_file,
const string &  dst_file,
size_t  buf_size = kCompressionDefaultBufSize
[pure virtual]
 

Implemented in CBZip2Compression, and CZipCompression.

virtual ELevel ICompression::GetDefaultLevel void   )  const [pure virtual]
 

Return the default compression level for current compression algorithm.

Implemented in CBZip2Compression, and CZipCompression.

Referenced by CCompression::GetLevel().

virtual int ICompression::GetErrorCode void   )  const [pure virtual]
 

Implemented in CCompression.

virtual string ICompression::GetErrorDescription void   )  const [pure virtual]
 

Implemented in CCompression.

virtual TFlags ICompression::GetFlags void   )  const [pure virtual]
 

Implemented in CCompression.

virtual ELevel ICompression::GetLevel void   )  const [pure virtual]
 

Implemented in CBZip2Compression, and CCompression.

virtual CVersionInfo ICompression::GetVersion void   )  const [pure virtual]
 

Return name and version of the compression library.

Implemented in CBZip2Compression, CCompression, and CZipCompression.

virtual void ICompression::SetFlags TFlags  flags  )  [pure virtual]
 

virtual void ICompression::SetLevel ELevel  level  )  [pure virtual]
 


The documentation for this class was generated from the following file:
Generated on Mon Dec 7 15:33:06 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:24:25 2009 by modify_doxy.py rev. 173732