vecmem 1.18.0
|
This memory resource tries to allocate with several upstream resources and returns the first succesful one. More...
#include <vecmem/memory/coalescing_memory_resource.hpp>
Public Member Functions | |
VECMEM_CORE_EXPORT | coalescing_memory_resource (std::vector< std::reference_wrapper< memory_resource > > &&upstreams) |
Constructs the coalescing memory resource. | |
VECMEM_CORE_EXPORT | coalescing_memory_resource (coalescing_memory_resource &&parent) noexcept |
Move constructor. | |
coalescing_memory_resource (const coalescing_memory_resource &)=delete | |
Disallow copying the memory resource. | |
VECMEM_CORE_EXPORT | ~coalescing_memory_resource () override |
Destructor. | |
VECMEM_CORE_EXPORT coalescing_memory_resource & | operator= (coalescing_memory_resource &&rhs) noexcept |
Move assignment operator. | |
coalescing_memory_resource & | operator= (const coalescing_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 tries to allocate with several upstream resources and returns the first succesful one.
|
explicit |
Constructs the coalescing memory resource.
[in] | upstreams | The upstream memory resources to use. |
|
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