[go: up one dir, main page]

Menu

Tree [r1276] / trunk /
 History

HTTPS access


File Date Author Commit
 doc 2012-11-09 lcaminiti [r1232] Upd after boost review.
 example 2012-10-12 lcaminiti [r1231] After Boost review -- and acceptance :))
 include 2012-08-19 lcaminiti [r1210] Removed class_type as a CONTRACT_MEMBER_BODY pa...
 tools 2012-08-20 lcaminiti [r1218] Removing incorrect release 4.0.1, should have b...
 COPYRIGHT.txt 2012-02-21 lcaminiti [r1055] Updated docs.
 Jamroot 2012-05-15 lcaminiti [r1148] Upd docs.
 LICENSE_1_0.txt 2011-08-23 lcaminiti [r937] Cleaning up files.
 README.txt 2012-06-04 lcaminiti [r1186] Preparing to release 0.4.0.
 index.html 2012-08-20 lcaminiti [r1216] Releasing 4.0.1.
 logo.png 2012-04-19 lcaminiti [r1118] Started docs.
 screenshot1.png 2012-05-28 lcaminiti [r1166] Added concept error examples, nova example, and...
 screenshot2.png 2012-06-03 lcaminiti [r1184] Upd all docs.
 screenshot3.png 2012-11-09 lcaminiti [r1233] Added "Accepted into Boost" screen-shot.

Read Me

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.