Hedgehog  0.0.0
A library to generate hybrid pipeline workflow systems
hh::AbstractMemoryManager< ManagedMemory, typename std::enable_if_t<!traits::is_managed_memory_v< ManagedMemory > > > Class Template Reference

Definition of AbstractMemoryManager, for data that do not derive from MemoryData and/ or are not default constructible. More...

#include "abstract_memory_manager.h"

Collaboration diagram for hh::AbstractMemoryManager< ManagedMemory, typename std::enable_if_t<!traits::is_managed_memory_v< ManagedMemory > > >:
Collaboration graph

Public Member Functions

virtual void initialize ()
 Initializer. More...
 
void deviceId (int)
 Device id setter. More...
 
void profiler (const std::shared_ptr< NvtxProfiler > &)
 Profiler setter. More...
 
virtual std::shared_ptr< AbstractMemoryManager< ManagedMemory > > copy ()
 Copy definition. More...
 

Detailed Description

template<class ManagedMemory>
class hh::AbstractMemoryManager< ManagedMemory, typename std::enable_if_t<!traits::is_managed_memory_v< ManagedMemory > > >

Definition of AbstractMemoryManager, for data that do not derive from MemoryData and/ or are not default constructible.

The class defines all methods used by Hedgehog internally and will only throw errors. Should not be used, just here to define the methods.

Attention
The existence of a memory manager into a Task should be checked before usage.
Template Parameters
ManagedMemoryType of data that do not derive from MemoryData and/ or are not default constructible

Definition at line 286 of file abstract_memory_manager.h.

Member Function Documentation

◆ copy()

template<class ManagedMemory >
virtual std::shared_ptr<AbstractMemoryManager<ManagedMemory> > hh::AbstractMemoryManager< ManagedMemory, typename std::enable_if_t<!traits::is_managed_memory_v< ManagedMemory > > >::copy ( )
inlinevirtual

Copy definition.

Exceptions
std::runtime_errorA Memory Manager without MemoryData
Returns
Memory manager copy

Definition at line 319 of file abstract_memory_manager.h.

◆ deviceId()

template<class ManagedMemory >
void hh::AbstractMemoryManager< ManagedMemory, typename std::enable_if_t<!traits::is_managed_memory_v< ManagedMemory > > >::deviceId ( int  )
inline

Device id setter.

Exceptions
std::runtime_errorA Memory Manager without MemoryData

Definition at line 300 of file abstract_memory_manager.h.

◆ initialize()

template<class ManagedMemory >
virtual void hh::AbstractMemoryManager< ManagedMemory, typename std::enable_if_t<!traits::is_managed_memory_v< ManagedMemory > > >::initialize ( )
inlinevirtual

Initializer.

Exceptions
std::runtime_errorA Memory Manager without MemoryData

Definition at line 291 of file abstract_memory_manager.h.

◆ profiler()

template<class ManagedMemory >
void hh::AbstractMemoryManager< ManagedMemory, typename std::enable_if_t<!traits::is_managed_memory_v< ManagedMemory > > >::profiler ( const std::shared_ptr< NvtxProfiler > &  )
inline

Profiler setter.

Exceptions
std::runtime_errorA Memory Manager without MemoryData

Definition at line 309 of file abstract_memory_manager.h.


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