Sat, 05 Oct 2024 19:05:47 +0200
implement cxTreeRemove() with re-link function
fixes #437
<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>ucx: UcxProperties Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectlogo"><img alt="Logo" src="uaplogo.png"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">ucx </div> <div id="projectbrief">UAP Common Extensions</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); </script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-attribs">Data Fields</a> </div> <div class="headertitle"> <div class="title">UcxProperties Struct Reference</div> </div> </div><!--header--> <div class="contents"> <p><a class="el" href="structUcxProperties.html" title="UcxProperties object for parsing properties data. ">UcxProperties</a> object for parsing properties data. <a href="structUcxProperties.html#details">More...</a></p> <p><code>#include <<a class="el" href="properties_8h_source.html">properties.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Data Fields</h2></td></tr> <tr class="memitem:a6bb4d29686df41a0f42641ee15232bfd"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#a6bb4d29686df41a0f42641ee15232bfd">buffer</a></td></tr> <tr class="memdesc:a6bb4d29686df41a0f42641ee15232bfd"><td class="mdescLeft"> </td><td class="mdescRight">Input buffer (don't set manually). <a href="#a6bb4d29686df41a0f42641ee15232bfd">More...</a><br /></td></tr> <tr class="separator:a6bb4d29686df41a0f42641ee15232bfd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4e7524434525267e29f493a25dcca6b5"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#a4e7524434525267e29f493a25dcca6b5">buflen</a></td></tr> <tr class="memdesc:a4e7524434525267e29f493a25dcca6b5"><td class="mdescLeft"> </td><td class="mdescRight">Length of the input buffer (don't set manually). <a href="#a4e7524434525267e29f493a25dcca6b5">More...</a><br /></td></tr> <tr class="separator:a4e7524434525267e29f493a25dcca6b5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:addd36ac8e5e42241c0a57453633970db"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#addd36ac8e5e42241c0a57453633970db">pos</a></td></tr> <tr class="memdesc:addd36ac8e5e42241c0a57453633970db"><td class="mdescLeft"> </td><td class="mdescRight">Current buffer position (don't set manually). <a href="#addd36ac8e5e42241c0a57453633970db">More...</a><br /></td></tr> <tr class="separator:addd36ac8e5e42241c0a57453633970db"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68556d4260153f58dde44e4c365edce6"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#a68556d4260153f58dde44e4c365edce6">tmp</a></td></tr> <tr class="memdesc:a68556d4260153f58dde44e4c365edce6"><td class="mdescLeft"> </td><td class="mdescRight">Internal temporary buffer (don't set manually). <a href="#a68556d4260153f58dde44e4c365edce6">More...</a><br /></td></tr> <tr class="separator:a68556d4260153f58dde44e4c365edce6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8a81853d5903bee2f4e1fa53fdffae6e"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#a8a81853d5903bee2f4e1fa53fdffae6e">tmplen</a></td></tr> <tr class="memdesc:a8a81853d5903bee2f4e1fa53fdffae6e"><td class="mdescLeft"> </td><td class="mdescRight">Internal temporary buffer length (don't set manually). <a href="#a8a81853d5903bee2f4e1fa53fdffae6e">More...</a><br /></td></tr> <tr class="separator:a8a81853d5903bee2f4e1fa53fdffae6e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5af10131ea9f679b4ee174499f92e210"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#a5af10131ea9f679b4ee174499f92e210">tmpcap</a></td></tr> <tr class="memdesc:a5af10131ea9f679b4ee174499f92e210"><td class="mdescLeft"> </td><td class="mdescRight">Internal temporary buffer capacity (don't set manually). <a href="#a5af10131ea9f679b4ee174499f92e210">More...</a><br /></td></tr> <tr class="separator:a5af10131ea9f679b4ee174499f92e210"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a34f71a6ab6dcb6892e3b4eb802e75bff"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#a34f71a6ab6dcb6892e3b4eb802e75bff">error</a></td></tr> <tr class="memdesc:a34f71a6ab6dcb6892e3b4eb802e75bff"><td class="mdescLeft"> </td><td class="mdescRight">Parser error code. <a href="#a34f71a6ab6dcb6892e3b4eb802e75bff">More...</a><br /></td></tr> <tr class="separator:a34f71a6ab6dcb6892e3b4eb802e75bff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af6adb3f69616cf9d2bb5ea7b4d837ca5"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#af6adb3f69616cf9d2bb5ea7b4d837ca5">delimiter</a></td></tr> <tr class="memdesc:af6adb3f69616cf9d2bb5ea7b4d837ca5"><td class="mdescLeft"> </td><td class="mdescRight">The delimiter that shall be used. <a href="#af6adb3f69616cf9d2bb5ea7b4d837ca5">More...</a><br /></td></tr> <tr class="separator:af6adb3f69616cf9d2bb5ea7b4d837ca5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afaa2e6a289fa6949b7b01df35fa5def8"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#afaa2e6a289fa6949b7b01df35fa5def8">comment1</a></td></tr> <tr class="memdesc:afaa2e6a289fa6949b7b01df35fa5def8"><td class="mdescLeft"> </td><td class="mdescRight">The first comment character. <a href="#afaa2e6a289fa6949b7b01df35fa5def8">More...</a><br /></td></tr> <tr class="separator:afaa2e6a289fa6949b7b01df35fa5def8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9ea7ecb414ca8bc7bef62cdd19cc6363"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#a9ea7ecb414ca8bc7bef62cdd19cc6363">comment2</a></td></tr> <tr class="memdesc:a9ea7ecb414ca8bc7bef62cdd19cc6363"><td class="mdescLeft"> </td><td class="mdescRight">The second comment character. <a href="#a9ea7ecb414ca8bc7bef62cdd19cc6363">More...</a><br /></td></tr> <tr class="separator:a9ea7ecb414ca8bc7bef62cdd19cc6363"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5f3e561e32bac03e36a191a6940cca92"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="structUcxProperties.html#a5f3e561e32bac03e36a191a6940cca92">comment3</a></td></tr> <tr class="memdesc:a5f3e561e32bac03e36a191a6940cca92"><td class="mdescLeft"> </td><td class="mdescRight">The third comment character. <a href="#a5f3e561e32bac03e36a191a6940cca92">More...</a><br /></td></tr> <tr class="separator:a5f3e561e32bac03e36a191a6940cca92"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p><a class="el" href="structUcxProperties.html" title="UcxProperties object for parsing properties data. ">UcxProperties</a> object for parsing properties data. </p> <p>Most of the fields are for internal use only. You may configure the properties parser, e.g. by changing the used delimiter or specifying up to three different characters that shall introduce comments. </p> </div><h2 class="groupheader">Field Documentation</h2> <a id="a6bb4d29686df41a0f42641ee15232bfd"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6bb4d29686df41a0f42641ee15232bfd">◆ </a></span>buffer</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* UcxProperties::buffer</td> </tr> </table> </div><div class="memdoc"> <p>Input buffer (don't set manually). </p> <p>Automatically set by calls to <a class="el" href="properties_8h.html#aaf8de121764a4d22c763ff2ab41f3a4d" title="Sets the input buffer for the properties parser. ">ucx_properties_fill()</a>. </p> </div> </div> <a id="a4e7524434525267e29f493a25dcca6b5"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4e7524434525267e29f493a25dcca6b5">◆ </a></span>buflen</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t UcxProperties::buflen</td> </tr> </table> </div><div class="memdoc"> <p>Length of the input buffer (don't set manually). </p> <p>Automatically set by calls to <a class="el" href="properties_8h.html#aaf8de121764a4d22c763ff2ab41f3a4d" title="Sets the input buffer for the properties parser. ">ucx_properties_fill()</a>. </p> </div> </div> <a id="afaa2e6a289fa6949b7b01df35fa5def8"></a> <h2 class="memtitle"><span class="permalink"><a href="#afaa2e6a289fa6949b7b01df35fa5def8">◆ </a></span>comment1</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char UcxProperties::comment1</td> </tr> </table> </div><div class="memdoc"> <p>The first comment character. </p> <p>This is '#' by default. </p> </div> </div> <a id="a9ea7ecb414ca8bc7bef62cdd19cc6363"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9ea7ecb414ca8bc7bef62cdd19cc6363">◆ </a></span>comment2</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char UcxProperties::comment2</td> </tr> </table> </div><div class="memdoc"> <p>The second comment character. </p> <p>This is not set by default. </p> </div> </div> <a id="a5f3e561e32bac03e36a191a6940cca92"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5f3e561e32bac03e36a191a6940cca92">◆ </a></span>comment3</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char UcxProperties::comment3</td> </tr> </table> </div><div class="memdoc"> <p>The third comment character. </p> <p>This is not set by default. </p> </div> </div> <a id="af6adb3f69616cf9d2bb5ea7b4d837ca5"></a> <h2 class="memtitle"><span class="permalink"><a href="#af6adb3f69616cf9d2bb5ea7b4d837ca5">◆ </a></span>delimiter</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char UcxProperties::delimiter</td> </tr> </table> </div><div class="memdoc"> <p>The delimiter that shall be used. </p> <p>This is '=' by default. </p> </div> </div> <a id="a34f71a6ab6dcb6892e3b4eb802e75bff"></a> <h2 class="memtitle"><span class="permalink"><a href="#a34f71a6ab6dcb6892e3b4eb802e75bff">◆ </a></span>error</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int UcxProperties::error</td> </tr> </table> </div><div class="memdoc"> <p>Parser error code. </p> <p>This is always 0 on success and a nonzero value on syntax errors. The value is set by <a class="el" href="properties_8h.html#a7e03bc573d45d48c538cd721e810d33c" title="Retrieves the next key/value-pair. ">ucx_properties_next()</a>. </p> </div> </div> <a id="addd36ac8e5e42241c0a57453633970db"></a> <h2 class="memtitle"><span class="permalink"><a href="#addd36ac8e5e42241c0a57453633970db">◆ </a></span>pos</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t UcxProperties::pos</td> </tr> </table> </div><div class="memdoc"> <p>Current buffer position (don't set manually). </p> <p>Used by <a class="el" href="properties_8h.html#a7e03bc573d45d48c538cd721e810d33c" title="Retrieves the next key/value-pair. ">ucx_properties_next()</a>. </p> </div> </div> <a id="a68556d4260153f58dde44e4c365edce6"></a> <h2 class="memtitle"><span class="permalink"><a href="#a68556d4260153f58dde44e4c365edce6">◆ </a></span>tmp</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* UcxProperties::tmp</td> </tr> </table> </div><div class="memdoc"> <p>Internal temporary buffer (don't set manually). </p> <p>Used by <a class="el" href="properties_8h.html#a7e03bc573d45d48c538cd721e810d33c" title="Retrieves the next key/value-pair. ">ucx_properties_next()</a>. </p> </div> </div> <a id="a5af10131ea9f679b4ee174499f92e210"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5af10131ea9f679b4ee174499f92e210">◆ </a></span>tmpcap</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t UcxProperties::tmpcap</td> </tr> </table> </div><div class="memdoc"> <p>Internal temporary buffer capacity (don't set manually). </p> <p>Used by <a class="el" href="properties_8h.html#a7e03bc573d45d48c538cd721e810d33c" title="Retrieves the next key/value-pair. ">ucx_properties_next()</a>. </p> </div> </div> <a id="a8a81853d5903bee2f4e1fa53fdffae6e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8a81853d5903bee2f4e1fa53fdffae6e">◆ </a></span>tmplen</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t UcxProperties::tmplen</td> </tr> </table> </div><div class="memdoc"> <p>Internal temporary buffer length (don't set manually). </p> <p>Used by <a class="el" href="properties_8h.html#a7e03bc573d45d48c538cd721e810d33c" title="Retrieves the next key/value-pair. ">ucx_properties_next()</a>. </p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li>/home/mike/workspace/c/ucx/src/ucx/<a class="el" href="properties_8h_source.html">properties.h</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu Dec 19 2019 19:58:24 for ucx by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.13 </small></address> </body> </html>