Contract++
Contract Programming Library for C++
DESCRIPTION
C++ Contract Programming (a.k.a. Design by Contract or DbC).
All Eiffel features supported: subcontracting, postcondition old and result
values, optional contract compilation, customizable action on assertion
failure, block invariants, loop variants, etc.
Plus virtual specifiers, concept checking, named parameters.
See: http://contractpp.sourceforge.net
FEATURES
* Support for preconditions, postconditions, class invariants, block
invariants, and loop variants.
* Subcontract derived classes (with support for pure virtual functions and
multiple inheritance).
* Access expression old values and function return value in postconditions.
* Optional compilation and checking of preconditions, postconditions, class
invariants, block invariants, and loop variants.
* Customizable actions on contract assertion failure (terminate by default but
it can throw, exit, etc).
* Virtual specifiers.
* Concept checking.
* Named parameters.