...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
BOOST_CONTRACT_PERMISSIVE — Disable some compile-time errors generated by this library (undefined by default).
// In header: <boost/contract/core/config.hpp> BOOST_CONTRACT_PERMISSIVE
Defining this macro disables a number of static checks and related compile-time errors generated by this library, for example:
The static invariant member function named as
BOOST_CONTRACT_STATIC_INVARIANT_FUNC must be declared
Non-static invariant member functions named as
BOOST_CONTRACT_INVARIANT_FUNC must be declared either
const volatile, or
Derived classes that program contracts for one or more public function overrides via
boost::contract::public_function must also define the
In general, it is not recommended to define this macro because these compile-time checks can guard against misuses of this library.
Class Invariants, Base Classes