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(); };
60 virtual compression get_algo()
const override {
return compression::xz; };
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
@ xz
lzma compression (streamed)
switch module to limitint (32 ou 64 bits integers) or infinint
include macro defined by the configure script and some specific additional ones
libdar namespace encapsulate all libdar symbols