48 #ifndef __COMPRESSION_STREAM_H__ 49 #define __COMPRESSION_STREAM_H__ 51 #include "services/base.h" 52 #include "data_management/compression/compression.h" 53 #include "data_management/data/data_block.h" 54 #include "services/collection.h" 58 namespace data_management
67 typedef services::Collection<services::SharedPtr<DataBlock> > DataBlockCollection;
68 typedef services::SharedPtr<DataBlockCollection> DataBlockCollectionPtr;
81 class DAAL_EXPORT CompressionStream :
public Base
89 CompressionStream(CompressorImpl *compr,
size_t minSize = 1024 * 64);
90 virtual ~CompressionStream();
96 virtual void push_back(DataBlock *inBlock);
102 virtual void operator << (DataBlock *inBlock)
110 virtual void operator << (DataBlock inBlock)
118 virtual DataBlockCollectionPtr getCompressedBlocksCollection();
123 virtual size_t getCompressedDataSize();
130 virtual size_t copyCompressedArray(byte *outPtr,
size_t outSize);
136 virtual size_t copyCompressedArray(DataBlock &outBlock)
138 return copyCompressedArray(outBlock.getPtr(), outBlock.getSize());
141 services::SharedPtr<services::ErrorCollection> getErrors()
149 CompressorImpl *_compressor;
150 size_t _compressedDataSize;
151 size_t _minBlockSize;
156 void compressBlock(
size_t pos);
158 services::SharedPtr<services::ErrorCollection> _errors;
170 class DAAL_EXPORT DecompressionStream :
public Base
178 DecompressionStream(DecompressorImpl *decompr,
size_t minSize = 1024 * 64);
179 virtual ~DecompressionStream();
184 virtual void push_back(DataBlock *inBlock);
189 virtual void operator << (DataBlock *inBlock)
197 virtual void operator << (DataBlock inBlock)
205 virtual DataBlockCollectionPtr getDecompressedBlocksCollection();
210 virtual size_t getDecompressedDataSize();
217 virtual size_t copyDecompressedArray(byte *outPtr,
size_t outSize);
223 virtual size_t copyDecompressedArray(DataBlock &outBlock)
225 return copyDecompressedArray(outBlock.getPtr(), outBlock.getSize());
228 services::SharedPtr<services::ErrorCollection> getErrors()
236 DecompressorImpl *_decompressor;
237 size_t _decompressedDataSize;
238 size_t _minBlockSize;
243 void decompressBlock(
size_t pos);
245 services::SharedPtr<services::ErrorCollection> _errors;
248 using interface1::CompressionStream;
249 using interface1::DecompressionStream;
255 #endif // __COMPRESSION_STREAM_H daal
Definition: algorithm_base_common.h:57
daal::data_management::interface1::CompressionStream::copyCompressedArray
virtual size_t copyCompressedArray(DataBlock &outBlock)
Definition: compression_stream.h:136
daal::data_management::DataBlockCollection
services::Collection< services::SharedPtr< DataBlock > > DataBlockCollection
Collection of DataBlock-type elements.
Definition: compression_stream.h:67
daal::data_management::interface1::DataBlock::getPtr
virtual byte * getPtr() const DAAL_C11_OVERRIDE
Definition: data_block.h:149
daal::data_management::interface1::DecompressionStream::copyDecompressedArray
virtual size_t copyDecompressedArray(DataBlock &outBlock)
Definition: compression_stream.h:223
daal::data_management::interface1::CompressorImpl
Base class for the Compressor.
Definition: compression.h:251
daal::services::interface1::SharedPtr
Shared pointer that retains shared ownership of an object through a pointer. Several SharedPtr object...
Definition: daal_shared_ptr.h:187
daal::data_management::interface1::DataBlock::getSize
virtual size_t getSize() const DAAL_C11_OVERRIDE
Definition: data_block.h:159
daal::data_management::interface1::CompressionStream
CompressionStream class compresses input raw data by blocks.
Definition: compression_stream.h:81
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:65
daal::data_management::interface1::DecompressorImpl
Base class for the Decompressor.
Definition: compression.h:277
daal::data_management::interface1::DecompressionStream
DecompressionStream class decompresses compressed input data by blocks.
Definition: compression_stream.h:170
daal::services::interface1::Collection
Class that implements functionality of the Collection container.
Definition: collection.h:69
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:109