...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
BOOST_CONTRACT_CHECK_AUDIT — Preferred way to assert implementation check conditions that are computationally expensive, at least compared to the 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 evaluated 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
, BOOST_CONTRACT_CHECK_AUDIT
, and 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.
See Also:
Parameters: |
|