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.

Project Activity

See All Activity >

License

BSD License

Follow Ensure++

Ensure++ Web Site

You Might Also Like
The CRM you’ll want to use every day Icon
The CRM you’ll want to use every day

With CRM, Sales, and Marketing Automation in one, Act! gives you everything you need for happier clients, more revenue, and less stress.

Act! Premium is perfect for small and midsize businesses looking to market better, sell more, and create customers for life. With unparalleled flexibility and freedom of choice, Act! Premium accommodates the unique ways you do business. Whether it’s customizations to fit your specific business or industry processes or your preferences for deployment and access, the possibilities with Act! Premium are limitless.
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Ensure++!

Additional Project Details

Intended Audience

Developers

Programming Language

C++

Related Categories

C++ Software Development Software

Registered

2004-12-27