MRPT  2.0.3
Macros
xassert.h File Reference
#include <stdexcept>

Go to the source code of this file.

Macros

#define MRPT_LIKELY(EXPR)   (!!(EXPR))
 MRPT_LIKELY(): disable the branch prediction and manually setting the preference for the positive case. More...
 
#define MRPT_X_ASSERT(CHECK)   (MRPT_LIKELY(CHECK) ? void(0) : [] { throw std::runtime_error(#CHECK); }())
 MRPT_X_ASSERT(): build error if condition is known not to work at compile time, throw an exception at runtime if the condition needs to be evaluated. More...
 

Macro Definition Documentation

◆ MRPT_LIKELY

#define MRPT_LIKELY (   EXPR)    (!!(EXPR))

MRPT_LIKELY(): disable the branch prediction and manually setting the preference for the positive case.

See: https://akrzemi1.wordpress.com/2017/05/18/asserts-in-constexpr-functions

Definition at line 21 of file xassert.h.

◆ MRPT_X_ASSERT

#define MRPT_X_ASSERT (   CHECK)    (MRPT_LIKELY(CHECK) ? void(0) : [] { throw std::runtime_error(#CHECK); }())

MRPT_X_ASSERT(): build error if condition is known not to work at compile time, throw an exception at runtime if the condition needs to be evaluated.

Definition at line 27 of file xassert.h.




Page generated by Doxygen 1.8.17 for MRPT 2.0.3 at Fri May 15 23:51:15 UTC 2020