12#include "vecmem/memory/details/memory_resource_base.hpp"
13#include "vecmem/memory/memory_resource.hpp"
14#include "vecmem/vecmem_core_export.hpp"
25class coalescing_memory_resource_impl;
45 std::vector<std::reference_wrapper<memory_resource>>&&
upstreams);
78 std::unique_ptr<details::coalescing_memory_resource_impl> m_impl;
An allocator class that wraps a memory resource.
Definition allocator.hpp:37
This memory resource tries to allocate with several upstream resources and returns the first succesfu...
Definition coalescing_memory_resource.hpp:32
VECMEM_CORE_EXPORT coalescing_memory_resource(coalescing_memory_resource &&parent) noexcept
Move constructor.
VECMEM_CORE_EXPORT coalescing_memory_resource & operator=(coalescing_memory_resource &&rhs) noexcept
Move assignment operator.
VECMEM_CORE_EXPORT ~coalescing_memory_resource() override
Destructor.
coalescing_memory_resource & operator=(const coalescing_memory_resource &)=delete
Disallow copying the memory resource.
VECMEM_CORE_EXPORT void do_deallocate(void *p, std::size_t, std::size_t) override
De-allocate a previously allocated memory block.
coalescing_memory_resource(const coalescing_memory_resource &)=delete
Disallow copying the memory resource.
VECMEM_CORE_EXPORT void * do_allocate(std::size_t, std::size_t) override
Allocate memory with one of the underlying resources.
Base class for implementations of the vecmem::memory_resource interface.
Definition memory_resource_base.hpp:25
Main namespace for the vecmem classes/functions.
Definition atomic_ref.hpp:16