• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<title>Predefined Macros</title>
5<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6<link href="theme/style.css" rel="stylesheet" type="text/css">
7</head>
8
9<body>
10<table width="100%" border="0" cellspacing="2" background="theme/bkd2.gif">
11  <tr>
12    <td width="21"> <h1></h1></td>
13    <td width="885"> <font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="6">Predefined
14      Macros </font></b></font></td>
15    <td width="96"><a href="http://www.boost.org"><img src="theme/wave.gif" width="93" height="68" align="right" border="0"></a></td>
16  </tr>
17</table>
18<br>
19<table border="0">
20  <tr>
21    <td width="10"></td>
22    <td width="30"><a href="../index.html"><img src="theme/u_arr.gif" border="0"></a></td>
23    <td width="30"><a href="class_reference_inptpolcy.html"><img src="theme/l_arr.gif" width="20" height="19" border="0"></a></td>
24    <td width="30"><a href="macro_expansion_process.html"><img src="theme/r_arr.gif" border="0"></a></td>
25  </tr>
26</table>
27<p dir="ltr">The following table lists the macros, which are predefined by the
28  <tt>Wave</tt> library. Some of these (all except the <code class="keyword">__LINE__</code>,
29  <code class="keyword">__FILE__</code>, <code class="keyword">__BASE_FILE__</code>, <code class="keyword">__DATE__</code>,
30  <code class="keyword">__TIME__</code>, <code class="keyword">__STDC__, __INCLUDE_LEVEL__</code>
31  and <code class="keyword">__cplusplus</code> macros) may be undefined from the command line of the driver executable
32  (<a href="wave_driver.html">see</a> the -U option) or through the function <a href="class_reference_context.html#remove_macro_definition">remove_macro_definition()</a>.</p>
33<table width="90%" border="0" align="center">
34  <tr>
35    <td colspan="3" class="table_title"><b>Summary of predefined macros</b></td>
36  </tr>
37  <tr class="table_title">
38    <td width="28%"><b>Name</b></td>
39    <td width="62%"><p><code><font face="Verdana, Arial, Helvetica, sans-serif">Value</font></code></p></td>
40    <td width="10%">Undefinable</td>
41  </tr>
42  <tr>
43    <td width="28%" class="table_cells"><code>__STDC__</code></td>
44    <td width="62%" class="table_cells"><p> 1 (a decimal constant)</p></td>
45    <td width="10%" class="table_cells"><p>yes</p></td>
46  </tr>
47  <tr>
48    <td width="28%" class="table_cells"><code>__cplusplus</code></td>
49    <td width="62%" class="table_cells"> <p>199711L (a decimal constant), this
50        is defined in C++ mode only (C99 mode is off)<br>
51        In the C++0x mode this decimal constant is guaranteed to be larger than
52        199711L (the concrete value is to be defined by the C++ committee).</p></td>
53    <td width="10%" class="table_cells"><p>no</p></td>
54  </tr>
55  <tr>
56    <td class="table_cells"><code>__LINE__</code></td>
57    <td class="table_cells"><p>The line number of the current source line (a decimal
58        constant)</p></td>
59    <td class="table_cells"><p>no</p></td>
60  </tr>
61  <tr>
62    <td class="table_cells"><code>__FILE__</code></td>
63    <td class="table_cells"><p>The presumed name of the source file (a character string literal)</p></td>
64    <td class="table_cells"><p>no</p></td>
65  </tr>
66  <tr>
67    <td class="table_cells"><code>__BASE_FILE__</code></td>
68    <td class="table_cells"><p> This macro expands to the name of the main input file (a character string literal). This is the source file that was specified during construction of the <a href="class_reference_context.html"><tt>wave::context</tt></a> template.</p></td>
69    <td class="table_cells"><p>no</p></td>
70  </tr>
71  <tr>
72    <td class="table_cells"><code>__DATE__</code></td>
73    <td class="table_cells"><p>The date of translation of the source file (a character
74        string literal of the form<br>
75        &quot;Mmm dd yyyy&quot;, where the names of the months are the same as
76        those generated by the asctime function, and the first character of dd
77        is a space character if the value is less than 10). </p></td>
78    <td class="table_cells"><p>no</p></td>
79  </tr>
80  <tr>
81    <td class="table_cells"><code>__TIME__</code></td>
82    <td class="table_cells"><p>The time of translation of the source file (a character
83        string literal of the form &quot;hh:mm:ss&quot;<br>
84        as in the time generated by the asctime function).</p></td>
85    <td class="table_cells"><p>no</p></td>
86  </tr>
87  <tr>
88    <td class="table_cells"><code>__INCLUDE_LEVEL__</code></td>
89    <td class="table_cells"><p>A decimal integer constant that represents the
90        depth of nesting in include <br>
91        files. The value of this macro is incremented on every <tt>#include</tt>
92        directive <br>
93        and decremented at every end of file. </p></td>
94    <td class="table_cells"><p>no</p></td>
95  </tr>
96  <tr>
97    <td class="table_cells"><code>__WAVE__</code><br> <code>__SPIRIT_PP__</code></td>
98    <td class="table_cells"><p>The version of the driver program (a hexadecinal
99        constant of the form 0xMmrr, where <span class="literal">'M'</span> is
100        the major version number, <span class="literal">'m'</span> the minor version
101        number and <span class="literal">'rr'</span> the release number).</p></td>
102    <td class="table_cells"><p>yes</p></td>
103  </tr>
104  <tr>
105    <td class="table_cells"><code>__WAVE_VERSION__</code><br> <code>__SPIRIT_PP_VERSION__</code></td>
106    <td class="table_cells"><p>The full version number of the driver program (a
107        hexadecimal constant of the form 0xMmrrbbbb, where <span class="literal">'M'</span>
108        is the major version number, <span class="literal">'m'</span> the minor
109        version number, <span class="literal">'rr'</span> the release number and
110        <span class="literal">'bbbb'</span> the build number).</p></td>
111    <td class="table_cells"><p>yes</p></td>
112  </tr>
113  <tr>
114    <td class="table_cells"><code>__WAVE_VERSION_STR__</code><br> <code>__SPIRIT_PP_VERSION_STR__</code></td>
115    <td class="table_cells"><p>The full version number of the driver program (a
116        character string literal of the form <span class="string">&quot;M.m.rr.bbbb&quot;</span>,
117        where <span class="literal">'M'</span> is the major version number, <span class="literal">'m'</span>
118        the minor version number, <span class="literal">'rr'</span> the release
119        number and <span class="literal">'bbbb'</span> the build number).</p></td>
120    <td class="table_cells"><p>yes</p></td>
121  </tr>
122  <tr>
123    <td class="table_cells"><code>__STDC_VERSION__</code></td>
124    <td class="table_cells"><p>199901L (a decimal constant), this is defined in C99 and C++0x modes only</p></td>
125    <td class="table_cells"><p>yes</p></td>
126  </tr>
127  <tr>
128    <td class="table_cells"><code>__STDC_HOSTED__</code></td>
129    <td class="table_cells"><p>0L (a decimal constant), this is defined in C99 and C++0x modes only</p></td>
130    <td class="table_cells"><p>yes</p></td>
131  </tr>
132  <tr>
133    <td class="table_cells"><code>__WAVE_HAS_VARIADICS__</code></td>
134    <td class="table_cells"><p>1 (a decimal constant), this is defined in C++
135        mode only if variadics and placemarkers are enabled, and it is defined
136        in the C99, C++0x, and C++2A modes</p></td>
137    <td class="table_cells"><p>no</p></td>
138  </tr>
139  <tr>
140    <td class="table_cells"><code>__WAVE_CONFIG__</code></td>
141    <td class="table_cells"><p>The configuration information used during the compilation of the Wave library. This is a hexadecimal constant, where each of the bits represents a certain configuration option enabled/disabled during the compilation. You can query this contant using the following macro constants available in the <tt>wave_config_constant.hpp</tt> file:</p>
142      <blockquote>
143              <p> <tt>BOOST_WAVE_SUPPORT_VARIADICS_PLACEMARKERS_CONFIG</tt> (value: <span class="literal">0x1</span>) <br>
144              Variadics and placemarkers are supported</p>
145        <p><tt>BOOST_WAVE_SUPPORT_PRAGMA_ONCE_CONFIG</tt> (value: <span class="literal">0x02</span>)<br>
146          <span class="preprocessor">#pragma once</span> (<span class="keyword">_Pragma(once))</span> is supported </p>
147          <p><tt>BOOST_WAVE_SUPPORT_MS_EXTENSIONS_CONFIG</tt> (value: <span class="literal">0x04</span>)<br>MS Extensions are supported </p>
148          <p><tt>BOOST_WAVE_PREPROCESS_PRAGMA_BODY_CONFIG</tt> (value: <span class="literal">0x08</span>)<br>
149          The bodies of <span class="preprocessor">#pragma</span> statements (operator <span class="keyword">_Pragma</span>) will be preprocessed
150          <p><tt>BOOST_WAVE_USE_STRICT_LEXER_CONFIG</tt> (value: <span class="literal">0x10</span>)<br>
151            The C/C++ lexers recognize the
152      strict C99/C++ basic source character set. If it is not defined or defined
153    to zero, the lexers recognize the <span class="string">'$'</span> character as part of identifiers.</p>
154      </blockquote>
155      <p><br>
156        </p></td>
157    <td class="table_cells"><p>yes</p></td>
158  </tr>
159</table>
160<br>
161<table border="0">
162  <tr>
163    <td width="10"></td>
164    <td width="30"><a href="../index.html"><img src="theme/u_arr.gif" border="0"></a></td>
165    <td width="30"><a href="class_reference_inptpolcy.html"><img src="theme/l_arr.gif" width="20" height="19" border="0"></a></td>
166    <td width="30"><a href="macro_expansion_process.html"><img src="theme/r_arr.gif" border="0"></a></td>
167  </tr>
168</table>
169<hr size="1">
170<p class="copyright">Copyright &copy; 2003-2011 Hartmut Kaiser<br>
171  <br>
172  <font size="2">Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </font> </p>
173<span class="updated"></span>
174<p class="copyright"><span class="updated">Last updated:
175  <!-- #BeginDate format:fcAm1m -->Sunday, January 9, 2011  16:12<!-- #EndDate -->
176  </span></p>
177</body>
178</html>
179