Utilities for working with time. More...
#include <ctime>
#include <string>
#include <cras_cpp_common/expected.hpp>
#include <ros/duration.h>
#include <ros/rate.h>
#include <ros/time.h>
Go to the source code of this file.
Classes | |
struct | cras::DurationType< T, > |
struct | cras::DurationType< ros::SteadyTime > |
struct | cras::DurationType< ros::Time > |
struct | cras::DurationType< ros::WallTime > |
Namespaces | |
cras | |
ros | |
Functions | |
template<typename D1 , typename D2 , typename ::std::enable_if_t< ::std::is_same< D1, ::ros::Duration >::value||::std::is_same< D1, ::ros::WallDuration >::value > * = nullptr, typename ::std::enable_if_t< ::std::is_same< D2, ::ros::Duration >::value||::std::is_same< D2, ::ros::WallDuration >::value > * = nullptr> | |
D1 | cras::convertDuration (const D2 &duration) |
template<typename T1 , typename T2 , typename ::std::enable_if_t< ::std::is_same< T1, ::ros::Time >::value||::std::is_same< T1, ::ros::WallTime >::value||::std::is_same< T1, ::ros::SteadyTime >::value > * = nullptr, typename ::std::enable_if_t< ::std::is_same< T2, ::ros::Time >::value||::std::is_same< T2, ::ros::WallTime >::value||::std::is_same< T2, ::ros::SteadyTime >::value > * = nullptr> | |
T1 | cras::convertTime (const T2 &time) |
double | cras::frequency (const ::ros::Rate &rate, bool maxCycleTimeMeansZero=false) |
Return the frequency represented by the given rate. More... | |
double | cras::frequency (const ::ros::WallRate &rate, bool maxCycleTimeMeansZero=false) |
Return the frequency represented by the given rate. More... | |
::cras::expected<::ros::Time, ::std::string > | cras::fromStructTm (const ::tm &time) |
int | cras::getYear (const ::ros::SteadyTime &time) |
Get the year represented by the given ROS time when interpreted as UTC time. More... | |
int | cras::getYear (const ::ros::Time &time) |
Get the year represented by the given ROS time when interpreted as UTC time. More... | |
int | cras::getYear (const ::ros::WallTime &time) |
Get the year represented by the given ROS time when interpreted as UTC time. More... | |
::ros::Time | cras::nowFallbackToWall () |
Return current ROS time if it has already been initialized, or current wall time. More... | |
::ros::Duration | ros::operator* (const ::ros::Duration &val1, const ::ros::Duration &val2) |
Multiply two durations. The units of the result are [s^2]. More... | |
::ros::WallDuration | ros::operator* (const ::ros::WallDuration &val1, const ::ros::WallDuration &val2) |
Multiply two durations. The units of the result are [s^2]. More... | |
::ros::Duration | ros::operator/ (const ::ros::Duration &numerator, const ::ros::Duration &denominator) |
Divide duration val1 by val2. The result is unitless. More... | |
::ros::WallDuration | ros::operator/ (const ::ros::WallDuration &numerator, const ::ros::WallDuration &denominator) |
Divide duration val1 by val2. The result is unitless. More... | |
bool | ros::operator== (const ::ros::Rate &r1, const ::ros::Rate &r2) |
Test two rates for equality. More... | |
bool | ros::operator== (const ::ros::WallRate &r1, const ::ros::WallRate &r2) |
Test two rates for equality. More... | |
::ros::Duration | cras::remainingTime (const ::ros::Time &query, const ::ros::Duration &timeout) |
Return remaining time to timeout from the query time. More... | |
::ros::Duration | cras::remainingTime (const ::ros::Time &query, double timeout) |
Return remaining time to timeout from the query time. More... | |
::ros::Rate | cras::safeRate (double frequency) |
Return a rate representing the given frequency. If the frequency is zero or too small, return min/max representable rate. More... | |
::ros::WallRate | cras::safeWallRate (double frequency) |
Return a rate representing the given frequency. If the frequency is zero or too small, return min/max representable rate. More... | |
::ros::SteadyTime | cras::saturateAdd (const ::ros::SteadyTime &time, const ::ros::WallDuration &duration) |
Add the given duration to the given time, but saturate the result instead of throwing exception on overflow. More... | |
::ros::Time | cras::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 overflow. More... | |
::ros::WallTime | cras::saturateAdd (const ::ros::WallTime &time, const ::ros::WallDuration &duration) |
Add the given duration to the given time, but saturate the result instead of throwing exception on overflow. More... | |
inline ::tm | cras::toStructTm (const ::ros::SteadyTime &time) |
Convert the given ROS time to C tm struct representing UTC time. More... | |
::tm | cras::toStructTm (const ::ros::Time &time) |
Convert the given ROS time to C tm struct representing UTC time. More... | |
inline ::tm | cras::toStructTm (const ::ros::WallTime &time) |
Convert the given ROS time to C tm struct representing UTC time. More... | |
Utilities for working with time.
Definition in file time_utils.hpp.