NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::ManagerInterface Class Referenceabstract

Interface for kernel manager classes. More...

#include <manager_interface.h>

Inheritance diagram for nest::ManagerInterface:
[legend]

Public Member Functions

 ManagerInterface (ManagerInterface const &)=delete
 
void operator= (ManagerInterface const &)=delete
 
 ManagerInterface ()
 
virtual ~ManagerInterface ()
 
virtual void initialize (const bool adjust_number_of_threads_or_rng_only)=0
 Prepare manager for operation.
 
virtual void finalize (const bool adjust_number_of_threads_or_rng_only)=0
 Take down manager after operation.
 
virtual void set_status (const Dictionary &)=0
 Set the status of the manager.
 
virtual void get_status (Dictionary &)=0
 Retrieve the status of the manager.
 
virtual void prepare ()
 
virtual void cleanup ()
 

Detailed Description

Interface for kernel manager classes.

This class defines the common interface for all manager classes in the NEST kernel.

Note
Each manager shall be instantiated only once. Therefore, copy constructor and assignment operator are declared private and not implemented.

Constructor & Destructor Documentation

◆ ManagerInterface() [1/2]

nest::ManagerInterface::ManagerInterface ( ManagerInterface const &  )
delete

◆ ManagerInterface() [2/2]

nest::ManagerInterface::ManagerInterface ( )
inline

◆ ~ManagerInterface()

virtual nest::ManagerInterface::~ManagerInterface ( )
inlinevirtual

Member Function Documentation

◆ cleanup()

virtual void nest::ManagerInterface::cleanup ( )
inlinevirtual

Reimplemented in nest::IOManager, and nest::SimulationManager.

◆ finalize()

virtual void nest::ManagerInterface::finalize ( const bool  adjust_number_of_threads_or_rng_only)
pure virtual

Take down manager after operation.

After this method has completed, all dynamic data structures created by the manager shall be deallocated and containers emptied. Plain variables need not be reset.

Note
Finalization of any given manager may depend on other managers not having been finalized yet. KernelManager::finalize() is responsible for calling the initialization routines on the specific managers in correct order, i.e., the opposite order of initialize() calls.
Parameters
adjust_number_of_threads_or_rng_onlyPass true if calling from kernel_manager::change_number_of_threads() to limit operations to those necessary for thread adjustment.
See also
initialize()

Implemented in nest::ConnectionManager, nest::EventDeliveryManager, nest::IOManager, nest::LoggingManager, nest::ModelManager, nest::ModelRangeManager, nest::ModuleManager, nest::MPIManager, nest::MUSICManager, nest::NodeManager, nest::RandomManager, nest::SimulationManager, nest::SPManager, and nest::VPManager.

◆ get_status()

virtual void nest::ManagerInterface::get_status ( Dictionary &  )
pure virtual

Retrieve the status of the manager.

Note
This would ideally be a const function. However, some managers delay the update of internal variables up to the point where they are needed (e.g., before reporting their values to the user, or before simulate is called). An example for this pattern is the call to update_delay_extrema_() right at the beginning of ConnectionManager::get_status().
See also
set_status()

Implemented in nest::ConnectionManager, nest::EventDeliveryManager, nest::IOManager, nest::LoggingManager, nest::ModelManager, nest::ModelRangeManager, nest::ModuleManager, nest::MPIManager, nest::MUSICManager, nest::NodeManager, nest::RandomManager, nest::SimulationManager, nest::SPManager, and nest::VPManager.

◆ initialize()

virtual void nest::ManagerInterface::initialize ( const bool  adjust_number_of_threads_or_rng_only)
pure virtual

Prepare manager for operation.

After this method has completed, the manager should be completely initialized and "ready for action".

Note
Initialization of any given manager may depend on other managers having been initialized before. KernelManager::initialize() is responsible for calling the initialization routines on the specific managers in correct order.
Parameters
adjust_number_of_threads_or_rng_onlyPass true if calling from kernel_manager::change_number_of_threads() or RandomManager::get_status() to limit operations to those necessary for thread adjustment or switch or re-seeding of RNG.
See also
finalize()

Implemented in nest::ConnectionManager, nest::EventDeliveryManager, nest::IOManager, nest::LoggingManager, nest::ModelManager, nest::ModelRangeManager, nest::ModuleManager, nest::MPIManager, nest::MUSICManager, nest::NodeManager, nest::RandomManager, nest::SimulationManager, nest::SPManager, and nest::VPManager.

◆ operator=()

void nest::ManagerInterface::operator= ( ManagerInterface const &  )
delete

◆ prepare()

virtual void nest::ManagerInterface::prepare ( )
inlinevirtual

Reimplemented in nest::IOManager, and nest::SimulationManager.

◆ set_status()


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