Open ujos opened 2 months ago
To modify the BOOST_LIKELY and BOOST_UNLIKELY macros to handle boost::system::error_code
, you can redefine them to ensure compatibility without needing additional braces. Here's the updated version:
#define BOOST_UNLIKELY(x) (__builtin_expect(static_cast<bool>(x), 0))
This approach uses static_cast<bool>(x)
to explicitly cast the condition to a boolean type, making it compatible with boost::system::error_code
and similar types. This allows you to use the macros as follows:
// Handle error
}
This change ensures the macros work correctly without needing extra braces.
Could you please modify the
BOOST_LIKELY
andBOOST_UNLIKELY
macros in the following way:BOOST_UNLIKELY
withboost::system::error_code
. Compiler complainsTo workaround the problem I should use macro like following:
... which looks weird and causes unwanted questions during the code review.
... instead of: