SObjectizer  5.7
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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. More...
 
 timer_object_holder (timer_object< Thread_Safety > *t)
 Constructor for a raw pointer. More...
 
 timer_object_holder (const timer_object_holder &o)
 Copy constructor. More...
 
 timer_object_holder (timer_object_holder &&o)
 Move constructor. More...
 
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. More...
 
 ~timer_object_holder ()
 Destructor. More...
 
timer_object_holderoperator= (const timer_object_holder &o)
 Copy operator. More...
 
timer_object_holderoperator= (timer_object_holder &&o)
 Move operator. More...
 
void swap (timer_object_holder &o)
 Swap values. More...
 
void reset ()
 Drop controlled object. More...
 
 operator bool () const
 Is this a null pointer? More...
 
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. More...
 
void dismiss_object ()
 Decrement reference count to object and delete it if needed. More...
 

Private Attributes

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

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.

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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ ~timer_object_holder()

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

Destructor.

Member Function Documentation

◆ cast_to()

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

◆ 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.

◆ get()

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

◆ 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.

◆ 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.

◆ 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.

◆ reset()

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

Drop controlled object.

◆ swap()

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

Swap values.

◆ 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.

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.


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