22 #ifndef __DATA_ARCHIVE_H__
23 #define __DATA_ARCHIVE_H__
25 #include "services/base.h"
26 #include "services/library_version_info.h"
27 #include "services/daal_memory.h"
28 #include "services/collection.h"
29 #include "data_management/data/data_block.h"
30 #include "data_management/data/factory.h"
31 #include "data_management/data/data_serialize.h"
32 #include "data_management/data/data_collection.h"
33 #include "data_management/features/defines.h"
34 #include "data_management/compression/compression_stream.h"
38 namespace data_management
52 class DataArchiveIface :
public Base
55 virtual ~DataArchiveIface() {}
62 virtual void write(byte *ptr,
size_t size) = 0;
69 virtual void read(byte *ptr,
size_t size) = 0;
75 virtual size_t getSizeOfArchive()
const = 0;
81 virtual services::SharedPtr<byte> getArchiveAsArraySharedPtr()
const = 0;
88 DAAL_DEPRECATED_VIRTUAL
virtual byte *getArchiveAsArray() {
return NULL; }
95 DAAL_DEPRECATED_VIRTUAL
virtual std::string getArchiveAsString() = 0;
103 virtual size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const = 0;
109 virtual void setMajorVersion(
int majorVersion) = 0;
115 virtual void setMinorVersion(
int minorVersion) = 0;
121 virtual void setUpdateVersion(
int updateVersion) = 0;
127 virtual int getMajorVersion() = 0;
133 virtual int getMinorVersion() = 0;
139 virtual int getUpdateVersion() = 0;
147 class DataArchiveImpl :
public DataArchiveIface
150 DataArchiveImpl() : _majorVersion(0), _minorVersion(0), _updateVersion(0) {}
152 virtual ~DataArchiveImpl() {}
154 void setMajorVersion(
int majorVersion) DAAL_C11_OVERRIDE
156 _majorVersion = majorVersion;
159 void setMinorVersion(
int minorVersion) DAAL_C11_OVERRIDE
161 _minorVersion = minorVersion;
164 void setUpdateVersion(
int updateVersion) DAAL_C11_OVERRIDE
166 _updateVersion = updateVersion;
169 int getMajorVersion() DAAL_C11_OVERRIDE
171 return _majorVersion;
174 int getMinorVersion() DAAL_C11_OVERRIDE
176 return _minorVersion;
179 int getUpdateVersion() DAAL_C11_OVERRIDE
181 return _updateVersion;
194 class DataArchive:
public DataArchiveImpl
200 DataArchive() : minBlockSize(1024 * 16), minBlocksNum(16), _errors(new services::ErrorCollection())
203 blockAllocatedSize = 0;
206 currentWriteBlock = -1;
208 currentReadBlock = 0;
209 currentReadBlockOffset = 0;
211 serializedBuffer = 0;
213 addBlock( minBlockSize );
219 DataArchive(
const DataArchive &arch ) : minBlockSize(1024 * 16), minBlocksNum(16)
222 blockAllocatedSize = 0;
225 currentWriteBlock = -1;
227 currentReadBlock = 0;
228 currentReadBlockOffset = 0;
230 serializedBuffer = 0;
232 size_t size = arch.getSizeOfArchive();
234 arch.copyArchiveToArray( blockPtr[currentWriteBlock], size );
236 blockOffset[currentWriteBlock] += size;
244 DataArchive( byte *ptr,
size_t size ) : minBlockSize(1024 * 16), minBlocksNum(16)
247 blockAllocatedSize = 0;
250 currentWriteBlock = -1;
252 currentReadBlock = 0;
253 currentReadBlockOffset = 0;
255 serializedBuffer = 0;
259 daal::services::daal_memcpy_s(blockPtr[currentWriteBlock], size, ptr, size);
261 blockOffset[currentWriteBlock] += size;
267 for(i = 0; i <= currentWriteBlock; i++)
269 daal::services::daal_free( blockPtr[i] );
271 daal::services::daal_free( blockPtr );
272 daal::services::daal_free( blockAllocatedSize );
273 daal::services::daal_free( blockOffset );
274 if( serializedBuffer )
276 daal::services::daal_free( serializedBuffer );
280 void write(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
282 size_t alignedSize = alignValueUp(size);
283 if( blockAllocatedSize[currentWriteBlock] < blockOffset[currentWriteBlock] + alignedSize )
285 addBlock(alignedSize);
288 size_t offset = blockOffset[currentWriteBlock];
290 daal::services::daal_memcpy_s(&(blockPtr[currentWriteBlock][offset]), alignedSize, ptr, size);
291 for (
size_t i = size; i < alignedSize; i++)
293 blockPtr[currentWriteBlock][offset + i] = 0;
296 blockOffset[currentWriteBlock] += alignedSize;
299 void read(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
301 size_t alignedSize = alignValueUp(size);
302 if( blockOffset[currentReadBlock] < currentReadBlockOffset + alignedSize )
304 this->_errors->add(services::ErrorDataArchiveInternal);
308 daal::services::daal_memcpy_s(ptr, size, &(blockPtr[currentReadBlock][currentReadBlockOffset]), size);
310 currentReadBlockOffset += alignedSize;
311 if( blockOffset[currentReadBlock] == currentReadBlockOffset )
314 currentReadBlockOffset = 0;
318 size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
322 for(i = 0; i <= currentWriteBlock; i++)
324 size += blockOffset[i];
329 services::SharedPtr<byte> getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
331 size_t length = getSizeOfArchive();
333 if( length == 0 ) {
return services::SharedPtr<byte>(); }
335 services::SharedPtr<byte> serializedBufferPtr((byte *)daal::services::daal_malloc( length ), services::ServiceDeleter());
336 if( !serializedBufferPtr ) {
return services::SharedPtr<byte>(); }
338 copyArchiveToArray(serializedBufferPtr.get(), length);
340 return serializedBufferPtr;
343 byte *getArchiveAsArray() DAAL_C11_OVERRIDE
345 if( serializedBuffer ) {
return serializedBuffer; }
347 size_t length = getSizeOfArchive();
349 if( length == 0 ) {
return 0; }
351 serializedBuffer = (byte *)daal::services::daal_malloc( length );
352 if( serializedBuffer == 0 ) {
return 0; }
354 copyArchiveToArray(serializedBuffer, length);
356 return serializedBuffer;
359 std::string getArchiveAsString() DAAL_C11_OVERRIDE
361 size_t length = getSizeOfArchive();
362 char *buffer = (
char *)getArchiveAsArray();
364 return std::string( buffer, length );
367 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const DAAL_C11_OVERRIDE
369 size_t length = getSizeOfArchive();
371 if( length == 0 || length > maxLength ) {
return length; }
375 for(i = 0; i <= currentWriteBlock; i++)
377 size_t blockSize = blockOffset[i];
379 daal::services::daal_memcpy_s(&(ptr[offset]), blockSize, blockPtr[i], blockSize);
391 services::SharedPtr<services::ErrorCollection> getErrors()
398 void addBlock(
size_t minNewSize )
400 if( currentWriteBlock + 1 == arraysSize )
402 byte **oldBlockPtr = blockPtr ;
403 size_t *oldBlockAllocatedSize = blockAllocatedSize;
404 size_t *oldBlockOffset = blockOffset ;
406 blockPtr = (byte **)daal::services::daal_malloc(
sizeof(byte *) * (arraysSize + minBlocksNum));
407 blockAllocatedSize = (
size_t *)daal::services::daal_malloc(
sizeof(
size_t) * (arraysSize + minBlocksNum));
408 blockOffset = (
size_t *)daal::services::daal_malloc(
sizeof(
size_t) * (arraysSize + minBlocksNum));
410 if( blockPtr == 0 || blockAllocatedSize == 0 || blockOffset == 0 ) {
return; }
412 daal::services::daal_memcpy_s(blockPtr, arraysSize *
sizeof(byte *), oldBlockPtr, arraysSize *
sizeof(byte *));
413 daal::services::daal_memcpy_s(blockAllocatedSize, arraysSize *
sizeof(
size_t), oldBlockAllocatedSize, arraysSize *
sizeof(
size_t));
414 daal::services::daal_memcpy_s(blockOffset, arraysSize *
sizeof(
size_t), oldBlockOffset, arraysSize *
sizeof(
size_t));
416 daal::services::daal_free(oldBlockPtr );
417 daal::services::daal_free(oldBlockAllocatedSize);
418 daal::services::daal_free(oldBlockOffset );
420 arraysSize += minBlocksNum;
425 size_t allocationSize = (minBlockSize > minNewSize) ? minBlockSize : minNewSize;
427 blockPtr [currentWriteBlock] = (byte *)daal::services::daal_malloc(allocationSize);
428 blockAllocatedSize[currentWriteBlock] = allocationSize;
429 blockOffset [currentWriteBlock] = 0;
432 inline size_t alignValueUp(
size_t value)
434 if (_majorVersion == 2016 && _minorVersion == 0 && _updateVersion == 0)
439 size_t alignm1 = DAAL_MALLOC_DEFAULT_ALIGNMENT - 1;
441 size_t alignedValue = value + alignm1;
442 alignedValue &= ~alignm1;
446 services::SharedPtr<services::ErrorCollection> _errors;
453 size_t *blockAllocatedSize;
458 int currentWriteBlock;
460 int currentReadBlock;
461 size_t currentReadBlockOffset;
463 byte *serializedBuffer;
471 class CompressedDataArchive :
public DataArchiveImpl
479 CompressedDataArchive(daal::data_management::CompressorImpl *compressor) : minBlockSize(1024 * 64),
480 _errors(new services::ErrorCollection())
482 compressionStream =
new daal::data_management::CompressionStream(compressor, minBlockSize);
483 serializedBuffer = 0;
487 ~CompressedDataArchive()
489 if( serializedBuffer )
491 daal::services::daal_free( serializedBuffer );
493 delete compressionStream;
496 void write(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
500 wBlock.setSize(size);
501 compressionStream->push_back(&wBlock);
504 void read(byte *ptr,
size_t size) DAAL_C11_OVERRIDE {}
506 size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
508 return compressionStream->getCompressedDataSize();
511 byte *getArchiveAsArray() DAAL_C11_OVERRIDE
513 if( serializedBuffer ) {
return serializedBuffer; }
515 size_t length = getSizeOfArchive();
517 if( length == 0 ) {
return 0; }
519 serializedBuffer = (byte *)daal::services::daal_malloc( length );
520 if( serializedBuffer == 0 ) {
return 0; }
522 compressionStream->copyCompressedArray(serializedBuffer, length);
523 return serializedBuffer;
526 services::SharedPtr<byte> getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
528 size_t length = getSizeOfArchive();
530 if( length == 0 ) {
return services::SharedPtr<byte>(); }
532 services::SharedPtr<byte> serializedBufferPtr((byte *)daal::services::daal_malloc( length ), services::ServiceDeleter());
533 if( !serializedBufferPtr ) {
return services::SharedPtr<byte>(); }
535 copyArchiveToArray(serializedBufferPtr.get(), length);
537 return serializedBufferPtr;
540 std::string getArchiveAsString() DAAL_C11_OVERRIDE
542 size_t length = getSizeOfArchive();
543 char *buffer = (
char *)getArchiveAsArray();
545 return std::string( buffer, length );
548 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const DAAL_C11_OVERRIDE
550 size_t length = getSizeOfArchive();
552 if( length == 0 || length > maxLength ) {
return length; }
554 compressionStream->copyCompressedArray(ptr, length);
562 services::SharedPtr<services::ErrorCollection> getErrors()
569 byte *serializedBuffer;
570 daal::data_management::CompressionStream *compressionStream;
571 services::SharedPtr<services::ErrorCollection> _errors;
579 class DecompressedDataArchive :
public DataArchiveImpl
587 DecompressedDataArchive(daal::data_management::DecompressorImpl *decompressor) : minBlockSize(1024 * 64),
588 _errors(new services::ErrorCollection())
590 decompressionStream =
new daal::data_management::DecompressionStream(decompressor, minBlockSize);
591 serializedBuffer = 0;
595 ~DecompressedDataArchive()
597 if( serializedBuffer )
599 daal::services::daal_free( serializedBuffer );
601 delete decompressionStream;
604 void write(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
608 wBlock.setSize(size);
609 decompressionStream->push_back(&wBlock);
612 void read(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
614 decompressionStream->copyDecompressedArray(ptr, size);
617 size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
619 return decompressionStream->getDecompressedDataSize();
622 byte *getArchiveAsArray() DAAL_C11_OVERRIDE
624 if( serializedBuffer ) {
return serializedBuffer; }
626 size_t length = getSizeOfArchive();
628 if( length == 0 ) {
return 0; }
630 serializedBuffer = (byte *)daal::services::daal_malloc( length );
631 if( serializedBuffer == 0 ) {
return 0; }
633 decompressionStream->copyDecompressedArray(serializedBuffer, length);
634 return serializedBuffer;
637 services::SharedPtr<byte> getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
639 size_t length = getSizeOfArchive();
641 if( length == 0 ) {
return services::SharedPtr<byte>(); }
643 services::SharedPtr<byte> serializedBufferPtr((byte *)daal::services::daal_malloc( length ), services::ServiceDeleter());
644 if( !serializedBufferPtr ) {
return services::SharedPtr<byte>(); }
646 copyArchiveToArray(serializedBufferPtr.get(), length);
648 return serializedBufferPtr;
651 std::string getArchiveAsString() DAAL_C11_OVERRIDE
653 size_t length = getSizeOfArchive();
654 char *buffer = (
char *)getArchiveAsArray();
656 return std::string( buffer, length );
659 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const DAAL_C11_OVERRIDE
661 size_t length = getSizeOfArchive();
663 if( length == 0 || length > maxLength ) {
return length; }
665 decompressionStream->copyDecompressedArray(ptr, length);
673 services::SharedPtr<services::ErrorCollection> getErrors()
680 byte *serializedBuffer;
681 daal::data_management::DecompressionStream *decompressionStream;
682 services::SharedPtr<services::ErrorCollection> _errors;
689 class InputDataArchive :
public Base
695 InputDataArchive() : _finalized(false), _errors(new services::ErrorCollection())
697 _arch =
new DataArchive;
706 InputDataArchive(DataArchiveIface * arch) : _finalized(false), _errors(new services::ErrorCollection())
715 InputDataArchive(daal::data_management::CompressorImpl *compressor) : _finalized(false),
716 _errors(new services::ErrorCollection())
718 _arch =
new CompressedDataArchive(compressor);
732 int headerValues[8] =
736 __INTEL_DAAL_MINOR__,
737 __INTEL_DAAL_UPDATE__,
741 _arch->setMajorVersion (headerValues[1]);
742 _arch->setMinorVersion (headerValues[2]);
743 _arch->setUpdateVersion(headerValues[3]);
744 for(
size_t i = 0; i < 8; i++)
746 _arch->write( (byte *)&headerValues[i],
sizeof(
int) );
761 void segmentHeader(
int tag = 0 )
763 _arch->write( (byte *)&tag,
sizeof(
int) );
781 _arch->write( (byte *)&val,
sizeof(T) );
790 void set(daal::services::Collection<T> &val)
792 size_t size = val.size();
793 _arch->write( (byte *)&size,
sizeof(
size_t) );
794 for(
size_t i = 0; i < size; i++)
796 _arch->write( (byte *) & (val[i]),
sizeof(T) );
807 void set(T *ptr,
size_t size)
809 _arch->write( (byte *)ptr, size *
sizeof(T) );
819 void setObj(T *ptr,
size_t size = 1)
821 for(
size_t i = 0; i < size; i++ )
823 ptr[i].serializeImpl(
this );
831 void setSingleObj(SerializationIface **ptr)
833 int isNull = (*ptr == 0);
838 (*ptr)->serialize( *
this );
847 void setSharedPtrObj(services::SharedPtr<T> &obj)
849 data_management::SerializationIface *ptr = obj.get();
857 services::SharedPtr<byte> getArchiveAsArraySharedPtr()
859 if(!_finalized) { archiveFooter(); }
860 return _arch->getArchiveAsArraySharedPtr();
868 DAAL_DEPRECATED byte *getArchiveAsArray()
870 if(!_finalized) { archiveFooter(); }
871 return _arch->getArchiveAsArray();
880 DAAL_DEPRECATED
void getArchiveAsArray(
const byte **ptr,
size_t *size )
882 if(!_finalized) { archiveFooter(); }
884 *ptr = (byte *)_arch->getArchiveAsArray();
885 *size = _arch->getSizeOfArchive();
892 size_t getSizeOfArchive()
894 if(!_finalized) { archiveFooter(); }
896 return _arch->getSizeOfArchive();
904 DAAL_DEPRECATED std::string getArchiveAsString()
906 if(!_finalized) { archiveFooter(); }
908 return _arch->getArchiveAsString();
917 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
919 if(!_finalized) { archiveFooter(); }
921 return _arch->copyArchiveToArray( ptr, maxLength );
928 const DataArchive &getDataArchive()
930 return *
static_cast<DataArchive *
>(_arch);
937 services::SharedPtr<services::ErrorCollection> getErrors()
943 DataArchiveIface *_arch;
945 services::SharedPtr<services::ErrorCollection> _errors;
952 class OutputDataArchive :
public Base
958 OutputDataArchive( InputDataArchive &arch ) : _errors(new services::ErrorCollection())
960 _arch =
new DataArchive(arch.getDataArchive());
969 OutputDataArchive( DataArchiveIface * arch ) : _errors(new services::ErrorCollection())
978 OutputDataArchive( byte *ptr,
size_t size ) : _errors(new services::ErrorCollection())
980 _arch =
new DataArchive(ptr, size);
987 OutputDataArchive( daal::data_management::DecompressorImpl *decompressor, byte *ptr,
size_t size ) :
988 _errors(new services::ErrorCollection())
990 _arch =
new DecompressedDataArchive(decompressor);
991 _arch->write(ptr, size);
1003 void archiveHeader()
const
1005 int headerValues[8];
1007 for(
size_t i = 0; i < 8; i++)
1009 _arch->read( (byte *)&headerValues[i],
sizeof(
int) );
1012 _arch->setMajorVersion (headerValues[1]);
1013 _arch->setMinorVersion (headerValues[2]);
1014 _arch->setUpdateVersion(headerValues[3]);
1020 void archiveFooter()
const
1027 int segmentHeader()
const
1030 _arch->read( (byte *)&tag,
sizeof(
int) );
1037 void segmentFooter()
const {}
1044 template<
typename T>
1045 void set(T &val)
const
1047 _arch->read( (byte *)&val,
sizeof(T) );
1055 template<
typename T>
1056 void set(daal::services::Collection<T> &val)
const
1059 _arch->read( (byte *)&size,
sizeof(
size_t) );
1061 for(
size_t i = 0; i < size; i++)
1064 _arch->read( (byte *)&v,
sizeof(T) );
1075 template<
typename T>
1076 void set(T *ptr,
size_t size)
const
1078 _arch->read( (byte *)ptr, size *
sizeof(T) );
1087 template<
typename T>
1088 void setObj(T *ptr,
size_t size = 1)
const
1090 for(
size_t i = 0; i < size; i++ )
1092 ptr[i].deserializeImpl(
this );
1100 void setSingleObj(SerializationIface **ptr)
const
1111 const int serTag = segmentHeader();
1113 *ptr = Factory::instance().createObject(serTag);
1116 this->_errors->add(services::Error::create(
1117 services::ErrorObjectDoesNotSupportSerialization, services::SerializationTag, serTag));
1121 (*ptr)->deserializeImpl(
this );
1130 template<
typename T>
1131 void setSharedPtrObj(services::SharedPtr<T> &obj)
const
1133 data_management::SerializationIface *ptr;
1135 if(this->_errors->size() != 0) {
return; }
1138 obj = services::SharedPtr<T>(
static_cast<T *
>(ptr));
1142 obj = services::SharedPtr<T>();
1150 services::SharedPtr<SerializationIface> getAsSharedPtr()
const
1152 const int serTag = segmentHeader();
1153 services::SharedPtr<SerializationIface> ptr(Factory::instance().createObject(serTag));
1156 this->_errors->add(services::Error::create(
1157 services::ErrorObjectDoesNotSupportSerialization, services::SerializationTag, serTag));
1158 return services::SharedPtr<SerializationIface>();
1160 ptr->deserializeImpl(
this );
1169 int getMajorVersion()
const
1171 return _arch->getMajorVersion();
1178 int getMinorVersion()
const
1180 return _arch->getMinorVersion();
1187 int getUpdateVersion()
const
1189 return _arch->getUpdateVersion();
1196 services::SharedPtr<services::ErrorCollection> getErrors()
1202 DataArchiveIface *_arch;
1203 services::SharedPtr<services::ErrorCollection> _errors;
1208 using interface1::DataArchiveIface;
1209 using interface1::DataArchive;
1210 using interface1::CompressedDataArchive;
1211 using interface1::DecompressedDataArchive;
1212 using interface1::InputDataArchive;
1213 using interface1::OutputDataArchive;
daal::data_management::interface1::DataArchive::getSizeOfArchive
size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
Definition: data_archive.h:318
daal::data_management::interface1::OutputDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:1196
daal::data_management::interface1::CompressedDataArchive::getArchiveAsArraySharedPtr
services::SharedPtr< byte > getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
Definition: data_archive.h:526
daal::data_management::interface1::DataArchiveIface::setUpdateVersion
virtual void setUpdateVersion(int updateVersion)=0
daal
Definition: algorithm_base_common.h:31
daal::data_management::interface1::OutputDataArchive::set
void set(daal::services::Collection< T > &val) const
Definition: data_archive.h:1056
daal::data_management::interface1::DataArchiveIface::getArchiveAsString
virtual DAAL_DEPRECATED_VIRTUAL std::string getArchiveAsString()=0
daal::data_management::interface1::DataArchive::getArchiveAsArraySharedPtr
services::SharedPtr< byte > getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
Definition: data_archive.h:329
daal::data_management::interface1::OutputDataArchive::set
void set(T *ptr, size_t size) const
Definition: data_archive.h:1076
daal::services::ErrorObjectDoesNotSupportSerialization
Definition: error_indexes.h:397
daal::data_management::interface1::OutputDataArchive::getAsSharedPtr
services::SharedPtr< SerializationIface > getAsSharedPtr() const
Definition: data_archive.h:1150
daal::data_management::interface1::CompressedDataArchive::write
void write(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:496
daal::data_management::interface1::OutputDataArchive::getUpdateVersion
int getUpdateVersion() const
Definition: data_archive.h:1187
daal::data_management::interface1::CompressedDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:562
daal::data_management::interface1::DecompressedDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:673
daal::data_management::interface1::DataArchiveImpl::getMinorVersion
int getMinorVersion() DAAL_C11_OVERRIDE
Definition: data_archive.h:174
daal::data_management::interface1::DataBlock::setSize
virtual void setSize(size_t size) DAAL_C11_OVERRIDE
Definition: data_block.h:148
daal::data_management::interface1::OutputDataArchive::setSharedPtrObj
void setSharedPtrObj(services::SharedPtr< T > &obj) const
Definition: data_archive.h:1131
daal::data_management::interface1::OutputDataArchive::segmentHeader
int segmentHeader() const
Definition: data_archive.h:1027
daal::data_management::interface1::DataArchive::DataArchive
DataArchive()
Definition: data_archive.h:200
daal::data_management::interface1::CompressedDataArchive::CompressedDataArchive
CompressedDataArchive(daal::data_management::CompressorImpl *compressor)
Definition: data_archive.h:479
daal::data_management::interface1::OutputDataArchive::archiveFooter
void archiveFooter() const
Definition: data_archive.h:1020
daal::data_management::interface1::DataArchive::getArchiveAsString
std::string getArchiveAsString() DAAL_C11_OVERRIDE
Definition: data_archive.h:359
daal::data_management::interface1::DataArchiveIface::read
virtual void read(byte *ptr, size_t size)=0
daal::data_management::interface1::DataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:391
daal::data_management::interface1::DecompressedDataArchive::getArchiveAsArray
byte * getArchiveAsArray() DAAL_C11_OVERRIDE
Definition: data_archive.h:622
daal::services::SerializationTag
Definition: error_indexes.h:57
daal::data_management::interface1::DataArchive::copyArchiveToArray
size_t copyArchiveToArray(byte *ptr, size_t maxLength) const DAAL_C11_OVERRIDE
Definition: data_archive.h:367
daal::data_management::interface1::OutputDataArchive::setObj
void setObj(T *ptr, size_t size=1) const
Definition: data_archive.h:1088
daal::data_management::interface1::DataArchiveIface::getSizeOfArchive
virtual size_t getSizeOfArchive() const =0
daal::data_management::interface1::DataArchiveIface::getArchiveAsArray
virtual DAAL_DEPRECATED_VIRTUAL byte * getArchiveAsArray()
Definition: data_archive.h:88
daal::data_management::interface1::DataArchiveIface::getMinorVersion
virtual int getMinorVersion()=0
daal::data_management::interface1::DataArchiveImpl::setMinorVersion
void setMinorVersion(int minorVersion) DAAL_C11_OVERRIDE
Definition: data_archive.h:159
daal::data_management::interface1::DataArchive::DataArchive
DataArchive(byte *ptr, size_t size)
Definition: data_archive.h:244
daal::data_management::interface1::DataArchiveImpl::getMajorVersion
int getMajorVersion() DAAL_C11_OVERRIDE
Definition: data_archive.h:169
daal::services::daal_memcpy_s
DAAL_EXPORT void daal_memcpy_s(void *dest, size_t numberOfElements, const void *src, size_t count)
daal::data_management::interface1::DataArchiveIface
Abstract interface class that defines methods to access and modify a serialized object. This class declares the most generic access and modification methods.
Definition: data_archive.h:52
daal::data_management::interface1::OutputDataArchive::segmentFooter
void segmentFooter() const
Definition: data_archive.h:1037
daal::data_management::interface1::DataArchive
Implements the abstract DataArchiveIface interface.
Definition: data_archive.h:194
daal::data_management::interface1::DataBlock::setPtr
virtual void setPtr(byte *ptr) DAAL_C11_OVERRIDE
Definition: data_block.h:138
daal::services::daal_malloc
DAAL_EXPORT void * daal_malloc(size_t size, size_t alignment=DAAL_MALLOC_DEFAULT_ALIGNMENT)
daal::data_management::interface1::DataArchiveIface::setMajorVersion
virtual void setMajorVersion(int majorVersion)=0
daal::data_management::interface1::CompressedDataArchive::read
void read(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:504
daal::data_management::interface1::DataArchive::write
void write(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:280
daal::data_management::interface1::OutputDataArchive::getMinorVersion
int getMinorVersion() const
Definition: data_archive.h:1178
daal::data_management::interface1::CompressedDataArchive
Abstract interface class that defines methods to access and modify a serialized object. This class declares the most generic access and modification methods.
Definition: data_archive.h:471
daal::data_management::interface1::OutputDataArchive::set
void set(T &val) const
Definition: data_archive.h:1045
daal::data_management::interface1::OutputDataArchive
Provides methods to restore an object from its serialized counterpart and access the restored object...
Definition: data_archive.h:952
daal::data_management::interface1::Factory::instance
static Factory & instance()
daal::data_management::interface1::DecompressedDataArchive::copyArchiveToArray
size_t copyArchiveToArray(byte *ptr, size_t maxLength) const DAAL_C11_OVERRIDE
Definition: data_archive.h:659
daal::data_management::interface1::DecompressedDataArchive::read
void read(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:612
daal::data_management::interface1::CompressedDataArchive::copyArchiveToArray
size_t copyArchiveToArray(byte *ptr, size_t maxLength) const DAAL_C11_OVERRIDE
Definition: data_archive.h:548
daal::data_management::interface1::DataArchive::DataArchive
DataArchive(const DataArchive &arch)
Definition: data_archive.h:219
daal::data_management::interface1::OutputDataArchive::setSingleObj
void setSingleObj(SerializationIface **ptr) const
Definition: data_archive.h:1100
daal::data_management::interface1::OutputDataArchive::getMajorVersion
int getMajorVersion() const
Definition: data_archive.h:1169
daal::data_management::interface1::DataArchiveImpl
Abstract interface class that defines methods to access and modify a serialized object. This class implements the most general serialization methods.
Definition: data_archive.h:147
daal::data_management::interface1::DecompressedDataArchive::write
void write(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:604
daal::services::daal_free
DAAL_EXPORT void daal_free(void *ptr)
daal::data_management::interface1::CompressedDataArchive::getArchiveAsString
std::string getArchiveAsString() DAAL_C11_OVERRIDE
Definition: data_archive.h:540
daal::data_management::interface1::DecompressedDataArchive::getSizeOfArchive
size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
Definition: data_archive.h:617
daal::data_management::interface1::DecompressedDataArchive::DecompressedDataArchive
DecompressedDataArchive(daal::data_management::DecompressorImpl *decompressor)
Definition: data_archive.h:587
daal::data_management::interface1::DataArchiveIface::setMinorVersion
virtual void setMinorVersion(int minorVersion)=0
daal::data_management::interface1::DecompressedDataArchive::getArchiveAsArraySharedPtr
services::SharedPtr< byte > getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
Definition: data_archive.h:637
daal::data_management::interface1::Factory::createObject
SerializationIface * createObject(int objectId)
daal::services::ErrorDataArchiveInternal
Definition: error_indexes.h:101
daal::data_management::interface1::DataArchiveIface::write
virtual void write(byte *ptr, size_t size)=0
daal::data_management::interface1::DataArchiveIface::getArchiveAsArraySharedPtr
virtual services::SharedPtr< byte > getArchiveAsArraySharedPtr() const =0
daal::data_management::interface1::OutputDataArchive::OutputDataArchive
OutputDataArchive(daal::data_management::DecompressorImpl *decompressor, byte *ptr, size_t size)
Definition: data_archive.h:987
daal::data_management::interface1::DataArchiveIface::getUpdateVersion
virtual int getUpdateVersion()=0
daal::data_management::interface1::OutputDataArchive::OutputDataArchive
OutputDataArchive(byte *ptr, size_t size)
Definition: data_archive.h:978
daal::data_management::interface1::CompressedDataArchive::getArchiveAsArray
byte * getArchiveAsArray() DAAL_C11_OVERRIDE
Definition: data_archive.h:511
daal::data_management::interface1::DecompressedDataArchive::getArchiveAsString
std::string getArchiveAsString() DAAL_C11_OVERRIDE
Definition: data_archive.h:651
daal::algorithms::math::abs::value
Definition: abs_types.h:86
daal::data_management::interface1::OutputDataArchive::OutputDataArchive
OutputDataArchive(DataArchiveIface *arch)
Definition: data_archive.h:969
daal::data_management::interface1::DataArchiveIface::getMajorVersion
virtual int getMajorVersion()=0
daal::algorithms::implicit_als::training::offset
Definition: implicit_als_training_types.h:148
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:39
daal::data_management::interface1::DataArchive::getArchiveAsArray
byte * getArchiveAsArray() DAAL_C11_OVERRIDE
Definition: data_archive.h:343
daal::data_management::interface1::OutputDataArchive::OutputDataArchive
OutputDataArchive(InputDataArchive &arch)
Definition: data_archive.h:958
daal::data_management::interface1::DecompressedDataArchive
Abstract interface class that defines methods to access and modify a serialized object. This class declares the most generic access and modification methods.
Definition: data_archive.h:579
daal::data_management::interface1::CompressedDataArchive::getSizeOfArchive
size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
Definition: data_archive.h:506
daal::data_management::interface1::SerializationIface
Abstract interface class that defines the interface for serialization and deserialization.
Definition: data_serialize.h:50
daal::data_management::interface1::DataArchiveImpl::setUpdateVersion
void setUpdateVersion(int updateVersion) DAAL_C11_OVERRIDE
Definition: data_archive.h:164
daal::data_management::interface1::DataArchive::read
void read(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:299
daal::data_management::interface1::DataArchiveImpl::getUpdateVersion
int getUpdateVersion() DAAL_C11_OVERRIDE
Definition: data_archive.h:179
daal::data_management::interface1::DataArchiveIface::copyArchiveToArray
virtual size_t copyArchiveToArray(byte *ptr, size_t maxLength) const =0
daal::data_management::interface1::OutputDataArchive::archiveHeader
void archiveHeader() const
Definition: data_archive.h:1003
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::DataArchiveImpl::setMajorVersion
void setMajorVersion(int majorVersion) DAAL_C11_OVERRIDE
Definition: data_archive.h:154