C++ API Reference for Intel® Data Analytics Acceleration Library 2018 Update 3

lzocompression.h
1 /* file: lzocompression.h */
2 /*******************************************************************************
3 * Copyright 2014-2018 Intel Corporation.
4 *
5 * This software and the related documents are Intel copyrighted materials, and
6 * your use of them is governed by the express license under which they were
7 * provided to you (License). Unless the License provides otherwise, you may not
8 * use, modify, copy, publish, distribute, disclose or transmit this software or
9 * the related documents without Intel's prior written permission.
10 *
11 * This software and the related documents are provided as is, with no express
12 * or implied warranties, other than those that are expressly stated in the
13 * License.
14 *******************************************************************************/
15 
16 /*
17 //++
18 // Implementation of the LZO1X_11 compression and decompression interface.
19 //--
20 */
21 
22 #ifndef __LZOCOMPRESSION_H__
23 #define __LZOCOMPRESSION_H__
24 #include "data_management/compression/compression.h"
25 
26 namespace daal
27 {
28 namespace data_management
29 {
30 
31 namespace interface1
32 {
47 /* [LzoCompressionParameter source code] */
48 class DAAL_EXPORT LzoCompressionParameter : public data_management::CompressionParameter
49 {
50 public:
56  LzoCompressionParameter( size_t _preHeadBytes = 0, size_t _postHeadBytes = 0 ) :
57  data_management::CompressionParameter(defaultLevel), preHeadBytes(_preHeadBytes), postHeadBytes(_postHeadBytes)
58  {}
59  ~LzoCompressionParameter() {}
60 
61  size_t preHeadBytes;
62  size_t postHeadBytes;
63 };
64 /* [LzoCompressionParameter source code] */
65 
76 template<> class DAAL_EXPORT Compressor<lzo> : public data_management::CompressorImpl
77 {
78 public:
82  Compressor();
83  ~Compressor();
90  void setInputDataBlock( byte *inBlock, size_t size, size_t offset );
95  void setInputDataBlock( DataBlock &inBlock )
96  {
97  setInputDataBlock( inBlock.getPtr(), inBlock.getSize(), 0 );
98  }
99 
106  void run( byte *outBlock, size_t size, size_t offset );
111  void run( DataBlock &outBlock )
112  {
113  run( outBlock.getPtr(), outBlock.getSize(), 0 );
114  }
115 
116  LzoCompressionParameter parameter;
118 protected:
119  void initialize();
120 
121 private:
122  void *_next_in;
123  size_t _avail_in;
124  void *_next_out;
125  size_t _avail_out;
126  void *_p_lzo_state;
127  size_t _preHeadBytes;
128  size_t _postHeadBytes;
129 
130  void finalizeCompression();
131 };
132 
143 template<> class DAAL_EXPORT Decompressor<lzo> : public data_management::DecompressorImpl
144 {
145 public:
149  Decompressor();
150  ~Decompressor();
157  void setInputDataBlock( byte *inBlock, size_t size, size_t offset );
158 
163  void setInputDataBlock( DataBlock &inBlock )
164  {
165  return setInputDataBlock( inBlock.getPtr(), inBlock.getSize(), 0 );
166  }
167 
174  void run( byte *outBlock, size_t size, size_t offset );
175 
180  void run( DataBlock &outBlock )
181  {
182  run( outBlock.getPtr(), outBlock.getSize(), 0 );
183  }
184 
185  LzoCompressionParameter parameter;
187 protected:
188  void initialize();
189 
190 private:
191  void *_next_in;
192  size_t _avail_in;
193  void *_next_out;
194  size_t _avail_out;
195  void *_p_lzo_state;
196  size_t _preHeadBytes;
197  size_t _postHeadBytes;
198 
199  void *_internalBuff;
200  size_t _internalBuffOff;
201  size_t _internalBuffLen;
202 
203  void finalizeCompression();
204 };
206 } // namespace interface1
207 using interface1::LzoCompressionParameter;
208 using interface1::Compressor;
209 using interface1::Decompressor;
210 
211 } //namespace data_management
212 } //namespace daal
213 #endif //__LZOCOMPRESSION_H
daal::data_management::interface1::Compressor
Compressor class compresses an input data block and writes results into an output data block...
Definition: compression.h:281
daal::data_management::interface1::LzoCompressionParameter::LzoCompressionParameter
LzoCompressionParameter(size_t _preHeadBytes=0, size_t _postHeadBytes=0)
Definition: lzocompression.h:56
daal::data_management::interface1::LzoCompressionParameter::preHeadBytes
size_t preHeadBytes
Definition: lzocompression.h:61
daal
Definition: algorithm_base_common.h:31
daal::data_management::defaultLevel
Definition: compression.h:44
daal::data_management::interface1::DataBlock::getPtr
virtual byte * getPtr() const DAAL_C11_OVERRIDE
Definition: data_block.h:123
daal::data_management::interface1::DataBlock::getSize
virtual size_t getSize() const DAAL_C11_OVERRIDE
Definition: data_block.h:133
daal::data_management::interface1::Decompressor< lzo >::parameter
LzoCompressionParameter parameter
Definition: lzocompression.h:185
daal::data_management::interface1::LzoCompressionParameter
Parameter for LZO compression and decompression. LZO compressed block header consists of four section...
Definition: lzocompression.h:48
daal::data_management::interface1::LzoCompressionParameter::postHeadBytes
size_t postHeadBytes
Definition: lzocompression.h:62
daal::data_management::interface1::Decompressor
Decompressor class decompresses an input data block and writes results into an output data block...
Definition: compression.h:303
daal::data_management::interface1::Compressor< lzo >::parameter
LzoCompressionParameter parameter
Definition: lzocompression.h:116
daal::data_management::lzo
Definition: compression.h:65
daal::data_management::interface1::CompressionParameter
Parameters for compression and decompression.
Definition: compression.h:85
daal::data_management::interface1::Decompressor< lzo >::setInputDataBlock
void setInputDataBlock(DataBlock &inBlock)
Definition: lzocompression.h:163
daal::algorithms::implicit_als::training::offset
Definition: implicit_als_training_types.h:148
daal::data_management::interface1::Compressor< lzo >::setInputDataBlock
void setInputDataBlock(DataBlock &inBlock)
Definition: lzocompression.h:95
daal::data_management::interface1::Compressor< lzo >::run
void run(DataBlock &outBlock)
Definition: lzocompression.h:111
daal::data_management::interface1::Decompressor< lzo >::run
void run(DataBlock &outBlock)
Definition: lzocompression.h:180
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:83

For more complete information about compiler optimizations, see our Optimization Notice.