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

#include <event.hpp>

Inheritance diagram for neolib::event< Args >:
neolib::lifetime< i_event< Args... > > neolib::i_event< Args... > neolib::i_lifetime

Public Member Functions

 event ()
 
 ~event ()
 
neolib::trigger_type trigger_type () const final
 
void set_trigger_type (neolib::trigger_type aTriggerType) final
 
trigger_result sync_trigger (Args... aArgs) const final
 
void async_trigger (Args... aArgs) const final
 
void accept () const final
 
bool has_slots () const final
 
void add_slot (i_slot< Args... > &aSlot) const final
 
void remove_slot (i_slot< Args... > &aSlot) const final
 
- Public Member Functions inherited from neolib::lifetime< i_event< Args... > >
 lifetime (lifetime_state aState=lifetime_state::Alive)
 
virtual ~lifetime ()
 
lifetime_state object_state () const final
 
std::shared_ptr< std::atomic< lifetime_state > > object_state_ptr () const final
 
bool is_creating () const final
 
bool is_alive () const final
 
bool is_destroying () const final
 
bool is_destroyed () const final
 
void set_alive () override
 
void set_destroying () override
 
void set_destroyed () override
 
- Public Member Functions inherited from neolib::i_event< Args... >
virtual ~i_event ()=default
 
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
 

Additional Inherited Members

- Public Types inherited from neolib::lifetime< i_event< Args... > >
typedef neolib::destroyed_flag destroyed_flag
 
- Public Types inherited from neolib::i_event< Args... >
typedef self_type abstract_type
 

Detailed Description

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

Definition at line 96 of file event.hpp.

Constructor & Destructor Documentation

◆ event()

template<typename... Args>
neolib::event< Args >::event ( )
inline

Definition at line 110 of file event.hpp.

◆ ~event()

template<typename... Args>
neolib::event< Args >::~event ( )
inline

Definition at line 113 of file event.hpp.

Member Function Documentation

◆ accept()

template<typename... Args>
void neolib::event< Args >::accept ( ) const
inlinefinalvirtual

Implements neolib::i_event< Args... >.

Definition at line 160 of file event.hpp.

◆ add_slot()

template<typename... Args>
void neolib::event< Args >::add_slot ( i_slot< Args... > &  aSlot) const
inlinefinalvirtual

Implements neolib::i_event< Args... >.

Definition at line 172 of file event.hpp.

◆ async_trigger()

template<typename... Args>
void neolib::event< Args >::async_trigger ( Args...  aArgs) const
inlinefinalvirtual

Implements neolib::i_event< Args... >.

Definition at line 154 of file event.hpp.

◆ has_slots()

template<typename... Args>
bool neolib::event< Args >::has_slots ( ) const
inlinefinalvirtual

Implements neolib::i_event< Args... >.

Definition at line 167 of file event.hpp.

◆ remove_slot()

template<typename... Args>
void neolib::event< Args >::remove_slot ( i_slot< Args... > &  aSlot) const
inlinefinalvirtual

Implements neolib::i_event< Args... >.

Definition at line 177 of file event.hpp.

◆ set_trigger_type()

template<typename... Args>
void neolib::event< Args >::set_trigger_type ( neolib::trigger_type  aTriggerType)
inlinefinalvirtual

Implements neolib::i_event< Args... >.

Definition at line 121 of file event.hpp.

◆ sync_trigger()

template<typename... Args>
trigger_result neolib::event< Args >::sync_trigger ( Args...  aArgs) const
inlinefinalvirtual

Implements neolib::i_event< Args... >.

Definition at line 126 of file event.hpp.

◆ trigger_type()

template<typename... Args>
neolib::trigger_type neolib::event< Args >::trigger_type ( ) const
inlinefinalvirtual

Implements neolib::i_event< Args... >.

Definition at line 117 of file event.hpp.


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