rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 rad::AnyEvent 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

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

Constructor & Destructor Documentation

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
template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > const &  )
default
template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > &&  )
default
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
template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > const &  )
default
template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > &&  )
default
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
template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > const &  )
default
template<typename EventTrait >
rad::EventT< EventTrait >::EventT ( EventT< EventTrait > &&  )
default

Member Function Documentation

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

Clone the event

Implements rad::AnyEvent.

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

Clone the event

Implements rad::AnyEvent.

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

Clone the event

Implements rad::AnyEvent.

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

Member Data Documentation

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

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