vecmem 1.18.0
|
Memory resource implementing an arena allocation scheme. More...
#include <vecmem/memory/arena_memory_resource.hpp>
Public Member Functions | |
VECMEM_CORE_EXPORT | arena_memory_resource (memory_resource &upstream, std::size_t initial_size, std::size_t maximum_size) |
Construct the memory resource on top of an upstream memory resource. | |
VECMEM_CORE_EXPORT | arena_memory_resource (arena_memory_resource &&parent) noexcept |
Move constructor. | |
arena_memory_resource (const arena_memory_resource &)=delete | |
Disallow copying the memory resource. | |
VECMEM_CORE_EXPORT | ~arena_memory_resource () override |
Destructor. | |
VECMEM_CORE_EXPORT arena_memory_resource & | operator= (arena_memory_resource &&rhs) noexcept |
Move assignment operator. | |
arena_memory_resource & | operator= (const arena_memory_resource &)=delete |
Disallow copying the memory resource. | |
Protected Member Functions | |
Function(s) implementing @c vecmem::memory_resource | |
VECMEM_CORE_EXPORT bool | do_is_equal (const memory_resource &other) const noexcept override |
Compare the equality of *this memory resource with another. | |
Private Member Functions | |
Function(s) implementing @c vecmem::memory_resource | |
VECMEM_CORE_EXPORT void * | do_allocate (std::size_t bytes, std::size_t) override |
Allocate memory in the arena. | |
VECMEM_CORE_EXPORT void | do_deallocate (void *p, std::size_t bytes, std::size_t) override |
De-allocate a previously allocated memory block. | |
Memory resource implementing an arena allocation scheme.
vecmem::arena_memory_resource::arena_memory_resource | ( | memory_resource & | upstream, |
std::size_t | initial_size, | ||
std::size_t | maximum_size | ||
) |
Construct the memory resource on top of an upstream memory resource.
[in] | upstream | The vecmem::memory_resource to use for "upstream" memory allocations |
[in] | initial_size | Initial memory memory allocation from upstream |
[in] | maximum_size | The maximal allowed allocation from upstream |
|
overrideprotectednoexceptinherited |
Compare the equality of *this
memory resource with another.
other | The other memory resource to compare with |
true
if the two memory resources are equal, false
otherwise