SObjectizer  5.8
Loading...
Searching...
No Matches
timertt::timer_object_holder< Thread_Safety > Class Template Reference

An intrusive smart pointer to timer demand. More...

#include <all.hpp>

Public Member Functions

 timer_object_holder ()
 Default constructor.
 
 timer_object_holder (timer_object< Thread_Safety > *t)
 Constructor for a raw pointer.
 
 timer_object_holder (const timer_object_holder &o)
 Copy constructor.
 
 timer_object_holder (timer_object_holder &&o)
 Move constructor.
 
template<typename Actual_Object >
 timer_object_holder (scoped_timer_object_holder< Actual_Object > &scoped)
 Constructor for the case when timer object is a scoped timer.
 
 ~timer_object_holder ()
 Destructor.
 
timer_object_holderoperator= (const timer_object_holder &o)
 Copy operator.
 
timer_object_holderoperator= (timer_object_holder &&o)
 Move operator.
 
void swap (timer_object_holder &o)
 Swap values.
 
void reset ()
 Drop controlled object.
 
 operator bool () const
 Is this a null pointer?
 
Access to object.
timer_object< Thread_Safety > * get () const
 
template<class O >
O * cast_to ()
 

Private Member Functions

void take_object ()
 Increment reference count to object if it's not null.
 
void dismiss_object ()
 Decrement reference count to object and delete it if needed.
 

Private Attributes

timer_object< Thread_Safety > * m_timer
 Timer controlled by a smart pointer.
 

Detailed Description

template<typename Thread_Safety>
class timertt::timer_object_holder< Thread_Safety >

An intrusive smart pointer to timer demand.

Template Parameters
Thread_SafetyThread-safety indicator. Must be thread_safety::unsafe or thread_safety::safe type.

Definition at line 285 of file 3rd_party/timertt/all.hpp.

Constructor & Destructor Documentation

◆ timer_object_holder() [1/5]

template<typename Thread_Safety >
timertt::timer_object_holder< Thread_Safety >::timer_object_holder ( )
inline

Default constructor.

Constructs a null pointer.

Definition at line 292 of file 3rd_party/timertt/all.hpp.

◆ timer_object_holder() [2/5]

template<typename Thread_Safety >
timertt::timer_object_holder< Thread_Safety >::timer_object_holder ( timer_object< Thread_Safety > * t)
inline

Constructor for a raw pointer.

Definition at line 296 of file 3rd_party/timertt/all.hpp.

◆ timer_object_holder() [3/5]

template<typename Thread_Safety >
timertt::timer_object_holder< Thread_Safety >::timer_object_holder ( const timer_object_holder< Thread_Safety > & o)
inline

Copy constructor.

Definition at line 302 of file 3rd_party/timertt/all.hpp.

◆ timer_object_holder() [4/5]

template<typename Thread_Safety >
timertt::timer_object_holder< Thread_Safety >::timer_object_holder ( timer_object_holder< Thread_Safety > && o)
inline

Move constructor.

Definition at line 308 of file 3rd_party/timertt/all.hpp.

◆ timer_object_holder() [5/5]

template<typename Thread_Safety >
template<typename Actual_Object >
timertt::timer_object_holder< Thread_Safety >::timer_object_holder ( scoped_timer_object_holder< Actual_Object > & scoped)
inline

Constructor for the case when timer object is a scoped timer.

Definition at line 316 of file 3rd_party/timertt/all.hpp.

◆ ~timer_object_holder()

template<typename Thread_Safety >
timertt::timer_object_holder< Thread_Safety >::~timer_object_holder ( )
inline

Destructor.

Definition at line 322 of file 3rd_party/timertt/all.hpp.

Member Function Documentation

◆ cast_to()

template<typename Thread_Safety >
template<class O >
O * timertt::timer_object_holder< Thread_Safety >::cast_to ( )
inline

Definition at line 387 of file 3rd_party/timertt/all.hpp.

◆ dismiss_object()

template<typename Thread_Safety >
void timertt::timer_object_holder< Thread_Safety >::dismiss_object ( )
inlineprivate

Decrement reference count to object and delete it if needed.

Definition at line 412 of file 3rd_party/timertt/all.hpp.

◆ get()

template<typename Thread_Safety >
timer_object< Thread_Safety > * timertt::timer_object_holder< Thread_Safety >::get ( ) const
inline

Definition at line 380 of file 3rd_party/timertt/all.hpp.

◆ operator bool()

template<typename Thread_Safety >
timertt::timer_object_holder< Thread_Safety >::operator bool ( ) const
inline

Is this a null pointer?

i.e. whether get() != 0.

Return values
trueif *this manages an object.
falseotherwise.

Definition at line 370 of file 3rd_party/timertt/all.hpp.

◆ operator=() [1/2]

template<typename Thread_Safety >
timer_object_holder & timertt::timer_object_holder< Thread_Safety >::operator= ( const timer_object_holder< Thread_Safety > & o)
inline

Copy operator.

Definition at line 329 of file 3rd_party/timertt/all.hpp.

◆ operator=() [2/2]

template<typename Thread_Safety >
timer_object_holder & timertt::timer_object_holder< Thread_Safety >::operator= ( timer_object_holder< Thread_Safety > && o)
inline

Move operator.

Definition at line 338 of file 3rd_party/timertt/all.hpp.

◆ reset()

template<typename Thread_Safety >
void timertt::timer_object_holder< Thread_Safety >::reset ( )
inline

Drop controlled object.

Definition at line 358 of file 3rd_party/timertt/all.hpp.

◆ swap()

template<typename Thread_Safety >
void timertt::timer_object_holder< Thread_Safety >::swap ( timer_object_holder< Thread_Safety > & o)
inline

Swap values.

Definition at line 347 of file 3rd_party/timertt/all.hpp.

◆ take_object()

template<typename Thread_Safety >
void timertt::timer_object_holder< Thread_Safety >::take_object ( )
inlineprivate

Increment reference count to object if it's not null.

Definition at line 404 of file 3rd_party/timertt/all.hpp.

Member Data Documentation

◆ m_timer

template<typename Thread_Safety >
timer_object< Thread_Safety >* timertt::timer_object_holder< Thread_Safety >::m_timer
private

Timer controlled by a smart pointer.

Definition at line 400 of file 3rd_party/timertt/all.hpp.


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