1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Type from</title> 5<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../index.html" title="Chapter 1. Boost.Contract 1.0.0"> 8<link rel="up" href="../../reference.html#header.boost.contract.core.exception_hpp" title="Header <boost/contract/core/exception.hpp>"> 9<link rel="prev" href="exception.html" title="Class exception"> 10<link rel="next" href="from_failure_handler.html" title="Type definition from_failure_handler"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> 15<td align="center"><a href="../../../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="exception.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.contract.core.exception_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_failure_handler.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="refentry"> 26<a name="boost.contract.from"></a><div class="titlepage"></div> 27<div class="refnamediv"> 28<h2><span class="refentrytitle">Type from</span></h2> 29<p>boost::contract::from — Indicate the kind of operation where the contract assertion failed. </p> 30</div> 31<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> 32<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../reference.html#header.boost.contract.core.exception_hpp" title="Header <boost/contract/core/exception.hpp>">boost/contract/core/exception.hpp</a>> 33 34</span> 35 36<span class="keyword">enum</span> <span class="identifier">from</span> <span class="special">{</span> <a class="link" href="from.html#boost.contract.from.from_constructor">from_constructor</a>, <a class="link" href="from.html#boost.contract.from.from_destructor">from_destructor</a>, <a class="link" href="from.html#boost.contract.from.from_function">from_function</a> <span class="special">}</span><span class="special">;</span></pre></div> 37<div class="refsect1"> 38<a name="idm45988678835680"></a><h2>Description</h2> 39<p>This is passed as a parameter to the assertion failure handler functions. For example, it might be necessary to know in which operation an assertion failed to make sure exceptions are never thrown from destructors, not even when contract failure handlers are programmed by users to throw exceptions instead of terminating the program.</p> 40<p><span class="bold"><strong>See Also:</strong></span></p> 41<p> <a class="link" href="../../boost_contract/advanced.html#boost_contract.advanced.throw_on_failures__and__noexcept__" title="Throw on Failures (and noexcept)"> Throw on Failure</a> </p> 42<p> 43</p> 44<p> 45</p> 46<div class="variablelist"><dl class="variablelist compact"> 47<dt><span class="term"><code class="computeroutput">from_constructor</code><a name="boost.contract.from.from_constructor"></a></span></dt> 48<dd>Assertion failed when checking contracts for constructors. </dd> 49<dt><span class="term"><code class="computeroutput">from_destructor</code><a name="boost.contract.from.from_destructor"></a></span></dt> 50<dd>Assertion failed when checking contracts for destructors . </dd> 51<dt><span class="term"><code class="computeroutput">from_function</code><a name="boost.contract.from.from_function"></a></span></dt> 52<dd>Assertion failed when checking contracts for functions (members or not, public or not). </dd> 53</dl></div> 54</div> 55</div> 56<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 57<td align="left"></td> 58<td align="right"><div class="copyright-footer">Copyright © 2008-2019 Lorenzo Caminiti<p> 59 Distributed under the Boost Software License, Version 1.0 (see accompanying 60 file LICENSE_1_0.txt or a copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) 61 </p> 62</div></td> 63</tr></table> 64<hr> 65<div class="spirit-nav"> 66<a accesskey="p" href="exception.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.contract.core.exception_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_failure_handler.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 67</div> 68</body> 69</html> 70