vecmem 1.18.0
|
This memory resource conditionally allocates memory. More...
#include <vecmem/memory/conditional_memory_resource.hpp>
Public Member Functions | |
VECMEM_CORE_EXPORT | conditional_memory_resource (memory_resource &upstream, std::function< bool(std::size_t, std::size_t)> pred) |
Constructs the conditional memory resource. | |
VECMEM_CORE_EXPORT | conditional_memory_resource (conditional_memory_resource &&parent) noexcept |
Move constructor. | |
conditional_memory_resource (const conditional_memory_resource &)=delete | |
Disallow copying the memory resource. | |
VECMEM_CORE_EXPORT | ~conditional_memory_resource () override |
Destructor. | |
VECMEM_CORE_EXPORT conditional_memory_resource & | operator= (conditional_memory_resource &&rhs) noexcept |
Move assignment operator. | |
conditional_memory_resource & | operator= (const conditional_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, std::size_t) override |
Allocate memory with one of the underlying resources. | |
VECMEM_CORE_EXPORT void | do_deallocate (void *p, std::size_t, std::size_t) override |
De-allocate a previously allocated memory block. | |
This memory resource conditionally allocates memory.
It is constructed with a predicate function that determines whether an allocation should succeed or not.
This resource can be used to construct complex conditional allocation schemes.
vecmem::conditional_memory_resource::conditional_memory_resource | ( | memory_resource & | upstream, |
std::function< bool(std::size_t, std::size_t)> | pred | ||
) |
Constructs the conditional memory resource.
[in] | upstream | The upstream memory resource to use. |
[in] | pred | The predicate function that determines whether the allocation should succeed. |
|
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