12 #ifndef SST_CORE_CORE_EXIT_H 
   13 #define SST_CORE_CORE_EXIT_H 
   15 #include "sst/core/action.h" 
   16 #include "sst/core/sst_types.h" 
   17 #include "sst/core/threadsafe.h" 
   20 #include <unordered_set> 
   24 #define _EXIT_DBG(fmt, args...) __DBG(DBG_EXIT, Exit, fmt, ##args) 
   50     Exit(
int num_threads, 
bool single_rank);
 
   54     bool refInc(ComponentId_t, uint32_t thread);
 
   56     bool refDec(ComponentId_t, uint32_t thread);
 
   58     unsigned int getRefCount();
 
   59     SimTime_t    getEndTime() { 
return end_time; }
 
   60     void         setEndTime(SimTime_t time) { end_time = time; }
 
   62     SimTime_t computeEndTime();
 
   66     void print(
const std::string& header, 
Output& out)
 const override 
   69             "%s Exit Action to be delivered at %" PRIu64 
" with priority %d\n", header.c_str(), 
getDeliveryTime(),
 
   73     unsigned int getGlobalCount() { 
return global_count; }
 
   78     void operator=(
Exit const&); 
 
   84     unsigned int                      m_refCount;
 
   85     unsigned int*                     m_thread_counts;
 
   86     unsigned int                      global_count;
 
   87     std::unordered_set<ComponentId_t> m_idSet;
 
An Action is a schedulable Activity which is not an Event.
Definition: action.h:27
SimTime_t getDeliveryTime() const
Return the time at which this Activity will be delivered.
Definition: activity.h:144
int getPriority() const
Return the Priority of this Activity.
Definition: activity.h:147
Definition: threadsafe.h:122
Exit Event Action.
Definition: exit.h:35
bool refDec(ComponentId_t, uint32_t thread)
Decrement Reference Count for a given Component ID.
Definition: exit.cc:87
void execute(void) override
Function which will be called when the time for this Activity comes to pass.
Definition: exit.cc:133
bool refInc(ComponentId_t, uint32_t thread)
Increment Reference Count for a given Component ID.
Definition: exit.cc:52
Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file.
Definition: output.h:52
void output(uint32_t line, const char *file, const char *func, const char *format,...) const
Output the message with formatting as specified by the format parameter.
Definition: output.h:182