mirror of
https://github.com/zeldaret/ss
synced 2026-05-24 07:10:53 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
34 lines
813 B
C++
34 lines
813 B
C++
#ifndef EGG_FRM_HEAP_H
|
|
#define EGG_FRM_HEAP_H
|
|
|
|
#include "common.h"
|
|
#include "egg/core/eggHeap.h"
|
|
|
|
|
|
namespace EGG {
|
|
|
|
class FrmHeap : public Heap {
|
|
public:
|
|
// vtable at 0x0
|
|
virtual ~FrmHeap();
|
|
virtual eHeapKind getHeapKind() const override;
|
|
virtual void *alloc(u32 size, s32 align) override;
|
|
virtual void free(void *block) override;
|
|
virtual void destroy() override;
|
|
virtual u32 resizeForMBlock(void *block, u32 size) override;
|
|
virtual u32 getTotalFreeSize() override;
|
|
virtual u32 getAllocatableSize(s32 align) override;
|
|
virtual u32 adjust() override;
|
|
|
|
public:
|
|
FrmHeap(MEMiHeapHead *heapHead);
|
|
static FrmHeap *create(void *block, u32 size, u16 attr);
|
|
void free(s32 flags);
|
|
void recordState(u32 id);
|
|
void freeByState(u32 id);
|
|
};
|
|
|
|
} // namespace EGG
|
|
|
|
#endif
|