ObjectBuilder is a C++ code generation CASE tool (CASE, code generation, refactoring, documentation generation). It lets you create, manipulate and navigate classes, class relations, class members and class methods at a high level of abstraction.
ObjectBuilder dramatically simplify work with C++ project architecture. I use it and think that tree OO interface targeted to C++ more fast and power than UML class diagrams.
ObjectBuilder perfectly organize C++ header files with any level of...
...All Eiffel features supported: subcontracting, postcondition old and result values, optional contract compilation, customizable action on assertion failure, block invariants, loop variants, etc.
Plusvirtual specifiers, concept checking, named parameters.
See: http://contractpp.sourceforge.net