#pragma once #include #include struct mmap_buffer_t { void *addr = NULL; uint64_t size = 0; uint64_t freed = 0; uint64_t pos = 0; }; class mmap_manager_t { protected: uint64_t mmap_size = 32*1024*1024; std::map past_buffers; mmap_buffer_t active_buffer; public: mmap_manager_t(uint64_t mmap_size = 32*1024*1024); ~mmap_manager_t(); void *alloc(uint64_t size); void free(void *addr, uint64_t size); };