#ifndef __RETRO_CMEMORY_HPP__ #define __RETRO_CMEMORY_HPP__ #include "IAllocator.hpp" namespace Retro { class COsContext; class CMemory { public: static void Startup(COsContext&); static void Shutdown(); static void SetAllocator(COsContext&, IAllocator&); static void OffsetFakeStatics(int); static void SetOutOfMemoryCallback(const IAllocator::TOutOfMemoryCallback, void*); static void Free(void*); static void* Alloc(size_t, IAllocator::EHint, IAllocator::EScope, IAllocator::EType, const CCallStack&); }; class CMemorySys { public: CMemorySys(COsContext&, IAllocator&); ~CMemorySys(); static IAllocator& GetGameAllocator(); }; } /* Custom new funcs */ void* operator new(std::size_t sz, const char* funcName, const char* typeName); void* operator new[](std::size_t sz, const char* funcName, const char* typeName); #endif // __RETRO_CMEMORY_HPP__