LeviLamina
Loading...
Searching...
No Matches
IMemoryAllocator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5namespace Bedrock::Memory {
6
8public:
9 // virtual functions
10 // NOLINTBEGIN
11 virtual ~IMemoryAllocator() = default;
12
13 virtual void* allocate(uint64) = 0;
14
15 virtual void release(void*) = 0;
16
17 virtual void* alignedAllocate(uint64, uint64) = 0;
18
19 virtual void alignedRelease(void*) = 0;
20
21 virtual uint64 getUsableSize(void*, bool) = 0;
22
23 virtual void* _realloc(::gsl::not_null<void*>, uint64) = 0;
24
25 virtual void* _alignedRealloc(::gsl::not_null<void*>, uint64, uint64) = 0;
26 // NOLINTEND
27
28public:
29 // virtual function thunks
30 // NOLINTBEGIN
31
32 // NOLINTEND
33};
34
35} // namespace Bedrock::Memory
Definition IMemoryAllocator.h:7