27#ifndef COMPRESS_MODULE_HPP 
   28#define COMPRESS_MODULE_HPP 
   30#include "../my_config.h" 
   45    compress_module(
const compress_module & ref) = 
default;
 
   46    compress_module(compress_module && ref) 
noexcept = 
default;
 
   47    compress_module & operator = (
const compress_module & ref) = 
default;
 
   48    compress_module & operator = (compress_module && ref) 
noexcept = 
default;
 
   49    virtual ~compress_module() = 
default;
 
   55    virtual U_I get_max_compressing_size() 
const = 0;
 
   61    virtual U_I get_min_size_to_compress(U_I clear_size) 
const = 0;
 
   71    virtual U_I compress_data(
const char *normal,
 
   72                   const U_I normal_size,
 
   74                   U_I zip_buf_size) 
const = 0;
 
   85    virtual U_I uncompress_data(
const char *zip_buf,
 
   86                     const U_I zip_buf_size,
 
   88                     U_I normal_size) 
const = 0;
 
   93    virtual std::unique_ptr<compress_module> clone() 
const = 0;
 
compression parameters for API
 
compression
the different compression algorithm available
 
are defined here basic integer types that tend to be portable
 
libdar namespace encapsulate all libdar symbols