EtrediaEmpires/utils/modules/allocator.cppm
legatt 0f26b7423d Minor TODOs completed
- Rename states -> regions
- Threads unregistering from Logger
- Remove unnecessary references for primitive arguments in functions
- Marking classes as final for optimization
- Remove typo in Materials implementation file name
- Move some modules to partitions
2026-02-11 03:28:33 +03:00

27 lines
477 B
C++

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