Claw
1.7.3
|
A class to help decoding run-length encoded (RLE) streams. More...
#include <rle_decoder.hpp>
Public Types | |
typedef Pattern | pattern_type |
The type of the patterns we will read in the input buffer. | |
typedef InputBuffer | input_buffer_type |
The type of the input buffer. | |
typedef OutputBuffer | output_buffer_type |
The type of the output buffer. |
Public Member Functions | |
rle_decoder () | |
Constructor. | |
virtual | ~rle_decoder () |
Destructor. | |
void | decode (input_buffer_type &input, output_buffer_type &output) |
Decode a RLE stream. |
Protected Types | |
enum | mode { stop, raw, compressed } |
State of the decompression. More... |
Protected Member Functions | |
virtual void | read_mode (input_buffer_type &input, output_buffer_type &output)=0 |
Protected Attributes | |
mode | m_mode |
Current mode of the decompression. | |
unsigned int | m_count |
Case of m_mode : | |
pattern_type | m_pattern |
The pattern to repeat. |
A class to help decoding run-length encoded (RLE) streams.
Template parameters :
The Pattern and InputBuffer parameters don't have any type requirement.
The OutputBuffer type must have the following methods :
Definition at line 54 of file rle_decoder.hpp.
|
protected |
State of the decompression.
stop |
Stop the decoding. |
raw |
Next bytes represent raw data. |
compressed |
Next bytes represent compressed data. |
Definition at line 70 of file rle_decoder.hpp.
void claw::rle_decoder< Pattern, InputBuffer, OutputBuffer >::decode | ( | input_buffer_type & | input, |
output_buffer_type & | output | ||
) |
Decode a RLE stream.
input | The RLE stream. |
output | The raw stream. |
Definition at line 60 of file rle_decoder.tpp.
|
protected |
Case of m_mode :
Definition at line 101 of file rle_decoder.hpp.