Branch: Tag:

2022-05-07

2022-05-07 12:14:44 by Marcus Comstedt <marcus@mc.pp.se>

Stdio.File: Allow callbacks to be zero

1099:   <span class='homogen--type'>Method</span>   <span class='homogen--name'><b>query_callbacks</b></span><br>   </dt> - <dd><p><code><code class='object unresolved'>read_callback_t</code> <b><span class='method'>query_read_callback</span>(</b><b>)</b></code><br> - <code><code class='object unresolved'>write_callback_t</code> <b><span class='method'>query_write_callback</span>(</b><b>)</b></code><br> - <code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <b><span class='method'>query_read_oob_callback</span>(</b><b>)</b></code><br> - <code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <b><span class='method'>query_write_oob_callback</span>(</b><b>)</b></code><br> - <code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <b><span class='method'>query_close_callback</span>(</b><b>)</b></code><br> - <code><code class='datatype'>array</code>(<code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>void</code>|<code class='datatype'>string</code>:<code class='datatype'>int</code>)) <b><span class='method'>query_callbacks</span>(</b><b>)</b></code></p></dd> + <dd><p><code><code class='object unresolved'>read_callback_t</code>|<code class='datatype'>zero</code> <b><span class='method'>query_read_callback</span>(</b><b>)</b></code><br> + <code><code class='object unresolved'>write_callback_t</code>|<code class='datatype'>zero</code> <b><span class='method'>query_write_callback</span>(</b><b>)</b></code><br> + <code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <b><span class='method'>query_read_oob_callback</span>(</b><b>)</b></code><br> + <code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <b><span class='method'>query_write_oob_callback</span>(</b><b>)</b></code><br> + <code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <b><span class='method'>query_close_callback</span>(</b><b>)</b></code><br> + <code><code class='datatype'>array</code>(<code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>void</code>|<code class='datatype'>string</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code>) <b><span class='method'>query_callbacks</span>(</b><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>These functions return the currently installed callbacks for the
1291:   <span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_fs_event_callback</b></span><br>   </dt> - <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_cb</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='object unresolved'>Buffer</code>:<code class='datatype'>int</code>) <code class='argument'>read_cb</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_cb</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='object unresolved'>Buffer</code>:<code class='datatype'>int</code>) <code class='argument'>write_cb</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_oob_cb</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_oob_cb</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>close_cb</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_fs_event_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>int</code>:<code class='datatype'>int</code>) <code class='argument'>fs_event_cb</code>, <code class='datatype'>int</code> <code class='argument'>event_mask</code><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>read_cb</code><b>)</b></code><br> + <code><code class='datatype'>void</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='object unresolved'>Buffer</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>read_cb</code><b>)</b></code><br> + <code><code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>write_cb</code><b>)</b></code><br> + <code><code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='object unresolved'>Buffer</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>write_cb</code><b>)</b></code><br> + <code><code class='datatype'>void</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>read_oob_cb</code><b>)</b></code><br> + <code><code class='datatype'>void</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>write_oob_cb</code><b>)</b></code><br> + <code><code class='datatype'>void</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>close_cb</code><b>)</b></code><br> + <code><code class='datatype'>void</code> <b><span class='method'>set_fs_event_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>int</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>fs_event_cb</code>, <code class='datatype'>int</code> <code class='argument'>event_mask</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>These functions set the various callbacks, which will be called
1456:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_nonblocking</b></span>   </dt> - <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='object unresolved'>read_callback_t</code> <code class='argument'>read_callback</code>, <code class='object unresolved'>write_callback_t</code> <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>close_callback</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='object unresolved'>read_callback_t</code> <code class='argument'>read_callback</code>, <code class='object unresolved'>write_callback_t</code> <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>close_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_oob_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_oob_callback</code><b>)</b></code><br> + <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='object unresolved'>read_callback_t</code>|<code class='datatype'>zero</code> <code class='argument'>read_callback</code>, <code class='object unresolved'>write_callback_t</code>|<code class='datatype'>zero</code> <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>close_callback</code><b>)</b></code><br> + <code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='object unresolved'>read_callback_t</code>|<code class='datatype'>zero</code> <code class='argument'>read_callback</code>, <code class='object unresolved'>write_callback_t</code>|<code class='datatype'>zero</code> <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>close_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>read_oob_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <code class='argument'>write_oob_callback</code><b>)</b></code><br>   <code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>
1854:   <span class='homogen--name'><b>set_nonblocking</b></span>   </dt>   <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>set_nonblocking</span>(</b><b>)</b></code><br> - <code><code class='object unresolved'>UDP</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>string</code>), <code class='datatype'>mixed</code> ... :<code class='datatype'>void</code>) <code class='argument'>read_cb</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra_args</code><b>)</b></code></p></dd> + <code><code class='object unresolved'>UDP</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>void</code>|<code class='datatype'>function</code>(<code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>string</code>), <code class='datatype'>mixed</code> ... :<code class='datatype'>void</code>) <code class='argument'>read_cb</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra_args</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>Set this object to nonblocking mode.</p>
1871:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_read_callback</b></span>   </dt> - <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>string</code>), <code class='datatype'>mixed</code> ... :<code class='datatype void'>void</code>) <code class='argument'>read_cb</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra_args</code><b>)</b></code></p></dd> + <dd><p><code><code class='object unresolved'>UDP</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>string</code>), <code class='datatype'>mixed</code> ... :<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>read_cb</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra_args</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>The <code>read_cb</code> function will receive a mapping similar to the mapping
2436:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_nonblocking</b></span>   </dt> - <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(<code class='datatype'>string</code>|<code class='datatype'>zero</code>:<code class='datatype'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code><b>)</b></code></p></dd>   <dt class='head--fixme'>FIXME</dt>   <dd class='body--fixme'><p>Document this function</p>   </dd></dl>
3630:   <dt class='head--type'><span class='homogen--type'>Typedef</span>   <span class='homogen--name'><b>read_callback_t</b></span>   </dt> - <dd><p><code><code class='datatype'><code class='modifier'>local</code> typedef</code> <code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>)|<code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>, <code class='object unresolved'>Buffer</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>)|<code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>) Stdio.<code class='typedef'>read_callback_t</code></code></p></dd> + <dd><p><code><code class='datatype'><code class='modifier'>local</code> typedef</code> <code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>)|<code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>, <code class='object unresolved'>Buffer</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>)|<code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>)|<code class='datatype'>zero</code> Stdio.<code class='typedef'>read_callback_t</code></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>The various read_callback signatures.</p>
3849:   <dt class='head--type'><span class='homogen--type'>Typedef</span>   <span class='homogen--name'><b>write_callback_t</b></span>   </dt> - <dd><p><code><code class='datatype'><code class='modifier'>local</code> typedef</code> <code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>)|<code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>, <code class='object unresolved'>Buffer</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>) Stdio.<code class='typedef'>write_callback_t</code></code></p></dd> + <dd><p><code><code class='datatype'><code class='modifier'>local</code> typedef</code> <code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>)|<code class='datatype'>function</code>(<code class='datatype'>mixed</code>|<code class='datatype'>void</code>, <code class='object unresolved'>Buffer</code>:<code class='datatype'>int</code>|<code class='datatype'>void</code>)|<code class='datatype'>zero</code> Stdio.<code class='typedef'>write_callback_t</code></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>The various write_callback signatures.</p>
4674:   <span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_fs_event_callback</b></span><br>   </dt> - <dd><p><code><code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code><br> - <code><code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code><br> - <code><code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code><br> - <code><code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_fs_event_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code>, <code class='datatype'>int</code> <code class='argument'>event_mask</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code></p></dd> - </dl> + <dd><p><code><code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code><br> + <code><code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code><br> + <code><code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code><br> + <code><code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_fs_event_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code>, <code class='datatype'>int</code> <code class='argument'>event_mask</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code></p></dd>    -  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>11</p> + </dd></dl>    -  +    <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_nonblocking</b></span>   </dt> - <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>a</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>b</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>c</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>void</code> <code class='argument'>d</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>void</code> <code class='argument'>e</code><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>a</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>b</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>c</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>void</code> <code class='argument'>d</code>, <code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>void</code> <code class='argument'>e</code><b>)</b></code></p></dd>   </dl>      
4697:   <span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_write_oob_callback</b></span><br>   </dt> - <dd><p><code><code class='modifier'>optional</code> <code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code><br> - <code><code class='modifier'>optional</code> <code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>) <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code></p></dd> + <dd><p><code><code class='modifier'>optional</code> <code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code><br> + <code><code class='modifier'>optional</code> <code class='object unresolved'>NonblockingStream</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code></p></dd>   </dl>   </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Stream</b></h2>   </dt><dd><dl class='group--doc'>