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

59 lines
4.7 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_VMD_ASSERT</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. The Variadic Macro Data Library 1.10">
<link rel="up" href="variadic_macro_data_reference.html#header.boost.vmd.assert_hpp" title="Header &lt;boost/vmd/assert.hpp&gt;">
<link rel="prev" href="variadic_macro_data_reference.html" title="Variadic Macro Data Reference">
<link rel="next" href="header/boost/vmd/assert_is_array_hpp.html" title="Header &lt;boost/vmd/assert_is_array.hpp&gt;">
</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="variadic_macro_data_reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="variadic_macro_data_reference.html#header.boost.vmd.assert_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="header/boost/vmd/assert_is_array_hpp.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="BOOST_VMD_ASSERT"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro BOOST_VMD_ASSERT</span></h2>
<p>BOOST_VMD_ASSERT — Conditionally causes an error to be generated. </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="variadic_macro_data_reference.html#header.boost.vmd.assert_hpp" title="Header &lt;boost/vmd/assert.hpp&gt;">boost/vmd/assert.hpp</a>&gt;
</span>BOOST_VMD_ASSERT(...)</pre></div>
<div class="refsect1">
<a name="idm45711066721584"></a><h2>Description</h2>
<p>... = variadic parameters, maximum of 2 will be considered. Any variadic parameters beyond the maximum of 2 are just ignored.</p>
<p>The first variadic parameter is:</p>
<p>cond = A condition that determines whether an assertion occurs. Valid values range from 0 to BOOST_PP_LIMIT_MAG.</p>
<p>The second variadic parameter (optional) is:</p>
<p>errstr = An error string for generating a compiler error when using the VC++ compiler. The VC++ compiler is incapable of producing a preprocessor error so when the 'cond' is 0, a compiler error is generated by outputting C++ code in the form of:</p>
<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">char</span> <span class="identifier">errstr</span><span class="special">[</span><span class="special">-</span><span class="number">1</span><span class="special">]</span><span class="special">;</span>
</pre>
<p>The errstr defaults to BOOST_VMD_ASSERT_ERROR if not supplied. It is only relevant for VC++.</p>
<p>returns = If cond expands to 0, this macro causes an error. Otherwise, it expands to nothing. For all compilers other than Visual C++ the error is a preprocessing error. For Visual C++ the error is caused by output invalid C++: this error could be masked if the invalid output is ignored by a macro which invokes this macro. </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 © 2010-2017 Tropic Software
East Inc</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="variadic_macro_data_reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="variadic_macro_data_reference.html#header.boost.vmd.assert_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="header/boost/vmd/assert_is_array_hpp.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>