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

67 lines
7.1 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_IS_EMPTY</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="header/boost/vmd/assert_is_empty_hpp.html" title="Header &lt;boost/vmd/assert_is_empty.hpp&gt;">
<link rel="prev" href="header/boost/vmd/assert_is_empty_hpp.html" title="Header &lt;boost/vmd/assert_is_empty.hpp&gt;">
<link rel="next" href="header/boost/vmd/assert_is_identifier_hpp.html" title="Header &lt;boost/vmd/assert_is_identifier.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="header/boost/vmd/assert_is_empty_hpp.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="header/boost/vmd/assert_is_empty_hpp.html"><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_identifier_hpp.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="BOOST_VMD_ASSERT_IS_EMPTY"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro BOOST_VMD_ASSERT_IS_EMPTY</span></h2>
<p>BOOST_VMD_ASSERT_IS_EMPTY — Asserts that the input is empty. </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="header/boost/vmd/assert_is_empty_hpp.html" title="Header &lt;boost/vmd/assert_is_empty.hpp&gt;">boost/vmd/assert_is_empty.hpp</a>&gt;
</span>BOOST_VMD_ASSERT_IS_EMPTY(...)</pre></div>
<div class="refsect1">
<a name="idm45711066571744"></a><h2>Description</h2>
<p>The macro checks to see if the input is empty or not. If it is not empty, it forces a compiler error.</p>
<p>The macro is a variadic macro taking any input. For the VC++8 compiler (VS2005) the macro takes a single parameter of input to check and not variadic data.</p>
<p>The macro normally checks for emptiness only in debug mode. However an end-user can force the macro to check or not check by defining the macro BOOST_VMD_ASSERT_DATA to 1 or 0 respectively.</p>
<p>.... = variadic input, for VC++8 this must be a single parameter.</p>
<pre class="programlisting"><span class="identifier">returns</span> <span class="special">=</span> <span class="identifier">Normally</span> <span class="identifier">the</span> <span class="identifier">macro</span> <span class="identifier">returns</span> <span class="identifier">nothing</span><span class="special">.</span>
<span class="identifier">If</span> <span class="identifier">the</span> <span class="identifier">input</span> <span class="identifier">is</span> <span class="identifier">empty</span><span class="special">,</span> <span class="identifier">nothing</span> <span class="identifier">is</span> <span class="identifier">output</span><span class="special">.</span>
<span class="identifier">For</span> <span class="identifier">VC</span><span class="special">++</span><span class="special">,</span> <span class="identifier">because</span> <span class="identifier">there</span> <span class="identifier">is</span> <span class="identifier">no</span> <span class="identifier">sure</span> <span class="identifier">way</span> <span class="identifier">of</span> <span class="identifier">forcing</span>
<span class="identifier">a</span> <span class="identifier">compiler</span> <span class="identifier">error</span> <span class="identifier">from</span> <span class="identifier">within</span> <span class="identifier">a</span> <span class="identifier">macro</span> <span class="identifier">without</span> <span class="identifier">producing</span>
<span class="identifier">output</span><span class="special">,</span> <span class="keyword">if</span> <span class="identifier">the</span> <span class="identifier">input</span> <span class="identifier">is</span> <span class="identifier">not</span> <span class="identifier">empty</span> <span class="identifier">the</span>
<span class="identifier">macro</span> <span class="identifier">forces</span> <span class="identifier">a</span> <span class="identifier">compiler</span> <span class="identifier">error</span> <span class="identifier">by</span> <span class="identifier">outputting</span> <span class="identifier">invalid</span> <span class="identifier">C</span><span class="special">++</span><span class="special">.</span>
<span class="identifier">For</span> <span class="identifier">all</span> <span class="identifier">other</span> <span class="identifier">compilers</span> <span class="identifier">a</span> <span class="identifier">compiler</span> <span class="identifier">error</span> <span class="identifier">is</span> <span class="identifier">forced</span>
<span class="identifier">without</span> <span class="identifier">producing</span> <span class="identifier">output</span> <span class="keyword">if</span> <span class="identifier">the</span> <span class="identifier">input</span> <span class="identifier">is</span> <span class="identifier">not</span> <span class="identifier">empty</span><span class="special">.</span>
</pre>
<p>It is recommended to append BOOST_PP_EMPTY() to whatever input is being tested in order to avoid possible warning messages from some compilers about no parameters being passed to the macro when the input is truly empty. </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="header/boost/vmd/assert_is_empty_hpp.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="header/boost/vmd/assert_is_empty_hpp.html"><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_identifier_hpp.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>