#ifndef _EYD_BITCOMPRESSOR_RLE2_HH #define _EYD_BITCOMPRESSOR_RLE2_HH #include #include #include #include #include #include "eyd_bitgroup.hh" #include "eyd_global.hh" #include "eyd_iface.hh" namespace EydLib { class BitCompressorRle2 { private: BitGroup _rle; int _last_count; int _group_size; unsigned long int _input_size; unsigned long int _output_size; std::list _compressed; void BitCompressorRle2::appendBit(bool bit); public: BitCompressorRle2::BitCompressorRle2(int size); void clear(); void append(BitGroup bg); std::list flush(); bool hasContent(); void forceFlush(); float getRatio(); }; } #endif