Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 76d546f6c048029d7a68c93de06bb323 > files > 45

libannodex-devel-0.7.3-14.fc14.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libannodex: anx_list.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>anx_list.h File Reference</h1>
<p>A doubly linked list.  
<a href="#_details">More...</a></p>
<code>#include &lt;<a class="el" href="anx__core_8h_source.html">annodex/anx_core.h</a>&gt;</code><br/>

<p><a href="anx__list_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__AnxList.html">_AnxList</a></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb46a16dc8f16927f80e4b5679bc2d3f"></a><!-- doxytag: member="anx_list.h::AnxList" ref="acb46a16dc8f16927f80e4b5679bc2d3f" args="" -->
typedef struct <a class="el" href="struct__AnxList.html">_AnxList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#acb46a16dc8f16927f80e4b5679bc2d3f">AnxList</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A doubly linked list. <br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a084ce7da2a33986ff53ccb7e7f88091b">anx_list_new</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new list.  <a href="#a084ce7da2a33986ff53ccb7e7f88091b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a04a335b32a78d6bdfaab84e60cafadc5">anx_list_clone</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clone a list using the default clone function.  <a href="#a04a335b32a78d6bdfaab84e60cafadc5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#aa580f00e7a8bc2078ea7ca4dc3f4b6da">anx_list_clone_with</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list, <a class="el" href="anx__core_8h.html#a60b00aacbbed18e944c4917f532e1fdf">AnxCloneFunc</a> clone)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clone a list using a custom clone function.  <a href="#aa580f00e7a8bc2078ea7ca4dc3f4b6da"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a0e580d63c81f484d7211fd7ba03aea0d">anx_list_tail</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the tail element of a list.  <a href="#a0e580d63c81f484d7211fd7ba03aea0d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a6a0d5fded170fd05611425b70f435817">anx_list_prepend</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list, void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepend a new node to a list containing given data.  <a href="#a6a0d5fded170fd05611425b70f435817"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a55fcd10a82aca8e3d65e3f2c529355a2">anx_list_append</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list, void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a new node to a list containing given data.  <a href="#a55fcd10a82aca8e3d65e3f2c529355a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a6498c0ee724e038fb14b3dcbc23897a6">anx_list_add_before</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list, void *data, <a class="el" href="struct__AnxList.html">AnxList</a> *node)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node containing given data before a given node.  <a href="#a6498c0ee724e038fb14b3dcbc23897a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a88e77b6027cb069d3752fa9a752f65dc">anx_list_add_after</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list, void *data, <a class="el" href="struct__AnxList.html">AnxList</a> *node)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node containing given data after a given node.  <a href="#a88e77b6027cb069d3752fa9a752f65dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#afac0f0f20e529740996fd28cce458ed6">anx_list_find</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list, void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first node containing given data in a list.  <a href="#afac0f0f20e529740996fd28cce458ed6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a34ee52e2aec18b7360f1b08960b6f134">anx_list_remove</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list, <a class="el" href="struct__AnxList.html">AnxList</a> *node)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a node from a list.  <a href="#a34ee52e2aec18b7360f1b08960b6f134"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a1d8d14dce0cb1d55d983ded4692f2a10">anx_list_length</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the number of items in a list.  <a href="#a1d8d14dce0cb1d55d983ded4692f2a10"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#a49b43788f09d53a624122b664b9020d2">anx_list_is_empty</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query if a list is empty, ie.  <a href="#a49b43788f09d53a624122b664b9020d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#ab84476ae2f54d28d4f7627320f426db9">anx_list_is_singleton</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query if the list is singleton, ie.  <a href="#ab84476ae2f54d28d4f7627320f426db9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#ac0996fe92955e20bb6fb937c4eda0f18">anx_list_free_with</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list, <a class="el" href="anx__core_8h.html#a26f09ad7826e5d8608d0a740fba2674a">AnxFreeFunc</a> free_func)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a list, using a given function to free each data element.  <a href="#ac0996fe92955e20bb6fb937c4eda0f18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__list_8h.html#acac047782cba0cf38c95537473f0d834">anx_list_free</a> (<a class="el" href="struct__AnxList.html">AnxList</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a list, using <a class="el" href="anx__core_8h.html#ac001653d53f95f8713ecae0afa42eae9" title="free() wrapper to allow easy overriding">anx_free()</a> to free each data element.  <a href="#acac047782cba0cf38c95537473f0d834"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A doubly linked list. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a88e77b6027cb069d3752fa9a752f65dc"></a><!-- doxytag: member="anx_list.h::anx_list_add_after" ref="a88e77b6027cb069d3752fa9a752f65dc" args="(AnxList *list, void *data, AnxList *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_add_after </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>node</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a new node containing given data after a given node. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data element of the newly created node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node after which to add the newly created node </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the head of the list </dd></dl>

</div>
</div>
<a class="anchor" id="a6498c0ee724e038fb14b3dcbc23897a6"></a><!-- doxytag: member="anx_list.h::anx_list_add_before" ref="a6498c0ee724e038fb14b3dcbc23897a6" args="(AnxList *list, void *data, AnxList *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_add_before </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>node</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a new node containing given data before a given node. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data element of the newly created node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node before which to add the newly created node </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the head of the list (which may have changed) </dd></dl>

