BOOST_CONTRACT_CHECK_AUDIT — Preferred way to assert implementation check conditions that are computationally expensive, at least compared to the computational cost of executing the function body.
// In header: <boost/contract/core/check_macro.hpp> BOOST_CONTRACT_CHECK_AUDIT(cond)
The specified condition will always be compiled and validated syntactically, but it will not be checked at run-time unless
BOOST_CONTRACT_AUDITS is defined (undefined by default). This macro is defined by code equivalent to:
#ifdef BOOST_CONTRACT_AUDITS #define BOOST_CONTRACT_CHECK_AUDIT(cond) \ BOOST_CONTRACT_CHECK(cond) #else #define BOOST_CONTRACT_CHECK_AUDIT(cond) \ BOOST_CONTRACT_CHECK(true || cond) #endif
BOOST_CONTRACT_CHECK_AXIOM are the three assertion levels predefined by this library for implementation checks. If there is a need, programmers are free to implement their own assertion levels defining macros similar to the one above.