31 #ifndef __adevs_abstract_simulator_h_ 32 #define __adevs_abstract_simulator_h_ 33 #include "adevs_models.h" 34 #include "adevs_event_listener.h" 35 #include "adevs_bag.h" 78 template <
class X,
class T>
83 for (iter = listeners.begin(); iter != listeners.end(); iter++)
85 (*iter)->outputEvent(event,t);
89 template <
class X,
class T>
93 for (iter = listeners.begin(); iter != listeners.end(); iter++)
95 (*iter)->stateChange(model,t);
Definition: adevs_event_listener.h:43
Definition: adevs_abstract_simulator.h:45
void notify_output_listeners(Devs< X, T > *model, const X &value, T t)
Notify listeners of an output event.
Definition: adevs_abstract_simulator.h:79
virtual void execUntil(T tend)=0
Execute the simulator until the next event time is greater than tend.
Definition: adevs_fmi.h:57
Definition: adevs_models.h:59
virtual ~AbstractSimulator()
Destructor leaves the model intact.
Definition: adevs_abstract_simulator.h:67
void addEventListener(EventListener< X, T > *l)
Definition: adevs_abstract_simulator.h:53
Definition: adevs_models.h:117
Definition: adevs_models.h:47
virtual T nextEventTime()=0
Get the model's next event time.
void notify_state_listeners(Atomic< X, T > *model, T t)
Notify listeners of a state change.
Definition: adevs_abstract_simulator.h:90
void removeEventListener(EventListener< X, T > *l)
Remove an event listener.
Definition: adevs_abstract_simulator.h:58
Definition: adevs_bag.h:45