Hello all, I *finally* got around finishing Boost.Contract after the library was reviewed and accepted by Boost about 5 years ago?! (review results: https://groups.google.com/forum/?fromgroups=#!topic/boost-list/jQ7OjAmos_Y). Documentation: https://lcaminiti.github.io/boost-contract/doc/html/index.html Source: https://github.com/lcaminiti/boost-contract * All Contract Programming features (a.k.a., Design By Contract, DBC) are supported: subcontracting, class invariants, postconditions (with old and return values), preconditions, customizable actions on assertion failure (terminate, throw, etc.), optional compilation of assertions, disable assertions while already checking other assertions (to avoid infinite recursion), etc. * Leveraging the convenience of C++11 lambdas, this revision of the library no longer requires "crazy" macros that alter C++ declaration syntax. That makes the library much easier to use, faster to compile, and generates readable compiler errors on misuse. I was thinking to add Boost.Contract to the next, or next next, Boost release... Thanks, -- --Lorenzo