A framework for Delayed Asserts and Design By Contract in C++. The framework is based on delaying the execution of asserts until specified points in time (i.e. exiting a function), achieving seperation of assert definition from validation.
Implements full seperation of assert definition from validation, allowing for a contract clauses block at the beginning of each function that includes "ensure" checks on exiting the function. Currently supports most of the design by contract required checks (REQUIRE, ENSURE, INVARIANTs), an additional EXCEPTIONAL check (conditions that must hold when an exception occurs).
Requires usage of either boost::lambda, boost::phoenix or the new c++11 lambda functions feature.
Categories
Software DevelopmentLicense
BSD LicenseFollow Ensure++
Other Useful Business Software
MongoDB Atlas runs apps anywhere
MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Rate This Project
Login To Rate This Project
User Reviews
Be the first to post a review of Ensure++!