module; #include export module utils:allocator; export { template T* Allocate(Args&&... args) { return new T(std::forward(args)...); } template void Deallocate(T* obj) { delete obj; } template T* AllocateArray(std::size_t size) { return new T[size]; } template void DeallocateArray(T* obj) { delete[] obj; } }