Contract programming for C++. All contract programming features are supported: Subcontracting, class invariants, postconditions (with old and return values), preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, etc
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.
License
Distributed under the Boost Software License, Version 1.0.
Properties
- C++11 (C++03 possible but not recommended without lambda functions and variadic macros, see documentation for more information).
- Shared Library / DLL with
BOOST_CONTRACT_DYN_LINK
(static library withBOOST_CONTRACT_STATIC_LINK
, header-only also possible but not recommended, seeBOOST_CONTRACT_HEADER_ONLY
documentation for more information).
... More
license | BSL-1.0 |
---|---|
project | boost |
url | github.com/boostorg/contract |
doc-url | www.boost.org/doc/libs/1_87_0/libs/contract |
boost-users@lists.boost.orgMailing list | |
topics | C++Boost |
6 Versions