12345678910111213141516171819202122232425262728293031 |
- #pragma once
- #include <list>
- namespace il2cpp
- {
- namespace utils
- {
- class MemoryPool
- {
- public:
- MemoryPool();
- MemoryPool(size_t initialSize);
- ~MemoryPool();
- void* Malloc(size_t size);
- void* Calloc(size_t count, size_t size);
- size_t FreeSize();
- size_t TotalSize();
- static size_t RegionSize();
- private:
- struct Region;
- typedef std::list<Region*> RegionList;
- Region* AddRegion(size_t size);
- RegionList m_Regions;
- };
- } /* namespace utils */
- } /* namespace il2cpp */
|