SST  9.1.0
StructuralSimulationToolkit
SST::Exit Class Reference

Exit Event Action. More...

#include <exit.h>

Inheritance diagram for SST::Exit:
SST::Action SST::Activity SST::Core::Serialization::serializable

Public Member Functions

 Exit (int num_threads, TimeConverter *period, bool single_rank)
 Create a new ExitEvent. More...
 
bool refInc (ComponentId_t, uint32_t thread)
 Increment Reference Count for a given Component ID.
 
bool refDec (ComponentId_t, uint32_t thread)
 Decrement Reference Count for a given Component ID.
 
unsigned int getRefCount ()
 
SimTime_t getEndTime ()
 
void execute (void) override
 Function which will be called when the time for this Activity comes to pass. More...
 
void check ()
 
void print (const std::string &header, Output &out) const override
 Generic print-print function for this Activity. More...
 
unsigned int getGlobalCount ()
 
- Public Member Functions inherited from SST::Activity
void setDeliveryTime (SimTime_t time)
 Set the time for which this Activity should be delivered.
 
SimTime_t getDeliveryTime () const
 Return the time at which this Activity will be delivered.
 
int getPriority () const
 Return the Priority of this Activity.
 
void setQueueOrder (uint64_t order)
 Set a new Queue order.
 
- Public Member Functions inherited from SST::Core::Serialization::serializable
virtual const char * cls_name () const =0
 
virtual uint32_t cls_id () const =0
 
virtual std::string serialization_name () const =0
 

Additional Inherited Members

- Static Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 
- Protected Types inherited from SST::Core::Serialization::serializable
enum  cxn_flag_t { ConstructorFlag }
 
- Protected Member Functions inherited from SST::Action
void endSimulation ()
 Called to signal to the Simulation object to end the simulation.
 
void endSimulation (SimTime_t end)
 
- Protected Member Functions inherited from SST::Activity
void setPriority (int priority)
 Set the priority of the Activity.
 
void serialize_order (SST::Core::Serialization::serializer &ser) override
 
- Static Protected Member Functions inherited from SST::Core::Serialization::serializable
static void serializable_abort (uint32_t line, const char *file, const char *func, const char *obj)
 
- Protected Attributes inherited from SST::Activity
int32_t enforce_link_order
 

Detailed Description

Exit Event Action.

Causes the simulation to halt

Constructor & Destructor Documentation

SST::Exit::Exit ( int  num_threads,
TimeConverter period,
bool  single_rank 
)

Create a new ExitEvent.

Parameters
sim- Simulation Object
period- Period upon which to check for exit status
single_rank- True if there are no parallel ranks

Exit needs to register a handler during constructor time, which requires a simulation object. But the simulation class creates an Exit object during it's construction, meaning that Simulation::getSimulation() won't work yet. So Exit is the one exception to the "constructors shouldn't take simulation pointers" rule. However, it still needs to follow the "classes shouldn't contain pointers back to Simulation" rule.

References SST::Activity::setPriority().

Member Function Documentation

void SST::Exit::execute ( void  )
overridevirtual

Function which will be called when the time for this Activity comes to pass.

Implements SST::Activity.

References SST::Simulation::getCurrentSimCycle(), SST::TimeConverter::getFactor(), SST::Simulation::getSimulation(), and SST::Simulation::insertActivity().

void SST::Exit::print ( const std::string &  header,
Output out 
) const
inlineoverridevirtual

Generic print-print function for this Activity.

Subclasses should override this function.

Reimplemented from SST::Action.

References SST::Activity::getDeliveryTime(), SST::Activity::getPriority(), and SST::Output::output().


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