Contract programming for C++. All contract programming features are supported: Subcontracting, class invariants (also static and volatile), postconditions (with old and return values), preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, disable assertions while already checking other assertions (to avoid infinite recursion), etc.
Distributed under the Boost Software License, Version 1.0.
BOOST_CONTRACT_DYN_LINK
(static library with BOOST_CONTRACT_STATIC_LINK
, header-only also possible but not recommended, see BOOST_CONTRACT_HEADER_ONLY
documentation for more information).Branch | Travis | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests |
---|---|---|---|---|---|---|---|
master |
|||||||
develop |
Name | Purpose |
---|---|
build |
Build |
doc |
Documentation |
example |
Examples |
include |
Header code |
meta |
Integration with Boost |
src |
Source code |
test |
Unit tests |
[contract]
text at the beginning of the subject line.