#pragma once #include #include "allocator.hpp" template > T* makeme(Args... args) { allocator alloc; T* mem = alloc.allocate(1); return new (mem) T(args...); } template > void takeme(T* mem) { allocator alloc; mem->~T(); alloc.deallocate(mem, 1); }