16 #ifndef __MEMORY_BLOCK_H__
17 #define __MEMORY_BLOCK_H__
19 #include "services/daal_defines.h"
20 #include "data_management/data/data_serialize.h"
21 #include "data_management/data/data_archive.h"
22 #include "services/daal_shared_ptr.h"
26 namespace data_management
36 class DAAL_EXPORT MemoryBlock :
public SerializationIface
39 DECLARE_SERIALIZABLE_TAG();
41 DAAL_CAST_OPERATOR(MemoryBlock);
44 MemoryBlock() : _size(0), _value(NULL)
51 MemoryBlock(
size_t n);
53 virtual ~MemoryBlock();
60 void reserve(
size_t n);
75 const byte*
get()
const
95 virtual services::Status serializeImpl(interface1::InputDataArchive *arch) DAAL_C11_OVERRIDE
99 arch->set(_value, _size);
101 return services::Status();
104 virtual services::Status deserializeImpl(
const interface1::OutputDataArchive *arch) DAAL_C11_OVERRIDE
110 arch->set(_value, sz);
112 return services::Status();
119 typedef services::SharedPtr<MemoryBlock> MemoryBlockPtr;
122 using interface1::MemoryBlock;
123 using interface1::MemoryBlockPtr;
daal
Definition: algorithm_base_common.h:31
daal::data_management::interface1::MemoryBlock
Serializable memory block, owner of the memory.
Definition: memory_block.h:36
daal::data_management::interface1::MemoryBlock::size
size_t size() const
Definition: memory_block.h:84
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::MemoryBlock::MemoryBlock
MemoryBlock()
Definition: memory_block.h:44
daal::data_management::interface1::MemoryBlock::serializeImpl
virtual services::Status serializeImpl(interface1::InputDataArchive *arch) DAAL_C11_OVERRIDE
Definition: memory_block.h:95
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::MemoryBlock::deserializeImpl
virtual services::Status deserializeImpl(const interface1::OutputDataArchive *arch) DAAL_C11_OVERRIDE
Definition: memory_block.h:104