rad  3.0.0
Public Types | Public Member Functions | Static Public Attributes | List of all members
rad::EventT< EventTrait > Class Template Referencefinal

#include <anyEvent.hpp>

Inheritance diagram for rad::EventT< EventTrait >:
rad::AnyEvent

Public Types

using payload_t = typename EventTrait::payload_t
 
using payload_t = typename EventTrait::payload_t
 
using payload_t = typename EventTrait::payload_t
 

Public Member Functions

template<typename... Args, typename = typename std::enable_if< std::is_constructible<payload_t, Args...>::value>::type>
 EventT (Args &&... args)
 
 EventT (EventT const &)=default
 
 EventT (EventT &&)=default
 
EventToperator= (EventT const &e)=default
 
payload_t const & GetPayload () const
 
payload_tGetPayload ()
 
AnyEventClone () const override
 
template<typename... Args, typename = typename std::enable_if< std::is_constructible<payload_t, Args...>::value>::type>
 EventT (Args &&... args)
 
 EventT (EventT const &)=default
 
 EventT (EventT &&)=default
 
EventToperator= (EventT const &e)=default
 
payload_t const & GetPayload () const
 
payload_tGetPayload ()
 
AnyEventClone () const override
 
template<typename... Args, typename = typename std::enable_if< std::is_constructible<payload_t, Args...>::value>::type>
 EventT (Args &&... args)
 
 EventT (EventT const &)=default
 
 EventT (EventT &&)=default
 
EventToperator= (EventT const &e)=default
 
payload_t const & GetPayload () const
 
payload_tGetPayload ()
 
AnyEventClone () const override
 
- Public Member Functions inherited from rad::AnyEvent
virtual ~AnyEvent ()
 
char const * GetId () const
 
virtual ~AnyEvent ()
 
char const * GetId () const
 
virtual ~AnyEvent ()
 
char const * GetId () const
 

Static Public Attributes

static constexpr char const * ID = EventTrait::ID
 

Additional Inherited Members

- Protected Member Functions inherited from rad::AnyEvent
 AnyEvent (char const *id)
 
 AnyEvent (char const *id)
 
 AnyEvent (char const *id)
 
 AnyEvent (AnyEvent const &e)=default
 
 AnyEvent (AnyEvent &&e)=default
 
AnyEventoperator= (AnyEvent const &e)=default
 
 AnyEvent (AnyEvent const &e)=default
 
 AnyEvent (AnyEvent &&e)=default
 
AnyEventoperator= (AnyEvent const &e)=default
 
 AnyEvent (AnyEvent const &e)=default
 
 AnyEvent (AnyEvent &&e)=default
 
AnyEventoperator= (AnyEvent const &e)=default
 

Detailed Description

template<typename EventTrait>
class rad::EventT< EventTrait >

Until a codegenerator is in place this can be used to create event classes based on traits.

struct MyEventTrait { static constexpr char const* id = "MyEvent"; using payload_t = rad::PbReq<Server::ReqInit>; };

using MyEvent = EventT<MyEventTrait>;

Member Typedef Documentation

◆ payload_t [1/3]

template<typename EventTrait >
using rad::EventT< EventTrait >::payload_t = typename EventTrait::payload_t

◆ payload_t [2/3]

template<typename EventTrait >
using rad::EventT< EventTrait >::payload_t = typename EventTrait::payload_t

◆ payload_t [3/3]

template<typename EventTrait >
using rad::EventT< EventTrait >::payload_t = typename EventTrait::payload_t

Constructor & Destructor Documentation

◆ EventT() [1/9]

template<typename EventTrait >
template<typename... Args, typename = typename std::enable_if< std::is_constructible<payload_t, Args...>::value>::type>
rad::EventT< EventTrait >::EventT ( Args &&...  args)
inline

◆ EventT() [2/9]

template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > const &  )
default

◆ EventT() [3/9]

template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > &&  )
default

◆ EventT() [4/9]

template<typename EventTrait >
template<typename... Args, typename = typename std::enable_if< std::is_constructible<payload_t, Args...>::value>::type>
rad::EventT< EventTrait >::EventT ( Args &&...  args)
inline

◆ EventT() [5/9]

template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > const &  )
default

◆ EventT() [6/9]

template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > &&  )
default

◆ EventT() [7/9]

template<typename EventTrait >
template<typename... Args, typename = typename std::enable_if< std::is_constructible<payload_t, Args...>::value>::type>
rad::EventT< EventTrait >::EventT ( Args &&...  args)
inline

◆ EventT() [8/9]

template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > const &  )
default

◆ EventT() [9/9]

template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > &&  )
default

Member Function Documentation

◆ Clone() [1/3]

template<typename EventTrait >
AnyEvent* rad::EventT< EventTrait >::Clone ( ) const
inlineoverridevirtual

Clone the event

Implements rad::AnyEvent.

◆ Clone() [2/3]

template<typename EventTrait >
AnyEvent* rad::EventT< EventTrait >::Clone ( ) const
inlineoverridevirtual

Clone the event

Implements rad::AnyEvent.

◆ Clone() [3/3]

template<typename EventTrait >
AnyEvent* rad::EventT< EventTrait >::Clone ( ) const
inlineoverridevirtual

Clone the event

Implements rad::AnyEvent.

◆ GetPayload() [1/6]

template<typename EventTrait >
payload_t& rad::EventT< EventTrait >::GetPayload ( )
inline

◆ GetPayload() [2/6]

template<typename EventTrait >
payload_t& rad::EventT< EventTrait >::GetPayload ( )
inline

◆ GetPayload() [3/6]

template<typename EventTrait >
payload_t& rad::EventT< EventTrait >::GetPayload ( )
inline

◆ GetPayload() [4/6]

template<typename EventTrait >
payload_t const& rad::EventT< EventTrait >::GetPayload ( ) const
inline

◆ GetPayload() [5/6]

template<typename EventTrait >
payload_t const& rad::EventT< EventTrait >::GetPayload ( ) const
inline

◆ GetPayload() [6/6]

template<typename EventTrait >
payload_t const& rad::EventT< EventTrait >::GetPayload ( ) const
inline

◆ operator=() [1/3]

template<typename EventTrait >
EventT& rad::EventT< EventTrait >::operator= ( EventT< EventTrait > const &  e)
default

◆ operator=() [2/3]

template<typename EventTrait >
EventT& rad::EventT< EventTrait >::operator= ( EventT< EventTrait > const &  e)
default

◆ operator=() [3/3]

template<typename EventTrait >
EventT& rad::EventT< EventTrait >::operator= ( EventT< EventTrait > const &  e)
default

Member Data Documentation

◆ ID

template<typename EventTrait >
static constexpr char const * rad::EventT< EventTrait >::ID = EventTrait::ID
staticconstexpr

The documentation for this class was generated from the following file: