DASH  0.3.0
dash::SimpleMemoryPoolResource< LocalMemSpace > Class Template Reference

Public Types

using memory_space_type_category = typename memory_traits::memory_space_type_category
 Require for memory traits. More...
 
using memory_space_domain_category = typename memory_traits::memory_space_domain_category
 

Public Member Functions

 SimpleMemoryPoolResource (LocalMemSpace *resource=nullptr) noexcept
 
 SimpleMemoryPoolResource (SimpleMemoryPoolResource const &) noexcept
 
 SimpleMemoryPoolResource (SimpleMemoryPoolResource &&other) noexcept
 
SimpleMemoryPoolResourceoperator= (SimpleMemoryPoolResource &&)=delete
 
SimpleMemoryPoolResourceoperator= (SimpleMemoryPoolResource const &)=delete
 
LocalMemSpace * upstream_resource ()
 Returns the underlying memory resource. More...
 
void release ()
 deallocate all memory blocks of all chunks More...
 
void reserve (std::size_t nblocks)
 

Detailed Description

template<class LocalMemSpace>
class dash::SimpleMemoryPoolResource< LocalMemSpace >

Definition at line 56 of file SimpleMemoryPoolResource.h.

Member Typedef Documentation

◆ memory_space_type_category

template<class LocalMemSpace >
using dash::SimpleMemoryPoolResource< LocalMemSpace >::memory_space_type_category = typename memory_traits::memory_space_type_category

Require for memory traits.

Definition at line 80 of file SimpleMemoryPoolResource.h.

Member Function Documentation

◆ release()

template<typename LocalMemSpace >
void dash::SimpleMemoryPoolResource< LocalMemSpace >::release ( )
inline

deallocate all memory blocks of all chunks

Definition at line 264 of file SimpleMemoryPoolResource.h.

265 {
266  while (m_chunklist) {
267  Chunk* lastChunk = m_chunklist;
268  m_chunklist = m_chunklist->next;
269  m_resource->deallocate(lastChunk, MAX_ALIGN);
270  }
271  m_freelist = 0;
272 }

◆ upstream_resource()

template<typename LocalMemSpace >
LocalMemSpace * dash::SimpleMemoryPoolResource< LocalMemSpace >::upstream_resource ( )
inline

Returns the underlying memory resource.

Definition at line 258 of file SimpleMemoryPoolResource.h.

259 {
260  return m_resource;
261 }

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