diff --git a/rclcpp/include/rclcpp/duration.hpp b/rclcpp/include/rclcpp/duration.hpp index d5f8401cbb..49125ec722 100644 --- a/rclcpp/include/rclcpp/duration.hpp +++ b/rclcpp/include/rclcpp/duration.hpp @@ -77,6 +77,9 @@ class RCLCPP_PUBLIC Duration bool operator==(const rclcpp::Duration & rhs) const; + bool + operator!=(const rclcpp::Duration & rhs) const; + bool operator<(const rclcpp::Duration & rhs) const; diff --git a/rclcpp/src/rclcpp/duration.cpp b/rclcpp/src/rclcpp/duration.cpp index cd335e68e4..47faa0d611 100644 --- a/rclcpp/src/rclcpp/duration.cpp +++ b/rclcpp/src/rclcpp/duration.cpp @@ -94,6 +94,12 @@ Duration::operator==(const rclcpp::Duration & rhs) const return rcl_duration_.nanoseconds == rhs.rcl_duration_.nanoseconds; } +bool +Duration::operator!=(const rclcpp::Duration & rhs) const +{ + return rcl_duration_.nanoseconds != rhs.rcl_duration_.nanoseconds; +} + bool Duration::operator<(const rclcpp::Duration & rhs) const { diff --git a/rclcpp/test/rclcpp/test_duration.cpp b/rclcpp/test/rclcpp/test_duration.cpp index 4217005baa..e09295a5bb 100644 --- a/rclcpp/test/rclcpp/test_duration.cpp +++ b/rclcpp/test/rclcpp/test_duration.cpp @@ -41,6 +41,7 @@ TEST_F(TestDuration, operators) { EXPECT_TRUE(old <= young); EXPECT_TRUE(young >= old); EXPECT_FALSE(young == old); + EXPECT_TRUE(young != old); rclcpp::Duration add = old + young; EXPECT_EQ(add.nanoseconds(), old.nanoseconds() + young.nanoseconds());