From a58115cb50f7e5dae19fad5e9c91729021615436 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 31 Oct 2023 01:51:38 +0200 Subject: [PATCH] Reorder operator& code for better codegen --- include/boost/system/result.hpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/include/boost/system/result.hpp b/include/boost/system/result.hpp index 82dbe2a..41bbfa6 100644 --- a/include/boost/system/result.hpp +++ b/include/boost/system/result.hpp @@ -1056,13 +1056,13 @@ template result operator&( result const& r, F&& f ) { - if( r ) + if( r.has_error() ) { - return std::forward( f )( *r ); + return r.error(); } else { - return r.error(); + return std::forward( f )( *r ); } } @@ -1072,13 +1072,13 @@ template result operator&( result&& r, F&& f ) { - if( r ) + if( r.has_error() ) { - return std::forward( f )( *std::move( r ) ); + return r.error(); } else { - return r.error(); + return std::forward( f )( *std::move( r ) ); } } @@ -1091,13 +1091,13 @@ template U operator&( result const& r, F&& f ) { - if( r ) + if( r.has_error() ) { - return std::forward( f )( *r ); + return r.error(); } else { - return r.error(); + return std::forward( f )( *r ); } } @@ -1108,13 +1108,13 @@ template U operator&( result&& r, F&& f ) { - if( r ) + if( r.has_error() ) { - return std::forward( f )( *std::move( r ) ); + return r.error(); } else { - return r.error(); + return std::forward( f )( *std::move( r ) ); } }