neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::i_event< Args > Class Template Referenceabstract

#include <i_event.hpp>

Inheritance diagram for neolib::i_event< Args >:
neolib::i_lifetime

Public Types

typedef self_type abstract_type
 

Public Member Functions

virtual ~i_event ()=default
 
virtual neolib::trigger_type trigger_type () const =0
 
virtual void set_trigger_type (neolib::trigger_type aTriggerType)=0
 
virtual trigger_result sync_trigger (Args... aArgs) const =0
 
virtual void async_trigger (Args... aArgs) const =0
 
virtual void accept () const =0
 
virtual bool has_slots () const =0
 
virtual void add_slot (i_slot< Args... > &aSlot) const =0
 
virtual void remove_slot (i_slot< Args... > &aSlot) const =0
 
trigger_result trigger (Args... aArgs) const
 
slot_proxy< Args... > operator() (std::function< void(Args...)> const &aCallback) const
 
- Public Member Functions inherited from neolib::i_lifetime
virtual ~i_lifetime ()=default
 
virtual lifetime_state object_state () const =0
 
virtual std::shared_ptr< std::atomic< lifetime_state > > object_state_ptr () const =0
 
virtual bool is_creating () const =0
 
virtual bool is_alive () const =0
 
virtual bool is_destroying () const =0
 
virtual bool is_destroyed () const =0
 
virtual void set_alive ()=0
 
virtual void set_destroying ()=0
 
virtual void set_destroyed ()=0
 

Detailed Description

template<typename... Args>
class neolib::i_event< Args >

Definition at line 150 of file i_event.hpp.

Member Typedef Documentation

◆ abstract_type

template<typename... Args>
typedef self_type neolib::i_event< Args >::abstract_type

Definition at line 154 of file i_event.hpp.

Constructor & Destructor Documentation

◆ ~i_event()

template<typename... Args>
virtual neolib::i_event< Args >::~i_event ( )
virtualdefault

Member Function Documentation

◆ accept()

template<typename... Args>
virtual void neolib::i_event< Args >::accept ( ) const
pure virtual

Implemented in neolib::event< Args >.

◆ add_slot()

template<typename... Args>
virtual void neolib::i_event< Args >::add_slot ( i_slot< Args... > &  aSlot) const
pure virtual

Implemented in neolib::event< Args >.

◆ async_trigger()

template<typename... Args>
virtual void neolib::i_event< Args >::async_trigger ( Args...  aArgs) const
pure virtual

Implemented in neolib::event< Args >.

◆ has_slots()

template<typename... Args>
virtual bool neolib::i_event< Args >::has_slots ( ) const
pure virtual

Implemented in neolib::event< Args >.

◆ operator()()

template<typename... Args>
slot_proxy< Args... > neolib::i_event< Args >::operator() ( std::function< void(Args...)> const aCallback) const
inline

Definition at line 184 of file i_event.hpp.

◆ remove_slot()

template<typename... Args>
virtual void neolib::i_event< Args >::remove_slot ( i_slot< Args... > &  aSlot) const
pure virtual

Implemented in neolib::event< Args >.

◆ set_trigger_type()

template<typename... Args>
virtual void neolib::i_event< Args >::set_trigger_type ( neolib::trigger_type  aTriggerType)
pure virtual

Implemented in neolib::event< Args >.

◆ sync_trigger()

template<typename... Args>
virtual trigger_result neolib::i_event< Args >::sync_trigger ( Args...  aArgs) const
pure virtual

Implemented in neolib::event< Args >.

◆ trigger()

template<typename... Args>
trigger_result neolib::i_event< Args >::trigger ( Args...  aArgs) const
inline

Definition at line 169 of file i_event.hpp.

◆ trigger_type()

template<typename... Args>
virtual neolib::trigger_type neolib::i_event< Args >::trigger_type ( ) const
pure virtual

Implemented in neolib::event< Args >.


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