24 #ifndef __DATA_ARCHIVE_H__
25 #define __DATA_ARCHIVE_H__
27 #include "services/base.h"
28 #include "services/library_version_info.h"
29 #include "services/daal_memory.h"
30 #include "services/collection.h"
32 #include "data_management/data/data_block.h"
33 #include "data_management/data/factory.h"
34 #include "data_management/data/data_serialize.h"
35 #include "data_management/data/data_collection.h"
36 #include "data_management/features/defines.h"
37 #include "data_management/compression/compression_stream.h"
41 namespace data_management
55 class DataArchiveIface :
public Base
58 virtual ~DataArchiveIface() {}
65 virtual void write(byte *ptr,
size_t size) = 0;
72 virtual void read(byte *ptr,
size_t size) = 0;
78 virtual size_t getSizeOfArchive()
const = 0;
84 virtual services::SharedPtr<byte> getArchiveAsArraySharedPtr()
const = 0;
91 DAAL_DEPRECATED_VIRTUAL
virtual byte *getArchiveAsArray() {
return NULL; }
98 DAAL_DEPRECATED_VIRTUAL
virtual std::string getArchiveAsString() = 0;
106 virtual size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const = 0;
112 virtual void setMajorVersion(
int majorVersion) = 0;
118 virtual void setMinorVersion(
int minorVersion) = 0;
124 virtual void setUpdateVersion(
int updateVersion) = 0;
130 virtual int getMajorVersion() = 0;
136 virtual int getMinorVersion() = 0;
142 virtual int getUpdateVersion() = 0;
150 class DataArchiveImpl :
public DataArchiveIface
153 DataArchiveImpl() : _majorVersion(0), _minorVersion(0), _updateVersion(0) {}
155 virtual ~DataArchiveImpl() {}
157 void setMajorVersion(
int majorVersion) DAAL_C11_OVERRIDE
159 _majorVersion = majorVersion;
162 void setMinorVersion(
int minorVersion) DAAL_C11_OVERRIDE
164 _minorVersion = minorVersion;
167 void setUpdateVersion(
int updateVersion) DAAL_C11_OVERRIDE
169 _updateVersion = updateVersion;
172 int getMajorVersion() DAAL_C11_OVERRIDE
174 return _majorVersion;
177 int getMinorVersion() DAAL_C11_OVERRIDE
179 return _minorVersion;
182 int getUpdateVersion() DAAL_C11_OVERRIDE
184 return _updateVersion;
197 class DataArchive:
public DataArchiveImpl
203 DataArchive() : minBlockSize(1024 * 16), minBlocksNum(16), _errors(new services::ErrorCollection())
206 blockAllocatedSize = 0;
209 currentWriteBlock = -1;
211 currentReadBlock = 0;
212 currentReadBlockOffset = 0;
214 serializedBuffer = 0;
216 addBlock( minBlockSize );
222 DataArchive(
const DataArchive &arch ) : minBlockSize(1024 * 16), minBlocksNum(16)
225 blockAllocatedSize = 0;
228 currentWriteBlock = -1;
230 currentReadBlock = 0;
231 currentReadBlockOffset = 0;
233 serializedBuffer = 0;
235 size_t size = arch.getSizeOfArchive();
237 arch.copyArchiveToArray( blockPtr[currentWriteBlock], size );
239 blockOffset[currentWriteBlock] += size;
247 DataArchive( byte *ptr,
size_t size ) : minBlockSize(1024 * 16), minBlocksNum(16), _errors(new services::ErrorCollection())
250 blockAllocatedSize = 0;
253 currentWriteBlock = -1;
255 currentReadBlock = 0;
256 currentReadBlockOffset = 0;
258 serializedBuffer = 0;
262 int result = daal::services::internal::daal_memcpy_s(blockPtr[currentWriteBlock], size, ptr, size);
265 this->_errors->add(services::ErrorMemoryCopyFailedInternal);
268 blockOffset[currentWriteBlock] += size;
274 for(i = 0; i <= currentWriteBlock; i++)
276 daal::services::daal_free( blockPtr[i] );
279 daal::services::daal_free( blockPtr );
280 daal::services::daal_free( blockAllocatedSize );
281 daal::services::daal_free( blockOffset );
282 if( serializedBuffer )
284 daal::services::daal_free( serializedBuffer );
288 blockAllocatedSize = NULL;
290 serializedBuffer = NULL;
293 void write(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
295 size_t alignedSize = alignValueUp(size);
296 if( blockAllocatedSize[currentWriteBlock] < blockOffset[currentWriteBlock] + alignedSize )
298 addBlock(alignedSize);
301 size_t offset = blockOffset[currentWriteBlock];
303 int result = daal::services::internal::daal_memcpy_s(&(blockPtr[currentWriteBlock][offset]), alignedSize, ptr, size);
306 this->_errors->add(services::ErrorMemoryCopyFailedInternal);
309 for (
size_t i = size; i < alignedSize; i++)
311 blockPtr[currentWriteBlock][offset + i] = 0;
314 blockOffset[currentWriteBlock] += alignedSize;
317 void read(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
319 size_t alignedSize = alignValueUp(size);
320 if( blockOffset[currentReadBlock] < currentReadBlockOffset + alignedSize )
322 this->_errors->add(services::ErrorDataArchiveInternal);
326 int result = daal::services::internal::daal_memcpy_s(ptr, size, &(blockPtr[currentReadBlock][currentReadBlockOffset]), size);
329 this->_errors->add(services::ErrorMemoryCopyFailedInternal);
333 currentReadBlockOffset += alignedSize;
334 if( blockOffset[currentReadBlock] == currentReadBlockOffset )
337 currentReadBlockOffset = 0;
341 size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
345 for(i = 0; i <= currentWriteBlock; i++)
347 size += blockOffset[i];
352 services::SharedPtr<byte> getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
354 size_t length = getSizeOfArchive();
356 if( length == 0 ) {
return services::SharedPtr<byte>(); }
358 services::SharedPtr<byte> serializedBufferPtr((byte *)daal::services::daal_malloc( length ), services::ServiceDeleter());
359 if( !serializedBufferPtr ) {
return services::SharedPtr<byte>(); }
361 copyArchiveToArray(serializedBufferPtr.get(), length);
363 return serializedBufferPtr;
366 byte *getArchiveAsArray() DAAL_C11_OVERRIDE
368 if( serializedBuffer ) {
return serializedBuffer; }
370 size_t length = getSizeOfArchive();
372 if( length == 0 ) {
return 0; }
374 serializedBuffer = (byte *)daal::services::daal_malloc( length );
375 if( serializedBuffer == 0 ) {
return 0; }
377 copyArchiveToArray(serializedBuffer, length);
379 return serializedBuffer;
382 std::string getArchiveAsString() DAAL_C11_OVERRIDE
384 size_t length = getSizeOfArchive();
385 char *buffer = (
char *)getArchiveAsArray();
387 return std::string( buffer, length );
390 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const DAAL_C11_OVERRIDE
392 size_t length = getSizeOfArchive();
394 if( length == 0 || length > maxLength ) {
return length; }
399 for(i = 0; i <= currentWriteBlock; i++)
401 size_t blockSize = blockOffset[i];
403 result |= daal::services::internal::daal_memcpy_s(&(ptr[offset]), blockSize, blockPtr[i], blockSize);
409 this->_errors->add(services::ErrorMemoryCopyFailedInternal);
420 services::SharedPtr<services::ErrorCollection> getErrors()
427 void addBlock(
size_t minNewSize )
429 if( currentWriteBlock + 1 == arraysSize )
431 byte **oldBlockPtr = blockPtr ;
432 size_t *oldBlockAllocatedSize = blockAllocatedSize;
433 size_t *oldBlockOffset = blockOffset ;
436 blockPtr = (byte **)daal::services::daal_malloc(
sizeof(byte *) * (arraysSize + minBlocksNum));
437 blockAllocatedSize = (
size_t *)daal::services::daal_malloc(
sizeof(
size_t) * (arraysSize + minBlocksNum));
438 blockOffset = (
size_t *)daal::services::daal_malloc(
sizeof(
size_t) * (arraysSize + minBlocksNum));
440 if( blockPtr == 0 || blockAllocatedSize == 0 || blockOffset == 0 ) {
return; }
442 result |= daal::services::internal::daal_memcpy_s(blockPtr, arraysSize *
sizeof(byte *), oldBlockPtr, arraysSize *
sizeof(byte *));
443 result |= daal::services::internal::daal_memcpy_s(blockAllocatedSize, arraysSize *
sizeof(
size_t),
444 oldBlockAllocatedSize, arraysSize *
sizeof(
size_t));
445 result |= daal::services::internal::daal_memcpy_s(blockOffset, arraysSize *
sizeof(
size_t), oldBlockOffset, arraysSize *
sizeof(
size_t));
448 this->_errors->add(services::ErrorMemoryCopyFailedInternal);
452 daal::services::daal_free(oldBlockPtr );
453 daal::services::daal_free(oldBlockAllocatedSize);
454 daal::services::daal_free(oldBlockOffset );
456 arraysSize += minBlocksNum;
461 size_t allocationSize = (minBlockSize > minNewSize) ? minBlockSize : minNewSize;
463 blockPtr [currentWriteBlock] = (byte *)daal::services::daal_malloc(allocationSize);
464 blockAllocatedSize[currentWriteBlock] = allocationSize;
465 blockOffset [currentWriteBlock] = 0;
468 inline size_t alignValueUp(
size_t value)
470 if (_majorVersion == 2016 && _minorVersion == 0 && _updateVersion == 0)
475 size_t alignm1 = DAAL_MALLOC_DEFAULT_ALIGNMENT - 1;
477 size_t alignedValue = value + alignm1;
478 alignedValue &= ~alignm1;
482 services::SharedPtr<services::ErrorCollection> _errors;
489 size_t *blockAllocatedSize;
494 int currentWriteBlock;
496 int currentReadBlock;
497 size_t currentReadBlockOffset;
499 byte *serializedBuffer;
507 class CompressedDataArchive :
public DataArchiveImpl
515 CompressedDataArchive(daal::data_management::CompressorImpl *compressor) : minBlockSize(1024 * 64),
516 _errors(new services::ErrorCollection())
518 compressionStream =
new daal::data_management::CompressionStream(compressor, minBlockSize);
519 serializedBuffer = 0;
523 ~CompressedDataArchive()
525 if( serializedBuffer )
527 daal::services::daal_free( serializedBuffer );
529 delete compressionStream;
532 void write(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
536 wBlock.setSize(size);
537 compressionStream->push_back(&wBlock);
540 void read(byte *ptr,
size_t size) DAAL_C11_OVERRIDE {}
542 size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
544 return compressionStream->getCompressedDataSize();
547 byte *getArchiveAsArray() DAAL_C11_OVERRIDE
549 if( serializedBuffer ) {
return serializedBuffer; }
551 size_t length = getSizeOfArchive();
553 if( length == 0 ) {
return 0; }
555 serializedBuffer = (byte *)daal::services::daal_malloc( length );
556 if( serializedBuffer == 0 ) {
return 0; }
558 compressionStream->copyCompressedArray(serializedBuffer, length);
559 return serializedBuffer;
562 services::SharedPtr<byte> getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
564 size_t length = getSizeOfArchive();
566 if( length == 0 ) {
return services::SharedPtr<byte>(); }
568 services::SharedPtr<byte> serializedBufferPtr((byte *)daal::services::daal_malloc( length ), services::ServiceDeleter());
569 if( !serializedBufferPtr ) {
return services::SharedPtr<byte>(); }
571 copyArchiveToArray(serializedBufferPtr.get(), length);
573 return serializedBufferPtr;
576 std::string getArchiveAsString() DAAL_C11_OVERRIDE
578 size_t length = getSizeOfArchive();
579 char *buffer = (
char *)getArchiveAsArray();
581 return std::string( buffer, length );
584 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const DAAL_C11_OVERRIDE
586 size_t length = getSizeOfArchive();
588 if( length == 0 || length > maxLength ) {
return length; }
590 compressionStream->copyCompressedArray(ptr, length);
598 services::SharedPtr<services::ErrorCollection> getErrors()
605 byte *serializedBuffer;
606 daal::data_management::CompressionStream *compressionStream;
607 services::SharedPtr<services::ErrorCollection> _errors;
615 class DecompressedDataArchive :
public DataArchiveImpl
623 DecompressedDataArchive(daal::data_management::DecompressorImpl *decompressor) : minBlockSize(1024 * 64),
624 _errors(new services::ErrorCollection())
626 decompressionStream =
new daal::data_management::DecompressionStream(decompressor, minBlockSize);
627 serializedBuffer = 0;
631 ~DecompressedDataArchive()
633 if( serializedBuffer )
635 daal::services::daal_free( serializedBuffer );
637 delete decompressionStream;
640 void write(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
644 wBlock.setSize(size);
645 decompressionStream->push_back(&wBlock);
648 void read(byte *ptr,
size_t size) DAAL_C11_OVERRIDE
650 decompressionStream->copyDecompressedArray(ptr, size);
653 size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
655 return decompressionStream->getDecompressedDataSize();
658 byte *getArchiveAsArray() DAAL_C11_OVERRIDE
660 if( serializedBuffer ) {
return serializedBuffer; }
662 size_t length = getSizeOfArchive();
664 if( length == 0 ) {
return 0; }
666 serializedBuffer = (byte *)daal::services::daal_malloc( length );
667 if( serializedBuffer == 0 ) {
return 0; }
669 decompressionStream->copyDecompressedArray(serializedBuffer, length);
670 return serializedBuffer;
673 services::SharedPtr<byte> getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
675 size_t length = getSizeOfArchive();
677 if( length == 0 ) {
return services::SharedPtr<byte>(); }
679 services::SharedPtr<byte> serializedBufferPtr((byte *)daal::services::daal_malloc( length ), services::ServiceDeleter());
680 if( !serializedBufferPtr ) {
return services::SharedPtr<byte>(); }
682 copyArchiveToArray(serializedBufferPtr.get(), length);
684 return serializedBufferPtr;
687 std::string getArchiveAsString() DAAL_C11_OVERRIDE
689 size_t length = getSizeOfArchive();
690 char *buffer = (
char *)getArchiveAsArray();
692 return std::string( buffer, length );
695 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
const DAAL_C11_OVERRIDE
697 size_t length = getSizeOfArchive();
699 if( length == 0 || length > maxLength ) {
return length; }
701 decompressionStream->copyDecompressedArray(ptr, length);
709 services::SharedPtr<services::ErrorCollection> getErrors()
716 byte *serializedBuffer;
717 daal::data_management::DecompressionStream *decompressionStream;
718 services::SharedPtr<services::ErrorCollection> _errors;
725 class InputDataArchive :
public Base
731 InputDataArchive() : _finalized(false), _errors(new services::ErrorCollection())
733 _arch =
new DataArchive;
742 InputDataArchive(DataArchiveIface * arch) : _finalized(false), _errors(new services::ErrorCollection())
751 InputDataArchive(daal::data_management::CompressorImpl *compressor) : _finalized(false),
752 _errors(new services::ErrorCollection())
754 _arch =
new CompressedDataArchive(compressor);
768 int headerValues[8] =
772 __INTEL_DAAL_MINOR__,
773 __INTEL_DAAL_UPDATE__,
777 _arch->setMajorVersion (headerValues[1]);
778 _arch->setMinorVersion (headerValues[2]);
779 _arch->setUpdateVersion(headerValues[3]);
780 for(
size_t i = 0; i < 8; i++)
782 _arch->write( (byte *)&headerValues[i],
sizeof(
int) );
797 void segmentHeader(
int tag = 0 )
799 _arch->write( (byte *)&tag,
sizeof(
int) );
817 _arch->write( (byte *)&val,
sizeof(T) );
826 void set(daal::services::Collection<T> &val)
828 size_t size = val.size();
829 _arch->write( (byte *)&size,
sizeof(
size_t) );
830 for(
size_t i = 0; i < size; i++)
832 _arch->write( (byte *) & (val[i]),
sizeof(T) );
843 void set(T *ptr,
size_t size)
845 _arch->write( (byte *)ptr, size *
sizeof(T) );
855 void setObj(T *ptr,
size_t size = 1)
857 for(
size_t i = 0; i < size; i++ )
859 ptr[i].serializeImpl(
this );
867 void setSingleObj(SerializationIface **ptr)
869 int isNull = (*ptr == 0);
874 (*ptr)->serialize( *
this );
883 void setSharedPtrObj(services::SharedPtr<T> &obj)
885 data_management::SerializationIface *ptr = obj.get();
893 services::SharedPtr<byte> getArchiveAsArraySharedPtr()
895 if(!_finalized) { archiveFooter(); }
896 return _arch->getArchiveAsArraySharedPtr();
904 DAAL_DEPRECATED byte *getArchiveAsArray()
906 if(!_finalized) { archiveFooter(); }
907 return _arch->getArchiveAsArray();
916 DAAL_DEPRECATED
void getArchiveAsArray(
const byte **ptr,
size_t *size )
918 if(!_finalized) { archiveFooter(); }
920 *ptr = (byte *)_arch->getArchiveAsArray();
921 *size = _arch->getSizeOfArchive();
928 size_t getSizeOfArchive()
930 if(!_finalized) { archiveFooter(); }
932 return _arch->getSizeOfArchive();
940 DAAL_DEPRECATED std::string getArchiveAsString()
942 if(!_finalized) { archiveFooter(); }
944 return _arch->getArchiveAsString();
953 size_t copyArchiveToArray( byte *ptr,
size_t maxLength )
955 if(!_finalized) { archiveFooter(); }
957 return _arch->copyArchiveToArray( ptr, maxLength );
964 const DataArchive &getDataArchive()
966 return *
static_cast<DataArchive *
>(_arch);
973 services::SharedPtr<services::ErrorCollection> getErrors()
979 DataArchiveIface *_arch;
981 services::SharedPtr<services::ErrorCollection> _errors;
988 class OutputDataArchive :
public Base
994 OutputDataArchive( InputDataArchive &arch ) : _errors(new services::ErrorCollection())
996 _arch =
new DataArchive(arch.getDataArchive());
1005 OutputDataArchive( DataArchiveIface * arch ) : _errors(new services::ErrorCollection())
1014 OutputDataArchive( byte *ptr,
size_t size ) : _errors(new services::ErrorCollection())
1016 _arch =
new DataArchive(ptr, size);
1023 OutputDataArchive( daal::data_management::DecompressorImpl *decompressor, byte *ptr,
size_t size ) :
1024 _errors(new services::ErrorCollection())
1026 _arch =
new DecompressedDataArchive(decompressor);
1027 _arch->write(ptr, size);
1031 ~OutputDataArchive()
1039 void archiveHeader()
const
1041 int headerValues[8];
1043 for(
size_t i = 0; i < 8; i++)
1045 _arch->read( (byte *)&headerValues[i],
sizeof(
int) );
1048 _arch->setMajorVersion (headerValues[1]);
1049 _arch->setMinorVersion (headerValues[2]);
1050 _arch->setUpdateVersion(headerValues[3]);
1056 void archiveFooter()
const
1063 int segmentHeader()
const
1066 _arch->read( (byte *)&tag,
sizeof(
int) );
1073 void segmentFooter()
const {}
1080 template<
typename T>
1081 void set(T &val)
const
1083 _arch->read( (byte *)&val,
sizeof(T) );
1091 template<
typename T>
1092 void set(daal::services::Collection<T> &val)
const
1095 _arch->read( (byte *)&size,
sizeof(
size_t) );
1097 for(
size_t i = 0; i < size; i++)
1100 _arch->read( (byte *)&v,
sizeof(T) );
1111 template<
typename T>
1112 void set(T *ptr,
size_t size)
const
1114 _arch->read( (byte *)ptr, size *
sizeof(T) );
1123 template<
typename T>
1124 void setObj(T *ptr,
size_t size = 1)
const
1126 for(
size_t i = 0; i < size; i++ )
1128 ptr[i].deserializeImpl(
this );
1136 void setSingleObj(SerializationIface **ptr)
const
1147 const int serTag = segmentHeader();
1149 *ptr = Factory::instance().createObject(serTag);
1152 this->_errors->add(services::Error::create(
1153 services::ErrorObjectDoesNotSupportSerialization, services::SerializationTag, serTag));
1157 (*ptr)->deserializeImpl(
this );
1166 template<
typename T>
1167 void setSharedPtrObj(services::SharedPtr<T> &obj)
const
1169 data_management::SerializationIface *ptr;
1171 if(this->_errors->size() != 0) {
return; }
1174 obj = services::SharedPtr<T>(
static_cast<T *
>(ptr));
1178 obj = services::SharedPtr<T>();
1186 services::SharedPtr<SerializationIface> getAsSharedPtr()
const
1188 const int serTag = segmentHeader();
1189 services::SharedPtr<SerializationIface> ptr(Factory::instance().createObject(serTag));
1192 this->_errors->add(services::Error::create(
1193 services::ErrorObjectDoesNotSupportSerialization, services::SerializationTag, serTag));
1194 return services::SharedPtr<SerializationIface>();
1196 ptr->deserializeImpl(
this );
1205 int getMajorVersion()
const
1207 return _arch->getMajorVersion();
1214 int getMinorVersion()
const
1216 return _arch->getMinorVersion();
1223 int getUpdateVersion()
const
1225 return _arch->getUpdateVersion();
1232 services::SharedPtr<services::ErrorCollection> getErrors()
1238 DataArchiveIface *_arch;
1239 services::SharedPtr<services::ErrorCollection> _errors;
1244 using interface1::DataArchiveIface;
1245 using interface1::DataArchive;
1246 using interface1::CompressedDataArchive;
1247 using interface1::DecompressedDataArchive;
1248 using interface1::InputDataArchive;
1249 using interface1::OutputDataArchive;
daal::data_management::interface1::DataArchiveIface::setMinorVersion
virtual void setMinorVersion(int minorVersion)=0
daal::data_management::interface1::InputDataArchive::segmentHeader
void segmentHeader(int tag=0)
Definition: data_archive.h:797
daal::data_management::interface1::DecompressedDataArchive::getArchiveAsArray
byte * getArchiveAsArray() DAAL_C11_OVERRIDE
Definition: data_archive.h:658
daal::data_management::interface1::OutputDataArchive::OutputDataArchive
OutputDataArchive(daal::data_management::DecompressorImpl *decompressor, byte *ptr, size_t size)
Definition: data_archive.h:1023
daal::data_management::interface1::DataArchive::copyArchiveToArray
size_t copyArchiveToArray(byte *ptr, size_t maxLength) const DAAL_C11_OVERRIDE
Definition: data_archive.h:390
daal::data_management::interface1::DataArchive
Implements the abstract DataArchiveIface interface.
Definition: data_archive.h:197
daal::data_management::interface1::CompressedDataArchive::getArchiveAsArraySharedPtr
services::SharedPtr< byte > getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
Definition: data_archive.h:562
daal::data_management::interface1::Factory::instance
static Factory & instance()
daal::data_management::interface1::OutputDataArchive::set
void set(T &val) const
Definition: data_archive.h:1081
daal::data_management::interface1::DecompressedDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:709
daal::data_management::interface1::DataArchiveIface::getSizeOfArchive
virtual size_t getSizeOfArchive() const =0
daal::data_management::interface1::DataArchive::getArchiveAsString
std::string getArchiveAsString() DAAL_C11_OVERRIDE
Definition: data_archive.h:382
daal::data_management::interface1::DataArchive::DataArchive
DataArchive(byte *ptr, size_t size)
Definition: data_archive.h:247
daal::data_management::interface1::DataArchiveIface::setMajorVersion
virtual void setMajorVersion(int majorVersion)=0
daal::data_management::interface1::DataArchive::getSizeOfArchive
size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
Definition: data_archive.h:341
daal::data_management::interface1::OutputDataArchive::archiveHeader
void archiveHeader() const
Definition: data_archive.h:1039
daal::data_management::interface1::DataBlock::setPtr
virtual void setPtr(byte *ptr) DAAL_C11_OVERRIDE
Definition: data_block.h:140
daal::data_management::interface1::DataArchiveIface::getMajorVersion
virtual int getMajorVersion()=0
daal::data_management::interface1::OutputDataArchive::set
void set(T *ptr, size_t size) const
Definition: data_archive.h:1112
daal::data_management::interface1::DataArchiveImpl::setMinorVersion
void setMinorVersion(int minorVersion) DAAL_C11_OVERRIDE
Definition: data_archive.h:162
daal::data_management::interface1::OutputDataArchive::getMajorVersion
int getMajorVersion() const
Definition: data_archive.h:1205
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:41
daal::data_management::interface1::InputDataArchive::InputDataArchive
InputDataArchive(DataArchiveIface *arch)
Definition: data_archive.h:742
daal::data_management::interface1::InputDataArchive::getArchiveAsString
DAAL_DEPRECATED std::string getArchiveAsString()
Definition: data_archive.h:940
daal::data_management::interface1::InputDataArchive::setSharedPtrObj
void setSharedPtrObj(services::SharedPtr< T > &obj)
Definition: data_archive.h:883
daal::data_management::interface1::DataArchiveIface::getArchiveAsString
virtual DAAL_DEPRECATED_VIRTUAL std::string getArchiveAsString()=0
daal::data_management::interface1::OutputDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:1232
daal::data_management::interface1::CompressedDataArchive::read
void read(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:540
daal::data_management::interface1::OutputDataArchive::getUpdateVersion
int getUpdateVersion() const
Definition: data_archive.h:1223
daal::data_management::interface1::DecompressedDataArchive::write
void write(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:640
daal::data_management::interface1::DataArchiveIface::read
virtual void read(byte *ptr, size_t size)=0
daal::data_management::interface1::OutputDataArchive::OutputDataArchive
OutputDataArchive(InputDataArchive &arch)
Definition: data_archive.h:994
daal::data_management::interface1::InputDataArchive::archiveHeader
void archiveHeader()
Definition: data_archive.h:766
daal::data_management::interface1::InputDataArchive::getDataArchive
const DataArchive & getDataArchive()
Definition: data_archive.h:964
daal::data_management::interface1::InputDataArchive::InputDataArchive
InputDataArchive(daal::data_management::CompressorImpl *compressor)
Definition: data_archive.h:751
daal::data_management::interface1::OutputDataArchive::OutputDataArchive
OutputDataArchive(byte *ptr, size_t size)
Definition: data_archive.h:1014
daal::data_management::interface1::InputDataArchive::setObj
void setObj(T *ptr, size_t size=1)
Definition: data_archive.h:855
daal::data_management::interface1::CompressedDataArchive::getArchiveAsArray
byte * getArchiveAsArray() DAAL_C11_OVERRIDE
Definition: data_archive.h:547
daal::data_management::interface1::DecompressedDataArchive::DecompressedDataArchive
DecompressedDataArchive(daal::data_management::DecompressorImpl *decompressor)
Definition: data_archive.h:623
daal::data_management::interface1::DataArchive::DataArchive
DataArchive(const DataArchive &arch)
Definition: data_archive.h:222
daal::data_management::interface1::DataArchiveImpl::getMajorVersion
int getMajorVersion() DAAL_C11_OVERRIDE
Definition: data_archive.h:172
daal::data_management::interface1::OutputDataArchive::setSingleObj
void setSingleObj(SerializationIface **ptr) const
Definition: data_archive.h:1136
daal::data_management::interface1::OutputDataArchive::setSharedPtrObj
void setSharedPtrObj(services::SharedPtr< T > &obj) const
Definition: data_archive.h:1167
daal::data_management::interface1::DataArchive::getArchiveAsArray
byte * getArchiveAsArray() DAAL_C11_OVERRIDE
Definition: data_archive.h:366
daal::data_management::interface1::DataArchive::DataArchive
DataArchive()
Definition: data_archive.h:203
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:615
daal::data_management::interface1::InputDataArchive::set
void set(T &val)
Definition: data_archive.h:815
daal::data_management::interface1::DataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:420
daal::data_management::interface1::OutputDataArchive::setObj
void setObj(T *ptr, size_t size=1) const
Definition: data_archive.h:1124
daal::data_management::interface1::OutputDataArchive::OutputDataArchive
OutputDataArchive(DataArchiveIface *arch)
Definition: data_archive.h:1005
daal::data_management::interface1::SerializationIface
Abstract interface class that defines the interface for serialization and deserialization.
Definition: data_serialize.h:52
daal::data_management::interface1::DataArchiveIface::write
virtual void write(byte *ptr, size_t size)=0
daal::data_management::interface1::DataArchive::getArchiveAsArraySharedPtr
services::SharedPtr< byte > getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
Definition: data_archive.h:352
daal::data_management::interface1::OutputDataArchive::segmentFooter
void segmentFooter() const
Definition: data_archive.h:1073
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:507
daal::data_management::interface1::DataArchiveIface::getMinorVersion
virtual int getMinorVersion()=0
daal::data_management::interface1::DecompressedDataArchive::read
void read(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:648
daal::data_management::interface1::InputDataArchive::getSizeOfArchive
size_t getSizeOfArchive()
Definition: data_archive.h:928
daal::data_management::interface1::DecompressedDataArchive::getSizeOfArchive
size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
Definition: data_archive.h:653
daal::data_management::interface1::DataArchiveImpl::setUpdateVersion
void setUpdateVersion(int updateVersion) DAAL_C11_OVERRIDE
Definition: data_archive.h:167
daal::data_management::interface1::DataArchiveIface::copyArchiveToArray
virtual size_t copyArchiveToArray(byte *ptr, size_t maxLength) const =0
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:85
daal::data_management::interface1::OutputDataArchive::getAsSharedPtr
services::SharedPtr< SerializationIface > getAsSharedPtr() const
Definition: data_archive.h:1186
daal::data_management::interface1::OutputDataArchive::segmentHeader
int segmentHeader() const
Definition: data_archive.h:1063
daal::data_management::interface1::DecompressedDataArchive::copyArchiveToArray
size_t copyArchiveToArray(byte *ptr, size_t maxLength) const DAAL_C11_OVERRIDE
Definition: data_archive.h:695
daal::services::daal_memcpy_s
DAAL_DEPRECATED DAAL_EXPORT void daal_memcpy_s(void *dest, size_t numberOfElements, const void *src, size_t count)
daal::data_management::interface1::InputDataArchive::set
void set(T *ptr, size_t size)
Definition: data_archive.h:843
daal::data_management::interface1::Factory::createObject
SerializationIface * createObject(int objectId)
daal::data_management::interface1::CompressedDataArchive::copyArchiveToArray
size_t copyArchiveToArray(byte *ptr, size_t maxLength) const DAAL_C11_OVERRIDE
Definition: data_archive.h:584
daal::services::ErrorObjectDoesNotSupportSerialization
Definition: error_indexes.h:409
daal::data_management::interface1::DataArchiveIface::getArchiveAsArraySharedPtr
virtual services::SharedPtr< byte > getArchiveAsArraySharedPtr() const =0
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:55
daal::data_management::interface1::DataArchiveImpl::getUpdateVersion
int getUpdateVersion() DAAL_C11_OVERRIDE
Definition: data_archive.h:182
daal::data_management::interface1::InputDataArchive::segmentFooter
void segmentFooter()
Definition: data_archive.h:805
daal::data_management::interface1::InputDataArchive::set
void set(daal::services::Collection< T > &val)
Definition: data_archive.h:826
daal::data_management::interface1::DataBlock::setSize
virtual void setSize(size_t size) DAAL_C11_OVERRIDE
Definition: data_block.h:150
daal::data_management::interface1::DataArchiveImpl::setMajorVersion
void setMajorVersion(int majorVersion) DAAL_C11_OVERRIDE
Definition: data_archive.h:157
daal::services::daal_malloc
DAAL_EXPORT void * daal_malloc(size_t size, size_t alignment=DAAL_MALLOC_DEFAULT_ALIGNMENT)
daal::data_management::interface1::OutputDataArchive
Provides methods to restore an object from its serialized counterpart and access the restored object...
Definition: data_archive.h:988
daal::data_management::interface1::DataArchiveIface::getArchiveAsArray
virtual DAAL_DEPRECATED_VIRTUAL byte * getArchiveAsArray()
Definition: data_archive.h:91
daal::data_management::interface1::OutputDataArchive::set
void set(daal::services::Collection< T > &val) const
Definition: data_archive.h:1092
daal::services::daal_free
DAAL_EXPORT void daal_free(void *ptr)
daal::data_management::interface1::InputDataArchive::copyArchiveToArray
size_t copyArchiveToArray(byte *ptr, size_t maxLength)
Definition: data_archive.h:953
daal::data_management::interface1::DecompressedDataArchive::getArchiveAsString
std::string getArchiveAsString() DAAL_C11_OVERRIDE
Definition: data_archive.h:687
daal::services::SerializationTag
Definition: error_indexes.h:59
daal::data_management::interface1::InputDataArchive::setSingleObj
void setSingleObj(SerializationIface **ptr)
Definition: data_archive.h:867
daal::data_management::interface1::CompressedDataArchive::getSizeOfArchive
size_t getSizeOfArchive() const DAAL_C11_OVERRIDE
Definition: data_archive.h:542
daal::services::ErrorMemoryCopyFailedInternal
Definition: error_indexes.h:152
daal::data_management::interface1::InputDataArchive::archiveFooter
void archiveFooter()
Definition: data_archive.h:789
daal::data_management::interface1::CompressedDataArchive::getArchiveAsString
std::string getArchiveAsString() DAAL_C11_OVERRIDE
Definition: data_archive.h:576
daal::data_management::interface1::CompressedDataArchive::write
void write(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:532
daal::data_management::interface1::CompressedDataArchive::CompressedDataArchive
CompressedDataArchive(daal::data_management::CompressorImpl *compressor)
Definition: data_archive.h:515
daal::data_management::interface1::DataArchiveIface::getUpdateVersion
virtual int getUpdateVersion()=0
daal::data_management::interface1::InputDataArchive
Provides methods to create an archive data object (serialized) and access this object.
Definition: data_archive.h:725
daal::data_management::interface1::InputDataArchive::getArchiveAsArray
DAAL_DEPRECATED byte * getArchiveAsArray()
Definition: data_archive.h:904
daal::data_management::interface1::InputDataArchive::InputDataArchive
InputDataArchive()
Definition: data_archive.h:731
daal::data_management::interface1::DataArchive::read
void read(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:317
daal::algorithms::math::abs::value
Definition: abs_types.h:88
daal::data_management::interface1::InputDataArchive::getArchiveAsArray
DAAL_DEPRECATED void getArchiveAsArray(const byte **ptr, size_t *size)
Definition: data_archive.h:916
daal::data_management::interface1::DataArchive::write
void write(byte *ptr, size_t size) DAAL_C11_OVERRIDE
Definition: data_archive.h:293
daal::data_management::interface1::DataArchiveImpl::getMinorVersion
int getMinorVersion() DAAL_C11_OVERRIDE
Definition: data_archive.h:177
daal::data_management::interface1::DecompressedDataArchive::getArchiveAsArraySharedPtr
services::SharedPtr< byte > getArchiveAsArraySharedPtr() const DAAL_C11_OVERRIDE
Definition: data_archive.h:673
daal::data_management::interface1::CompressedDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:598
daal::data_management::interface1::OutputDataArchive::getMinorVersion
int getMinorVersion() const
Definition: data_archive.h:1214
daal::data_management::interface1::OutputDataArchive::archiveFooter
void archiveFooter() const
Definition: data_archive.h:1056
daal::data_management::interface1::InputDataArchive::getErrors
services::SharedPtr< services::ErrorCollection > getErrors()
Definition: data_archive.h:973
daal::data_management::interface1::DataArchiveIface::setUpdateVersion
virtual void setUpdateVersion(int updateVersion)=0
daal::services::ErrorDataArchiveInternal
Definition: error_indexes.h:103
daal::data_management::interface1::InputDataArchive::getArchiveAsArraySharedPtr
services::SharedPtr< byte > getArchiveAsArraySharedPtr()
Definition: data_archive.h:893
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:150