24 #ifndef __RLECOMPRESSION_H__
25 #define __RLECOMPRESSION_H__
26 #include "data_management/compression/compression.h"
30 namespace data_management
49 class DAAL_EXPORT RleCompressionParameter :
public data_management::CompressionParameter
56 RleCompressionParameter(
bool _isBlockHeader = 1) :
57 data_management::CompressionParameter(defaultLevel), isBlockHeader(_isBlockHeader) {}
59 ~RleCompressionParameter() {}
75 template<>
class DAAL_EXPORT Compressor<rle> :
public data_management::CompressorImpl
89 void setInputDataBlock( byte *inBlock,
size_t size,
size_t offset );
94 void setInputDataBlock( DataBlock &inBlock )
96 setInputDataBlock( inBlock.getPtr(), inBlock.getSize(), 0 );
105 void run( byte *outBlock,
size_t size,
size_t offset );
110 void run( DataBlock &outBlock )
112 run( outBlock.getPtr(), outBlock.getSize(), 0 );
115 RleCompressionParameter parameter;
127 void finalizeCompression();
140 template<>
class DAAL_EXPORT Decompressor<rle> :
public data_management::DecompressorImpl
154 void setInputDataBlock( byte *inBlock,
size_t size,
size_t offset );
159 void setInputDataBlock( DataBlock &inBlock )
161 setInputDataBlock( inBlock.getPtr(), inBlock.getSize(), 0 );
169 void run( byte *outBlock,
size_t size,
size_t offset );
174 void run( DataBlock &outBlock )
176 run( outBlock.getPtr(), outBlock.getSize(), 0 );
179 RleCompressionParameter parameter;
192 size_t _internalBuffOff;
193 size_t _internalBuffLen;
195 void finalizeCompression();
199 using interface1::RleCompressionParameter;
200 using interface1::Compressor;
201 using interface1::Decompressor;
205 #endif //__RLECOMPRESSION_H
daal::data_management::interface1::Compressor< rle >::parameter
RleCompressionParameter parameter
Definition: rlecompression.h:115
daal::data_management::interface1::Decompressor< rle >::run
void run(DataBlock &outBlock)
Definition: rlecompression.h:174
daal::data_management::interface1::Compressor
Compressor class compresses an input data block and writes results into an output data block...
Definition: compression.h:283
daal::data_management::interface1::DataBlock::getSize
virtual size_t getSize() const DAAL_C11_OVERRIDE
Definition: data_block.h:135
daal::data_management::interface1::RleCompressionParameter::RleCompressionParameter
RleCompressionParameter(bool _isBlockHeader=1)
Definition: rlecompression.h:56
daal::data_management::interface1::Decompressor
Decompressor class decompresses an input data block and writes results into an output data block...
Definition: compression.h:305
daal::data_management::interface1::RleCompressionParameter::isBlockHeader
bool isBlockHeader
Definition: rlecompression.h:61
daal::data_management::interface1::DataBlock::getPtr
virtual byte * getPtr() const DAAL_C11_OVERRIDE
Definition: data_block.h:125
daal::data_management::interface1::DataBlock
Class that stores a pointer to a byte array and its size. Not responsible for memory management...
Definition: data_block.h:85
daal::data_management::interface1::Decompressor< rle >::setInputDataBlock
void setInputDataBlock(DataBlock &inBlock)
Definition: rlecompression.h:159
daal::data_management::interface1::RleCompressionParameter
Parameter for run-length encoding and decoding. A RLE encoded block may contain a header that consist...
Definition: rlecompression.h:49
daal::data_management::defaultLevel
Definition: compression.h:46
daal::data_management::interface1::Decompressor< rle >::parameter
RleCompressionParameter parameter
Definition: rlecompression.h:179
daal::data_management::interface1::CompressionParameter
Parameters for compression and decompression.
Definition: compression.h:87
daal::data_management::interface1::Compressor< rle >::run
void run(DataBlock &outBlock)
Definition: rlecompression.h:110
daal::data_management::interface1::Compressor< rle >::setInputDataBlock
void setInputDataBlock(DataBlock &inBlock)
Definition: rlecompression.h:94
daal::data_management::rle
Definition: compression.h:68