13 virtual void* _allocate(uint64 size) = 0;
15 virtual void _release(::gsl::not_null<void*> ptr) = 0;
17 virtual void* _alignedAllocate(uint64 size, uint64 alignment) = 0;
19 virtual void _alignedRelease(::gsl::not_null<void*> ptr) = 0;
21 virtual uint64 _getUsableSize(::gsl::not_null<void*> ptr,
bool alignedAllocation) = 0;
24 virtual void* _realloc(::gsl::not_null<void*> p, uint64 newSize) = 0;
26 virtual void* _realloc(::gsl::not_null<void*> ptr, uint64 newSize) = 0;
30 virtual void* _alignedRealloc(::gsl::not_null<void*> p, uint64 newSize, uint64 alignment) = 0;
32 virtual void* _alignedRealloc(::gsl::not_null<void*> ptr, uint64 newSize, uint64 alignment) = 0;
40 MCAPI
void* allocate(uint64 size);