mirror of
https://github.com/zeldaret/ss
synced 2026-05-24 15:20:58 -04:00
35 lines
686 B
C++
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
|