48 #ifndef __DATA_ARCHIVE_H__
49 #define __DATA_ARCHIVE_H__
51 #include "services/base.h"
52 #include "services/library_version_info.h"
53 #include "services/daal_memory.h"
54 #include "services/collection.h"
55 #include "data_management/data/data_block.h"
56 #include "data_management/data/data_utils.h"
57 #include "data_management/data/factory.h"
58 #include "data_management/data/data_serialize.h"
59 #include "data_management/data/data_collection.h"
60 #include "data_management/compression/compression_stream.h"
64 namespace data_management
78 class DataArchiveIface :
public Base
81 virtual ~DataArchiveIface() {}
88 virtual void write(byte *ptr,
size_t size) = 0;
95 virtual void read(byte *ptr,
size_t size) = 0;
101 virtual size_t getSizeOfArchive()
const = 0;
107 virtual services::SharedPtr<byte> getArchiveAsArraySharedPtr()
const = 0;
114 DAAL_DEPRECATED_VIRTUAL
virtual byte *getArchiveAsArray() {
return NULL; }
121 DAAL_DEPRECATED_VIRTUAL
virtual std::string getArchiveAsString() = 0;
129 virtual size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const = 0;
135 virtual void setMajorVersion(
int majorVersion) = 0;
141 virtual void setMinorVersion(
int minorVersion) = 0;
147 virtual void setUpdateVersion(
int updateVersion) = 0;
153 virtual int getMajorVersion() = 0;
159 virtual int getMinorVersion() = 0;
165 virtual int getUpdateVersion() = 0;
173 class DataArchiveImpl :
public DataArchiveIface
176 DataArchiveImpl() : _majorVersion(0), _minorVersion(0), _updateVersion(0) {}
178 virtual ~DataArchiveImpl() {}
180 void setMajorVersion(
int majorVersion) DAAL_C11_OVERRIDE
182 _majorVersion = majorVersion;
185 void setMinorVersion(
int minorVersion) DAAL_C11_OVERRIDE
187 _minorVersion = minorVersion;
190 void setUpdateVersion(
int updateVersion) DAAL_C11_OVERRIDE
192 _updateVersion = updateVersion;
195 int getMajorVersion() DAAL_C11_OVERRIDE
197 return _majorVersion;
200 int getMinorVersion() DAAL_C11_OVERRIDE
202 return _minorVersion;
205 int getUpdateVersion() DAAL_C11_OVERRIDE
207 return _updateVersion;
220 class DataArchive:
public DataArchiveImpl
226 DataArchive() : minBlockSize(1024 * 16), minBlocksNum(16), _errors(new services::ErrorCollection())
229 blockAllocatedSize = 0;
232 currentWriteBlock = -1;
234 currentReadBlock = 0;
235 currentReadBlockOffset = 0;
237 serializedBuffer = 0;
239 addBlock( minBlockSize );
245 DataArchive(
const DataArchive &arch ) : minBlockSize(1024 * 16), minBlocksNum(16)
248 blockAllocatedSize = 0;
251 currentWriteBlock = -1;
253 currentReadBlock = 0;
254 currentReadBlockOffset = 0;
256 serializedBuffer = 0;
258 size_t size = arch.getSizeOfArchive();
260 arch.copyArchiveToArray( blockPtr[currentWriteBlock], size );
262 blockOffset[currentWriteBlock] += size;
270 DataArchive( byte *ptr,
size_t size ) : minBlockSize(1024 * 16), minBlocksNum(16)
273 blockAllocatedSize = 0;
276 currentWriteBlock = -1;
278 currentReadBlock = 0;
279 currentReadBlockOffset = 0;
281 serializedBuffer = 0;
285 daal::services::daal_memcpy_s(blockPtr[currentWriteBlock], size, ptr, size);
287 blockOffset[currentWriteBlock] += size;
293 for(i = 0; i <= currentWriteBlock; i++)
295 daal::services::daal_free( blockPtr[i] );
297 daal::services::daal_free( blockPtr );
298 daal::services::daal_free( blockAllocatedSize );
299 daal::services::daal_free( blockOffset );
300 if( serializedBuffer )
302 daal::services::daal_free( serializedBuffer );
306 void write(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
308 size_t alignedSize = alignValueUp(size);
309 if( blockAllocatedSize[currentWriteBlock] < blockOffset[currentWriteBlock] + alignedSize )
311 addBlock(alignedSize);
314 size_t offset = blockOffset[currentWriteBlock];
316 daal::services::daal_memcpy_s(&(blockPtr[currentWriteBlock][offset]), alignedSize, ptr, size);
317 for (
size_t i = size; i < alignedSize; i++)
319 blockPtr[currentWriteBlock][offset + i] = 0;
322 blockOffset[currentWriteBlock] += alignedSize;
325 void read(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
327 size_t alignedSize = alignValueUp(size);
328 if( blockOffset[currentReadBlock] < currentReadBlockOffset + alignedSize )
330 this->_errors->add(services::ErrorDataArchiveInternal);
334 daal::services::daal_memcpy_s(ptr, size, &(blockPtr[currentReadBlock][currentReadBlockOffset]), size);
336 currentReadBlockOffset += alignedSize;
337 if( blockOffset[currentReadBlock] == currentReadBlockOffset )
340 currentReadBlockOffset = 0;
344 size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
348 for(i = 0; i <= currentWriteBlock; i++)
350 size += blockOffset[i];
355 services::SharedPtr<byte> getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
357 size_t length = getSizeOfArchive();
359 if( length == 0 ) {
return services::SharedPtr<byte>(); }
361 services::SharedPtr<byte> serializedBufferPtr((byte *)daal::services::daal_malloc( length ), services::ServiceDeleter());
362 if( !serializedBufferPtr ) {
return services::SharedPtr<byte>(); }
364 copyArchiveToArray(serializedBufferPtr.get(), length);
366 return serializedBufferPtr;
369 byte *getArchiveAsArray() DAAL_C11_OVERRIDE
371 if( serializedBuffer ) {
return serializedBuffer; }
373 size_t length = getSizeOfArchive();
375 if( length == 0 ) {
return 0; }
377 serializedBuffer = (byte *)daal::services::daal_malloc( length );
378 if( serializedBuffer == 0 ) {
return 0; }
380 copyArchiveToArray(serializedBuffer, length);
382 return serializedBuffer;
385 std::string getArchiveAsString() DAAL_C11_OVERRIDE
387 size_t length = getSizeOfArchive();
388 char *buffer = (
char *)getArchiveAsArray();
390 return std::string( buffer, length );
393 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const DAAL_C11_OVERRIDE
395 size_t length = getSizeOfArchive();
397 if( length == 0 || length > maxLength ) {
return length; }
401 for(i = 0; i <= currentWriteBlock; i++)
403 size_t blockSize = blockOffset[i];
405 daal::services::daal_memcpy_s(&(ptr[offset]), blockSize, blockPtr[i], blockSize);
417 services::SharedPtr<services::ErrorCollection> getErrors()
424 void addBlock(
size_t minNewSize )
426 if( currentWriteBlock + 1 == arraysSize )
428 byte **oldBlockPtr = blockPtr ;
429 size_t *oldBlockAllocatedSize = blockAllocatedSize;
430 size_t *oldBlockOffset = blockOffset ;
432 blockPtr = (byte **)daal::services::daal_malloc(
sizeof(byte *) * (arraysSize + minBlocksNum));
433 blockAllocatedSize = (
size_t *)daal::services::daal_malloc(
sizeof(
size_t) * (arraysSize + minBlocksNum));
434 blockOffset = (
size_t *)daal::services::daal_malloc(
sizeof(
size_t) * (arraysSize + minBlocksNum));
436 if( blockPtr == 0 || blockAllocatedSize == 0 || blockOffset == 0 ) {
return; }
438 daal::services::daal_memcpy_s(blockPtr, arraysSize *
sizeof(byte *), oldBlockPtr, arraysSize *
sizeof(byte *));
439 daal::services::daal_memcpy_s(blockAllocatedSize, arraysSize *
sizeof(
size_t), oldBlockAllocatedSize, arraysSize *
sizeof(
size_t));
440 daal::services::daal_memcpy_s(blockOffset, arraysSize *
sizeof(
size_t), oldBlockOffset, arraysSize *
sizeof(
size_t));
442 daal::services::daal_free(oldBlockPtr );
443 daal::services::daal_free(oldBlockAllocatedSize);
444 daal::services::daal_free(oldBlockOffset );
446 arraysSize += minBlocksNum;
451 size_t allocationSize = (minBlockSize > minNewSize) ? minBlockSize : minNewSize;
453 blockPtr [currentWriteBlock] = (byte *)daal::services::daal_malloc(allocationSize);
454 blockAllocatedSize[currentWriteBlock] = allocationSize;
455 blockOffset [currentWriteBlock] = 0;
458 inline size_t alignValueUp(
size_t value)
460 if (_majorVersion == 2016 && _minorVersion == 0 && _updateVersion == 0)
465 size_t alignm1 = DAAL_MALLOC_DEFAULT_ALIGNMENT - 1;
467 size_t alignedValue = value + alignm1;
468 alignedValue &= ~alignm1;
472 services::SharedPtr<services::ErrorCollection> _errors;
479 size_t *blockAllocatedSize;
484 int currentWriteBlock;
486 int currentReadBlock;
487 size_t currentReadBlockOffset;
489 byte *serializedBuffer;
497 class CompressedDataArchive :
public DataArchiveImpl
505 CompressedDataArchive(daal::data_management::CompressorImpl *compressor) : minBlockSize(1024 * 64),
506 _errors(new services::ErrorCollection())
508 compressionStream =
new daal::data_management::CompressionStream(compressor, minBlockSize);
509 serializedBuffer = 0;
513 ~CompressedDataArchive()
515 if( serializedBuffer )
517 daal::services::daal_free( serializedBuffer );
519 delete compressionStream;
522 void write(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
526 wBlock.setSize(size);
527 compressionStream->push_back(&wBlock);
530 void read(byte *ptr,
size_t size) DAAL_C11_OVERRIDE {}
532 size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
534 return compressionStream->getCompressedDataSize();
537 byte *getArchiveAsArray() DAAL_C11_OVERRIDE
539 if( serializedBuffer ) {
return serializedBuffer; }
541 size_t length = getSizeOfArchive();
543 if( length == 0 ) {
return 0; }
545 serializedBuffer = (byte *)daal::services::daal_malloc( length );
546 if( serializedBuffer == 0 ) {
return 0; }
548 compressionStream->copyCompressedArray(serializedBuffer, length);
549 return serializedBuffer;
552 services::SharedPtr<byte> getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
554 size_t length = getSizeOfArchive();
556 if( length == 0 ) {
return services::SharedPtr<byte>(); }
558 services::SharedPtr<byte> serializedBufferPtr((byte *)daal::services::daal_malloc( length ), services::ServiceDeleter());
559 if( serializedBufferPtr ) {
return services::SharedPtr<byte>(); }
561 copyArchiveToArray(serializedBufferPtr.get(), length);
563 return serializedBufferPtr;
566 std::string getArchiveAsString() DAAL_C11_OVERRIDE
568 size_t length = getSizeOfArchive();
569 char *buffer = (
char *)getArchiveAsArray();
571 return std::string( buffer, length );
574 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const DAAL_C11_OVERRIDE
576 size_t length = getSizeOfArchive();
578 if( length == 0 || length > maxLength ) {
return length; }
580 compressionStream->copyCompressedArray(ptr, length);
588 services::SharedPtr<services::ErrorCollection> getErrors()
595 byte *serializedBuffer;
596 daal::data_management::CompressionStream *compressionStream;
597 services::SharedPtr<services::ErrorCollection> _errors;
605 class DecompressedDataArchive :
public DataArchiveImpl
613 DecompressedDataArchive(daal::data_management::DecompressorImpl *decompressor) : minBlockSize(1024 * 64),
614 _errors(new services::ErrorCollection())
616 decompressionStream =
new daal::data_management::DecompressionStream(decompressor, minBlockSize);
617 serializedBuffer = 0;
621 ~DecompressedDataArchive()
623 if( serializedBuffer )
625 daal::services::daal_free( serializedBuffer );
627 delete decompressionStream;
630 void write(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
634 wBlock.setSize(size);
635 decompressionStream->push_back(&wBlock);
638 void read(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
640 decompressionStream->copyDecompressedArray(ptr, size);
643 size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
645 return decompressionStream->getDecompressedDataSize();
648 byte *getArchiveAsArray() DAAL_C11_OVERRIDE
650 if( serializedBuffer ) {
return serializedBuffer; }
652 size_t length = getSizeOfArchive();
654 if( length == 0 ) {
return 0; }
656 serializedBuffer = (byte *)daal::services::daal_malloc( length );
657 if( serializedBuffer == 0 ) {
return 0; }
659 decompressionStream->copyDecompressedArray(serializedBuffer, length);
660 return serializedBuffer;
663 services::SharedPtr<byte> getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
665 size_t length = getSizeOfArchive();
667 if( length == 0 ) {
return services::SharedPtr<byte>(); }
669 services::SharedPtr<byte> serializedBufferPtr((byte *)daal::services::daal_malloc( length ), services::ServiceDeleter());
670 if( serializedBufferPtr ) {
return services::SharedPtr<byte>(); }
672 copyArchiveToArray(serializedBufferPtr.get(), length);
674 return serializedBufferPtr;
677 std::string getArchiveAsString() DAAL_C11_OVERRIDE
679 size_t length = getSizeOfArchive();
680 char *buffer = (
char *)getArchiveAsArray();
682 return std::string( buffer, length );
685 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const DAAL_C11_OVERRIDE
687 size_t length = getSizeOfArchive();
689 if( length == 0 || length > maxLength ) {
return length; }
691 decompressionStream->copyDecompressedArray(ptr, length);
699 services::SharedPtr<services::ErrorCollection> getErrors()
706 byte *serializedBuffer;
707 daal::data_management::DecompressionStream *decompressionStream;
708 services::SharedPtr<services::ErrorCollection> _errors;
715 class InputDataArchive :
public Base
721 InputDataArchive() : _finalized(false), _errors(new services::ErrorCollection())
723 _arch =
new DataArchive;
730 InputDataArchive(daal::data_management::CompressorImpl *compressor) : _finalized(false),
731 _errors(new services::ErrorCollection())
733 _arch =
new CompressedDataArchive(compressor);
747 int headerValues[8] =
751 __INTEL_DAAL_MINOR__,
752 __INTEL_DAAL_UPDATE__,
756 _arch->setMajorVersion (headerValues[1]);
757 _arch->setMinorVersion (headerValues[2]);
758 _arch->setUpdateVersion(headerValues[3]);
759 for(
size_t i = 0; i < 8; i++)
761 _arch->write( (byte *)&headerValues[i],
sizeof(
int) );
776 void segmentHeader(
int tag = 0 )
778 _arch->write( (byte *)&tag,
sizeof(
int) );
796 _arch->write( (byte *)&val,
sizeof(T) );
805 void set(daal::services::Collection<T> &val)
807 size_t size = val.size();
808 _arch->write( (byte *)&size,
sizeof(
size_t) );
809 for(
size_t i = 0; i < size; i++)
811 _arch->write( (byte *) & (val[i]),
sizeof(T) );
822 void set(T *ptr,
size_t size)
824 _arch->write( (byte *)ptr, size *
sizeof(T) );
834 void setObj(T *ptr,
size_t size = 1)
836 for(
size_t i = 0; i < size; i++ )
838 ptr[i].serializeImpl(
this );
846 void setSingleObj(SerializationIface **ptr)
848 int isNull = (*ptr == 0);
853 (*ptr)->serialize( *
this );
862 void setSharedPtrObj(services::SharedPtr<T> &obj)
864 data_management::SerializationIface *ptr = obj.get();
872 services::SharedPtr<byte> getArchiveAsArraySharedPtr()
874 if(!_finalized) { archiveFooter(); }
875 return _arch->getArchiveAsArraySharedPtr();
883 DAAL_DEPRECATED byte *getArchiveAsArray()
885 if(!_finalized) { archiveFooter(); }
886 return _arch->getArchiveAsArray();
895 DAAL_DEPRECATED
void getArchiveAsArray(
const byte **ptr,
size_t *size )
897 if(!_finalized) { archiveFooter(); }
899 *ptr = (byte *)_arch->getArchiveAsArray();
900 *size = _arch->getSizeOfArchive();
907 size_t getSizeOfArchive()
909 if(!_finalized) { archiveFooter(); }
911 return _arch->getSizeOfArchive();
919 DAAL_DEPRECATED std::string getArchiveAsString()
921 if(!_finalized) { archiveFooter(); }
923 return _arch->getArchiveAsString();
932 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
934 if(!_finalized) { archiveFooter(); }
936 return _arch->copyArchiveToArray( ptr, maxLength );
943 const DataArchive &getDataArchive()
945 return *
static_cast<DataArchive *
>(_arch);
952 services::SharedPtr<services::ErrorCollection> getErrors()
958 DataArchiveIface *_arch;
960 services::SharedPtr<services::ErrorCollection> _errors;
967 class OutputDataArchive :
public Base
973 OutputDataArchive( InputDataArchive &arch ) : _errors(new services::ErrorCollection())
975 _arch =
new DataArchive(arch.getDataArchive());
982 OutputDataArchive( byte *ptr,
size_t size ) : _errors(new services::ErrorCollection())
984 _arch =
new DataArchive(ptr, size);
991 OutputDataArchive( daal::data_management::DecompressorImpl *decompressor, byte *ptr,
size_t size ) :
992 _errors(new services::ErrorCollection())
994 _arch =
new DecompressedDataArchive(decompressor);
995 _arch->write(ptr, size);
1007 void archiveHeader()
const
1009 int headerValues[8];
1011 for(
size_t i = 0; i < 8; i++)
1013 _arch->read( (byte *)&headerValues[i],
sizeof(
int) );
1016 _arch->setMajorVersion (headerValues[1]);
1017 _arch->setMinorVersion (headerValues[2]);
1018 _arch->setUpdateVersion(headerValues[3]);
1024 void archiveFooter()
const
1031 int segmentHeader()
const
1034 _arch->read( (byte *)&tag,
sizeof(
int) );
1041 void segmentFooter()
const {}
1048 template<
typename T>
1049 void set(T &val)
const
1051 _arch->read( (byte *)&val,
sizeof(T) );
1059 template<
typename T>
1060 void set(daal::services::Collection<T> &val)
const
1063 _arch->read( (byte *)&size,
sizeof(
size_t) );
1065 for(
size_t i = 0; i < size; i++)
1068 _arch->read( (byte *)&v,
sizeof(T) );
1079 template<
typename T>
1080 void set(T *ptr,
size_t size)
const
1082 _arch->read( (byte *)ptr, size *
sizeof(T) );
1091 template<
typename T>
1092 void setObj(T *ptr,
size_t size = 1)
const
1094 for(
size_t i = 0; i < size; i++ )
1096 ptr[i].deserializeImpl(
this );
1104 void setSingleObj(SerializationIface **ptr)
const
1115 const int serTag = segmentHeader();
1117 *ptr = Factory::instance().createObject(serTag);
1120 this->_errors->add(services::Error::create(
1121 services::ErrorObjectDoesNotSupportSerialization, services::SerializationTag, serTag));
1125 (*ptr)->deserializeImpl(
this );
1134 template<
typename T>
1135 void setSharedPtrObj(services::SharedPtr<T> &obj)
const
1137 data_management::SerializationIface *ptr;
1139 if(this->_errors->size() != 0) {
return; }
1142 obj = services::SharedPtr<T>(
static_cast<T *
>(ptr));
1146 obj = services::SharedPtr<T>();
1154 services::SharedPtr<SerializationIface> getAsSharedPtr()
const
1156 const int serTag = segmentHeader();
1157 services::SharedPtr<SerializationIface> ptr(Factory::instance().createObject(serTag));
1160 this->_errors->add(services::Error::create(
1161 services::ErrorObjectDoesNotSupportSerialization, services::SerializationTag, serTag));
1162 return services::SharedPtr<SerializationIface>();
1164 ptr->deserializeImpl(
this );
1173 int getMajorVersion()
const
1175 return _arch->getMajorVersion();
1182 int getMinorVersion()
const
1184 return _arch->getMinorVersion();
1191 int getUpdateVersion()
const
1193 return _arch->getUpdateVersion();
1200 services::SharedPtr<services::ErrorCollection> getErrors()
1206 DataArchiveIface *_arch;
1207 services::SharedPtr<services::ErrorCollection> _errors;
1212 using interface1::DataArchiveIface;
1213 using interface1::DataArchive;
1214 using interface1::CompressedDataArchive;
1215 using interface1::DecompressedDataArchive;
1216 using interface1::InputDataArchive;
1217 using interface1::OutputDataArchive;
daal::data_management::interface1::DataArchive::getSizeOfArchive
size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
Definition: data_archive.h:344
daal::data_management::interface1::OutputDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:1200
daal::data_management::interface1::CompressedDataArchive::getArchiveAsArraySharedPtr
services::SharedPtr< byte > getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
Definition: data_archive.h:552
daal::data_management::interface1::DataArchiveIface::setUpdateVersion
virtual void setUpdateVersion(int updateVersion)=0
daal
Definition: algorithm_base_common.h:57
daal::data_management::interface1::OutputDataArchive::set
void set(daal::services::Collection< T > &val) const
Definition: data_archive.h:1060
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:355
daal::data_management::interface1::OutputDataArchive::set
void set(T *ptr, size_t size) const
Definition: data_archive.h:1080
daal::services::ErrorObjectDoesNotSupportSerialization
Definition: error_indexes.h:411
daal::data_management::interface1::OutputDataArchive::getAsSharedPtr
services::SharedPtr< SerializationIface > getAsSharedPtr() const
Definition: data_archive.h:1154
daal::data_management::interface1::CompressedDataArchive::write
void write(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:522
daal::data_management::interface1::OutputDataArchive::getUpdateVersion
int getUpdateVersion() const
Definition: data_archive.h:1191
daal::data_management::interface1::CompressedDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:588
daal::data_management::interface1::DecompressedDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:699
daal::data_management::interface1::DataArchiveImpl::getMinorVersion
int getMinorVersion() DAAL_C11_OVERRIDE
Definition: data_archive.h:200
daal::data_management::interface1::DataBlock::setSize
virtual void setSize(size_t size) DAAL_C11_OVERRIDE
Definition: data_block.h:174
daal::data_management::interface1::OutputDataArchive::setSharedPtrObj
void setSharedPtrObj(services::SharedPtr< T > &obj) const
Definition: data_archive.h:1135
daal::data_management::interface1::OutputDataArchive::segmentHeader
int segmentHeader() const
Definition: data_archive.h:1031
daal::data_management::interface1::DataArchive::DataArchive
DataArchive()
Definition: data_archive.h:226
daal::data_management::interface1::CompressedDataArchive::CompressedDataArchive
CompressedDataArchive(daal::data_management::CompressorImpl *compressor)
Definition: data_archive.h:505
daal::data_management::interface1::OutputDataArchive::archiveFooter
void archiveFooter() const
Definition: data_archive.h:1024
daal::data_management::interface1::DataArchive::getArchiveAsString
std::string getArchiveAsString() DAAL_C11_OVERRIDE
Definition: data_archive.h:385
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:417
daal::data_management::interface1::DecompressedDataArchive::getArchiveAsArray
byte * getArchiveAsArray() DAAL_C11_OVERRIDE
Definition: data_archive.h:648
daal::services::SerializationTag
Definition: error_indexes.h:83
daal::data_management::interface1::DataArchive::copyArchiveToArray
size_t copyArchiveToArray(byte *ptr, size_t maxLength) const DAAL_C11_OVERRIDE
Definition: data_archive.h:393
daal::data_management::interface1::OutputDataArchive::setObj
void setObj(T *ptr, size_t size=1) const
Definition: data_archive.h:1092
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:114
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:185
daal::data_management::interface1::DataArchive::DataArchive
DataArchive(byte *ptr, size_t size)
Definition: data_archive.h:270
daal::data_management::interface1::DataArchiveImpl::getMajorVersion
int getMajorVersion() DAAL_C11_OVERRIDE
Definition: data_archive.h:195
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:78
daal::data_management::interface1::OutputDataArchive::segmentFooter
void segmentFooter() const
Definition: data_archive.h:1041
daal::data_management::interface1::DataArchive
Implements the abstract DataArchiveIface interface.
Definition: data_archive.h:220
daal::data_management::interface1::DataBlock::setPtr
virtual void setPtr(byte *ptr) DAAL_C11_OVERRIDE
Definition: data_block.h:164
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:530
daal::data_management::interface1::DataArchive::write
void write(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:306
daal::data_management::interface1::OutputDataArchive::getMinorVersion
int getMinorVersion() const
Definition: data_archive.h:1182
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:497
daal::data_management::interface1::OutputDataArchive::set
void set(T &val) const
Definition: data_archive.h:1049
daal::data_management::interface1::OutputDataArchive
Provides methods to restore an object from its serialized counterpart and access the restored object...
Definition: data_archive.h:967
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:685
daal::data_management::interface1::DecompressedDataArchive::read
void read(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:638
daal::data_management::interface1::CompressedDataArchive::copyArchiveToArray
size_t copyArchiveToArray(byte *ptr, size_t maxLength) const DAAL_C11_OVERRIDE
Definition: data_archive.h:574
daal::data_management::interface1::DataArchive::DataArchive
DataArchive(const DataArchive &arch)
Definition: data_archive.h:245
daal::data_management::interface1::OutputDataArchive::setSingleObj
void setSingleObj(SerializationIface **ptr) const
Definition: data_archive.h:1104
daal::data_management::interface1::OutputDataArchive::getMajorVersion
int getMajorVersion() const
Definition: data_archive.h:1173
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:173
daal::data_management::interface1::DecompressedDataArchive::write
void write(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:630
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:566
daal::data_management::interface1::DecompressedDataArchive::getSizeOfArchive
size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
Definition: data_archive.h:643
daal::data_management::interface1::DecompressedDataArchive::DecompressedDataArchive
DecompressedDataArchive(daal::data_management::DecompressorImpl *decompressor)
Definition: data_archive.h:613
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:663
daal::data_management::interface1::Factory::createObject
SerializationIface * createObject(int objectId)
daal::services::ErrorDataArchiveInternal
Definition: error_indexes.h:127
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:991
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:982
daal::data_management::interface1::CompressedDataArchive::getArchiveAsArray
byte * getArchiveAsArray() DAAL_C11_OVERRIDE
Definition: data_archive.h:537
daal::data_management::interface1::DecompressedDataArchive::getArchiveAsString
std::string getArchiveAsString() DAAL_C11_OVERRIDE
Definition: data_archive.h:677
daal::algorithms::math::abs::value
Definition: abs_types.h:112
daal::data_management::interface1::DataArchiveIface::getMajorVersion
virtual int getMajorVersion()=0
daal::algorithms::implicit_als::training::offset
Definition: implicit_als_training_types.h:174
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:65
daal::data_management::interface1::DataArchive::getArchiveAsArray
byte * getArchiveAsArray() DAAL_C11_OVERRIDE
Definition: data_archive.h:369
daal::data_management::interface1::OutputDataArchive::OutputDataArchive
OutputDataArchive(InputDataArchive &arch)
Definition: data_archive.h:973
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:605
daal::data_management::interface1::CompressedDataArchive::getSizeOfArchive
size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
Definition: data_archive.h:532
daal::data_management::interface1::SerializationIface
Abstract interface class that defines the interface for serialization and deserialization.
Definition: data_serialize.h:76
daal::data_management::interface1::DataArchiveImpl::setUpdateVersion
void setUpdateVersion(int updateVersion) DAAL_C11_OVERRIDE
Definition: data_archive.h:190
daal::data_management::interface1::DataArchive::read
void read(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:325
daal::data_management::interface1::DataArchiveImpl::getUpdateVersion
int getUpdateVersion() DAAL_C11_OVERRIDE
Definition: data_archive.h:205
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:1007
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
daal::data_management::interface1::DataArchiveImpl::setMajorVersion
void setMajorVersion(int majorVersion) DAAL_C11_OVERRIDE
Definition: data_archive.h:180