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
33 lines
833 B
C++
33 lines
833 B
C++
#ifndef EGG_ASSERT_HEAP_H
|
|
#define EGG_ASSERT_HEAP_H
|
|
|
|
#include "common.h"
|
|
#include "egg/core/eggHeap.h"
|
|
|
|
|
|
namespace EGG {
|
|
|
|
class AssertHeap : public Heap {
|
|
public:
|
|
// vtable at 0x0
|
|
virtual ~AssertHeap();
|
|
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:
|
|
AssertHeap(MEMiHeapHead *heapHead);
|
|
static AssertHeap *create(void *block, u32 size);
|
|
static AssertHeap *create(u32 size, Heap *heap);
|
|
static size_t getSize(); // returns 0x7C
|
|
};
|
|
|
|
} // namespace EGG
|
|
|
|
#endif
|