#ifndef __MLX_MEMORY__ #define __MLX_MEMORY__ #include namespace mlx { class MemManager : public Singleton { friend class Singleton; public: static void* Malloc(std::size_t size); static void* Calloc(std::size_t n, std::size_t size); static void* Realloc(void* ptr, std::size_t size); static void Free(void* ptr); private: MemManager() = default; ~MemManager(); private: inline static std::list s_blocks; }; } #endif