7#include <unordered_map>
8#ifndef NO_MULTITHREADING
42void free_mem_slab_raw(
void*);
51 using const_pointer =
const T*;
52 using size_type = std::size_t;
54 template <
typename U>
struct rebind {
58 pointer allocate(size_type n)
65 void deallocate(pointer p, size_type ) { free_mem_slab_raw(p); }
67 friend bool operator==(
const ContainerSlabAllocator<T>& ,
const ContainerSlabAllocator<T>& )
72 friend bool operator!=(
const ContainerSlabAllocator<T>& ,
const ContainerSlabAllocator<T>& )
Definition: slab_allocator.hpp:47
constexpr_utils defines some helper methods that perform some stl-equivalent operations but in a cons...
Definition: constexpr_utils.hpp:16
void init_slab_allocator(size_t circuit_subgroup_size)
Definition: slab_allocator.cpp:204
void * get_mem_slab_raw(size_t size)
Definition: slab_allocator.cpp:219
std::shared_ptr< void > get_mem_slab(size_t size)
Definition: slab_allocator.cpp:214
Definition: slab_allocator.hpp:54