Contracts Programming After C++17

By J Daniel Garcia

Contracts programming is based in the idea that any operation has a number of preconditions and postconditions. Different instantiations of this idea have been used in different programming languages (Eiffel, Ada2012, C#).

In this talk, I will briefly cover the general ideas behind contracts programming. Then I will provide details on how these ideas can be incorporated into C++. I will present also the latest updates on the C++ contracts proposal that is under discussion at the ISO C++ standards committee.

Additional note: The content of this talk will be influenced by the results of discussions at the March ISO C++ meeting where I will present the proposed wording of the feature.

For reference, please see the latest ISO C++ paper "A Contract Design" [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0380r1.pdf]