From 930c477f3781a25b19037569e9927000d6c82b06 Mon Sep 17 00:00:00 2001 From: fschildt Date: Wed, 21 Jan 2026 03:52:50 +0100 Subject: remove common/Arena.hpp --- src/common/Arena.hpp | 52 ---------------------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 src/common/Arena.hpp diff --git a/src/common/Arena.hpp b/src/common/Arena.hpp deleted file mode 100644 index 0f2273a..0000000 --- a/src/common/Arena.hpp +++ /dev/null @@ -1,52 +0,0 @@ -#pragma once - -#include -#include -#include -#include - - -class Arena { -public: - Arena(size_t size) : buffer(size) - { - } - - template - size_t - Align() const - { - size_t alignment = alignof(T); - return (offset + alignment - 1) & ~(alignment - 1); - } - - template - T& - Allocate(Args&&... args) - { - offset = Align(); - assert(offset + sizeof(T) <= buffer.size() && "Arena out of memory"); - - T* ptr = new (&buffer[offset]) T(std::forward(args)...); - objects.emplace_back(ptr, [](void* p) { static_cast(p)->~T(); }); - - offset += sizeof(T); - return *ptr; - } - - void - Reset() - { - for (auto& [ptr, dtor] : objects) { - dtor(ptr); - } - objects.clear(); - offset = 0; - } - - - size_t offset = 0; - std::vector buffer; - std::vector> objects; -}; - -- cgit v1.2.3