rclcpp  master
C++ ROS Client Library API
Public Member Functions | Protected Attributes | List of all members
rclcpp::GenericTimer< FunctorT, Clock, std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * > Class Template Reference

Generic timer templated on the clock type. Periodically executes a user-specified callback. More...

#include <timer.hpp>

Inheritance diagram for rclcpp::GenericTimer< FunctorT, Clock, std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * >:
rclcpp::TimerBase

Public Member Functions

 GenericTimer (std::chrono::nanoseconds period, FunctorT &&callback)
 Default constructor. More...
 
virtual ~GenericTimer ()
 Default destructor. More...
 
void execute_callback ()
 
template<typename CallbackT = FunctorT, typename std::enable_if< rclcpp::function_traits::same_arguments< CallbackT, VoidCallbackType >::value >::type * = nullptr>
void execute_callback_delegate ()
 
template<typename CallbackT = FunctorT, typename std::enable_if< rclcpp::function_traits::same_arguments< CallbackT, TimerCallbackType >::value >::type * = nullptr>
void execute_callback_delegate ()
 
virtual bool is_steady ()
 Is the clock steady (i.e. is the time between ticks constant?) More...
 
- Public Member Functions inherited from rclcpp::TimerBase
 TimerBase (std::chrono::nanoseconds period)
 
 ~TimerBase ()
 
void cancel ()
 
void reset ()
 
std::shared_ptr< const rcl_timer_tget_timer_handle ()
 
std::chrono::nanoseconds time_until_trigger ()
 Check how long the timer has until its next scheduled callback. More...
 
bool is_ready ()
 Check if the timer is ready to trigger the callback. More...
 

Protected Attributes

FunctorT callback_
 
- Protected Attributes inherited from rclcpp::TimerBase
std::shared_ptr< rcl_timer_ttimer_handle_
 

Detailed Description

template<typename FunctorT, class Clock, typename std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * = nullptr>
class rclcpp::GenericTimer< FunctorT, Clock, std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * >

Generic timer templated on the clock type. Periodically executes a user-specified callback.

Constructor & Destructor Documentation

◆ GenericTimer()

template<typename FunctorT, class Clock, typename std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * = nullptr>
rclcpp::GenericTimer< FunctorT, Clock, >::GenericTimer ( std::chrono::nanoseconds  period,
FunctorT &&  callback 
)
inline

Default constructor.

Parameters
[in]periodThe interval at which the timer fires.
[in]callbackUser-specified callback function.

◆ ~GenericTimer()

template<typename FunctorT, class Clock, typename std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * = nullptr>
virtual rclcpp::GenericTimer< FunctorT, Clock, >::~GenericTimer ( )
inlinevirtual

Default destructor.

Member Function Documentation

◆ execute_callback()

template<typename FunctorT, class Clock, typename std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * = nullptr>
void rclcpp::GenericTimer< FunctorT, Clock, >::execute_callback ( )
inlinevirtual

Implements rclcpp::TimerBase.

◆ execute_callback_delegate() [1/2]

template<typename FunctorT, class Clock, typename std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * = nullptr>
template<typename CallbackT = FunctorT, typename std::enable_if< rclcpp::function_traits::same_arguments< CallbackT, VoidCallbackType >::value >::type * = nullptr>
void rclcpp::GenericTimer< FunctorT, Clock, >::execute_callback_delegate ( )
inline

◆ execute_callback_delegate() [2/2]

template<typename FunctorT, class Clock, typename std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * = nullptr>
template<typename CallbackT = FunctorT, typename std::enable_if< rclcpp::function_traits::same_arguments< CallbackT, TimerCallbackType >::value >::type * = nullptr>
void rclcpp::GenericTimer< FunctorT, Clock, >::execute_callback_delegate ( )
inline

◆ is_steady()

template<typename FunctorT, class Clock, typename std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * = nullptr>
virtual bool rclcpp::GenericTimer< FunctorT, Clock, >::is_steady ( )
inlinevirtual

Is the clock steady (i.e. is the time between ticks constant?)

Returns
True if the clock used by this timer is steady.

Implements rclcpp::TimerBase.

Member Data Documentation

◆ callback_

template<typename FunctorT, class Clock, typename std::enable_if<(rclcpp::function_traits::same_arguments< FunctorT, VoidCallbackType >::value||rclcpp::function_traits::same_arguments< FunctorT, TimerCallbackType >::value) &&Clock::is_steady >::type * = nullptr>
FunctorT rclcpp::GenericTimer< FunctorT, Clock, >::callback_
protected

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