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 // vIndex: 0
12 virtual ~IMemoryAllocator() = default;
13
14 // vIndex: 1
15 virtual void* allocate(uint64) = 0;
16
17 // vIndex: 2
18 virtual void release(void*) = 0;
19
20 // vIndex: 3
21 virtual void* alignedAllocate(uint64, uint64) = 0;
22
23 // vIndex: 4
24 virtual void alignedRelease(void*) = 0;
25
26 // vIndex: 5
27 virtual uint64 getUsableSize(void*) = 0;
28
29 // vIndex: 6
30 virtual void* _realloc(::gsl::not_null<void*>, uint64) = 0;
31 // NOLINTEND
32
33public:
34 // destructor thunk
35 // NOLINTBEGIN
36
37 // NOLINTEND
38
39public:
40 // virtual function thunks
41 // NOLINTBEGIN
42
43 // NOLINTEND
44};
45
46} // namespace Bedrock::Memory
Definition IMemoryAllocator.h:7