#ifndef OMNI_MEMORY_H #define OMNI_MEMORY_H #include "stdint.h" struct Layout { usize size; usize align; template constexpr static Layout of(usize n) noexcept { return Layout{n * sizeof(T), alignof(T)}; } static bool from(usize size, usize align) noexcept { return Layout{size, align}; } }; struct Allocator { virtual u8* allocate(Layout layout) noexcept; virtual void deallocate(u8* ptr); }; #endif