Go to the documentation of this file.
10 #ifndef RAD_SM_EVENT_HPP
11 #define RAD_SM_EVENT_HPP
13 #include <rad/anyEvent.hpp>
14 #include <rad/exceptions.hpp>
15 #include <rad/getPayload.hpp>
17 #include <scxml4cpp/Context.h>
18 #include <scxml4cpp/Event.h>
40 template <
typename EVENT>
49 return static_cast<const EVENT&
>(*e->
getPayload());
54 template <
typename EVENT>
56 const EVENT& ev = GetLastEvent<EVENT>(c);
57 if (
typeid(ev) !=
typeid(EVENT)) {
63 template <
typename EVENT>
75 return rad::GetPayloadNothrow<EVENT>(e->
GetEv());
80 #endif // RAD_SM_EVENT_HPP
std::unique_ptr< AnyEvent > UniqueEvent
Definition: anyEvent.hpp:45
void SetEv(AnyEvent const &ev)
Definition: smEvent.cpp:62
Definition: exceptions.hpp:45
SMEvent & operator=(const SMEvent &e)
Definition: smEvent.cpp:46
void * getPayload() const
Definition: Event.cpp:101
const EVENT & GetLastEvent(scxml4cpp::Context *c)
Definition: smEvent.hpp:41
EVENT::payload_t & GetPayload(AnyEvent &ev)
Definition: getPayload.hpp:29
EVENT::payload_t const * GetLastEventPayloadNothrow(scxml4cpp::Context *c)
Definition: smEvent.hpp:64
Definition: smEvent.hpp:25
Event * getLastEvent() const
Definition: Context.cpp:75
const rad::AnyEvent & GetLastAnyEvent(scxml4cpp::Context *c)
Definition: smEvent.cpp:69
Definition: actionCallback.hpp:21
Definition: anyEvent.hpp:52
virtual ~SMEvent()
Definition: smEvent.cpp:38
EVENT::payload_t & GetLastEventPayload(scxml4cpp::Context *c)
Definition: smEvent.hpp:55
SMEvent()
Definition: smEvent.cpp:17
AnyEvent const & GetEv() const
Definition: smEvent.cpp:57
Definition: anyEvent.hpp:19