C++ API Reference for Intel® Data Analytics Acceleration Library 2019 Update 5

zlibcompression.h
1 /* file: zlibcompression.h */
2 /*******************************************************************************
3 * Copyright 2014-2019 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 ZLIB DEFLATE compression and decompression interface.
19 //--
20 */
21 
22 #ifndef __ZLIBCOMPRESSION_H__
23 #define __ZLIBCOMPRESSION_H__
24 #include "data_management/compression/compression.h"
25 
26 namespace daal
27 {
28 namespace data_management
29 {
30 
31 namespace interface1
32 {
47 /* [ZlibCompressionParameter source code] */
48 class DAAL_EXPORT ZlibCompressionParameter : public data_management::CompressionParameter
49 {
50 public:
57  ZlibCompressionParameter( CompressionLevel clevel = defaultLevel, bool bgzHeader = false ) :
58  data_management::CompressionParameter( clevel ), gzHeader(bgzHeader) {}
59 
60  ~ZlibCompressionParameter() {}
61 
62  bool gzHeader;
63 };
64 /* [ZlibCompressionParameter source code] */
65 
76 template<> class DAAL_EXPORT Compressor<zlib> : 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  }
105  void run( byte *outBlock, size_t size, size_t offset );
110  void run( DataBlock &outBlock )
111  {
112  run( outBlock.getPtr(), outBlock.getSize(), 0 );
113  }
114 
115  ZlibCompressionParameter parameter;
117 protected:
118  void initialize();
119 
120 private:
121  void *_strmp;
122  int _flush;
123 
124  void finalizeCompression();
125  void resetCompression();
126 
127 };
128 
139 template<> class DAAL_EXPORT Decompressor<zlib> : public data_management::DecompressorImpl
140 {
141 public:
145  Decompressor();
146  ~Decompressor();
153  void setInputDataBlock( byte *inBlock, size_t size, size_t offset );
158  void setInputDataBlock( DataBlock &inBlock )
159  {
160  setInputDataBlock( inBlock.getPtr(), inBlock.getSize(), 0 );
161  }
168  void run( byte *outBlock, size_t size, size_t offset );
173  void run( DataBlock &outBlock )
174  {
175  run( outBlock.getPtr(), outBlock.getSize(), 0 );
176  }
177 
178  ZlibCompressionParameter parameter;
180 protected:
181  void initialize();
182 
183 private:
184  void *_strmp;
185  int _flush;
186 
187  void finalizeCompression();
188  void resetCompression();
189 };
191 } // namespace interface1
192 using interface1::ZlibCompressionParameter;
193 using interface1::Compressor;
194 using interface1::Decompressor;
195 
196 } //namespace data_management
197 } //namespace daal
198 #endif //__ZLIBCOMPRESSION_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::Compressor< zlib >::run
void run(DataBlock &outBlock)
Definition: zlibcompression.h:110
daal
Definition: algorithm_base_common.h:31
daal::data_management::interface1::Compressor< zlib >::setInputDataBlock
void setInputDataBlock(DataBlock &inBlock)
Definition: zlibcompression.h:95
daal::data_management::CompressionLevel
CompressionLevel
Compression levels
Definition: compression.h:42
daal::data_management::defaultLevel
Definition: compression.h:44
daal::data_management::interface1::Compressor< zlib >::parameter
ZlibCompressionParameter parameter
Definition: zlibcompression.h:115
daal::data_management::interface1::ZlibCompressionParameter
Parameter for zlib compression and decompression.
Definition: zlibcompression.h:48
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
Decompressor class decompresses an input data block and writes results into an output data block...
Definition: compression.h:303
daal::data_management::interface1::Decompressor< zlib >::parameter
ZlibCompressionParameter parameter
Definition: zlibcompression.h:178
daal::data_management::interface1::Decompressor< zlib >::run
void run(DataBlock &outBlock)
Definition: zlibcompression.h:173
daal::data_management::interface1::ZlibCompressionParameter::gzHeader
bool gzHeader
Definition: zlibcompression.h:62
daal::data_management::interface1::CompressionParameter
Parameters for compression and decompression.
Definition: compression.h:85
daal::algorithms::implicit_als::training::offset
Definition: implicit_als_training_types.h:148
daal::data_management::zlib
Definition: compression.h:64
daal::data_management::interface1::Decompressor< zlib >::setInputDataBlock
void setInputDataBlock(DataBlock &inBlock)
Definition: zlibcompression.h:158
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
daal::data_management::interface1::ZlibCompressionParameter::ZlibCompressionParameter
ZlibCompressionParameter(CompressionLevel clevel=defaultLevel, bool bgzHeader=false)
Definition: zlibcompression.h:57

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