boost/libs/contract/doc/html/BOOST_CONTRACT_PERMISSIVE.html
2021-10-05 21:37:46 +02:00

67 lines
5.4 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Macro BOOST_CONTRACT_PERMISSIVE</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Chapter 1. Boost.Contract 1.0.0">
<link rel="up" href="reference.html#header.boost.contract.core.config_hpp" title="Header &lt;boost/contract/core/config.hpp&gt;">
<link rel="prev" href="BOOST_CO_idm45028039712400.html" title="Macro BOOST_CONTRACT_STATIC_INVARIANT_FUNC">
<link rel="next" href="BOOST_CO_idm45028039691696.html" title="Macro BOOST_CONTRACT_ON_MISSING_CHECK_DECL">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="BOOST_CO_idm45028039712400.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.contract.core.config_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="BOOST_CO_idm45028039691696.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="BOOST_CONTRACT_PERMISSIVE"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro BOOST_CONTRACT_PERMISSIVE</span></h2>
<p>BOOST_CONTRACT_PERMISSIVE — Disable some compile-time errors generated by this library (undefined by default). </p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="reference.html#header.boost.contract.core.config_hpp" title="Header &lt;boost/contract/core/config.hpp&gt;">boost/contract/core/config.hpp</a>&gt;
</span>BOOST_CONTRACT_PERMISSIVE</pre></div>
<div class="refsect1">
<a name="idm45909320593936"></a><h2>Description</h2>
<p>Defining this macro disables a number of static checks and related compile-time errors generated by this library, for example:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>The static invariant member function named as <code class="computeroutput">BOOST_CONTRACT_STATIC_INVARIANT_FUNC</code> must be declared <code class="computeroutput">static</code>. </p></li>
<li class="listitem"><p>Non-static invariant member functions named as <code class="computeroutput">BOOST_CONTRACT_INVARIANT_FUNC</code> must be declared either <code class="computeroutput">const</code>, <code class="computeroutput">const volatile</code>, or <code class="computeroutput">volatile const</code>. </p></li>
<li class="listitem"><p>Derived classes that program contracts for one or more public function overrides via <code class="computeroutput"><a class="link" href="boost/contract/public_f_idm45028038882752.html" title="Function template public_function">boost::contract::public_function</a></code> must also define the <code class="computeroutput"><a class="link" href="BOOST_CONTRACT_BASE_TYPES.html" title="Macro BOOST_CONTRACT_BASE_TYPES">BOOST_CONTRACT_BASE_TYPES</a></code> <code class="computeroutput">typedef</code>.</p></li>
</ul></div>
<p>
In general, it is not recommended to define this macro because these compile-time checks can guard against misuses of this library.</p>
<p><span class="bold"><strong>See Also:</strong></span></p>
<p> <a class="link" href="boost_contract/tutorial.html#boost_contract.tutorial.class_invariants" title="Class Invariants"> Class Invariants</a>, <a class="link" href="boost_contract/tutorial.html#boost_contract.tutorial.base_classes__subcontracting_" title="Base Classes (Subcontracting)"> Base Classes</a> </p>
<p>
</p>
<p>
</p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2008-2019 Lorenzo Caminiti<p>
Distributed under the Boost Software License, Version 1.0 (see accompanying
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>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="BOOST_CO_idm45028039712400.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.contract.core.config_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="BOOST_CO_idm45028039691696.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>