group__apr__tables.html
来自「apr函数库使用手册」· HTML 代码 · 共 1,455 行 · 第 1/5 页
HTML
1,455 行
</tr>
</table>
<a class="anchor" name="ga29" doxytag="apr_tables.h::apr_table_overlap" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void apr_table_overlap </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top"><a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td>
<td class="mdname" nowrap> <em>a</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td>
<td class="mdname" nowrap> <em>b</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>unsigned </td>
<td class="mdname" nowrap> <em>flags</em></td>
</tr>
<tr>
<td></td>
<td class="md">) </td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
<pre>
Conceptually, apr_table_overlap does this:</pre><p>
<pre> <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *barr = apr_table_elts(b);
<a class="el" href="structapr__table__entry__t.html">apr_table_entry_t</a> *belt = (<a class="el" href="structapr__table__entry__t.html">apr_table_entry_t</a> *)barr->elts;
int i;</pre><p>
<pre> for (i = 0; i < barr->nelts; ++i) {
if (flags & APR_OVERLAP_TABLES_MERGE) {
apr_table_mergen(a, belt[i].key, belt[i].val);
}
else {
apr_table_setn(a, belt[i].key, belt[i].val);
}
}</pre><p>
<pre> Except that it is more efficient (less space and cpu-time) especially
when b has many elements.</pre><p>
<pre> Notice the assumptions on the keys and values in b -- they must be
in an ancestor of a's pool. In practice b and a are usually from
the same pool.
</pre> </td>
</tr>
</table>
<a class="anchor" name="ga26" doxytag="apr_tables.h::apr_table_overlay" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a>* apr_table_overlay </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top"><a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> * </td>
<td class="mdname" nowrap> <em>p</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td>
<td class="mdname" nowrap> <em>overlay</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td>
<td class="mdname" nowrap> <em>base</em></td>
</tr>
<tr>
<td></td>
<td class="md">) </td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
Merge two tables into one new table <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>p</em> </td><td>The pool to use for the new table </td></tr>
<tr><td></td><td valign=top><em>overlay</em> </td><td>The first table to put in the new table </td></tr>
<tr><td></td><td valign=top><em>base</em> </td><td>The table to add at the end of the new table </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>A new table containing all of the data from the two passed in </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga19" doxytag="apr_tables.h::apr_table_set" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void apr_table_set </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top"><a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td>
<td class="mdname" nowrap> <em>t</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const char * </td>
<td class="mdname" nowrap> <em>key</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const char * </td>
<td class="mdname" nowrap> <em>val</em></td>
</tr>
<tr>
<td></td>
<td class="md">) </td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
Add a key/value pair to a table, if another element already exists with the same key, this will over-write the old data. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>t</em> </td><td>The table to add the data to. </td></tr>
<tr><td></td><td valign=top><em>key</em> </td><td>The key fo use </td></tr>
<tr><td></td><td valign=top><em>val</em> </td><td>The value to add </td></tr>
</table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>When adding data, this function makes a copy of both the key and the value. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga20" doxytag="apr_tables.h::apr_table_setn" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void apr_table_setn </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top"><a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td>
<td class="mdname" nowrap> <em>t</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const char * </td>
<td class="mdname" nowrap> <em>key</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const char * </td>
<td class="mdname" nowrap> <em>val</em></td>
</tr>
<tr>
<td></td>
<td class="md">) </td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
Add a key/value pair to a table, if another element already exists with the same key, this will over-write the old data. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>t</em> </td><td>The table to add the data to. </td></tr>
<tr><td></td><td valign=top><em>key</em> </td><td>The key to use </td></tr>
<tr><td></td><td valign=top><em>val</em> </td><td>The value to add </td></tr>
</table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>When adding data, this function does not make a copy of the key or the value, so care should be taken to ensure that the values will not change after they have been added.. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga21" doxytag="apr_tables.h::apr_table_unset" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void apr_table_unset </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top"><a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td>
<td class="mdname" nowrap> <em>t</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const char * </td>
<td class="mdname" nowrap> <em>key</em></td>
</tr>
<tr>
<td></td>
<td class="md">) </td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
Remove data from the table <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>t</em> </td><td>The table to remove data from </td></tr>
<tr><td></td><td valign=top><em>key</em> </td><td>The key of the data being removed </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="ga28" doxytag="apr_tables.h::apr_table_vdo" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> int apr_table_vdo </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top"><a class="el" href="group__apr__tables.html#ga3">apr_table_do_callback_fn_t</a> * </td>
<td class="mdname" nowrap> <em>comp</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>void * </td>
<td class="mdname" nowrap> <em>rec</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td>
<td class="mdname" nowrap> <em>t</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>va_list </td>
<td class="mdname" nowrap> <em>vp</em></td>
</tr>
<tr>
<td></td>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?