<!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>SDTS_AL: cpl_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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Classes</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 List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>cpl_list.h File Reference</h1><code>#include "<a class="el" href="cpl__port_8h_source.html">cpl_port.h</a>"</code><br/> <p><a href="cpl__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>Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__CPLList.html">_CPLList</a></td></tr> <tr><td colspan="2"><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef CPL_C_START struct <a class="el" href="struct__CPLList.html">_CPLList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a></td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#a8b20ec38cb012f688578aebc5e9c3e0d">CPLListAppend</a> (<a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> *psList, void *pData)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#acdff2f229dd5c987f76c3cc8fbfff1fa">CPLListInsert</a> (<a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> *psList, void *pData, int nPosition)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#a404daf7b515ec5495c10113a31b1ccd3">CPLListGetLast</a> (<a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> *psList)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#a464a8868971aa95496a5c6403b060b9f">CPLListGet</a> (<a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> *psList, int nPosition)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int CPL_DLL </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#a78df942f448edd0c3cf1f70c5576f73d">CPLListCount</a> (<a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> *psList)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#ad1159a39f136be07fac2f3c1197102d0">CPLListRemove</a> (<a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> *psList, int nPosition)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void CPL_DLL </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#aaa981f7face3331a60912944acf36bc5">CPLListDestroy</a> (<a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> *psList)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#aa6065efd2bd4b3517ee865b0f8d2dafe">CPLListGetNext</a> (<a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> *psElement)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void CPL_DLL * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__list_8h.html#a25079e756dcfd8582c17c8de93e2686c">CPLListGetData</a> (<a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> *psElement)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Simplest list implementation. List contains only pointers to stored objects, not objects itself. All operations regarding allocation and freeing memory for objects should be performed by the caller. </p> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="a201434affa027034da169fea24e3a97b"></a><!-- doxytag: member="cpl_list.h::CPLList" ref="a201434affa027034da169fea24e3a97b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef CPL_C_START struct <a class="el" href="struct__CPLList.html">_CPLList</a> <a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a></td> </tr> </table> </div> <div class="memdoc"> <p>List element structure. </p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a8b20ec38cb012f688578aebc5e9c3e0d"></a><!-- doxytag: member="cpl_list.h::CPLListAppend" ref="a8b20ec38cb012f688578aebc5e9c3e0d" args="(CPLList *psList, void *pData)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL* CPLListAppend </td> <td>(</td> <td class="paramtype"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> * </td> <td class="paramname"> <em>psList</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>pData</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Append an object list and return a pointer to the modified list. If the input list is NULL, then a new list is created.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>psList</em> </td><td>pointer to list head. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pData</em> </td><td>pointer to inserted data object. May be NULL.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the head of modified list. </dd></dl> </div> </div> <a class="anchor" id="a78df942f448edd0c3cf1f70c5576f73d"></a><!-- doxytag: member="cpl_list.h::CPLListCount" ref="a78df942f448edd0c3cf1f70c5576f73d" args="(CPLList *psList)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CPL_DLL CPLListCount </td> <td>(</td> <td class="paramtype"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> * </td> <td class="paramname"> <em>psList</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return the number of elements 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>psList</em> </td><td>pointer to list head.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>number of elements in a list. </dd></dl> </div> </div> <a class="anchor" id="aaa981f7face3331a60912944acf36bc5"></a><!-- doxytag: member="cpl_list.h::CPLListDestroy" ref="aaa981f7face3331a60912944acf36bc5" args="(CPLList *psList)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CPL_DLL CPLListDestroy </td> <td>(</td> <td class="paramtype"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> * </td> <td class="paramname"> <em>psList</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Destroy a list. Caller responsible for freeing data objects contained in list elements.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>psList</em> </td><td>pointer to list head. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a464a8868971aa95496a5c6403b060b9f"></a><!-- doxytag: member="cpl_list.h::CPLListGet" ref="a464a8868971aa95496a5c6403b060b9f" args="(CPLList *psList, int nPosition)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL* CPLListGet </td> <td>(</td> <td class="paramtype"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> * </td> <td class="paramname"> <em>psList</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nPosition</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Return the pointer to the specified element 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>psList</em> </td><td>pointer to list head. </td></tr> <tr><td valign="top"></td><td valign="top"><em>nPosition</em> </td><td>the index of the element in the list, 0 being the first element</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the specified element in a list. </dd></dl> </div> </div> <a class="anchor" id="a25079e756dcfd8582c17c8de93e2686c"></a><!-- doxytag: member="cpl_list.h::CPLListGetData" ref="a25079e756dcfd8582c17c8de93e2686c" args="(CPLList *psElement)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CPL_DLL* CPLListGetData </td> <td>(</td> <td class="paramtype"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> * </td> <td class="paramname"> <em>psElement</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return pointer to the data object contained in given list 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>psElement</em> </td><td>pointer to list element.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the data object contained in given list element. </dd></dl> </div> </div> <a class="anchor" id="a404daf7b515ec5495c10113a31b1ccd3"></a><!-- doxytag: member="cpl_list.h::CPLListGetLast" ref="a404daf7b515ec5495c10113a31b1ccd3" args="(CPLList *psList)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL* CPLListGetLast </td> <td>(</td> <td class="paramtype"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> * </td> <td class="paramname"> <em>psList</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return the pointer to last element 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>psList</em> </td><td>pointer to list head.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>pointer to last element in a list. </dd></dl> </div> </div> <a class="anchor" id="aa6065efd2bd4b3517ee865b0f8d2dafe"></a><!-- doxytag: member="cpl_list.h::CPLListGetNext" ref="aa6065efd2bd4b3517ee865b0f8d2dafe" args="(CPLList *psElement)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL* CPLListGetNext </td> <td>(</td> <td class="paramtype"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> * </td> <td class="paramname"> <em>psElement</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return the pointer to next element 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>psElement</em> </td><td>pointer to list element.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the list element preceded by the given element. </dd></dl> </div> </div> <a class="anchor" id="acdff2f229dd5c987f76c3cc8fbfff1fa"></a><!-- doxytag: member="cpl_list.h::CPLListInsert" ref="acdff2f229dd5c987f76c3cc8fbfff1fa" args="(CPLList *psList, void *pData, int nPosition)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL* CPLListInsert </td> <td>(</td> <td class="paramtype"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> * </td> <td class="paramname"> <em>psList</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>pData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nPosition</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Insert an object into list at specified position (zero based). If the input list is NULL, then a new list is created.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>psList</em> </td><td>pointer to list head. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pData</em> </td><td>pointer to inserted data object. May be NULL. </td></tr> <tr><td valign="top"></td><td valign="top"><em>nPosition</em> </td><td>position number to insert an object.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the head of modified list. </dd></dl> </div> </div> <a class="anchor" id="ad1159a39f136be07fac2f3c1197102d0"></a><!-- doxytag: member="cpl_list.h::CPLListRemove" ref="ad1159a39f136be07fac2f3c1197102d0" args="(CPLList *psList, int nPosition)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> CPL_DLL* CPLListRemove </td> <td>(</td> <td class="paramtype"><a class="el" href="cpl__list_8h.html#a201434affa027034da169fea24e3a97b">CPLList</a> * </td> <td class="paramname"> <em>psList</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nPosition</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Remove the element from the specified position (zero based) in a list. Data object contained in removed element must be freed by the caller first.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>psList</em> </td><td>pointer to list head. </td></tr> <tr><td valign="top"></td><td valign="top"><em>nPosition</em> </td><td>position number to delet an element.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the head of modified list. </dd></dl> </div> </div> </div> <hr> Generated for GDAL by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.6.2-20100208. </body> </html>