27 #ifndef BZIP2_MODULE_HPP
28 #define BZIP2_MODULE_HPP
34 #include "../my_config.h"
45 class bzip2_module:
public compress_module
48 bzip2_module(U_I compression_level = 9);
49 bzip2_module(
const bzip2_module & ref) =
default;
50 bzip2_module(bzip2_module && ref) noexcept =
default;
51 bzip2_module & operator = (
const bzip2_module & ref) =
default;
52 bzip2_module & operator = (bzip2_module && ref) noexcept =
default;
53 virtual ~bzip2_module() noexcept = default;
59 virtual U_I get_max_compressing_size()
const override;
61 virtual U_I get_min_size_to_compress(U_I clear_size)
const override;
63 virtual U_I compress_data(
const char *normal,
64 const U_I normal_size,
66 U_I zip_buf_size)
const override;
68 virtual U_I uncompress_data(
const char *zip_buf,
69 const U_I zip_buf_size,
71 U_I normal_size)
const override;
74 virtual std::unique_ptr<compress_module> clone()
const override;
provides abstracted interface of per-block compression/decompression
compression
the different compression algorithm available
@ bzip2
bzip2 compression (streamed)
switch module to limitint (32 ou 64 bits integers) or infinint
libdar namespace encapsulate all libdar symbols