7#ifndef BOTAN_MEM_POOL_H_
8#define BOTAN_MEM_POOL_H_
10#include <botan/mutex.h>
11#include <botan/types.h>
29 Memory_Pool(
const std::vector<void*>& pages,
size_t page_size)
noexcept;
35 bool deallocate(
void* p,
size_t size)
noexcept;
44 const size_t m_page_size = 0;
48 std::deque<uint8_t*> m_free_pages;
49 std::map<size_t, std::deque<Bucket>> m_buckets_for;
50 uintptr_t m_min_page_ptr = ~static_cast<uintptr_t>(0);
51 uintptr_t m_max_page_ptr = 0;
Memory_Pool(Memory_Pool &&)=delete
Memory_Pool & operator=(Memory_Pool &&)=delete
bool deallocate(void *p, size_t size) noexcept
void * allocate(size_t size)
Memory_Pool(const Memory_Pool &)=delete
Memory_Pool(const std::vector< void * > &pages, size_t page_size) noexcept
Memory_Pool & operator=(const Memory_Pool &)=delete