neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::async_event_queue Class Reference

#include <event.hpp>

Inheritance diagram for neolib::async_event_queue:
neolib::lifetime< i_async_event_queue > neolib::i_async_event_queue neolib::i_lifetime

Public Member Functions

 async_event_queue ()
 
 ~async_event_queue ()
 
template<typename... Args>
void enqueue (i_slot< Args... > &aSlot, bool aNoDuplicates, Args... aArgs)
 
void register_with_task (i_async_task &aTask) final
 
bool pump_events () final
 
- Public Member Functions inherited from neolib::lifetime< i_async_event_queue >
 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_lifetime
virtual ~i_lifetime ()=default
 

Static Public Member Functions

static async_event_queueinstance ()
 
static async_event_queueinstance (std::thread::id aThreadId)
 

Additional Inherited Members

- Public Types inherited from neolib::lifetime< i_async_event_queue >
typedef neolib::destroyed_flag destroyed_flag
 

Detailed Description

Definition at line 47 of file event.hpp.

Constructor & Destructor Documentation

◆ async_event_queue()

neolib::async_event_queue::async_event_queue ( )

◆ ~async_event_queue()

neolib::async_event_queue::~async_event_queue ( )

Member Function Documentation

◆ enqueue()

template<typename... Args>
void neolib::async_event_queue::enqueue ( i_slot< Args... > &  aSlot,
bool  aNoDuplicates,
Args...  aArgs 
)
inline

Definition at line 66 of file event.hpp.

◆ instance() [1/2]

static async_event_queue & neolib::async_event_queue::instance ( )
static

◆ instance() [2/2]

static async_event_queue & neolib::async_event_queue::instance ( std::thread::id  aThreadId)
static

◆ pump_events()

bool neolib::async_event_queue::pump_events ( )
finalvirtual

◆ register_with_task()

void neolib::async_event_queue::register_with_task ( i_async_task aTask)
finalvirtual

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