...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_CONDITIONS — Automatically defined by this library when contracts are not checked for preconditions, postconditions, exceptions guarantees, and class invariants (excluding implementation checks).
// In header: <boost/contract/core/config.hpp>
BOOST_CONTRACT_NO_CONDITIONS
This macro is not a configuration macro and this library will generate a compile-time error if users try to define it directly. This library will automatically define this macro when users define all BOOST_CONTRACT_NO_PRECONDITIONS
, BOOST_CONTRACT_NO_POSTCONDITIONS
, BOOST_CONTRACT_NO_EXCEPTS
, and BOOST_CONTRACT_NO_INVARIANTS
. Users can manually program #ifndef
statements in their code using this macro to completely disable compilation of contracts within specifications (so excluding implementation checks which are contracts within implementations instead), 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).
See Also: