8#include "../IDataObj.h"
16 std::uint8_t* buffer_{
nullptr };
17 size_t buffer_size_{ 0 };
23 this->buffer_ =
static_cast<std::uint8_t*
>(malloc(size));
24 this->buffer_size_ = size;
28 void GetData(
const void** p,
size_t* s)
const override
37 *s = this->buffer_size_;
48 [[nodiscard]]
const std::uint8_t*
GetDataC()
const {
return this->buffer_; }
51 [[nodiscard]] std::uint8_t*
GetData() {
return this->buffer_; }
55 [[nodiscard]]
size_t GetSizeOfData()
const {
return this->buffer_size_; }
An implementation of the IDataObjBase interface. This class allocates and owns memory on the heap.
Definition: DataObjectImplementations.h:14
const std::uint8_t * GetDataC() const
Gets a const pointer to the data. The size of this buffer is given by "GetSizeOfData".
Definition: DataObjectImplementations.h:48
void GetData(const void **p, size_t *s) const override
Definition: DataObjectImplementations.h:28
std::uint8_t * GetData()
Gets a pointer to the data. The size of this buffer is given by "GetSizeOfData".
Definition: DataObjectImplementations.h:51
DataObjectOnHeap(size_t size)
Definition: DataObjectImplementations.h:21
size_t GetSizeOfData() const
Definition: DataObjectImplementations.h:55
Definition: IDataObj.h:12