</div>
</div>
<a class="anchor" id="a55fcd10a82aca8e3d65e3f2c529355a2"></a><!-- doxytag: member="anx_list.h::anx_list_append" ref="a55fcd10a82aca8e3d65e3f2c529355a2" args="(AnxList *list, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_append </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append a new node to a list containing given data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data element of the newly created node </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the head of the list </dd></dl>

</div>
</div>
<a class="anchor" id="a04a335b32a78d6bdfaab84e60cafadc5"></a><!-- doxytag: member="anx_list.h::anx_list_clone" ref="a04a335b32a78d6bdfaab84e60cafadc5" args="(AnxList *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_clone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clone a list using the default clone function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to clone </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a newly cloned list </dd></dl>

</div>
</div>
<a class="anchor" id="aa580f00e7a8bc2078ea7ca4dc3f4b6da"></a><!-- doxytag: member="anx_list.h::anx_list_clone_with" ref="aa580f00e7a8bc2078ea7ca4dc3f4b6da" args="(AnxList *list, AnxCloneFunc clone)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_clone_with </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="anx__core_8h.html#a60b00aacbbed18e944c4917f532e1fdf">AnxCloneFunc</a>&nbsp;</td>
          <td class="paramname"> <em>clone</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clone a list using a custom clone function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to clone </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>clone</em>&nbsp;</td><td>the function to use to clone a list item </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a newly cloned list </dd></dl>

</div>
</div>
<a class="anchor" id="afac0f0f20e529740996fd28cce458ed6"></a><!-- doxytag: member="anx_list.h::anx_list_find" ref="afac0f0f20e529740996fd28cce458ed6" args="(AnxList *list, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_find </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Find the first node containing given data in a list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data element to find </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first node containing given data, or NULL if it is not found </dd></dl>

</div>
</div>
<a class="anchor" id="acac047782cba0cf38c95537473f0d834"></a><!-- doxytag: member="anx_list.h::anx_list_free" ref="acac047782cba0cf38c95537473f0d834" args="(AnxList *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free a list, using <a class="el" href="anx__core_8h.html#ac001653d53f95f8713ecae0afa42eae9" title="free() wrapper to allow easy overriding">anx_free()</a> to free each data element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on success </dd></dl>

</div>
</div>
<a class="anchor" id="ac0996fe92955e20bb6fb937c4eda0f18"></a><!-- doxytag: member="anx_list.h::anx_list_free_with" ref="ac0996fe92955e20bb6fb937c4eda0f18" args="(AnxList *list, AnxFreeFunc free_func)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_free_with </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="anx__core_8h.html#a26f09ad7826e5d8608d0a740fba2674a">AnxFreeFunc</a>&nbsp;</td>
          <td class="paramname"> <em>free_func</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free a list, using a given function to free each data element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>free_func</em>&nbsp;</td><td>a function to free each data element </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on success </dd></dl>

</div>
</div>
<a class="anchor" id="a49b43788f09d53a624122b664b9020d2"></a><!-- doxytag: member="anx_list.h::anx_list_is_empty" ref="a49b43788f09d53a624122b664b9020d2" args="(AnxList *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int anx_list_is_empty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Query if a list is empty, ie. </p>
<p>contains no items </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 if the list is empty, 0 otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ab84476ae2f54d28d4f7627320f426db9"></a><!-- doxytag: member="anx_list.h::anx_list_is_singleton" ref="ab84476ae2f54d28d4f7627320f426db9" args="(AnxList *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int anx_list_is_singleton </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Query if the list is singleton, ie. </p>
<p>contains exactly one item </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 if the list is singleton, 0 otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a1d8d14dce0cb1d55d983ded4692f2a10"></a><!-- doxytag: member="anx_list.h::anx_list_length" ref="a1d8d14dce0cb1d55d983ded4692f2a10" args="(AnxList *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int anx_list_length </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Query the number of items in a list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of nodes in the list </dd></dl>

</div>
</div>
<a class="anchor" id="a084ce7da2a33986ff53ccb7e7f88091b"></a><!-- doxytag: member="anx_list.h::anx_list_new" ref="a084ce7da2a33986ff53ccb7e7f88091b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_new </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new list. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new list </dd></dl>

</div>
</div>
<a class="anchor" id="a6a0d5fded170fd05611425b70f435817"></a><!-- doxytag: member="anx_list.h::anx_list_prepend" ref="a6a0d5fded170fd05611425b70f435817" args="(AnxList *list, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_prepend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Prepend a new node to a list containing given data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data element of the newly created node </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the new list head </dd></dl>

</div>
</div>
<a class="anchor" id="a34ee52e2aec18b7360f1b08960b6f134"></a><!-- doxytag: member="anx_list.h::anx_list_remove" ref="a34ee52e2aec18b7360f1b08960b6f134" args="(AnxList *list, AnxList *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>node</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove a node from a list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node to remove </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the head of the list (which may have changed) </dd></dl>

</div>
</div>
<a class="anchor" id="a0e580d63c81f484d7211fd7ba03aea0d"></a><!-- doxytag: member="anx_list.h::anx_list_tail" ref="a0e580d63c81f484d7211fd7ba03aea0d" args="(AnxList *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__AnxList.html">AnxList</a>* anx_list_tail </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__AnxList.html">AnxList</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the tail element of a list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the tail element </dd></dl>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>