...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::contract::specify_except — Allow to specify exception guarantees.
// In header: <boost/contract/core/specify.hpp> class specify_except { public: // construct/copy/destruct ~specify_except(); // public member functions template<typename F> specify_nothing except(F const &); };
Allow to specify the functor this library will call to check exception guarantees. This object is internally constructed by the library when users specify contracts calling boost::contract::function
and similar functions (that is why this class does not have a public constructor).
See Also:
specify_except
public
construct/copy/destruct~specify_except();Destruct this object.
Throws: This is declared noexcept(false)
since C++11 to allow users to program failure handlers that throw exceptions on contract assertion failures (not the default, see
Throw on Failure).
specify_except
public member functionstemplate<typename F> specify_nothing except(F const & f);Allow to specify exception guarantees.
Parameters: |
|
||
Returns: |
After exception guarantees have been specified, the object returned by this function does not allow to specify any additional contract. |