7 #ifndef RETDEC_UNPACKER_DECOMPRESSION_NRV_BIT_PARSERS_H
8 #define RETDEC_UNPACKER_DECOMPRESSION_NRV_BIT_PARSERS_H
36 static_assert(std::is_integral<T>::value,
"BitParser requires integral type");
56 bit = (_value >> 7) & 1;
58 if ((_value & 0xFF) == 0)
65 bit = (_value >> 7) & 1;
82 bit = (_value >> 31) & 1;
92 bit = (_value >> 31) & 1;
Definition: bit_parsers.h:49
virtual bool getBit(uint8_t &bit, const DynamicBuffer &data, uint32_t &pos) override
Definition: bit_parsers.h:54
BitParser8(const BitParser8 &)=delete
Definition: bit_parsers.h:75
BitParserLe32(const BitParserLe32 &)=delete
virtual bool getBit(uint8_t &bit, const DynamicBuffer &data, uint32_t &pos) override
Definition: bit_parsers.h:80
Definition: bit_parsers.h:32
BitParserN()
Definition: bit_parsers.h:34
T _value
Definition: bit_parsers.h:42
BitParserN(const BitParser &)=delete
Definition: bit_parsers.h:19
virtual bool getBit(uint8_t &bit, const DynamicBuffer &data, uint32_t &pos)=0
BitParser(const BitParser &)=delete
BitParser()
Definition: bit_parsers.h:21
virtual ~BitParser()=default
The class for dynamic buffered data manipulation taking the endianness of the data in account.
Definition: dynamic_buffer.h:36
uint32_t getRealDataSize() const
Definition: dynamic_buffer.cpp:156
T read(uint32_t pos, retdec::utils::Endianness endianness=retdec::utils::Endianness::UNKNOWN) const
Definition: dynamic_buffer.h:92
Declaration of class for buffered data mainpulation.
Header file for fileformat types and structures.
Definition: unpacking_stub.h:16
Definition: archive_wrapper.h:19
Supportive functionality for the generic unpacker.