14#include <boost/statechart/event.hpp>
20class ISMaccStateMachine;
22namespace state_reactors
46 template <
typename EventType>
49 template <
typename EventType>
53 template <
typename T,
typename TClass>
65 template <
typename TEv>
68 template <
typename TEv>
77 template <
typename TEvent>
81 auto tid = &(
typeid(TEvent));
87 if (eventCallbacks_.count(tid))
virtual void onEventNotified(const std::type_info *eventType)
std::function< void()> postEventFn
virtual bool triggers()=0
void initialize(ISmaccState *ownerState)
std::map< const std::type_info *, std::function< void(void *)> > eventCallbacks_
std::vector< const std::type_info * > eventTypes
void createEventCallback(void(TClass::*callback)(T *), TClass *object)
void notifyEvent(TEvent *ev)
virtual void onInitialized()
friend ISmaccStateMachine