Files
2025-05-19 21:52:55 +02:00

35 lines
686 B
C++

#ifndef EGG_ALLOCATOR_H
#define EGG_ALLOCATOR_H
#include "common.h"
#include "rvl/MEM.h" // IWYU pragma: export
void MEMInitAllocatorFor_Heap(MEMAllocator *alloc, s32 align, void *heap);
namespace EGG {
class Heap;
class Allocator : public MEMAllocator {
public:
Allocator(Heap *heap, s32 align);
public:
/* vt 0x08 */ virtual ~Allocator();
/* vt 0x0C */ virtual void *alloc(u32 size);
/* vt 0x10 */ virtual void free(void *block);
inline MEMAllocator *getHandle() {
return static_cast<MEMAllocator *>(this);
}
Heap *getHeap() {
return mHeap;
}
/* 0x14 */ Heap *mHeap;
/* 0x18 */ s32 align;
};
}; // namespace EGG
#endif