Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / vmd / doc / html / BOOST_VM_idm45699301620688.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Macro BOOST_VMD_ASSERT_IS_IDENTIFIER</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&#160;1.&#160;The Variadic Macro Data Library 1.9">
8 <link rel="up" href="header/boost/vmd/assert_is_identifier_hpp.html" title="Header &lt;boost/vmd/assert_is_identifier.hpp&gt;">
9 <link rel="prev" href="header/boost/vmd/assert_is_identifier_hpp.html" title="Header &lt;boost/vmd/assert_is_identifier.hpp&gt;">
10 <link rel="next" href="BOOST_VM_idm45699301615072.html" title="Macro BOOST_VMD_ASSERT_IS_IDENTIFIER_D">
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="header/boost/vmd/assert_is_identifier_hpp.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="header/boost/vmd/assert_is_identifier_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="BOOST_VM_idm45699301615072.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="refentry">
26 <a name="BOOST_VM_idm45699301620688"></a><div class="titlepage"></div>
27 <div class="refnamediv">
28 <h2><span class="refentrytitle">Macro BOOST_VMD_ASSERT_IS_IDENTIFIER</span></h2>
29 <p>BOOST_VMD_ASSERT_IS_IDENTIFIER &#8212; Asserts that the sequence is an identifier. </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: &lt;<a class="link" href="header/boost/vmd/assert_is_identifier_hpp.html" title="Header &lt;boost/vmd/assert_is_identifier.hpp&gt;">boost/vmd/assert_is_identifier.hpp</a>&gt;
33
34 </span>BOOST_VMD_ASSERT_IS_IDENTIFIER(...)</pre></div>
35 <div class="refsect1">
36 <a name="idm45529681042352"></a><h2>Description</h2>
37 <p>The macro checks that the sequence is an identifier. If it is not an identifier, it forces a compiler error.</p>
38 <p>The macro normally checks for an identifier 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>
39 <p>... = variadic parameters</p>
40 <p>The variadic parameters are:</p>
41 <p>sequence = A sequence to test as an identifier. ids (optional) = The data may take one of two forms: it is either one or more single identifiers or a single Boost PP tuple of identifiers.</p>
42 <p>returns = Normally the macro returns nothing.       If the sequence is an identifier, nothing is 
43       output. If optional ids are specified, for the 
44       sequence to be an identifier it must be an
45       identifier that matches one of the optional
46       ids.
47
48       For VC++, because there is no sure way of forcing  
49       a compiler error from within a macro without producing
50       output, if the sequence is not an identifier the 
51       macro forces a compiler error by outputting invalid C++.
52
53       For all other compilers a compiler error is forced 
54       without producing output if the sequence is not an
55       identifier.
56 </p>
57 <p>Identifiers are registered in VMD with: #define BOOST_VMD_REG_XXX (XXX) where XXX is a v-identifier.
58 </p>
59 <p>The identifier must be registered to be found.</p>
60 <p>Identifiers are pre-detected in VMD with: #define BOOST_VMD_DETECT_XXX_XXX where XXX is an identifier.
61 </p>
62 <p>If you specify optional ids and have not specified the detection of an optional id, that id will never match an identifier. </p>
63 </div>
64 </div>
65 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
66 <td align="left"></td>
67 <td align="right"><div class="copyright-footer">Copyright &#169; 2010-2017 Tropic Software
68       East Inc</div></td>
69 </tr></table>
70 <hr>
71 <div class="spirit-nav">
72 <a accesskey="p" href="header/boost/vmd/assert_is_identifier_hpp.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="header/boost/vmd/assert_is_identifier_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="BOOST_VM_idm45699301615072.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
73 </div>
74 </body>
75 </html>