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

#include <app.hpp>

Inheritance diagram for neogfx::app_thread:
neogfx::async_thread neogfx::async_task neolib::async_thread neolib::async_task neolib::thread neolib::task< reference_counted< i_async_task > > neolib::lifetime< Base > neolib::i_thread neolib::waitable neolib::noncopyable neolib::reference_counted< i_async_task > neolib::i_lifetime neolib::i_async_task neolib::i_task neolib::services::i_service neolib::i_reference_counted

Public Member Functions

 async_thread (std::string const &aName="", bool aAttachToCurrentThread=false)
 
- Public Member Functions inherited from neogfx::async_thread
 async_thread (std::string const &aName="", bool aAttachToCurrentThread=false)
 
- Public Member Functions inherited from neogfx::async_task
 async_task (neolib::i_thread &aThread, std::string const &aName=std::string{})
 
- Public Member Functions inherited from neolib::async_task
 define_declared_event (Destroying, destroying) define_declared_event(Destroyed
 
 async_task (const std::string &aName=std::string{})
 
 async_task (i_thread &aThread, const std::string &aName=std::string{})
 
 ~async_task ()
 
i_threadthread () const override
 
bool joined () const override
 
void join (i_thread &aThread) override
 
void detach () override
 
neolib::timer_servicetimer_service () override
 
neolib::i_async_serviceio_service () override
 
bool have_message_queue () const override
 
bool have_messages () const override
 
i_message_queuecreate_message_queue (std::function< bool()> aIdleFunction=std::function< bool()>()) override
 
const i_message_queuemessage_queue () const override
 
i_message_queuemessage_queue () override
 
void register_event_queue (i_async_event_queue &aQueue) override
 
void unregister_event_queue (i_async_event_queue &aQueue) override
 
bool pump_messages () override
 
bool running () const noexcept override
 
bool halted () const noexcept override
 
void halt () override
 
bool finished () const noexcept override
 
void wait () const noexcept override
 
- Public Member Functions inherited from neolib::task< reference_counted< i_async_task > >
 task (const std::string &aName=std::string{})
 
const std::string & name () const override
 
bool do_work (yield_type aYieldType=yield_type::NoYield) override
 
void cancel () noexcept override
 
bool cancelled () const override
 
- Public Member Functions inherited from neolib::reference_counted< i_async_task >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_typerelease_and_take_ownership () const override
 
base_typerelease_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 
- Public Member Functions inherited from neolib::i_task
virtual ~i_task ()=default
 
- Public Member Functions inherited from neolib::services::i_service
virtual ~i_service ()=default
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 
- Public Member Functions inherited from neolib::lifetime< Base >
 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
 
- Public Member Functions inherited from neolib::async_thread
 async_thread (async_task &aTask, const std::string &aName="", bool aAttachToCurrentThread=false)
 
 ~async_thread ()
 
- Public Member Functions inherited from neolib::thread
 thread (const std::string &aName="", bool aAttachToCurrentThread=false)
 
 thread (std::function< void()> aExecFunction, const std::string &aName="")
 
virtual ~thread ()
 
const std::string & name () const noexcept override
 
bool using_existing_thread () const noexcept
 
void start ()
 
void cancel ()
 
void abort (bool aWait=true) override
 
void wait () const
 
wait_result wait (const waitable_event_list &aEventList) const
 
bool msg_wait (const i_message_queue &aMessageQueue) const
 
wait_result msg_wait (const i_message_queue &aMessageQueue, const waitable_event_list &aEventList) const
 
void block ()
 
void unblock ()
 
thread_state state () const noexcept override
 
bool started () const noexcept
 
bool running () const noexcept
 
bool finished () const noexcept override
 
bool aborted () const noexcept
 
bool cancelled () const noexcept
 
bool error () const noexcept
 
id_type id () const noexcept
 
bool in () const
 
bool blocked () const noexcept
 
bool has_thread_object () const noexcept
 
thread_object_typethread_object () const
 
- Public Member Functions inherited from neolib::i_thread
virtual ~i_thread ()=default
 

Friends

class app
 

Additional Inherited Members

- Public Types inherited from neolib::async_task
typedef i_async_task abstract_type
 
- Public Types inherited from neolib::i_async_task
typedef i_async_task abstract_type
 
- Public Types inherited from neolib::lifetime< Base >
typedef neolib::destroyed_flag destroyed_flag
 
- Public Types inherited from neolib::thread
typedef std::thread::id id_type
 
typedef std::thread thread_object_type
 
- Static Public Member Functions inherited from neolib::i_async_task
static uuid constiid ()
 
- Static Public Member Functions inherited from neolib::thread
static void sleep (const std::chrono::duration< double, std::milli > &aDuration)
 
static void yield ()
 
static uint64_t elapsed_ms () noexcept
 
static uint64_t elapsed_us () noexcept
 
static uint64_t elapsed_ns () noexcept
 
static uint64_t program_elapsed_ms () noexcept
 
static uint64_t program_elapsed_us () noexcept
 
static uint64_t program_elapsed_ns () noexcept
 
- Protected Member Functions inherited from neogfx::async_task
void run (neolib::yield_type aYieldType=neolib::yield_type::NoYield) override
 
- Protected Member Functions inherited from neolib::async_task
void set_destroying () override
 
void set_destroyed () override
 
void run (yield_type aYieldType=yield_type::NoYield) override
 
bool do_work (yield_type aYieldType=yield_type::NoYield) override
 
void cancel () noexcept override
 
void idle () override
 
- Protected Member Functions inherited from neolib::async_thread
void exec_preamble () override
 
void exec (yield_type aYieldType=yield_type::NoYield) override
 

Detailed Description

Definition at line 45 of file app.hpp.

Member Function Documentation

◆ async_thread()

neogfx::async_thread::async_thread ( std::string const &  aName = "",
bool  aAttachToCurrentThread = false 
)

Friends And Related Symbol Documentation

◆ app

friend class app
friend

Definition at line 47 of file app.hpp.


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