18 #ifndef __MEMORY_BLOCK_H__
19 #define __MEMORY_BLOCK_H__
21 #include "services/daal_defines.h"
22 #include "data_management/data/data_serialize.h"
23 #include "data_management/data/data_archive.h"
24 #include "services/daal_shared_ptr.h"
28 namespace data_management
38 class DAAL_EXPORT MemoryBlock :
public SerializationIface
41 DECLARE_SERIALIZABLE_TAG();
43 DAAL_CAST_OPERATOR(MemoryBlock);
46 MemoryBlock() : _size(0), _value(NULL)
53 MemoryBlock(
size_t n);
55 virtual ~MemoryBlock();
62 void reserve(
size_t n);
77 const byte*
get()
const
97 virtual services::Status serializeImpl(interface1::InputDataArchive *arch) DAAL_C11_OVERRIDE
101 arch->set(_value, _size);
103 return services::Status();
106 virtual services::Status deserializeImpl(
const interface1::OutputDataArchive *arch) DAAL_C11_OVERRIDE
112 arch->set(_value, sz);
114 return services::Status();
121 typedef services::SharedPtr<MemoryBlock> MemoryBlockPtr;
124 using interface1::MemoryBlock;
125 using interface1::MemoryBlockPtr;
daal::data_management::interface1::MemoryBlock
Serializable memory block, owner of the memory.
Definition: memory_block.h:38
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::MemoryBlock::size
size_t size() const
Definition: memory_block.h:86
daal::data_management::interface1::MemoryBlock::MemoryBlock
MemoryBlock()
Definition: memory_block.h:46
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::MemoryBlock::serializeImpl
virtual services::Status serializeImpl(interface1::InputDataArchive *arch) DAAL_C11_OVERRIDE
Definition: memory_block.h:97
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::MemoryBlock::deserializeImpl
virtual services::Status deserializeImpl(const interface1::OutputDataArchive *arch) DAAL_C11_OVERRIDE
Definition: memory_block.h:106