autodoc.git
/
traditional_manual
/
chapter_21.html
version
»
Context lines:
10
20
40
80
file
none
3
autodoc.git/traditional_manual/chapter_21.html:5:
<dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Pike has a builtin C-style preprocessor. It works similar to the ANSI-C preprocessor but has a few extra features. These and the default set of preprocessor macros are described here.</p> <p> The preprocessor is usually accessed via <code>MasterObject->compile_file()</code> or <code>MasterObject->compile_string()</code>, but may be accessed directly by calling <code>cpp()</code>.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>compile()</code>, <code>cpp()</code>, <code>CompilerEnvironment.CPP</code></p>
-
</dd></dl></dd></dl><dl><dt><h2 class='header'>Namespace <b class='ms datatype'>predef::</b></h2>
+
</dd></dl>
+
+
<
hr
/
>
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Directive</span>
+
<span class='homogen--name'><b>#elifdef</b></span><br>
+
<span class='homogen--type'>Directive</span>
+
<span class='homogen--name'><b>#elseifdef</b></span><br>
+
</dt>
+
<
dd><
p><code class='directive'>#elifdef<
/
code><br>
+
<code class='directive'>#elseifdef</code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>These work as a combined <code>#else</code> and <code>#ifdef</code> without
+
adding an extra level of nesting.</p>
+
</dd>
+
<dt class='head--doc'>Example</dt>
+
<dd class='example'><pre><p>The following two are equivalent:</p>
+
<pre><code>#ifdef A
+
// Code for A.
+
#else
+
#ifdef B
+
// Code for B.
+
#else
+
#ifdef C
+
// Code for C.
+
#else
+
// Code for D.
+
#endif
+
#endif
+
#endif</code></pre><p>And</p>
+
<pre><code>#ifdef A
+
// Code for A.
+
#elifdef B
+
// Code for B.
+
#elseifdef C
+
// Code for C.
+
#else
+
// Code for D.
+
#endif</code></pre>
+
</pre></dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>#if</code>, <code>#ifdef</code>, <code>#else</code>, <code>defined()</code>, <code>constant()</code></p>
+
</dd></
dl>
+
+
+
<
hr />
+
<
dl
class='group--doc'
>
+
<dt
class='head--type'
><
span class='homogen--type'>Directive</span>
+
<span class='homogen--name'><b>#elifndef</b></span><br>
+
<span class='homogen--type'>Directive</span>
+
<span class='homogen--name'><b>#elseifndef</b></span><br>
+
</dt>
+
<dd><p><code class='directive'>#elifndef</code><br>
+
<code class='directive'>#elseifndef</code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>These work as a combined <code>#else</code> and <code>#ifndef</code> without
+
adding an extra level of nesting.</p>
+
</dd>
+
<dt class='head--doc'>Example</dt>
+
<dd class='example'><pre><p>The following two are equivalent:</p>
+
<pre><code>#ifndef A
+
// Code for not A.
+
#else
+
#ifndef B
+
// Code for not B.
+
#else
+
#ifdef C
+
// Code for not C.
+
#else
+
// Code for ABC.
+
#endif
+
#endif
+
#endif</code></pre><p>And</p>
+
<pre><code>#ifndef A
+
// Code for not A.
+
#elifndef B
+
// Code for not B.
+
#elseifndef C
+
// Code for not C.
+
#else
+
// Code for ABC.
+
#endif</code></pre>
+
</pre></dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>#if</code>, <code>#ifdef</code>, <code>#else</code>, <code>defined()</code>, <code>constant()</code></p>
+
</dd></dl>
+
</dd></dl><dl><dt><
h2 class='header'>Namespace <b class='ms datatype'>predef::</b></h2>
</dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>This is the default namespace and contains lots of global symbols.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Constant</span> <span class='homogen--name'><b>FUSE_MAJOR_VERSION</b></span><br> <span class='homogen--type'>Constant</span>