From 87e996292093a341f5de49802f0eb0a162e52c0f Mon Sep 17 00:00:00 2001 From: Emilio Cuesta Date: Wed, 7 Jan 2026 16:49:41 +0100 Subject: [PATCH 1/3] Add missing operators Signed-off-by: Emilio Cuesta --- cpp_utils/include/cpp_utils/ReturnCode.hpp | 8 ++++++++ cpp_utils/src/cpp/ReturnCode.cpp | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/cpp_utils/include/cpp_utils/ReturnCode.hpp b/cpp_utils/include/cpp_utils/ReturnCode.hpp index 6d82a4c..bc0e4ad 100644 --- a/cpp_utils/include/cpp_utils/ReturnCode.hpp +++ b/cpp_utils/include/cpp_utils/ReturnCode.hpp @@ -69,6 +69,14 @@ class ReturnCode bool operator !=( const ReturnCode& c) const noexcept; + CPP_UTILS_DllAPI + bool operator ==( + const ReturnCodeValue& c) const noexcept; + + CPP_UTILS_DllAPI + bool operator !=( + const ReturnCodeValue& c) const noexcept; + CPP_UTILS_DllAPI bool operator <( const ReturnCode& other) const noexcept; diff --git a/cpp_utils/src/cpp/ReturnCode.cpp b/cpp_utils/src/cpp/ReturnCode.cpp index 1a04b79..d1ddf65 100644 --- a/cpp_utils/src/cpp/ReturnCode.cpp +++ b/cpp_utils/src/cpp/ReturnCode.cpp @@ -78,6 +78,18 @@ bool ReturnCode::operator !=( return value_ != c.value_; } +bool ReturnCode::operator ==( + const ReturnCodeValue& c) const noexcept +{ + return value_ == c; +} + +bool ReturnCode::operator !=( + const ReturnCodeValue& c) const noexcept +{ + return value_ != c; +} + bool ReturnCode::operator <( const ReturnCode& other) const noexcept { From 72f12c38d173e08f88ff217e8e64aeb1601a6b90 Mon Sep 17 00:00:00 2001 From: Emilio Cuesta Date: Mon, 12 Jan 2026 08:21:13 +0100 Subject: [PATCH 2/3] Add new constructor to avoid mischievous conversions Signed-off-by: Emilio Cuesta --- cpp_utils/include/cpp_utils/ReturnCode.hpp | 4 ++++ cpp_utils/src/cpp/ReturnCode.cpp | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/cpp_utils/include/cpp_utils/ReturnCode.hpp b/cpp_utils/include/cpp_utils/ReturnCode.hpp index bc0e4ad..2d68463 100644 --- a/cpp_utils/include/cpp_utils/ReturnCode.hpp +++ b/cpp_utils/include/cpp_utils/ReturnCode.hpp @@ -58,6 +58,10 @@ class ReturnCode ReturnCode( const fastdds::dds::ReturnCode_t& value); + CPP_UTILS_DllAPI + ReturnCode( + const ReturnCodeValue& value); + CPP_UTILS_DllAPI std::uint32_t operator ()() const noexcept; diff --git a/cpp_utils/src/cpp/ReturnCode.cpp b/cpp_utils/src/cpp/ReturnCode.cpp index d1ddf65..5efe324 100644 --- a/cpp_utils/src/cpp/ReturnCode.cpp +++ b/cpp_utils/src/cpp/ReturnCode.cpp @@ -61,6 +61,12 @@ ReturnCode::ReturnCode( } } +ReturnCode::ReturnCode( + const ReturnCode::ReturnCodeValue& value) +{ + value_ = value; +} + std::uint32_t ReturnCode::operator ()() const noexcept { return value_; From 5c8e48659e045b5ecc9a97e9ed2efab2e91788be Mon Sep 17 00:00:00 2001 From: Emilio Cuesta Date: Mon, 12 Jan 2026 08:32:51 +0100 Subject: [PATCH 3/3] Removing comparison operators not needed anymore Signed-off-by: Emilio Cuesta --- cpp_utils/include/cpp_utils/ReturnCode.hpp | 8 -------- cpp_utils/src/cpp/ReturnCode.cpp | 12 ------------ 2 files changed, 20 deletions(-) diff --git a/cpp_utils/include/cpp_utils/ReturnCode.hpp b/cpp_utils/include/cpp_utils/ReturnCode.hpp index 2d68463..89f2a61 100644 --- a/cpp_utils/include/cpp_utils/ReturnCode.hpp +++ b/cpp_utils/include/cpp_utils/ReturnCode.hpp @@ -73,14 +73,6 @@ class ReturnCode bool operator !=( const ReturnCode& c) const noexcept; - CPP_UTILS_DllAPI - bool operator ==( - const ReturnCodeValue& c) const noexcept; - - CPP_UTILS_DllAPI - bool operator !=( - const ReturnCodeValue& c) const noexcept; - CPP_UTILS_DllAPI bool operator <( const ReturnCode& other) const noexcept; diff --git a/cpp_utils/src/cpp/ReturnCode.cpp b/cpp_utils/src/cpp/ReturnCode.cpp index 5efe324..8102aba 100644 --- a/cpp_utils/src/cpp/ReturnCode.cpp +++ b/cpp_utils/src/cpp/ReturnCode.cpp @@ -84,18 +84,6 @@ bool ReturnCode::operator !=( return value_ != c.value_; } -bool ReturnCode::operator ==( - const ReturnCodeValue& c) const noexcept -{ - return value_ == c; -} - -bool ReturnCode::operator !=( - const ReturnCodeValue& c) const noexcept -{ - return value_ != c; -} - bool ReturnCode::operator <( const ReturnCode& other) const noexcept {