/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Heap.hpp Date: 2021-6-12 Author: Reece ***/ #pragma once namespace Aurora::Memory { struct BaseHeap : Heap { void *base_ {}; AuUInt length_ {}; HeapStats stats; virtual void UpdateStats() = 0; inline HeapStats &GetStats() override { UpdateStats(); return stats; } }; AuSPtr AllocateDivisionGlobal(Heap *heap, AuUInt32 length, AuUInt32 alignment); }