Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / contract / doc / html / boost / contract / virtual_.html
index 79927f6..e5dc20e 100644 (file)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Contract 1.0.0">
 <link rel="up" href="../../reference.html#header.boost.contract.core.virtual_hpp" title="Header &lt;boost/contract/core/virtual.hpp&gt;">
-<link rel="prev" href="specify__idm45123870039968.html" title="Class template specify_precondition_old_postcondition_except">
+<link rel="prev" href="specify__idm45394999179040.html" title="Class template specify_precondition_old_postcondition_except">
 <link rel="next" href="destructor.html" title="Function template destructor">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="specify__idm45123870039968.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.contract.core.virtual_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="destructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="specify__idm45394999179040.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.contract.core.virtual_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="destructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry">
 <a name="boost.contract.virtual_"></a><div class="titlepage"></div>
 <span class="keyword">class</span> <a class="link" href="virtual_.html" title="Class virtual_">virtual_</a> <span class="special">{</span>
 <span class="special">}</span><span class="special">;</span></pre></div>
 <div class="refsect1">
-<a name="idm45751728554912"></a><h2>Description</h2>
-<p>Virtual public functions (and therefore also public function overrides) declaring contracts using this library must specify an extra function parameter at the very end of the parameter list. This parameter must be a pointer to this class and it must have default value <code class="computeroutput">0</code> (i.e., <code class="computeroutput">nullptr</code>). (This extra parameter is often named <code class="computeroutput">v</code> in this documentation, but any name can be used.)</p>
-<p>In practice this extra parameter does not alter the calling interface of the enclosing function declaring the contract because it is always the very last parameter and it has a default value (so it can always be omitted when users call the function). This extra parameter must be passed to  <code class="computeroutput"><a class="link" href="public_f_idm45123869756752.html" title="Function template public_function">boost::contract::public_function</a></code>, <code class="computeroutput"><a class="link" href="../../BOOST_CONTRACT_OLDOF.html" title="Macro BOOST_CONTRACT_OLDOF">BOOST_CONTRACT_OLDOF</a></code>, and all other operations of this library that accept a pointer to  <code class="computeroutput"><a class="link" href="virtual_.html" title="Class virtual_">boost::contract::virtual_</a></code>. A part from that, this class is not intended to be directly used by programmers (and that is why this class does not have any public member and it is not copyable).</p>
+<a name="idm45707995083200"></a><h2>Description</h2>
+<p>Virtual public functions (and therefore also public function overrides) declaring contracts using this library must specify an extra function parameter at the very end of their parameter list. This parameter must be a pointer to this class and it must have default value <code class="computeroutput">0</code> or <code class="computeroutput">nullptr</code> (this extra parameter is often named <code class="computeroutput">v</code> in this documentation, but any name can be used):</p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">u</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+    <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">contract</span><span class="special">::</span><span class="identifier">virtual_</span><span class="special">*</span> <span class="identifier">v</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="special">{</span> <span class="comment">// Declare `v`.</span>
+        <span class="special">...</span> <span class="comment">// Contract declaration (which will use `v`) and function body.</span>
+    <span class="special">}</span>
+
+    <span class="special">...</span>
+<span class="special">}</span><span class="special">;</span>
+</pre>
+<p>In practice this extra parameter does not alter the calling interface of the enclosing function declaring the contract because it is always the very last parameter and it has a default value (so it can always be omitted when users call the function). This extra parameter must be passed to  <code class="computeroutput"><a class="link" href="public_f_idm45394998885120.html" title="Function template public_function">boost::contract::public_function</a></code>, <code class="computeroutput"><a class="link" href="../../BOOST_CONTRACT_OLDOF.html" title="Macro BOOST_CONTRACT_OLDOF">BOOST_CONTRACT_OLDOF</a></code>, and all other operations of this library that accept a pointer to  <code class="computeroutput"><a class="link" href="virtual_.html" title="Class virtual_">boost::contract::virtual_</a></code>. A part from that, this class is not intended to be directly used by programmers (and that is why this class does not have any public member and it is not copyable).</p>
 <p><span class="bold"><strong>See Also:</strong></span></p>
 <p> <a class="link" href="../../boost_contract/tutorial.html#boost_contract.tutorial.virtual_public_functions" title="Virtual Public Functions"> Virtual Public Functions</a>,  <a class="link" href="../../boost_contract/tutorial.html#boost_contract.tutorial.public_function_overrides__subcontracting_" title="Public Function Overrides (Subcontracting)">
         Public Function Overrides</a> </p>
@@ -49,7 +58,7 @@
 </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 &#169; 2008-2018 Lorenzo Caminiti<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 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>
@@ -57,7 +66,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="specify__idm45123870039968.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.contract.core.virtual_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="destructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="specify__idm45394999179040.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.contract.core.virtual_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="destructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>