autodoc.git
/
traditional_manual
/
chapter_21.html
version
»
Context lines:
10
20
40
80
file
none
3
autodoc.git/traditional_manual/chapter_21.html:262:
and thus does not affect the run-time.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>cpp::static_assert</code></p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>__automap__</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>array</code> <b><span class='method'>__automap__</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>fun</code>, <code class='datatype'>mixed</code> ... <code class='argument'>args</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Automap execution function.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-fun'></span>Parameter <code class='parameter'>fun</code></dt>
+
<dd></dd><dd class='body--doc'><p>Function to call for each of the mapped arguments.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-args'></span>Parameter <code class='parameter'>args</code></dt>
+
<dd></dd><dd class='body--doc'><p>Arguments for <code>fun</code>. Either</p>
+
<table class='box'><tr><td><code><code class='object unresolved'>Builtin.automap_marker</code></code></td><td><p>Wrapper for an array to loop over. All of the
+
arrays will be looped over in parallel.</p>
+
</td></tr>
+
<tr><td><code><code class='datatype'>mixed</code></code></td><td><p>All other arguments will be held constant during
+
the automap, and sent as is to <code>fun</code>.</p>
+
</td></tr>
+
</table>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>This function is used by the compiler to implement the
+
automap syntax, and should in normal circumstances never
+
be used directly.</p>
+
<p> It may however show up during module dumping and in
+
backtraces.</p>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>It is an error not to have any <code>Builtin.automap_marker</code>s
+
in <code>args</code>.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>Builtin.automap_marker</code>, <code>map()</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>__empty_program</b></span> </dt> <dd><p><code><code class='datatype'>program</code> <b><span class='method'>__empty_program</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>line</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>file</code><b>)</b></code></p></dd> </dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>__handle_sprintf_format</b></span>
autodoc.git/traditional_manual/chapter_21.html:2458:
<dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Check if a path <code>p</code> is fully qualified (ie not relative).</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns 1 if the path is absolute, 0 otherwise.</p> </dd></dl> <hr /> <dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Constant</span>
+
<span class='homogen--name'><b>is_sql_null</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> <code class='constant'>is_sql_null</code></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>SQL Null marker.</p>
+
</dd>
+
<dt class='head--doc'>Deprecated</dt>
+
<dd class='body--doc'><p>Replaced by <code>is_val_null</code>.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Constant</span>
+
<span class='homogen--name'><b>is_val_null</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> <code class='constant'>is_val_null</code></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Nonzero recognition constant.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
<dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>kill</b></span> </dt> <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>kill</span>(</b><code class='datatype'>int</code> <code class='argument'>pid</code>, <code class='datatype'>int</code> <code class='argument'>signal</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Send a signal to another process.</p> <p> Some signals and their supposed purpose:</p> <table class='box'><tr><td><code><code class='key'>SIGHUP</code></code></td><td><p>Hang-up, sent to process when user logs out.</p> </td></tr>
autodoc.git/traditional_manual/chapter_21.html:4949:
<hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Constant</span> <span class='homogen--name'><b>false</b></span><br> <span class='homogen--type'>Constant</span> <span class='homogen--name'><b>true</b></span><br> </dt> <dd><p><code><code class='datatype'>constant</code> <code class='constant'>false</code></code><br> <code><code class='datatype'>constant</code> <code class='constant'>true</code></code></p></dd> </dl>
-
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Bootstring</b></h2>
-
</dt><dd><dl class='group--doc'>
-
<dt class='head--doc'>Description</dt>
-
<dd class='body--doc'><p>This class implements the "Bootstring" string transcoder described in
-
<a href='ftp://ftp.rfc-editor.org/in-notes/rfc3492.txt'>ftp://ftp.rfc-editor.org/in-notes/rfc3492.txt</a>.</p>
-
</dd></dl>
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>create</b></span>
-
</dt>
-
<dd><p><code><span class='object'>Bootstring</span> <span class='class'>Bootstring</span><b>(</b><code class='datatype'>int</code> <code class='argument'>base</code>, <code class='datatype'>int</code> <code class='argument'>tmin</code>, <code class='datatype'>int</code> <code class='argument'>tmax</code>, <code class='datatype'>int</code> <code class='argument'>skew</code>, <code class='datatype'>int</code> <code class='argument'>damp</code>, <code class='datatype'>int</code> <code class='argument'>initial_bias</code>, <code class='datatype'>int</code> <code class='argument'>initial_n</code>, <code class='datatype'>int</code> <code class='argument'>delim</code>, <code class='datatype'>string</code> <code class='argument'>digits</code><b>)</b></code></p></dd>
-
-
<dt class='head--doc'>Description</dt>
-
<dd class='body--doc'><p>Creates a Bootstring transcoder instance using the specified parameters.</p>
-
</dd>
-
<dt class='head--doc'><span id='p-base'></span>Parameter <code class='parameter'>base</code></dt>
-
<dd></dd><dd class='body--doc'><p>The base used by the variable-length integers.</p>
-
</dd>
-
<dt class='head--doc'><span id='p-tmin'></span>Parameter <code class='parameter'>tmin</code></dt>
-
<dd></dd><dd class='body--doc'><p>The minimum threshold digit value for the variable-length integers.
-
Must be >=0 and <= tmax.</p>
-
</dd>
-
<dt class='head--doc'><span id='p-tmax'></span>Parameter <code class='parameter'>tmax</code></dt>
-
<dd></dd><dd class='body--doc'><p>The maximum threshold digit value for the variable-length integers.
-
Must be <= base-1.</p>
-
</dd>
-
<dt class='head--doc'><span id='p-skew'></span>Parameter <code class='parameter'>skew</code></dt>
-
<dd></dd><dd class='body--doc'><p>The skew term for the bias adapation. Must be >= 1.</p>
-
</dd>
-
<dt class='head--doc'><span id='p-damp'></span>Parameter <code class='parameter'>damp</code></dt>
-
<dd></dd><dd class='body--doc'><p>The damping factor for the bias adaption. Must be >= 2.</p>
-
</dd>
-
<dt class='head--doc'><span id='p-initial_bias'></span>Parameter <code class='parameter'>initial_bias</code></dt>
-
<dd></dd><dd class='body--doc'><p>The initial bias for the variable-length integer thresholding.
-
initial_bias % base must be <= base - tmin.</p>
-
</dd>
-
<dt class='head--doc'><span id='p-initial_n'></span>Parameter <code class='parameter'>initial_n</code></dt>
-
<dd></dd><dd class='body--doc'><p>The first code point outside the "basic" set of code points.</p>
-
</dd>
-
<dt class='head--doc'><span id='p-delim'></span>Parameter <code class='parameter'>delim</code></dt>
-
<dd></dd><dd class='body--doc'><p>The "basic" code point used as the delimiter.</p>
-
</dd>
-
<dt class='head--doc'><span id='p-digits'></span>Parameter <code class='parameter'>digits</code></dt>
-
<dd></dd><dd class='body--doc'><p>The "basic" code points used as digits. The length of the string
-
should be the same as the base parameter.</p>
-
</dd></dl>
-
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>decode</b></span>
-
</dt>
-
<dd><p><code><code class='datatype'>string</code> <b><span class='method'>decode</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
-
-
<dt class='head--doc'>Description</dt>
-
<dd class='body--doc'><p>Decodes a Bootstring encoded string of "basic" code points back
-
to the original string space.</p>
-
</dd></dl>
-
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>encode</b></span>
-
</dt>
-
<dd><p><code><code class='datatype'>string</code> <b><span class='method'>encode</span>(</b><code class='datatype'>string</code> <code class='argument'>s</code><b>)</b></code></p></dd>
-
-
<dt class='head--doc'>Description</dt>
-
<dd class='body--doc'><p>Encodes a string using Bootstring encoding into a string constisting
-
only of "basic" code points (< initial_n).</p>
-
</dd></dl>
+
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Codec</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>An <code>Encoder</code> and a <code>Decoder</code> lumped into a single instance which can be used for both encoding and decoding.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Inherit</span>
autodoc.git/traditional_manual/chapter_21.html:8889:
<dd><p><code><code class='datatype'>string(8bit)</code> <b><span class='method'>random_string</span>(</b><code class='datatype'>int(0..)</code> <code class='argument'>len</code><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Return a string of random data from the system randomness pool.</p> <p> On POSIX platforms this reads random data from <tt>/dev/urandom</tt> on other platforms it may use other methods.</p> </dd> <dt class='head--doc'>Throws</dt> <dd class='body--doc'><p>May throw errors on unexpected state.</p> </dd></dl>
-
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Replace</b></h2>
-
</dt><dd><dl class='group--doc'>
-
<dt class='head--doc'>Description</dt>
-
<dd class='body--doc'><p>This is a "compiled" version of the <code>replace</code> function applied on
-
a string, with more than one replace string. The replace strings
-
are given to the create method as a <i>from</i> and <i>to</i> array
-
and are then analyzed. The <code class='expr'>`()</code> is then called with a
-
string and the replace rules in the Replace object will be
-
applied. The Replace object is used internally by the Pike
-
optimizer and need not be used manually.</p>
-
</dd></dl>
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>_decode</b></span>
-
</dt>
-
<dd><p><code><span class='class'>Replace</span> <b><span class='method'>decode_value</span>(</b><span class='datatype'>string(8bit)</span> <span class='argument'>data</span>)</b></code></p></dd>
-
</dl>
-
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>_encode</b></span>
-
</dt>
-
<dd><p><code><span class='datatype'>string(8bit)</span> <b><span class='method'>encode_value</span>(</b><span class='class'>Replace</span> <span class='argument'>data</span>)</b></code></p></dd>
-
</dl>
-
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>`()</b></span>
-
</dt>
-
<dd><p><code><code class='datatype'>string</code> res = <code class='class'>Replace()</code>()</code></p></dd>
-
</dl>
-
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>create</b></span>
-
</dt>
-
<dd><p><code><span class='object'>Replace</span> <span class='class'>Replace</span><b>(</b><b>)</b></code><br>
-
<code><span class='object'>Replace</span> <span class='class'>Replace</span><b>(</b><code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>string</code>)<b>)</b></code><br>
-
<code><span class='object'>Replace</span> <span class='class'>Replace</span><b>(</b><code class='datatype'>array</code>(<code class='datatype'>string</code>) <code class='argument'>from</code>, <code class='datatype'>array</code>(<code class='datatype'>string</code>)|<code class='datatype'>string</code> <code class='argument'>to</code><b>)</b></code></p></dd>
-
</dl>
+
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Reporter</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>API for reporting parse errors and similar.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>report</b></span>
autodoc.git/traditional_manual/chapter_21.html:9016:
<span class='homogen--type'>Constant</span> <span class='homogen--name'><b>ERROR</b></span><br> <span class='homogen--type'>Constant</span> <span class='homogen--name'><b>FATAL</b></span><br> </dt> <dd><p><code><code class='datatype'>constant</code> Reporter.<code class='constant'>NOTICE</code></code><br> <code><code class='datatype'>constant</code> Reporter.<code class='constant'>WARNING</code></code><br> <code><code class='datatype'>constant</code> Reporter.<code class='constant'>ERROR</code></code><br> <code><code class='datatype'>constant</code> Reporter.<code class='constant'>FATAL</code></code></p></dd> </dl>
-
</dd></dl></dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>
SingleReplace</b></h2>
-
</dt><dd><dl class='group--doc'>
-
<dt class='head--doc'>Description</dt>
-
<dd class='body--doc'><p>This is a "compiled" version of the <code>replace</code> function applied on
-
a string, with just one replace string. The replace strings are
-
given to the create method as a <i>from</i> and <i>tom</i> string and
-
are then analyzed. The <code class='expr'>`()</code> is then called with a string
-
and the replace rule in the Replace object will be applied. The
-
Replace object is used internally by the Pike optimizer and need
-
not be used manually.</p>
-
</dd></dl>
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>
_
decode</b></span>
-
</dt>
-
<dd><p><code><span class='class'>SingleReplace</span> <b><span class='method'>decode
_
value</span>(</b><span class='datatype'>string(8bit)</span> <span class='argument'>data</span>)</b></code></p></dd>
-
</dl>
-
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>_encode</b></span>
-
</dt>
-
<dd><p><code><span class='datatype'>string(8bit)</span> <b><span class='method'>encode_value</span>(</b><span class='class'>SingleReplace</span> <span class='argument'>data</span>)</b></code></p></dd>
-
</dl>
-
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>`()</b></span>
-
</dt>
-
<dd><p><code><code class='datatype'>string</code> res = <code class='class'>SingleReplace()</code>()</code></p></dd>
-
</dl>
-
-
-
<hr />
-
<dl class='group--doc'>
-
<dt class='head--type'><span class='homogen--type'>Method</span>
-
<span class='homogen--name'><b>create</b></span>
-
</dt>
-
<dd><p><code><span class='object'>SingleReplace</span> <span class='class'>SingleReplace</span><b>(</b><code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>from</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>to</code><b>)</b></code></p></dd>
-
-
<dt class='head--doc'>Note</dt>
-
<dd class='body--doc'><p>May be called with either zero or two arguments.</p>
-
</dd></dl>
-
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>__
dirnode</b></h2>
+
</dd></dl></dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>__dirnode</b></h2>
</dt><dd> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Inherit</span> <span class='homogen--name'><b>dirnode</b></span> </dt> <dd><p><code><span class='datatype'>inherit MasterObject.dirnode</span> : <span class='inherit'>dirnode</span></code></p></dd> </dl> </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>__joinnode</b></h2>
autodoc.git/traditional_manual/chapter_21.html:9855:
<span class='homogen--name'><b>ANY</b></span> </dt> <dd><p><code><span class='datatype'>inherit .module.ANY</span> : <span class='inherit'>ANY</span></code></p></dd> </dl> </dd></dl></dd></dl></dd></dl><dl><dt><h2 class='header'>Module <b class='ms datatype'>Builtin</b></h2> </dt><dd> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>_get_setter</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>function</code>(<code class='object unresolved'>mixed_void</code>:<code class='datatype void'>void</code>) <b><span class='method'>_get_setter</span>(</b><code class='datatype'>object</code> <code class='argument'>o</code>, <code class='datatype'>string</code> <code class='argument'>varname</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Get a setter for the variable named <code>varname</code> in object <code>o</code>.</p>
+
</dd>
+
<dt class='head--doc'>Returns</dt>
+
<dd class='body--doc'><p>Returns a <code>Setter()->`()()</code> for the variable if it exists,
+
and <code class='expr'>UNDEFINED</code> otherwise.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>object_variablep()</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
<span class='homogen--name'><b>_take_over_initial_predefines</b></span> </dt> <dd><p><code><code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>mixed</code>) <b><span class='method'>_take_over_initial_predefines</span>(</b><b>)</b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Returns a mapping containing the set of predefined macros. These are typically the macros defined via the <tt>-D</tt> option when starting Pike.</p> <p> This function is typically called by the <code>MasterObject</code> at initialization, and may only be called once. After it has been called, <code>cpp()</code> will start calling <code>CompilationHandler->get_predefines()</code> to retrieve the set of predefined macros.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p>[cpp()], <code>CompilationHandler->get_predefines()</code></p> </dd></dl>
-
<
/dd></
dl><
dl><
dt><h2 class='header'>
Module
<b class='ms datatype'>
Cache
</b></h2>
+
<dl><dt><h2 class='header'>
Class
<b class='ms datatype'>
Builtin.Null
</b></h2>
</dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt>
-
+
<dd class='body--doc'><p>This class is used to implement the low-level aspects of <code>Val.Null</code>.</p>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>This class should typically not be used directly. Use
+
<code>Val.Null</code> instead.</p>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>This class was previously available as <code>Sql.Null</code>. Any such use
+
should be replaced with <code>Val.Null</code>.</p>
+
</dd>
+
<dt class='head--doc'>Deprecated</dt>
+
<dd class='body--doc'><p>Replaced by <code>Val.Null</code>.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>Val.Null</code>, <code>Val.null</code></p>
+
</dd></dl>
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>encode_json</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>string</code> <b><span class='method'>encode_json</span>(</b><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Defined for use with <code>Standards.JSON.encode</code>, so that it
+
formats NULL as <code class='expr'>null</code>.</p>
+
</dd></dl>
+
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Builtin.Setter</b></h2>
+
</dt><dd><dl class='group--doc'>
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Internal class for implementing setters.</p>
+
<p> This class is used by <code>_get_setter()</code>.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>_get_setter()</code></p>
+
</dd></dl>
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>`()</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>void</code> res = <code class='class'>Builtin.Setter()</code>()</code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Set the variable for the setter to <code>val</code>.</p>
+
<p> This is the function returned by <code>_get_setter()</code>.</p>
+
</dd></dl>
+
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Builtin.automap_marker</b></h2>
+
</dt><dd><dl class='group--doc'>
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>This is an internal class used by <code>__automap__()</code>.</p>
+
<p> It may show up during module dumping or in backtraces
+
and the like.</p>
+
<p> It should in normal circumstances never be used directly.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>__automap__()</code>, <code>map()</code></p>
+
</dd></dl>
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>create</b></span>
+
</dt>
+
<dd><p><code><span class='object'>Builtin.automap_marker</span> <span class='class'>Builtin.automap_marker</span><b>(</b><code class='datatype'>array</code> <code class='argument'>arr</code>, <code class='datatype'>int</code> <code class='argument'>depth</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'><span id='p-arr'></span>Parameter <code class='parameter'>arr</code></dt>
+
<dd></dd><dd class='body--doc'><p>Array that <code>__automap__()</code> is to loop over.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-depth'></span>Parameter <code class='parameter'>depth</code></dt>
+
<dd></dd><dd class='body--doc'><p>Recursion depth of <code>arr</code> where the loop will be.</p>
+
</dd></dl>
+
</dd></dl></dd></dl><dl><dt><h2 class='header'>Module <b class='ms datatype'>Cache</b></h2>
+
</dt><dd><dl class='group--doc'>
+
<dt class='head--doc'>Description</dt>
<dd class='body--doc'><p>Common Caching implementation</p> <p> This module serves as a front-end to different kinds of caching systems. It uses two helper objects to actually store data, and to determine expiration policies.</p> <p> To create a new cache, do <code>Cache.cache</code>( <code>Cache.Storage.Base</code> storage_type, <code>Cache.Policy.Base</code> expiration_policy )</p> <p> The cache store instances of <code>Cache.Data</code>.</p> </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Cache.Data</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Base stored object for the cache system.</p>
autodoc.git/traditional_manual/chapter_21.html:32061:
<hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>`[]</b></span> </dt> <dd><p><code><code class='datatype'>mixed</code> res = <code class='class'>Pike.LiveBacktraceFrame()</code>[ <code class='class'>index</code> ]</code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>The BacktraceFrame object can be indexed as an array.</p> </dd></dl>
+
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Pike.MasterCodec</b></h2>
+
</dt><dd><dl class='group--doc'>
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>This is a bare-bones codec that is used when loading a dumped master.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>Codec</code></p>
+
</dd></dl>
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>decode_object</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>object</code> <b><span class='method'>decode_object</span>(</b><code class='datatype'>object</code> <code class='argument'>obj</code>, <code class='datatype'>mixed</code> <code class='argument'>data</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Calls <code class='expr'>obj->_decode(<code>data</code>)</code>.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>functionof</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>functionof</span>(</b><code class='datatype'>mixed</code> <code class='argument'>symbol</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Look up a function in <code>all_constants()</code>.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>objectof</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>objectof</span>(</b><code class='datatype'>mixed</code> <code class='argument'>symbol</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Look up an object in <code>all_constants()</code>.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>programof</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>programof</span>(</b><code class='datatype'>mixed</code> <code class='argument'>symbol</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Look up a program in <code>all_constants()</code>.</p>
+
</dd></dl>
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Pike.PollBackend</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p><code>Backend</code> implemented with <tt>poll(2)</tt> (SVr4, POSIX).</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>Backend</code></p> </dd></dl> <hr />
autodoc.git/traditional_manual/chapter_21.html:40881:
</dd></dl></dd></dl></dd></dl><dl><dt><h2 class='header'>Module <b class='ms datatype'>Serializer</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Serialization interface.</p> <p> This module contains APIs to simplify serialization and deserialization of objects.</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>serialize()</code>, <code>deserialize()</code></p>
-
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Serializer.Encodeable</b></h2>
+
</dd></dl>
+
+
<
hr />
+
<
dl
class='group--doc'
>
+
<dt
class='head--type'
><
span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>deserialize</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>deserialize</span>(</b><code class='datatype'>object</code> <code class='argument'>o</code>, <code class='datatype'>function</code>(<code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>), <code class='datatype'>string</code>, <code class='type'>type</code>:<code class='datatype'>void</code>) <code class='argument'>deserializer</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Call <code>lfun::_deserialize()</code> in <code>o</code>.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>serialize()</code>, <code>lfun::_deserialize()</code>,
+
<code>Serializable()->_deserialize()</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>serialize</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>serialize</span>(</b><code class='datatype'>object</code> <code class='argument'>o</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>, <code class='type'>type</code>:<code class='datatype'>void</code>) <code class='argument'>serializer</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Call <code>lfun::_serialize()</code> in <code>o</code>.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>deserialize()</code>, <code>lfun::_serialize()</code>,
+
<code>Serializable()->_serialize()</code></p>
+
</dd></dl>
+
<dl><dt><
h2 class='header'>Class <b class='ms datatype'>Serializer.Encodeable</b></h2>
</dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Simple base for an object that can be serialized by encode_value. Also supports decoding.</p> <p> Uses <code>Serializable</code> as it's base.</p> <p> Simply inherit this class in the classes you want to have encoded and decoded.</p> <p> Note that it's not automatically recursive, objects assigned to variables in this object have to be Encodeable on their own for encode to work.</p>
autodoc.git/traditional_manual/chapter_21.html:40934:
</dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Inherit</span> <span class='homogen--name'><b>Serializable</b></span> </dt> <dd><p><code><span class='datatype'>inherit Serializable</span> : <span class='inherit'>Serializable</span></code></p></dd> </dl>
+
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Serializer.Serializable</b></h2>
+
</dt><dd><dl class='group--doc'>
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>The base class for serializable objects.</p>
+
<p> Inherit this class in classes that need to be serializable.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>Serializer.serialize()</code>, <code>Serializer.deserialize()</code></p>
+
</dd></dl>
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>_deserialize</b></span>
+
</dt>
+
<dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>_deserialize</span>(</b><code class='datatype'>object</code> <code class='argument'>o</code>, <code class='datatype'>function</code>(<code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>), <code class='datatype'>string</code>, <code class='type'>type</code>:<code class='datatype'>void</code>) <code class='argument'>deserializer</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Dispatch function for deserialization.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-o'></span>Parameter <code class='parameter'>o</code></dt>
+
<dd></dd><dd class='body--doc'><p>Object to serialize. Always a context of the current object.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-deserializer'></span>Parameter <code class='parameter'>deserializer</code></dt>
+
<dd></dd><dd class='body--doc'><p>Function to typically be called once for every variable
+
in the inheriting class.</p>
+
<p> This function calls <code>_deserialize_variable()</code> once
+
for every variable in the inheriting class, which
+
in turn will call <code>deserializer</code> with the arguments:</p>
+
<dl class='group--doc'><dt>Argument 1</dt>
+
<dd><p>The setter for the variable.</p>
+
</dd>
+
<dt>Argument 2</dt>
+
<dd><p>The name of the variable.</p>
+
</dd>
+
<dt>Argument 3</dt>
+
<dd><p>The declared type of the variable.</p>
+
</dd>
+
</dl>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>The symbols will be listed in the order they were defined
+
in the class.</p>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>This function is typically called via <code>Serializer.deserialize()</code>.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>Serializer.deserialize()</code>, <code>_deserialize_variable()</code>,
+
<code>_serialize()</code>, <code>Builtin.Setter</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>_deserialize_variable</b></span>
+
</dt>
+
<dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>_deserialize_variable</span>(</b><code class='datatype'>function</code>(<code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>), <code class='datatype'>string</code>, <code class='type'>type</code>:<code class='datatype'>void</code>) <code class='argument'>deserializer</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <code class='argument'>setter</code>, <code class='datatype'>string</code> <code class='argument'>symbol</code>, <code class='type'>type</code> <code class='argument'>symbol_type</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Default deserialization function for variables.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-deserializer'></span>Parameter <code class='parameter'>deserializer</code></dt>
+
<dd></dd><dd class='body--doc'><p>Function to be called in turn.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-setter'></span>Parameter <code class='parameter'>setter</code></dt>
+
<dd></dd><dd class='body--doc'><p>Function that sets the value of the variable.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-symbol'></span>Parameter <code class='parameter'>symbol</code></dt>
+
<dd></dd><dd class='body--doc'><p>Variable name.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-symbol_type'></span>Parameter <code class='parameter'>symbol_type</code></dt>
+
<dd></dd><dd class='body--doc'><p>Type of the variable.</p>
+
<p> This function is typically called from <code>_deserialize()</code>, and does
+
something like:</p>
+
<pre><code><span class='lang'>if</span> <span class='delim'>(</span>object_typep<span class='delim'>(</span>symbol_type<span class='delim'>)</span><span class='delim'>)</span> <span class='delim'>{</span>
+
<span class='type'>program</span> p <span class='delim'>=</span> program_from_type<span class='delim'>(</span>symbol_type<span class='delim'>)</span><span class='delim'>;</span>
+
<span class='lang'>if</span> <span class='delim'>(</span>p && <span class='delim'>!</span>needs_parent<span class='delim'>(</span>p<span class='delim'>)</span> && is_deserializable<span class='delim'>(</span>p<span class='delim'>)</span><span class='delim'>)</span> <span class='delim'>{</span>
+
<span class='type'>object</span> value <span class='delim'>=</span> p<span class='delim'>(</span><span class='delim'>)</span><span class='delim'>;</span>
+
setter<span class='delim'>(</span>value<span class='delim'>)</span><span class='delim'>;</span>
+
<span class='ns'>Serializer</span><span class='delim'>.</span>deserialize<span class='delim'>(</span>value<span class='delim'>,</span> deserializer<span class='delim'>)</span><span class='delim'>;</span>
+
<span class='lang'>return</span><span class='delim'>;</span>
+
<span class='delim'>}</span>
+
<span class='delim'>}</span>
+
deserializer<span class='delim'>(</span>setter<span class='delim'>,</span> symbol<span class='delim'>,</span> symbol_type<span class='delim'>)</span><span class='delim'>;</span>
+
</code></pre>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>The above takes care of the most common cases, but</p>
+
<ul>
+
<li><p>Does not support anonymous object types.</p>
+
</li><li><p>Does not support objects needing a parent.</p>
+
</li><li><p>Does not support non-serializable objects.</p>
+
</li><li><p>Selects one of the object types in case of a complex
+
<code>symbol_type</code>. The selected type is NOT deterministic
+
in case there are multiple choices that satisfy the above.</p>
+
</li><li><p>Is likely to throw errors if <tt>p()</tt> requires arguments.</p>
+
</li></ul><p>These issues can all be solved by overloading this function.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>_deserialize()</code>, <code>_serialize_variable()</code>, <code>Builtin.Setter</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>_serialize</b></span>
+
</dt>
+
<dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>_serialize</span>(</b><code class='datatype'>object</code> <code class='argument'>o</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>, <code class='type'>type</code>:<code class='datatype'>void</code>) <code class='argument'>serializer</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Dispatch function for serialization.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-o'></span>Parameter <code class='parameter'>o</code></dt>
+
<dd></dd><dd class='body--doc'><p>Object to serialize. Always a context of the current object.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-serializer'></span>Parameter <code class='parameter'>serializer</code></dt>
+
<dd></dd><dd class='body--doc'><p>Function to typically be called once for every variable
+
in the inheriting class.</p>
+
<p> This function calls <code>_serialize_variable()</code> once
+
for every variable in the inheriting class, which
+
in turn will call <code>serializer</code> with the arguments:</p>
+
<dl class='group--doc'><dt>Argument 1</dt>
+
<dd><p>The value of the variable.</p>
+
</dd>
+
<dt>Argument 2</dt>
+
<dd><p>The name of the variable.</p>
+
</dd>
+
<dt>Argument 3</dt>
+
<dd><p>The declared type of the variable.</p>
+
</dd>
+
</dl>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>The symbols will be listed in the order they were defined
+
in the class.</p>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>This function is typically called via <code>Serializer.serialize()</code>.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>Serializer.serialize()</code>, <code>_serialize_variable()</code>,
+
<code>_deserialize()</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>_serialize_variable</b></span>
+
</dt>
+
<dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>_serialize_variable</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>, <code class='type'>type</code>:<code class='datatype'>void</code>) <code class='argument'>serializer</code>, <code class='datatype'>mixed</code> <code class='argument'>value</code>, <code class='datatype'>string</code> <code class='argument'>symbol</code>, <code class='type'>type</code> <code class='argument'>symbol_type</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Default serialization function for variables.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-serializer'></span>Parameter <code class='parameter'>serializer</code></dt>
+
<dd></dd><dd class='body--doc'><p>Function to be called in turn.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-value'></span>Parameter <code class='parameter'>value</code></dt>
+
<dd></dd><dd class='body--doc'><p>Value of the variable.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-symbol'></span>Parameter <code class='parameter'>symbol</code></dt>
+
<dd></dd><dd class='body--doc'><p>Variable name.</p>
+
</dd>
+
<dt class='head--doc'><span id='p-symbol_type'></span>Parameter <code class='parameter'>symbol_type</code></dt>
+
<dd></dd><dd class='body--doc'><p>Type of the variable.</p>
+
<p> This function is typically called from <code>_serialize()</code>, and just does</p>
+
<pre><code>serializer(value, symbol, symbol_type);</code></pre><p>It is provided for overloading for eg filtering or validation purposes.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>_serialize()</code>, <code>_deserialize_variable()</code></p>
+
</dd></dl>
</dd></dl></dd></dl><dl><dt><h2 class='header'>Module <b class='ms datatype'>Shuffler</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Module implementing sending to and from nonblocking streams and other sources.</p> <p> Most useful when implementing sending of data from strings, files and other sources to a network connection. The module also supports generic bandwidth throttling.</p> <p> Multiple <code>Shuffler</code> object can be created, each optionally with their own backend.</p> <p> This makes it easier to use more than one CPU for pure data
autodoc.git/traditional_manual/chapter_21.html:50590:
<hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Variable</span> <span class='homogen--name'><b>zone</b></span> </dt> <dd><p><code><code class='datatype'>string</code> System.TM.<b><span class='variable'>zone</span></b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>The timezone of this structure</p> </dd></dl>
+
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>System.Time</b></h2>
+
</dt><dd><dl class='group--doc'>
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>The current time as a structure containing a sec and a usec
+
member.</p>
+
</dd></dl>
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>create</b></span>
+
</dt>
+
<dd><p><code><span class='object'>System.Time</span> <span class='class'>System.Time</span><b>(</b><code class='datatype'>int</code> <code class='argument'>fast</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>If <code>fast</code> is true, do not request a new time from the system,
+
instead use the global current time variable.</p>
+
<p> This will only work in callbacks, but can save significant amounts
+
of CPU.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Variable</span>
+
<span class='homogen--name'><b>sec</b></span><br>
+
<span class='homogen--type'>Variable</span>
+
<span class='homogen--name'><b>usec</b></span><br>
+
</dt>
+
<dd><p><code><code class='datatype'>int</code> System.Time.<b><span class='variable'>sec</span></b></code><br>
+
<code><code class='datatype'>int</code> System.Time.<b><span class='variable'>usec</span></b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>The number of seconds and microseconds since the epoch and the
+
last whole second, respectively. (See also <code>predef::time()</code>)</p>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>Please note that these variables will continually update when
+
they are requested, there is no need to create new Time()
+
objects.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Variable</span>
+
<span class='homogen--name'><b>usec_full</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>int</code> System.Time.<b><span class='variable'>usec_full</span></b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>The number of microseconds since the epoch. Please note that
+
pike needs to have been compiled with bignum support for this
+
variable to contain sensible values.</p>
+
</dd></dl>
+
</dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>System.Timer</b></h2>
+
</dt><dd>
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>create</b></span>
+
</dt>
+
<dd><p><code><span class='object'>System.Timer</span> <span class='class'>System.Timer</span><b>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>fast</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Create a new timer object. The timer keeps track of relative time
+
with sub-second precision.</p>
+
<p> If <code>fast</code> is specified, the timer will not do system calls to get
+
the current time but instead use the one maintained by pike. This
+
will result in faster but more or less inexact timekeeping.
+
The pike maintained time is only updated when a <code>Pike.Backend</code>
+
object stops waiting and starts executing code.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>get</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>float</code> <b><span class='method'>get</span>(</b><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Return the time in seconds since the last time get was called.
+
The first time this method is called the time since the object
+
was created is returned instead.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>peek</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>float</code> <b><span class='method'>peek</span>(</b><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Return the time in seconds since the last time <code>get</code> was called.</p>
+
</dd></dl>
</dd></dl><dl><dt><h2 class='header'>Module <b class='ms datatype'>System.FSEvents</b></h2> </dt><dd> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>describe_event_flag</b></span> </dt> <dd><p><code><code class='datatype'>string</code> <b><span class='method'>describe_event_flag</span>(</b><code class='datatype'>int</code> <code class='argument'>mask</code><b>)</b></code></p></dd>
autodoc.git/traditional_manual/chapter_21.html:68964:
<dd></dd><dd class='body--doc'><p>The name of parameter. One of <code class='expr'>"sample_rate"</code>, <code class='expr'>"bit_rate"</code>, <code class='expr'>"channels"</code>.</p> </dd> <dt class='head--doc'>Returns</dt> <dd class='body--doc'><p>Returns 1 on success, 0 otherwise (parameter not known).</p> </dd> <dt class='head--doc'>See also</dt> <dd class='body--doc'><p><code>get_codec_params()</code></p> </dd></dl> </dd></dl></dd></dl><dl><dt><h2 class='header'>Module <b class='ms datatype'>__builtin</b></h2>
-
</dt><dd><dl><dt><h2 class='header'>Module <b class='ms datatype'>__builtin.Nettle</b></h2>
+
</dt><dd><dl><dt><h2 class='header'>
Class <b class='ms datatype'>__builtin.Stack</b></h2>
+
</dt><dd><dl class='group--doc'>
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>This class implements a simple stack. Instead of adding and removing
+
elements to an array, and thus making it vary in size for every push
+
and pop operation, this stack tries to keep the stack size constant.
+
If however the stack risks to overflow, it will allocate double its
+
current size, i.e. pushing an element on an full 32 slot stack will
+
result in a 64 slot stack with 33 elements.</p>
+
</dd>
+
<dt class='head--doc'>Note</dt>
+
<dd class='body--doc'><p>This class is usually accessed as <code>ADT.LowLevelStack</code>.</p>
+
</dd></dl>
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>_search</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>search</span>(</b><span class='class'>__builtin.Stack</span> <span class='argument'>from</span>, <code class='datatype'>mixed</code> <code class='argument'>item</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Return the stack-depth to <code>item</code>.</p>
+
<p> This function makes it possible to use
+
eg <code>search()</code> and <code>has_value()</code> on the stack.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>_sizeof</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>int</code> <b><span class='method'>sizeof</span>(</b> <span class='class'>__builtin.Stack</span> <span class='argument'>arg</span> <b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p><code>sizeof</code> on a stack returns the number of entries
+
in the stack.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>_values</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>array</code> <b><span class='method'>values</span>(</b> <span class='class'>__builtin.Stack</span> <span class='argument'>arg</span> <b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p><code>values</code> on a stack returns all the entries in
+
the stack, in order.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>`+</b></span>
+
</dt>
+
<dd><p><code><code class='object unresolved'>this_program</code> res = <code class='class'>__builtin.Stack()</code> + <code class='class'>s</code></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>A stack added with another stack yields a new
+
stack with all the elements from both stacks,
+
and the elements from the second stack at the
+
top of the new stack.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>create</b></span>
+
</dt>
+
<dd><p><code><span class='object'>__builtin.Stack</span> <span class='class'>__builtin.Stack</span><b>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>initial_size</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>An initial stack size can be given when
+
a stack is cloned. The default value is
+
32.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>pop</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>pop</span>(</b><code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>val</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Pops and returns entry <code>val</code> from the stack, counting
+
from the top. If no value is given the top element is
+
popped and returned. All popped entries are freed from
+
the stack.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>quick_pop()</code>, <code>pop_to()</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>pop_to</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>pop_to</span>(</b><code class='datatype'>int</code> <code class='argument'>depth</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Pops entries from the stack until it reaches the specified depth.</p>
+
<p> The popped entries are not returned.</p>
+
</dd>
+
<dt class='head--doc'>Throws</dt>
+
<dd class='body--doc'><p>Throws an error if there are fewer than <code>depth</code> elements
+
on the stack.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>pop()</code>, <code>quick_pop()</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>push</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>push</span>(</b><code class='datatype'>mixed</code> <code class='argument'>val</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Push an element on the top of the stack.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>quick_pop</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>quick_pop</span>(</b><code class='datatype'>void</code>|<code class='datatype'>int</code> <code class='argument'>val</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Pops <code>val</code> entries from the stack, or one entry
+
if no value is given. The popped entries are not
+
returned.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>pop()</code>, <code>pop_to()</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>reset</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>reset</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>initial_size</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Empties the stack, resets the stack pointer
+
and shrinks the stack size to the given value
+
or 32 if none is given.</p>
+
</dd>
+
<dt class='head--doc'>See also</dt>
+
<dd class='body--doc'><p><code>create</code></p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>set_stack</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_stack</span>(</b><code class='datatype'>array</code> <code class='argument'>stack</code><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Sets the stacks content to the provided array.</p>
+
</dd></dl>
+
+
+
<hr />
+
<dl class='group--doc'>
+
<dt class='head--type'><span class='homogen--type'>Method</span>
+
<span class='homogen--name'><b>top</b></span>
+
</dt>
+
<dd><p><code><code class='datatype'>mixed</code> <b><span class='method'>top</span>(</b><b>)</b></code></p></dd>
+
+
<dt class='head--doc'>Description</dt>
+
<dd class='body--doc'><p>Returns the top element from the stack, without
+
popping it.</p>
+
</dd>
+
<dt class='head--doc'>Throws</dt>
+
<dd class='body--doc'><p>Throws an error if called on an empty stack.</p>
+
</dd></dl>
+
</dd></dl><dl><dt><h2 class='header'>
Module <b class='ms datatype'>__builtin.Nettle</b></h2>
</dt><dd><dl><dt><h2 class='header'>Class <b class='ms datatype'>__builtin.Nettle.AE</b></h2> </dt><dd><dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Base class for AE (Authenticated Encryption) algorithms.</p> <p> AE algorithms behave like a combination of a <code>Cipher</code> and a HMAC.</p> <p> Note that no actual AE algorithm is implemented in the base class. They are implemented in classes that inherit this class.</p> </dd>