time_utils.hpp
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include <ros/duration.h>
12 #include <ros/rate.h>
13 #include <ros/time.h>
14 
15 namespace cras
16 {
17 
24 ::ros::Duration remainingTime(const ::ros::Time& query, double timeout);
25 
32 ::ros::Duration remainingTime(const ::ros::Time& query, const ::ros::Duration& timeout);
33 
40 double frequency(const ::ros::Rate& rate, bool maxCycleTimeMeansZero = false);
41 
48 double frequency(const ::ros::WallRate& rate, bool maxCycleTimeMeansZero = false);
49 
57 
65 
71 
78 ::ros::Time saturateAdd(const ::ros::Time& time, const ::ros::Duration& duration);
79 
86 ::ros::WallTime saturateAdd(const ::ros::WallTime& time, const ::ros::WallDuration& duration);
87 
94 ::ros::SteadyTime saturateAdd(const ::ros::SteadyTime& time, const ::ros::WallDuration& duration);
95 
96 }
97 
98 namespace ros
99 {
100 
107 bool operator==(const ::ros::Rate& r1, const ::ros::Rate& r2);
108 
115 bool operator==(const ::ros::WallRate& r1, const ::ros::WallRate& r2);
116 
124 ::ros::Duration operator*(const ::ros::Duration& val1, const ::ros::Duration& val2);
125 
133 ::ros::Duration operator/(const ::ros::Duration& numerator, const ::ros::Duration& denominator);
134 
142 ::ros::WallDuration operator*(const ::ros::WallDuration& val1, const ::ros::WallDuration& val2);
143 
151 ::ros::WallDuration operator/(const ::ros::WallDuration& numerator, const ::ros::WallDuration& denominator);
152 
153 }
cras
Definition: any.hpp:15
ros
time.h
cras::saturateAdd
::ros::Time saturateAdd(const ::ros::Time &time, const ::ros::Duration &duration)
Add the given duration to the given time, but saturate the result instead of throwing exception on ov...
ros::operator==
bool operator==(const ::ros::Rate &r1, const ::ros::Rate &r2)
Test two rates for equality.
ros::operator*
::ros::Duration operator*(const ::ros::Duration &val1, const ::ros::Duration &val2)
Multiply two durations. The units of the result are [s^2].
cras::frequency
double frequency(const ::ros::Rate &rate, bool maxCycleTimeMeansZero=false)
Return the frequency represented by the given rate.
duration.h
ros::SteadyTime
ros::WallRate
ros::operator/
::ros::Duration operator/(const ::ros::Duration &numerator, const ::ros::Duration &denominator)
Divide duration val1 by val2. The result is unitless.
rate.h
ros::WallTime
cras::safeRate
::ros::Rate safeRate(double frequency)
Return a rate representing the given frequency. If the frequency is zero or too small,...
ros::Time
cras::safeWallRate
::ros::WallRate safeWallRate(double frequency)
Return a rate representing the given frequency. If the frequency is zero or too small,...
ros::Rate
ros::WallDuration
cras::remainingTime
::ros::Duration remainingTime(const ::ros::Time &query, double timeout)
Return remaining time to timeout from the query time.
ros::Duration
cras::nowFallbackToWall
::ros::Time nowFallbackToWall()
Return current ROS time if it has already been initialized, or current wall time.


cras_cpp_common
Author(s): Martin Pecka
autogenerated on Sun Jan 14 2024 03:48:14