10#ifndef MCRL2_UTILITIES_BLOCK_ALLOCATOR_H_
11#define MCRL2_UTILITIES_BLOCK_ALLOCATOR_H_
27 std::size_t ElementsPerBlock = 1024,
28 bool ThreadSafe =
false>
53 throw std::bad_alloc();
The block allocator provides the allocator interface for the memory pool class. As such is can be use...
block_allocator()=default
void deallocate(T *p, size_type)
block_allocator & operator=(block_allocator &&)=default
std::ptrdiff_t difference_type
block_allocator(block_allocator &&)=default
T * allocate(size_type n, const void *hint=nullptr)
The memory pool allocates elements of size T from blocks.
T * allocate()
Reuses memory from block and allocates a new block when no slots are free.
void deallocate(T *pointer)
Free the memory used by the given pointer that has been allocated by this pool.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
block_allocator< U, ElementsPerBlock, ThreadSafe > other