vecmem 1.18.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
vecmem::coalescing_memory_resource Class Referencefinal

This memory resource tries to allocate with several upstream resources and returns the first succesful one. More...

#include <vecmem/memory/coalescing_memory_resource.hpp>

Inheritance diagram for vecmem::coalescing_memory_resource:
vecmem::details::memory_resource_base

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_resourceoperator= (coalescing_memory_resource &&rhs) noexcept
 Move assignment operator.
 
coalescing_memory_resourceoperator= (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 voiddo_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.
 

Detailed Description

This memory resource tries to allocate with several upstream resources and returns the first succesful one.

Constructor & Destructor Documentation

◆ coalescing_memory_resource()

vecmem::coalescing_memory_resource::coalescing_memory_resource ( std::vector< std::reference_wrapper< memory_resource > > &&  upstreams)
explicit

Constructs the coalescing memory resource.

Note
The memory resources passed to this constructed are given in order of decreasing priority. That is to say, the first one is tried first, then the second, etc.
Parameters
[in]upstreamsThe upstream memory resources to use.

Member Function Documentation

◆ do_is_equal()

bool vecmem::details::memory_resource_base::do_is_equal ( const memory_resource &  other) const
overrideprotectednoexceptinherited

Compare the equality of *this memory resource with another.

Parameters
otherThe other memory resource to compare with
Returns
true if the two memory resources are equal, false otherwise

The documentation for this class was generated from the following files: