group__apr__tables.html
来自「apr函数库使用手册」· HTML 代码 · 共 1,455 行 · 第 1/5 页
HTML
1,455 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache Portable Runtime: Table and Array Functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.7 -->
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a></div>
<h1>Table and Array Functions</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="structapr__array__header__t.html">apr_array_header_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="structapr__table__entry__t.html">apr_table_entry_t</a></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga31">APR_OVERLAP_TABLES_SET</a> (0)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga32">APR_OVERLAP_TABLES_MERGE</a> (1)</td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga0">apr_table_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga1">apr_array_header_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="structapr__table__entry__t.html">apr_table_entry_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga2">apr_table_entry_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef int( </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga3">apr_table_do_callback_fn_t</a> )(void *rec, const char *key, const char *value)</td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga4">apr_table_elts</a> (const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga5">apr_is_empty_table</a> (const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga6">apr_is_empty_array</a> (const <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *a)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga7">apr_array_make</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, int nelts, int elt_size)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga8">apr_array_push</a> (<a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *arr)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga9">apr_array_pop</a> (<a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *arr)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga10">apr_array_cat</a> (<a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *dst, const <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *src)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga11">apr_array_copy</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, const <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *arr)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga12">apr_array_copy_hdr</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, const <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *arr)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga13">apr_array_append</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, const <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *first, const <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *second)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga14">apr_array_pstrcat</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, const <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *arr, const char sep)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga15">apr_table_make</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, int nelts)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga16">apr_table_copy</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga17">apr_table_clear</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga18">apr_table_get</a> (const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, const char *key)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga19">apr_table_set</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, const char *key, const char *val)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga20">apr_table_setn</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, const char *key, const char *val)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga21">apr_table_unset</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, const char *key)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga22">apr_table_merge</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, const char *key, const char *val)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga23">apr_table_mergen</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, const char *key, const char *val)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga24">apr_table_add</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, const char *key, const char *val)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga25">apr_table_addn</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, const char *key, const char *val)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga26">apr_table_overlay</a> (<a class="el" href="group__apr__pools.html#ga0">apr_pool_t</a> *p, const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *overlay, const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *base)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga27">apr_table_do</a> (<a class="el" href="group__apr__tables.html#ga3">apr_table_do_callback_fn_t</a> *comp, void *rec, const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t,...)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga28">apr_table_vdo</a> (<a class="el" href="group__apr__tables.html#ga3">apr_table_do_callback_fn_t</a> *comp, void *rec, const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, va_list vp)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga29">apr_table_overlap</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *a, const <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *b, unsigned flags)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__apr__tables.html#ga30">apr_table_compress</a> (<a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> *t, unsigned flags)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Tables are used to store entirely opaque structures for applications, while Arrays are usually used to deal with string lists. <hr><h2>Define Documentation</h2>
<a class="anchor" name="ga32" doxytag="apr_tables.h::APR_OVERLAP_TABLES_MERGE" ></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"> #define APR_OVERLAP_TABLES_MERGE (1) </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
flag for overlap to use apr_table_mergen </td>
</tr>
</table>
<a class="anchor" name="ga31" doxytag="apr_tables.h::APR_OVERLAP_TABLES_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"> #define APR_OVERLAP_TABLES_SET (0) </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
flag for overlap to use apr_table_setn </td>
</tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="ga1" doxytag="apr_tables.h::apr_array_header_t" ></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"> typedef struct <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga3" doxytag="apr_tables.h::apr_table_do_callback_fn_t" ></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"> typedef int( <a class="el" href="group__apr__tables.html#ga3">apr_table_do_callback_fn_t</a>)(void *rec, const char *key, const char *value) </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
Declaration prototype for the iterator callback function of <a class="el" href="group__apr__tables.html#ga27">apr_table_do()</a> and <a class="el" href="group__apr__tables.html#ga28">apr_table_vdo()</a>. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>rec</em> </td><td>The data passed as the first argument to apr_table_[v]do() </td></tr>
<tr><td></td><td valign=top><em>key</em> </td><td>The key from this iteration of the table </td></tr>
<tr><td></td><td valign=top><em>value</em> </td><td>The value from this iteration of the table </td></tr>
</table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>Iteration continues while this callback function returns non-zero. To export the callback function for apr_table_[v]do() it must be declared in the _NONSTD convention. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga2" doxytag="apr_tables.h::apr_table_entry_t" ></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"> typedef struct <a class="el" href="structapr__table__entry__t.html">apr_table_entry_t</a> <a class="el" href="structapr__table__entry__t.html">apr_table_entry_t</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
The (opaque) structure for string-content tables. </td>
</tr>
</table>
<a class="anchor" name="ga0" doxytag="apr_tables.h::apr_table_t" ></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"> typedef struct <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> <a class="el" href="group__apr__tables.html#ga0">apr_table_t</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
the table abstract data type </td>
</tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="ga13" doxytag="apr_tables.h::apr_array_append" ></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="structapr__array__header__t.html">apr_array_header_t</a>* apr_array_append </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="structapr__array__header__t.html">apr_array_header_t</a> * </td>
<td class="mdname" nowrap> <em>first</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>const <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> * </td>
<td class="mdname" nowrap> <em>second</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>
Append one array to the end of another, creating a new array in the process. <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 allocate the new array out of </td></tr>
<tr><td></td><td valign=top><em>first</em> </td><td>The array to put first in the new array. </td></tr>
<tr><td></td><td valign=top><em>second</em> </td><td>The array to put second in the new array. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>A new array containing the data from the two arrays passed in. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga10" doxytag="apr_tables.h::apr_array_cat" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?