Next: , Previous: eiffel.h, Up: eiffel.h


4.14.1 EIFFEL_CHECK: enabling and disabling checking.

Assertion checking is controlled by the EIFFEL_CHECK macro which can take on any of the following values:

CHECK_NO
Disable all checking.
CHECK_REQUIRE
Check the preconditions for each method.
CHECK_ENSURE
And also check the postconditions.
CHECK_INVARIANT
And also check the class invariant before and after each method is called. The programmer should provide a class method called ‘invariant’ which returns ‘true’ if the object is consistent, ‘false’ otherwise.
CHECK_LOOP
And also check the loop invariants.
CHECK_ALL
And also check any assertions using the ‘CHECK’ instruction.

Note that the default value for EIFFEL_CHECK is CHECK_REQUIRE, i.e. check preconditions only.

A typical compile flag to the compile might be:

     % g++ -c -DEIFFEL_CHECK=CHECK_ALL play.cc