...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 library will define this macro when users define all BOOST_CONTRACT_NO_PRECONDITIONS
, BOOST_CONTRACT_NO_POSTCONDITIONS
, BOOST_CONTRACT_NO_EXCEPTS
, and BOOST_CONTRACT_NO_INVARIANTS
(this macro is not a configuration macro and this library will generate a compile-time error if users try to define it directly). Users can manually program #ifndef
statements in their code using this macro to completely disable compilation of contracts within specifications 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: