10#include "vecmem/memory/memory_resource.hpp"
11#include "vecmem/vecmem_core_export.hpp"
51 void*
do_allocate(std::size_t, std::size_t)
override;
62 std::reference_wrapper<memory_resource> m_upstream;
An allocator class that wraps a memory resource.
Definition allocator.hpp:37
A memory resource that synchronizes the operations of an upstream resource.
Definition synchronized_memory_resource.hpp:26
VECMEM_CORE_EXPORT ~synchronized_memory_resource() override
Destructor.
VECMEM_CORE_EXPORT bool do_is_equal(const memory_resource &other) const noexcept override
Compare the equality of *this memory resource with another.
Definition synchronized_memory_resource.cpp:46
VECMEM_CORE_EXPORT void * do_allocate(std::size_t, std::size_t) override
Allocate memory with one of the underlying resources.
Definition synchronized_memory_resource.cpp:32
VECMEM_CORE_EXPORT void do_deallocate(void *p, std::size_t, std::size_t) override
De-allocate a previously allocated memory block.
Definition synchronized_memory_resource.cpp:39
VECMEM_CORE_EXPORT synchronized_memory_resource & operator=(const synchronized_memory_resource &rhs)
Copy assignment operator.
Definition synchronized_memory_resource.cpp:23
Main namespace for the vecmem classes/functions.
Definition atomic_ref.hpp:16