Design By Contract for C++ (DBC++)
This library implements Design By Contract (DBC) for the C++ programming language [
Str97]. All DBC features of the Eiffel programming language [
Mey97] are supported, among others (see
Other Approaches for details):
- Optional compilation and checking of preconditions, postconditions, and invariants.
- Subcontracting for derived classes.
- Use of "old" in postconditions.
- Automatic contract documentation (using doxygen).
A Complete Example quickly shows contracts written using this library.
-- Your feedback is welcome, leave a comment here.
- Contents:
- Quick Start
- Conventions
- Platform
- Installation
- Overview
- A Complete Example
- Design By Contract
- Benefits
- Costs
- Other Approaches
- Writing Contracts
- Macro-Based API
- Invariants
- Base Object
- Macro Parameters with Commas
- Assertions
- Default Exceptions
- Separating Declartion and Definition
- The "old" Postfix
- Subcontracting
- Optional Contract Compilation
- Automatic Contract Documentation
- Configuration
- Code-Based API
- Annex: Compile-Time Errors
- Annex: Work In Progress
- Annex: Known Bugs
- Annex: Software License
- Bibliography
- Author:
- Copyright (C) 2009 Lorenzo Caminiti. Distributed under the DBC++ Software License.
- See also:
- This library is hosted at http://sourceforge.net/projects/dbcpp/ .
Download it at http://sourceforge.net/project/platformdownload.php?group_id=253844 .
Submit questions and comments at http://sourceforge.net/forum/?group_id=253844 .