MRPT  1.9.9
xassert.h File Reference
#include <stdexcept>
Include dependency graph for xassert.h:
This graph shows which files directly or indirectly include this file:

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.9.1 for MRPT 1.9.9 Git: 814d80880 Fri Aug 24 01:51:28 2018 +0200 at mar 26 may 2026 12:30:59 CEST