![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <allocator_base.hpp>
Public Types | |
| using | size_type = std::size_t |
Public Member Functions | |
| void * | allocate (size_type size, size_type alignment=0) |
Allocate size bytes aligned to alignment. | |
| void | deallocate (void *ptr, size_type size) |
Deallocate the allocation at ptr of size size. | |
| template<typename T > | |
| std::enable_if_t< not std::is_void_v< T >, T * > | allocate () |
Allocate space for a single entity of type T that is aligned according to Ts alignment requirement. | |
| template<typename T > | |
| std::enable_if_t< not std::is_void_v< T >, T * > | allocate (size_type n) |
Allocate space for an array of n entities of type T. | |
| template<typename T > | |
| std::enable_if_t< not std::is_void_v< T >, void > | deallocate (T *ptr) |
Deallocate the space for an entity of type T at ptr. | |
| template<typename T > | |
| std::enable_if_t< not std::is_void_v< T >, void > | deallocate (T *arr, size_type n) |
Deallocate the space for an array of n entities of type T. | |
| template<typename T > | |
| std::enable_if_t< not std::is_array_v< T >, std::unique_ptr< T > > | make_unique () |
| template<typename T > | |
| std::enable_if_t< std::is_array_v< T >, std::unique_ptr< T > > | make_unique (size_type n) |
| template<typename T > | |
| void | dispose (std::unique_ptr< T > ptr) |
| template<typename T > | |
| void | dispose (std::unique_ptr< T > ptr, size_type n) |
Definition at line 17 of file allocator_base.hpp.
| using m::allocator< Actual >::size_type = std::size_t |
Definition at line 19 of file allocator_base.hpp.
|
inline |
Allocate space for a single entity of type T that is aligned according to Ts alignment requirement.
Definition at line 40 of file allocator_base.hpp.
References m::allocator< Actual >::allocate(), and m::T().
Referenced by m::allocator< Actual >::allocate(), and m::allocator< Actual >::make_unique().
|
inline |
Allocate space for an array of n entities of type T.
The space is aligned according to Ts alignment requirement.
Definition at line 46 of file allocator_base.hpp.
References m::allocator< Actual >::allocate(), and m::T().
Referenced by m::allocator< Actual >::allocate().
|
inline |
Allocate size bytes aligned to alignment.
Definition at line 26 of file allocator_base.hpp.
References m::allocator< Actual >::allocate().
|
inline |
Deallocate the space for an array of n entities of type T.
Definition at line 56 of file allocator_base.hpp.
References m::allocator< Actual >::deallocate(), and m::T().
Referenced by m::allocator< Actual >::deallocate().
|
inline |
Deallocate the space for an entity of type T at ptr.
Definition at line 51 of file allocator_base.hpp.
References m::allocator< Actual >::deallocate(), and m::T().
Referenced by m::allocator< Actual >::deallocate().
|
inline |
Deallocate the allocation at ptr of size size.
Definition at line 31 of file allocator_base.hpp.
References m::allocator< Actual >::deallocate().
Referenced by m::allocator< Actual >::deallocate(), and m::memory::Memory::~Memory().
|
inline |
Definition at line 71 of file allocator_base.hpp.
Referenced by m::PlanTableSmallOrDense::~PlanTableSmallOrDense().
|
inline |
Definition at line 74 of file allocator_base.hpp.
|
inline |
Definition at line 64 of file allocator_base.hpp.
|
inline |
Definition at line 68 of file allocator_base.hpp.
References m::allocator< Actual >::allocate().