12 #ifndef SST_CORE_ONESHOT_H 13 #define SST_CORE_ONESHOT_H 15 #include "sst/core/action.h" 16 #include "sst/core/sst_types.h" 17 #include "sst/core/ssthandler.h" 21 #define _ONESHOT_DBG(fmt, args...) __DBG(DBG_ONESHOT, OneShot, fmt, ##args) 58 template <
typename classT,
typename dataT =
void>
79 void print(
const std::string& header,
Output& out)
const override;
84 typedef std::vector<OneShot::HandlerBase*> HandlerList_t;
90 typedef std::deque<std::pair<SimTime_t, HandlerList_t*>> HandlerVectorMap_t;
100 void scheduleOneShot();
101 SimTime_t computeDeliveryTime();
103 TimeConverter* m_timeDelay;
104 HandlerVectorMap_t m_HandlerVectorMap;
110 #endif // SST_CORE_ONESHOT_H Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file...
Definition: output.h:53
An Action is a schedulable Activity which is not an Event.
Definition: action.h:26
void execute(void) override
Function which will be called when the time for this Activity comes to pass.
Definition: oneshot.cc:102
Definition: ssthandler.h:372
A class to convert between a component's view of time and the core's view of time.
Definition: timeConverter.h:27
void print(const std::string &header, Output &out) const override
Print details about the OneShot.
Definition: oneshot.cc:140
bool isScheduled()
Is OneShot scheduled.
Definition: oneshot.h:73
void registerHandler(OneShot::HandlerBase *handler)
Add a handler to be called on this OneShot Event.
Definition: oneshot.cc:49
Event Handler class with user-data argument.
Definition: ssthandler.h:402
A OneShot Event class.
Definition: oneshot.h:32