re3-mirror/src/leeds/base/memoryManager.h

39 lines
733 B
C++

#pragma once
namespace base
{
class cMemoryManager
{
public:
cMemoryManager();
void* Allocate(uint32 size);
void* AllocateAligned(uint32 size);
void* Realloc(void* buf, uint32 newSize, bool unk);
void Free(void* buf);
bool IsFree(void* buf);
};
class cMainMemoryManager : public cMemoryManager
{
static cMainMemoryManager* m_pInstance;
static void Init(void*, uint32);
public:
cMainMemoryManager();
static cMainMemoryManager *Instance()
{
static cMainMemoryManager instance;
return &instance;
}
};
class cMemoryBlock
{
// TODO
};
}
void* operator new(size_t size);
void* operator new[](size_t size);
void operator delete(void* buf) noexcept;
void operator delete[](void* buf) noexcept;