22 #ifndef __COMPRESSION_STREAM_H__
23 #define __COMPRESSION_STREAM_H__
25 #include "services/base.h"
26 #include "data_management/compression/compression.h"
27 #include "data_management/data/data_block.h"
28 #include "services/collection.h"
32 namespace data_management
41 typedef services::Collection<services::SharedPtr<DataBlock> > DataBlockCollection;
42 typedef services::SharedPtr<DataBlockCollection> DataBlockCollectionPtr;
55 class DAAL_EXPORT CompressionStream :
public Base
63 CompressionStream(CompressorImpl *compr,
size_t minSize = 1024 * 64);
64 virtual ~CompressionStream();
70 virtual void push_back(DataBlock *inBlock);
76 virtual void operator << (DataBlock *inBlock)
84 virtual void operator << (DataBlock inBlock)
92 virtual DataBlockCollectionPtr getCompressedBlocksCollection();
97 virtual size_t getCompressedDataSize();
104 virtual size_t copyCompressedArray(byte *outPtr,
size_t outSize);
110 virtual size_t copyCompressedArray(DataBlock &outBlock)
112 return copyCompressedArray(outBlock.getPtr(), outBlock.getSize());
115 services::SharedPtr<services::ErrorCollection> getErrors()
123 CompressorImpl *_compressor;
124 size_t _compressedDataSize;
125 size_t _minBlockSize;
130 void compressBlock(
size_t pos);
132 services::SharedPtr<services::ErrorCollection> _errors;
144 class DAAL_EXPORT DecompressionStream :
public Base
152 DecompressionStream(DecompressorImpl *decompr,
size_t minSize = 1024 * 64);
153 virtual ~DecompressionStream();
158 virtual void push_back(DataBlock *inBlock);
163 virtual void operator << (DataBlock *inBlock)
171 virtual void operator << (DataBlock inBlock)
179 virtual DataBlockCollectionPtr getDecompressedBlocksCollection();
184 virtual size_t getDecompressedDataSize();
191 virtual size_t copyDecompressedArray(byte *outPtr,
size_t outSize);
197 virtual size_t copyDecompressedArray(DataBlock &outBlock)
199 return copyDecompressedArray(outBlock.getPtr(), outBlock.getSize());
202 services::SharedPtr<services::ErrorCollection> getErrors()
210 DecompressorImpl *_decompressor;
211 size_t _decompressedDataSize;
212 size_t _minBlockSize;
217 void decompressBlock(
size_t pos);
219 services::SharedPtr<services::ErrorCollection> _errors;
222 using interface1::CompressionStream;
223 using interface1::DecompressionStream;
229 #endif // __COMPRESSION_STREAM_H
daal
Definition: algorithm_base_common.h:31
daal::data_management::interface1::CompressionStream::copyCompressedArray
virtual size_t copyCompressedArray(DataBlock &outBlock)
Definition: compression_stream.h:110
daal::data_management::DataBlockCollection
services::Collection< services::SharedPtr< DataBlock > > DataBlockCollection
Collection of DataBlock-type elements.
Definition: compression_stream.h:41
daal::data_management::interface1::DataBlock::getPtr
virtual byte * getPtr() const DAAL_C11_OVERRIDE
Definition: data_block.h:123
daal::data_management::interface1::DecompressionStream::copyDecompressedArray
virtual size_t copyDecompressedArray(DataBlock &outBlock)
Definition: compression_stream.h:197
daal::data_management::interface1::CompressorImpl
Base class for the Compressor.
Definition: compression.h:225
daal::data_management::interface1::DataBlock::getSize
virtual size_t getSize() const DAAL_C11_OVERRIDE
Definition: data_block.h:133
daal::data_management::interface1::CompressionStream
CompressionStream class compresses input raw data by blocks.
Definition: compression_stream.h:55
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:39
daal::data_management::interface1::DecompressorImpl
Base class for the Decompressor.
Definition: compression.h:251
daal::data_management::interface1::DecompressionStream
DecompressionStream class decompresses compressed input data by blocks.
Definition: compression_stream.h:144
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