#pragma once #include "types.hpp" namespace odhtdb { class OwnedMemory { public: OwnedMemory() : data(nullptr), size(0) {} OwnedMemory(void *_data, usize _size) : data(_data), size(_size) {} OwnedMemory(OwnedMemory &&other); ~OwnedMemory(); // Do not allow copy of this struct, forcing move when returning a OwnedMemory in a function OwnedMemory(OwnedMemory&) = delete; OwnedMemory& operator = (OwnedMemory&) = delete; void *data; usize size; }; }