Loading base/include/android-base/result.h +5 −8 Original line number Diff line number Diff line Loading @@ -81,8 +81,7 @@ namespace base { struct ResultError { template <typename T> ResultError(T&& message, int code) : message_(std::forward<T>(message)), code_(code) {} ResultError(T&& message, int code) : message_(std::forward<T>(message)), code_(code) {} template <typename T> operator android::base::expected<T, ResultError>() { Loading Loading @@ -122,18 +121,16 @@ class Error { template <typename T> Error& operator<<(T&& t) { if constexpr (std::is_same_v<std::remove_cv_t<std::remove_reference_t<T>>, ResultError>) { errno_ = t.code(); return (*this) << t.message(); } int saved = errno; ss_ << t; errno = saved; return *this; } Error& operator<<(const ResultError& result_error) { (*this) << result_error.message(); errno_ = result_error.code(); return *this; } const std::string str() const { std::string str = ss_.str(); if (append_errno_) { Loading base/result_test.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -143,8 +143,8 @@ TEST(result, result_error_from_other_result) { ASSERT_FALSE(result2); ASSERT_FALSE(result2.has_value()); EXPECT_EQ(0, result.error().code()); EXPECT_EQ(error_text, result.error().message()); EXPECT_EQ(0, result2.error().code()); EXPECT_EQ(error_text, result2.error().message()); } TEST(result, result_error_through_ostream) { Loading @@ -159,8 +159,8 @@ TEST(result, result_error_through_ostream) { ASSERT_FALSE(result2); ASSERT_FALSE(result2.has_value()); EXPECT_EQ(0, result.error().code()); EXPECT_EQ(error_text, result.error().message()); EXPECT_EQ(0, result2.error().code()); EXPECT_EQ(error_text, result2.error().message()); } TEST(result, result_errno_error_through_ostream) { Loading @@ -179,8 +179,8 @@ TEST(result, result_errno_error_through_ostream) { ASSERT_FALSE(result2); ASSERT_FALSE(result2.has_value()); EXPECT_EQ(test_errno, result.error().code()); EXPECT_EQ(error_text + ": " + strerror(test_errno), result.error().message()); EXPECT_EQ(test_errno, result2.error().code()); EXPECT_EQ(error_text + ": " + strerror(test_errno), result2.error().message()); } TEST(result, constructor_forwarding) { Loading Loading
base/include/android-base/result.h +5 −8 Original line number Diff line number Diff line Loading @@ -81,8 +81,7 @@ namespace base { struct ResultError { template <typename T> ResultError(T&& message, int code) : message_(std::forward<T>(message)), code_(code) {} ResultError(T&& message, int code) : message_(std::forward<T>(message)), code_(code) {} template <typename T> operator android::base::expected<T, ResultError>() { Loading Loading @@ -122,18 +121,16 @@ class Error { template <typename T> Error& operator<<(T&& t) { if constexpr (std::is_same_v<std::remove_cv_t<std::remove_reference_t<T>>, ResultError>) { errno_ = t.code(); return (*this) << t.message(); } int saved = errno; ss_ << t; errno = saved; return *this; } Error& operator<<(const ResultError& result_error) { (*this) << result_error.message(); errno_ = result_error.code(); return *this; } const std::string str() const { std::string str = ss_.str(); if (append_errno_) { Loading
base/result_test.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -143,8 +143,8 @@ TEST(result, result_error_from_other_result) { ASSERT_FALSE(result2); ASSERT_FALSE(result2.has_value()); EXPECT_EQ(0, result.error().code()); EXPECT_EQ(error_text, result.error().message()); EXPECT_EQ(0, result2.error().code()); EXPECT_EQ(error_text, result2.error().message()); } TEST(result, result_error_through_ostream) { Loading @@ -159,8 +159,8 @@ TEST(result, result_error_through_ostream) { ASSERT_FALSE(result2); ASSERT_FALSE(result2.has_value()); EXPECT_EQ(0, result.error().code()); EXPECT_EQ(error_text, result.error().message()); EXPECT_EQ(0, result2.error().code()); EXPECT_EQ(error_text, result2.error().message()); } TEST(result, result_errno_error_through_ostream) { Loading @@ -179,8 +179,8 @@ TEST(result, result_errno_error_through_ostream) { ASSERT_FALSE(result2); ASSERT_FALSE(result2.has_value()); EXPECT_EQ(test_errno, result.error().code()); EXPECT_EQ(error_text + ": " + strerror(test_errno), result.error().message()); EXPECT_EQ(test_errno, result2.error().code()); EXPECT_EQ(error_text + ": " + strerror(test_errno), result2.error().message()); } TEST(result, constructor_forwarding) { Loading