...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_NO_ENTRY_INVARIANTS — If defined, this library does not check class invariants at entry (undefined by default).
// In header: <boost/contract/core/config.hpp>
BOOST_CONTRACT_NO_ENTRY_INVARIANTS
If this macro is defined, this library internal code is also optimized to reduce compile-time (not just run-time) overhead associated with checking class invariants at entry. Users can manually program #ifndef
statements in their code using this macro to completely disable compilation of entry class invariants or use the macros defined in boost/contract_macro.hpp
(recommended only for applications where it is truly necessary to completely remove contract code compilation from production code).
This macro is automatically defined when BOOST_CONTRACT_NO_INVARIANTS
is defined.
See Also:
Class Invariants, Disable Contract Checking, Disable Contract Compilation