SObjectizer  5.5
Public Member Functions | Private Attributes | List of all members
timertt::details::timer_action_holder< Action_Type > Class Template Reference

A special storage for holding timer actions. More...

#include <all.hpp>

Public Member Functions

 timer_action_holder ()=default
 
 timer_action_holder (const timer_action_holder &)=delete
 
 timer_action_holder (timer_action_holder &&)=delete
 
void assign (Action_Type &&action)
 
void exec () const
 

Private Attributes

buffer_allocated_object< Action_Type > m_action
 

Detailed Description

template<typename Action_Type>
class timertt::details::timer_action_holder< Action_Type >

A special storage for holding timer actions.

If a timer action is represented by std::function<void()> then a simple std::function can be used for holding this timer action. But if a timer action is represented by some user type then we must use a internal buffer and should construct timer action instance inplace only when it is necessary.

Since
v.1.2.0

Constructor & Destructor Documentation

◆ timer_action_holder() [1/3]

template<typename Action_Type>
timertt::details::timer_action_holder< Action_Type >::timer_action_holder ( )
default

◆ timer_action_holder() [2/3]

template<typename Action_Type>
timertt::details::timer_action_holder< Action_Type >::timer_action_holder ( const timer_action_holder< Action_Type > &  )
delete

◆ timer_action_holder() [3/3]

template<typename Action_Type>
timertt::details::timer_action_holder< Action_Type >::timer_action_holder ( timer_action_holder< Action_Type > &&  )
delete

Member Function Documentation

◆ assign()

template<typename Action_Type>
void timertt::details::timer_action_holder< Action_Type >::assign ( Action_Type &&  action)
inline

◆ exec()

template<typename Action_Type>
void timertt::details::timer_action_holder< Action_Type >::exec ( ) const
inline

Member Data Documentation

◆ m_action

template<typename Action_Type>
buffer_allocated_object<Action_Type> timertt::details::timer_action_holder< Action_Type >::m_action
private

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