9#ifndef RAD_ANYEVENT_HPP
10#define RAD_ANYEVENT_HPP
20 using std::runtime_error::runtime_error;
60 inline char const*
GetId()
const {
return m_id; }
92template <
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>
Definition anyEvent.hpp:52
AnyEvent(AnyEvent &&e)=default
char const * GetId() const
Definition anyEvent.hpp:60
AnyEvent & operator=(AnyEvent const &e)=default
AnyEvent(AnyEvent const &e)=default
virtual ~AnyEvent()
Definition anyEvent.cpp:15
virtual AnyEvent * Clone() const =0
AnyEvent(char const *id)
Definition anyEvent.cpp:13
Definition anyEvent.hpp:93
EventT(EventT const &)=default
static constexpr char const * ID
Definition anyEvent.hpp:95
payload_t const & GetPayload() const
Definition anyEvent.hpp:106
AnyEvent * Clone() const override
Definition anyEvent.hpp:110
EventT(Args &&... args)
Definition anyEvent.hpp:100
payload_t & GetPayload()
Definition anyEvent.hpp:108
EventT(EventT &&)=default
EventT & operator=(EventT const &e)=default
typename EventTrait::payload_t payload_t
Definition anyEvent.hpp:96
Definition actionsApp.cpp:23
std::unique_ptr< AnyEvent > UniqueEvent
Definition anyEvent.hpp:45
std::shared_ptr< const AnyEvent > SharedEvent
Definition anyEvent.hpp:44
Definition testCoroActivity.cpp:16
Definition anyEvent.hpp:26
std::string id
Definition anyEvent.hpp:32
std::type_index payload
Definition anyEvent.hpp:37
Context context
Definition anyEvent.hpp:40
Definition anyEvent.hpp:19