15 #ifndef RCLCPP__DURATION_HPP_
16 #define RCLCPP__DURATION_HPP_
20 #include "builtin_interfaces/msg/duration.hpp"
22 #include "rclcpp/visibility_control.hpp"
39 Duration(int32_t seconds, uint32_t nanoseconds);
42 explicit Duration(std::chrono::nanoseconds nanoseconds);
46 template<
class Rep,
class Period>
48 Duration(
const std::chrono::duration<Rep, Period> & duration)
49 :
Duration(std::chrono::duration_cast<std::chrono::nanoseconds>(duration))
53 Duration(
const builtin_interfaces::msg::Duration & duration_msg);
65 operator builtin_interfaces::msg::Duration()
const;
72 operator=(
const builtin_interfaces::msg::Duration & duration_msg);
107 operator*(
double scale)
const;
127 from_seconds(
double seconds);
134 from_rmw_time(rmw_time_t duration);
137 template<
class DurationT>
141 return std::chrono::duration_cast<DurationT>(std::chrono::nanoseconds(this->nanoseconds()));
DurationT to_chrono() const
Convert Duration into a std::chrono::Duration.
Versions of rosidl_typesupport_cpp::get_message_type_support_handle that handle adapted types.
RCLCPP_PUBLIC bool operator==(const NetworkFlowEndpoint &left, const NetworkFlowEndpoint &right)
Check if two NetworkFlowEndpoint instances are equal.
RCLCPP_PUBLIC Time operator+(const rclcpp::Duration &lhs, const rclcpp::Time &rhs)
RCLCPP_PUBLIC bool operator!=(const NetworkFlowEndpoint &left, const NetworkFlowEndpoint &right)
Check if two NetworkFlowEndpoint instances are not equal.
A duration of time, measured in nanoseconds and its source.
rcutils_duration_value_t rcl_duration_value_t
A duration of time, measured in nanoseconds.