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

#include <i_timer_object.hpp>

Inheritance diagram for neolib::i_timer_object:
neolib::i_reference_counted neolib::i_lifetime neolib::reference_counted< i_timer_object > neolib::lifetime< reference_counted< i_timer_object > > neolib::timer_object

Classes

struct  subscriber_not_found
 

Public Types

typedef i_timer_object abstract_type
 

Public Member Functions

virtual ~i_timer_object ()=default
 
virtual void expires_at (const std::chrono::steady_clock::time_point &aDeadline)=0
 
virtual void async_wait (i_timer_subscriber &aSubscriber)=0
 
virtual void unsubscribe (i_timer_subscriber &aSubscriber)=0
 
virtual void cancel ()=0
 
virtual bool poll ()=0
 
virtual bool debug () const =0
 
virtual void set_debug (bool aDebug)=0
 
template<typename Duration >
void expires_from_now (const Duration &aDuration)
 
i_timer_subscriberasync_wait (const std::function< void()> &aSubscriber)
 
i_timer_subscriberasync_wait (const std::function< void(i_timer_object &)> &aSubscriber)
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 
virtual void add_ref () const noexcept=0
 
virtual void release () const =0
 
virtual int32_t use_count () const noexcept=0
 
virtual const i_reference_countedrelease_and_take_ownership () const =0
 
virtual i_reference_countedrelease_and_take_ownership ()=0
 
virtual void pin () const noexcept=0
 
virtual void unpin () const =0
 
virtual i_ref_control_blockcontrol_block ()=0
 
- 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

Definition at line 66 of file i_timer_object.hpp.

Member Typedef Documentation

◆ abstract_type

Constructor & Destructor Documentation

◆ ~i_timer_object()

virtual neolib::i_timer_object::~i_timer_object ( )
virtualdefault

Member Function Documentation

◆ async_wait() [1/3]

i_timer_subscriber & neolib::i_timer_object::async_wait ( const std::function< void()> &  aSubscriber)
inline

Definition at line 143 of file i_timer_object.hpp.

◆ async_wait() [2/3]

i_timer_subscriber & neolib::i_timer_object::async_wait ( const std::function< void(i_timer_object &)> &  aSubscriber)
inline

Definition at line 149 of file i_timer_object.hpp.

◆ async_wait() [3/3]

virtual void neolib::i_timer_object::async_wait ( i_timer_subscriber aSubscriber)
pure virtual

Implemented in neolib::timer_object.

◆ cancel()

virtual void neolib::i_timer_object::cancel ( )
pure virtual

Implemented in neolib::timer_object.

◆ debug()

virtual bool neolib::i_timer_object::debug ( ) const
pure virtual

Implemented in neolib::timer_object.

◆ expires_at()

virtual void neolib::i_timer_object::expires_at ( const std::chrono::steady_clock::time_point &  aDeadline)
pure virtual

Implemented in neolib::timer_object.

◆ expires_from_now()

template<typename Duration >
void neolib::i_timer_object::expires_from_now ( const Duration aDuration)
inline

Definition at line 139 of file i_timer_object.hpp.

◆ poll()

virtual bool neolib::i_timer_object::poll ( )
pure virtual

Implemented in neolib::timer_object.

◆ set_debug()

virtual void neolib::i_timer_object::set_debug ( bool  aDebug)
pure virtual

Implemented in neolib::timer_object.

◆ unsubscribe()

virtual void neolib::i_timer_object::unsubscribe ( i_timer_subscriber aSubscriber)
pure virtual

Implemented in neolib::timer_object.


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