25 [[nodiscard]]
size_t getGroupSize(
u16 groupID)
const;
26 void addSize(
u16 groupID,
size_t size);
28 [[nodiscard]]
constexpr size_t size()
const {
29 return m_entries.size();
33 std::array<size_t, 256> m_entries;
37 void destroy()
override;
40 [[nodiscard]] Kind getHeapKind()
const override {
41 return Heap::Kind::Expanded;
44 [[nodiscard]]
void *alloc(
size_t size, s32 align)
override;
45 void free(
void *block)
override;
46 [[nodiscard]] u32 getAllocatableSize(s32 align = 4)
const override;
49 void calcGroupSize(GroupSizeRecord *record);
51 void setGroupID(u16 groupID);
52 [[nodiscard]] u16 getGroupID()
const;
57 [[nodiscard]]
static ExpHeap *create(
void *startAddress,
size_t size, u16 opt);
58 [[nodiscard]]
static ExpHeap *create(
size_t size,
Heap *heap, u16 opt);