37#include "../my_config.h" 
   48    class xz_module: 
public compress_module
 
   51    xz_module(U_I compression_level = 9);
 
   52    xz_module(
const xz_module & ref) { setup(ref.level); };
 
   53    xz_module(xz_module && ref) 
noexcept = 
default;
 
   54    xz_module & operator = (
const xz_module & ref) { end_process(); setup(ref.level); 
return *
this; };
 
   55    xz_module & operator = (xz_module && ref) 
noexcept = 
default;
 
   56    virtual ~xz_module() { end_process(); };
 
   62    virtual U_I get_max_compressing_size() 
const override;
 
   64    virtual U_I get_min_size_to_compress(U_I clear_size) 
const override;
 
   66    virtual U_I compress_data(
const char *normal,
 
   67                   const U_I normal_size,
 
   69                   U_I zip_buf_size) 
const override;
 
   71    virtual U_I uncompress_data(
const char *zip_buf,
 
   72                     const U_I zip_buf_size,
 
   74                     U_I normal_size) 
const override;
 
   77    virtual std::unique_ptr<compress_module> clone() 
const override;
 
   82    mutable lzma_stream lzma_str;
 
   85    void setup(U_I compression_level);
 
   86    void init_decompr() 
const;
 
   87    void init_compr() 
const;
 
   88    void end_process() 
const;
 
provides abstracted interface of per-block compression/decompression
 
compression
the different compression algorithm available
 
@ xz
lzma compression (streamed)
 
switch module to limitint (32 ou 64 bits integers) or infinint
 
libdar namespace encapsulate all libdar symbols