Go to the documentation of this file.
9 #ifndef RAD_ANYEVENT_HPP
10 #define RAD_ANYEVENT_HPP
14 #include <type_traits>
20 using std::runtime_error::runtime_error;
60 inline char const*
GetId()
const {
return m_id; }
92 template <
typename EventTrait>
95 static constexpr
char const*
ID = EventTrait::ID;
98 template <
typename... Args,
typename =
typename std::enable_if<
99 std::is_constructible<
payload_t, Args...>::value>::type>
118 #endif // RAD_ANYEVENT_HPP
std::unique_ptr< AnyEvent > UniqueEvent
Definition: anyEvent.hpp:45
static constexpr char const * ID
Definition: anyEvent.hpp:95
AnyEvent * Clone() const override
Definition: anyEvent.hpp:110
AnyEvent(char const *id)
Definition: anyEvent.cpp:13
Context context
Definition: anyEvent.hpp:40
Definition: testCoroActivity.cpp:16
AnyEvent(AnyEvent const &e)=default
EventT(EventT const &)=default
payload_t const & GetPayload() const
Definition: anyEvent.hpp:106
EventT & operator=(EventT const &e)=default
std::shared_ptr< const AnyEvent > SharedEvent
Definition: anyEvent.hpp:44
EventT(EventT &&)=default
Definition: actionCallback.hpp:21
AnyEvent(AnyEvent &&e)=default
Definition: anyEvent.hpp:52
typename EventTrait::payload_t payload_t
Definition: anyEvent.hpp:96
Definition: anyEvent.hpp:93
char const * GetId() const
Definition: anyEvent.hpp:60
std::string id
Definition: anyEvent.hpp:32
args
Definition: hellorad.py:185
virtual AnyEvent * Clone() const =0
Definition: errors.hpp:58
payload_t & GetPayload()
Definition: anyEvent.hpp:108
std::type_index payload
Definition: anyEvent.hpp:37
Definition: anyEvent.hpp:19
AnyEvent & operator=(AnyEvent const &e)=default
EventT(Args &&... args)
Definition: anyEvent.hpp:100
virtual ~AnyEvent()
Definition: anyEvent.cpp:15
Definition: anyEvent.hpp:26