3 #include "fly/coders/coder.hpp"
4 #include "fly/coders/huffman/types.hpp"
11 class BitStreamReader;
14 namespace fly::coders {
107 void convert_to_prefix_table(length_type max_code_length);
123 length_type max_code_length,
124 std::uint32_t chunk_size,
125 std::ostream &decoded)
const;
127 std::unique_ptr<symbol_type[]> m_chunk_buffer;
130 std::array<HuffmanCode, 1 << 8> m_huffman_codes;
131 std::uint16_t m_huffman_codes_size;
132 length_type m_max_code_length;
136 std::unique_ptr<HuffmanCode[]> m_prefix_table;
Definition: bit_stream_reader.hpp:27
Definition: coder.hpp:141
Definition: huffman_decoder.hpp:23
bool decode_binary(fly::BitStreamReader &encoded, std::ostream &decoded) override
Definition: huffman_decoder.cpp:32
code_type compute_kraft_mcmillan_constant() const
Definition: huffman_decoder.cpp:19
HuffmanDecoder() noexcept
Definition: huffman_decoder.cpp:14