**** THIS LIBRARY WAS MOVED INTO Boost ****
New location: https://github.com/boostorg/contract
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.
License
Other License, Boost Software License (BSL1.0)Follow Contract++
You Might Also Like
Whether natural disaster, cyberattack, or plain-old human error, data can disappear in the blink of an eye. ConnectWise BCDR (formerly Recover) delivers reliable and secure backup and disaster recovery backed by powerful automation and a 24/7 NOC to get your clients back to work in minutes, not days.
Rate This Project
Login To Rate This Project
User Reviews
-
Great software, thank you.