InstanceManager Class Reference

HiCR: HiCR::backend::pthreads::InstanceManager Class Reference
HiCR
HiCR::backend::pthreads::InstanceManager Class Referencefinal

#include <instanceManager.hpp>

Inheritance diagram for HiCR::backend::pthreads::InstanceManager:
HiCR::InstanceManager

Public Member Functions

 InstanceManager (Core &core)
 
 ~InstanceManager () override=default
 
std::shared_ptr< HiCR::InstancecreateInstanceImpl (const HiCR::InstanceTemplate instanceTemplate) override
 
std::shared_ptr< HiCR::InstanceaddInstanceImpl (Instance::instanceId_t instanceId) override
 
void terminateInstanceImpl (const std::shared_ptr< HiCR::Instance > instance) override
 
void finalize () override
 
void abort (int errorCode) override
 
HiCR::Instance::instanceId_t getRootInstanceId () const override
 
- Public Member Functions inherited from HiCR::InstanceManager
 InstanceManager ()=default
 
__INLINE__ instanceList_tgetInstances ()
 
__INLINE__ std::shared_ptr< HiCR::InstancegetCurrentInstance () const
 
__INLINE__ std::shared_ptr< HiCR::InstanceTemplatecreateInstanceTemplate (const HiCR::Topology &requestedTopology=HiCR::Topology())
 
__INLINE__ std::shared_ptr< HiCR::InstancecreateInstance (const HiCR::InstanceTemplate instanceTemplate=HiCR::InstanceTemplate())
 
__INLINE__ void terminateInstance (const std::shared_ptr< HiCR::Instance > instance)
 
__INLINE__ void addInstance (HiCR::Instance::instanceId_t instanceId)
 

Additional Inherited Members

- Public Types inherited from HiCR::InstanceManager
using instanceList_t = std::vector< std::shared_ptr< HiCR::Instance > >
 
- Protected Member Functions inherited from HiCR::InstanceManager
virtual void terminateInstanceImpl (const std::shared_ptr< HiCR::Instance > instance)
 
__INLINE__ void setCurrentInstance (const std::shared_ptr< HiCR::Instance > &instance)
 
__INLINE__ void addInstance (const std::shared_ptr< HiCR::Instance > &instance)
 

Detailed Description

Implementation of HiCR InstanceManager class. It creates new HiCR Instance using pthreads

Constructor & Destructor Documentation

◆ InstanceManager()

HiCR::backend::pthreads::InstanceManager::InstanceManager ( Core core)
inline

Constructor

Parameters
[in]corepthread core

◆ ~InstanceManager()

HiCR::backend::pthreads::InstanceManager::~InstanceManager ( )
overridevirtualdefault

Default destructor

Reimplemented from HiCR::InstanceManager.

Member Function Documentation

◆ abort()

void HiCR::backend::pthreads::InstanceManager::abort ( int  errorCode)
inlineoverridevirtual

Abort execution

Parameters
[in]errorCodeexit code

Implements HiCR::InstanceManager.

◆ addInstanceImpl()

std::shared_ptr< HiCR::Instance > HiCR::backend::pthreads::InstanceManager::addInstanceImpl ( Instance::instanceId_t  instanceId)
inlineoverridevirtual

Add an instance.

Parameters
[in]instanceIdId of the instance
Returns
a HiCR instance

Reimplemented from HiCR::InstanceManager.

◆ createInstanceImpl()

std::shared_ptr< HiCR::Instance > HiCR::backend::pthreads::InstanceManager::createInstanceImpl ( const HiCR::InstanceTemplate  instanceTemplate)
inlineoverridevirtual

Create a new instance inside a pthread

Parameters
[in]instanceTemplateinstance template used to create the instance
Returns
a HiCR instance
Note
not supported

Reimplemented from HiCR::InstanceManager.

◆ finalize()

void HiCR::backend::pthreads::InstanceManager::finalize ( )
inlineoverridevirtual

Wait for all created threads to finalize

Implements HiCR::InstanceManager.

◆ getRootInstanceId()

HiCR::Instance::instanceId_t HiCR::backend::pthreads::InstanceManager::getRootInstanceId ( ) const
inlineoverridevirtual

Getter for root instance id

Returns
root instance id

Implements HiCR::InstanceManager.

◆ terminateInstanceImpl()

void HiCR::backend::pthreads::InstanceManager::terminateInstanceImpl ( const std::shared_ptr< HiCR::Instance instance)
inlineoverride

Terminate an instance. Nothing to do other than waiting for the pthread to finish

Parameters
[in]instanceinstance to terminate

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