docs/api-2.1/map_8h_source.html

Tue, 05 Oct 2021 11:19:32 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 05 Oct 2021 11:19:32 +0200
changeset 460
e075009b33b7
parent 390
d345541018fa
permissions
-rw-r--r--

remove convenience macros

Users should write their own wrappers s.t. the type
information does not have to be repeated on every
call site.

390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2 <html xmlns="http://www.w3.org/1999/xhtml">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3 <head>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 <meta name="generator" content="Doxygen 1.8.13"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 <title>ucx: /home/mike/workspace/c/ucx/src/ucx/map.h Source File</title>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 <script type="text/javascript" src="jquery.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 <script type="text/javascript" src="dynsections.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 <link href="search/search.css" rel="stylesheet" type="text/css"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 <script type="text/javascript" src="search/searchdata.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 <script type="text/javascript" src="search/search.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 </head>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 <body>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 <div id="titlearea">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 <table cellspacing="0" cellpadding="0">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 <tbody>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 <tr style="height: 56px;">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 <td id="projectlogo"><img alt="Logo" src="uaplogo.png"/></td>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 <td id="projectalign" style="padding-left: 0.5em;">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25 <div id="projectname">ucx
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
27 <div id="projectbrief">UAP Common Extensions</div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
28 </td>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
29 </tr>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
30 </tbody>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
31 </table>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
32 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
33 <!-- end header part -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
34 <!-- Generated by Doxygen 1.8.13 -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
35 <script type="text/javascript">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
37 </script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
38 <script type="text/javascript" src="menudata.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
39 <script type="text/javascript" src="menu.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
40 <script type="text/javascript">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
41 $(function() {
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
42 initMenu('',true,false,'search.php','Search');
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
43 $(document).ready(function() { init_search(); });
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
44 });
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
45 </script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
46 <div id="main-nav"></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
47 <!-- window showing the filter options -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
48 <div id="MSearchSelectWindow"
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
49 onmouseover="return searchBox.OnSearchSelectShow()"
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
50 onmouseout="return searchBox.OnSearchSelectHide()"
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
51 onkeydown="return searchBox.OnSearchSelectKey(event)">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
52 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
53
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
54 <!-- iframe showing the search results (closed by default) -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
55 <div id="MSearchResultsWindow">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
56 <iframe src="javascript:void(0)" frameborder="0"
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
57 name="MSearchResults" id="MSearchResults">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
58 </iframe>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
59 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
60
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
61 <div id="nav-path" class="navpath">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
62 <ul>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
63 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_69f4ea29401808fe6229564976cde3ce.html">ucx</a></li> </ul>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
64 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
65 </div><!-- top -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
66 <div class="header">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
67 <div class="headertitle">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
68 <div class="title">map.h</div> </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
69 </div><!--header-->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
70 <div class="contents">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
71 <a href="map_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright 2017 Mike Becker, Olaf Wintermann All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions are met:</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * documentation and/or other materials provided with the distribution.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#ifndef UCX_MAP_H</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#define UCX_MAP_H</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ucx_8h.html">ucx.h</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="string_8h.html">string.h</a>&quot;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="allocator_8h.html">allocator.h</a>&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="map_8h.html#a940896c4aa1b13e54c55c04c3efc186b"> 65</a></span>&#160;<span class="preprocessor">#define UCX_MAP_FOREACH(key,value,iter) \</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor"> for(UcxKey key;ucx_map_iter_next(&amp;iter,&amp;key, (void**)&amp;value);)</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="map_8h.html#a18e21948725b2da68c35da587a722033"> 69</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUcxMap.html">UcxMap</a> <a class="code" href="structUcxMap.html">UcxMap</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="map_8h.html#ad63828bb23123fc01a5315a2bac3b142"> 72</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUcxKey.html">UcxKey</a> <a class="code" href="structUcxKey.html">UcxKey</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="map_8h.html#ad7d7a910a32113eb93eae11c3dc97b4b"> 75</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUcxMapElement.html">UcxMapElement</a> <a class="code" href="structUcxMapElement.html">UcxMapElement</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="map_8h.html#ae36aff5f645948c54f51578b11fd87fb"> 78</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUcxMapIterator.html">UcxMapIterator</a> <a class="code" href="structUcxMapIterator.html">UcxMapIterator</a>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structUcxMap.html"> 81</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structUcxMap.html">UcxMap</a> {</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structUcxMap.html#a531f3e481c1c331cf037b916192e974d"> 83</a></span>&#160; <a class="code" href="structUcxAllocator.html">UcxAllocator</a> *<a class="code" href="structUcxMap.html#a531f3e481c1c331cf037b916192e974d">allocator</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790"> 85</a></span>&#160; <a class="code" href="structUcxMapElement.html">UcxMapElement</a> **<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structUcxMap.html#afe120846b26d99580a7ff1276464e838"> 87</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structUcxMap.html#afe120846b26d99580a7ff1276464e838">size</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structUcxMap.html#a14e9163f71f6c014dfa2103de70ae9cd"> 89</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structUcxMap.html#a14e9163f71f6c014dfa2103de70ae9cd">count</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;};</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structUcxKey.html"> 93</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structUcxKey.html">UcxKey</a> {</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structUcxKey.html#a6176109f25b34f3fa92bcfbc8ae7a88c"> 95</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="structUcxKey.html#a6176109f25b34f3fa92bcfbc8ae7a88c">data</a>;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structUcxKey.html#abef01de37f355688f2ac797d2c280683"> 97</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structUcxKey.html#abef01de37f355688f2ac797d2c280683">len</a>;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structUcxKey.html#aac9d372ac34a4cbd8459e2b04e505752"> 99</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structUcxKey.html#aac9d372ac34a4cbd8459e2b04e505752">hash</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;};</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structUcxMapKey.html"> 103</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structUcxMapKey.html">UcxMapKey</a> {</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structUcxMapKey.html#ab71d1841e4f538628c00f782267fb6d5"> 105</a></span>&#160; <span class="keywordtype">void</span> *<a class="code" href="structUcxMapKey.html#ab71d1841e4f538628c00f782267fb6d5">data</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="structUcxMapKey.html#a504d46caa45c79cd87ff8cd835654270"> 107</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structUcxMapKey.html#a504d46caa45c79cd87ff8cd835654270">len</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structUcxMapKey.html#a34c1f8fec98174583944fffd30e7c913"> 109</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structUcxMapKey.html#a34c1f8fec98174583944fffd30e7c913">hash</a>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;};</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structUcxMapElement.html"> 113</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structUcxMapElement.html">UcxMapElement</a> {</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="structUcxMapElement.html#abbd7f3bf5beef370f702d2d5bb07733c"> 115</a></span>&#160; <span class="keywordtype">void</span> *<a class="code" href="structUcxMapElement.html#abbd7f3bf5beef370f702d2d5bb07733c">data</a>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="structUcxMapElement.html#a99fe8188b0889201d70ff5f922deef51"> 118</a></span>&#160; <a class="code" href="structUcxMapElement.html">UcxMapElement</a> *<a class="code" href="structUcxMapElement.html#a99fe8188b0889201d70ff5f922deef51">next</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structUcxMapElement.html#aa446141b708e106e2c8de1303318187c"> 121</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structUcxMapKey.html">UcxMapKey</a> key;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;};</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structUcxMapIterator.html"> 125</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structUcxMapIterator.html">UcxMapIterator</a> {</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structUcxMapIterator.html#af88d6e22547d09fe1d665dd650dcdb95"> 127</a></span>&#160; <a class="code" href="structUcxMap.html">UcxMap</a> <span class="keyword">const</span> *<a class="code" href="structUcxMapIterator.html#af88d6e22547d09fe1d665dd650dcdb95">map</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="structUcxMapIterator.html#af1fc40f899f37280adb5b85acf6e742f"> 130</a></span>&#160; <a class="code" href="structUcxMapElement.html">UcxMapElement</a> *<a class="code" href="structUcxMapIterator.html#af1fc40f899f37280adb5b85acf6e742f">cur</a>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structUcxMapIterator.html#ac2376545c8816dd6895de4995e558c65"> 138</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structUcxMapIterator.html#ac2376545c8816dd6895de4995e558c65">index</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;};</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="map_8h.html#a79f31de8b93814493759dbc8b940cf0c">ucx_map_new</a>(<span class="keywordtype">size_t</span> <a class="code" href="structUcxMap.html#afe120846b26d99580a7ff1276464e838">size</a>);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="map_8h.html#aed508a94c66cc15372503c64b70eb03e">ucx_map_new_a</a>(<a class="code" href="structUcxAllocator.html">UcxAllocator</a> *<a class="code" href="structUcxMap.html#a531f3e481c1c331cf037b916192e974d">allocator</a>, <span class="keywordtype">size_t</span> <a class="code" href="structUcxMap.html#afe120846b26d99580a7ff1276464e838">size</a>);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="keywordtype">void</span> <a class="code" href="map_8h.html#abe3d9688e4224bf7bb962abf25ff8c2e">ucx_map_free</a>(<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="keywordtype">void</span> <a class="code" href="map_8h.html#a750f3d9d83e2f3788a14c17a9d160618">ucx_map_free_content</a>(<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>, <a class="code" href="ucx_8h.html#ad2b370c2809914c8b7fedab163c266b3">ucx_destructor</a> destr);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="keywordtype">void</span> <a class="code" href="map_8h.html#a285e90e40681c6d9631c935dda0967f2">ucx_map_clear</a>(<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="keywordtype">int</span> <a class="code" href="map_8h.html#adfeb2d61003fd2896bcfdc9a57f36425">ucx_map_copy</a>(<a class="code" href="structUcxMap.html">UcxMap</a> <span class="keyword">const</span> *from, <a class="code" href="structUcxMap.html">UcxMap</a> *to, <a class="code" href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a> fnc, <span class="keywordtype">void</span> *data);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="map_8h.html#a62c6c30cbb0d824ba710f5030ff9a4e4">ucx_map_clone</a>(<a class="code" href="structUcxMap.html">UcxMap</a> <span class="keyword">const</span> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>, <a class="code" href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a> fnc, <span class="keywordtype">void</span> *data);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="map_8h.html#a9aea9103703d5c168420bb6bf85549ea">ucx_map_clone_a</a>(<a class="code" href="structUcxAllocator.html">UcxAllocator</a> *<a class="code" href="structUcxMap.html#a531f3e481c1c331cf037b916192e974d">allocator</a>,</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="structUcxMap.html">UcxMap</a> <span class="keyword">const</span> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>, <a class="code" href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a> fnc, <span class="keywordtype">void</span> *data);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="map_8h.html#a174bce9fad554dd92b8da354e0d32512">ucx_map_rehash</a>(<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="keywordtype">int</span> <a class="code" href="map_8h.html#ac04a08b604217070254d4c58f0e82498">ucx_map_put</a>(<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>, <a class="code" href="structUcxKey.html">UcxKey</a> key, <span class="keywordtype">void</span> *value);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="keywordtype">void</span>* <a class="code" href="map_8h.html#ab61192c5af2e06ecb9ad73880d1c95a6">ucx_map_get</a>(<a class="code" href="structUcxMap.html">UcxMap</a> <span class="keyword">const</span> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>, <a class="code" href="structUcxKey.html">UcxKey</a> key);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="keywordtype">void</span>* <a class="code" href="map_8h.html#a17248a4888eb8f9ae18be522d64632aa">ucx_map_remove</a>(<a class="code" href="structUcxMap.html">UcxMap</a> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>, <a class="code" href="structUcxKey.html">UcxKey</a> key);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="map_8h.html#ac26a8615bfc8f47ee9eaceb47645f98e"> 304</a></span>&#160;<span class="preprocessor">#define ucx_map_sstr_put(map, key, value) \</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;<span class="preprocessor"> ucx_map_put(map, ucx_key(key.ptr, key.length), (void*)value)</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="map_8h.html#ad9356b01425b934ab237b52339ac0cc3"> 315</a></span>&#160;<span class="preprocessor">#define ucx_map_cstr_put(map, key, value) \</span></div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="preprocessor"> ucx_map_put(map, ucx_key(key, strlen(key)), (void*)value)</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="map_8h.html#aaa30af79b4068c923895619e83f44367"> 326</a></span>&#160;<span class="preprocessor">#define ucx_map_int_put(map, key, value) \</span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="preprocessor"> ucx_map_put(map, ucx_key(&amp;key, sizeof(key)), (void*)value)</span></div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="map_8h.html#a14d385f6b7f371f0507861cabd2eab4e"> 336</a></span>&#160;<span class="preprocessor">#define ucx_map_sstr_get(map, key) \</span></div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="preprocessor"> ucx_map_get(map, ucx_key(key.ptr, key.length))</span></div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="map_8h.html#a64e1fb55498fa502dd2ed8ed69062cdd"> 346</a></span>&#160;<span class="preprocessor">#define ucx_map_cstr_get(map, key) \</span></div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="preprocessor"> ucx_map_get(map, ucx_key(key, strlen(key)))</span></div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="map_8h.html#aa1681bd2178553cd092fd24c4d681d3c"> 356</a></span>&#160;<span class="preprocessor">#define ucx_map_int_get(map, key) \</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="preprocessor"> ucx_map_get(map, ucx_key(&amp;key, sizeof(int)))</span></div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="map_8h.html#a48700ea86fadb9ea54d13010f9124df2"> 366</a></span>&#160;<span class="preprocessor">#define ucx_map_sstr_remove(map, key) \</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;<span class="preprocessor"> ucx_map_remove(map, ucx_key(key.ptr, key.length))</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="map_8h.html#a9c4405a5a75ecf64e2ef3d0c6501a9fe"> 376</a></span>&#160;<span class="preprocessor">#define ucx_map_cstr_remove(map, key) \</span></div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="preprocessor"> ucx_map_remove(map, ucx_key(key, strlen(key)))</span></div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="map_8h.html#aa767958b5468737755c09f7185b1770c"> 386</a></span>&#160;<span class="preprocessor">#define ucx_map_int_remove(map, key) \</span></div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;<span class="preprocessor"> ucx_map_remove(map, ucx_key(&amp;key, sizeof(key)))</span></div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<a class="code" href="structUcxKey.html">UcxKey</a> <a class="code" href="map_8h.html#a3e540bb46b8ee19789aed63fd8919200">ucx_key</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;<span class="keywordtype">int</span> <a class="code" href="map_8h.html#aea3be97254c05595d986ef6a9faae87b">ucx_hash</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keywordtype">size_t</span> len);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<a class="code" href="structUcxMapIterator.html">UcxMapIterator</a> <a class="code" href="map_8h.html#a9150e9c64fdf4dfcc2cad106b91aa110">ucx_map_iterator</a>(<a class="code" href="structUcxMap.html">UcxMap</a> <span class="keyword">const</span> *<a class="code" href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">map</a>);</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;<span class="keywordtype">int</span> <a class="code" href="map_8h.html#aceb8675abf44860b4bbc301bbada5b91">ucx_map_iter_next</a>(<a class="code" href="structUcxMapIterator.html">UcxMapIterator</a> *iterator, <a class="code" href="structUcxKey.html">UcxKey</a> *key, <span class="keywordtype">void</span> **value);</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a>* <a class="code" href="map_8h.html#a3f65978c481af7f637cad021d93522d5">ucx_map_union</a>(<span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *first, <span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *second,</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a> cpfnc, <span class="keywordtype">void</span>* cpdata);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a>* <a class="code" href="map_8h.html#ab6370c3fa8113fdad593ce4b0460c9c6">ucx_map_union_a</a>(<a class="code" href="structUcxAllocator.html">UcxAllocator</a> *<a class="code" href="structUcxMap.html#a531f3e481c1c331cf037b916192e974d">allocator</a>,</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *first, <span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *second,</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <a class="code" href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a> cpfnc, <span class="keywordtype">void</span>* cpdata);</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a>* <a class="code" href="map_8h.html#aa594d7a5afebc3bed6bb265348cf6b0d">ucx_map_intersection</a>(<span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *first, <span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *second,</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a> cpfnc, <span class="keywordtype">void</span>* cpdata);</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a>* <a class="code" href="map_8h.html#a169e0470a20484dd76425fdf77e3651e">ucx_map_intersection_a</a>(<a class="code" href="structUcxAllocator.html">UcxAllocator</a> *<a class="code" href="structUcxMap.html#a531f3e481c1c331cf037b916192e974d">allocator</a>,</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *first, <span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *second,</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a> cpfnc, <span class="keywordtype">void</span>* cpdata);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a>* <a class="code" href="map_8h.html#a774fcff87d1e58b6c5af77dd19a8c3dc">ucx_map_difference</a>(<span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *first, <span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *second,</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a> cpfnc, <span class="keywordtype">void</span>* cpdata);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;<a class="code" href="structUcxMap.html">UcxMap</a>* <a class="code" href="map_8h.html#ad0ba103494247d798ac3037c50fc8831">ucx_map_difference_a</a>(<a class="code" href="structUcxAllocator.html">UcxAllocator</a> *<a class="code" href="structUcxMap.html#a531f3e481c1c331cf037b916192e974d">allocator</a>,</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *first, <span class="keyword">const</span> <a class="code" href="structUcxMap.html">UcxMap</a> *second,</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <a class="code" href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a> cpfnc, <span class="keywordtype">void</span>* cpdata);</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;}</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* UCX_MAP_H */</span><span class="preprocessor"></span></div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;</div><div class="ttc" id="ucx_8h_html_aab917a5fe0965673c73e8ebd0a1fc967"><div class="ttname"><a href="ucx_8h.html#aab917a5fe0965673c73e8ebd0a1fc967">copy_func</a></div><div class="ttdeci">void *(* copy_func)(const void *, void *)</div><div class="ttdoc">Function pointer to a copy function. </div><div class="ttdef"><b>Definition:</b> ucx.h:106</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
72 <div class="ttc" id="structUcxMapIterator_html_ac2376545c8816dd6895de4995e558c65"><div class="ttname"><a href="structUcxMapIterator.html#ac2376545c8816dd6895de4995e558c65">UcxMapIterator::index</a></div><div class="ttdeci">size_t index</div><div class="ttdoc">The current index of the element list array. </div><div class="ttdef"><b>Definition:</b> map.h:138</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
73 <div class="ttc" id="structUcxMapKey_html_a504d46caa45c79cd87ff8cd835654270"><div class="ttname"><a href="structUcxMapKey.html#a504d46caa45c79cd87ff8cd835654270">UcxMapKey::len</a></div><div class="ttdeci">size_t len</div><div class="ttdoc">The length of the key data. </div><div class="ttdef"><b>Definition:</b> map.h:107</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
74 <div class="ttc" id="map_8h_html_ad0ba103494247d798ac3037c50fc8831"><div class="ttname"><a href="map_8h.html#ad0ba103494247d798ac3037c50fc8831">ucx_map_difference_a</a></div><div class="ttdeci">UcxMap * ucx_map_difference_a(UcxAllocator *allocator, const UcxMap *first, const UcxMap *second, copy_func cpfnc, void *cpdata)</div><div class="ttdoc">Returns the difference of two maps. </div><div class="ttdef"><b>Definition:</b> map.c:386</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
75 <div class="ttc" id="string_8h_html"><div class="ttname"><a href="string_8h.html">string.h</a></div><div class="ttdoc">Bounded string implementation. </div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
76 <div class="ttc" id="ucx_8h_html"><div class="ttname"><a href="ucx_8h.html">ucx.h</a></div><div class="ttdoc">Main UCX Header providing most common definitions. </div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
77 <div class="ttc" id="map_8h_html_aea3be97254c05595d986ef6a9faae87b"><div class="ttname"><a href="map_8h.html#aea3be97254c05595d986ef6a9faae87b">ucx_hash</a></div><div class="ttdeci">int ucx_hash(const char *data, size_t len)</div><div class="ttdoc">Computes a murmur hash-2. </div><div class="ttdef"><b>Definition:</b> map.c:260</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
78 <div class="ttc" id="structUcxMapKey_html_a34c1f8fec98174583944fffd30e7c913"><div class="ttname"><a href="structUcxMapKey.html#a34c1f8fec98174583944fffd30e7c913">UcxMapKey::hash</a></div><div class="ttdeci">int hash</div><div class="ttdoc">The hash value of the key data. </div><div class="ttdef"><b>Definition:</b> map.h:109</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
79 <div class="ttc" id="map_8h_html_a750f3d9d83e2f3788a14c17a9d160618"><div class="ttname"><a href="map_8h.html#a750f3d9d83e2f3788a14c17a9d160618">ucx_map_free_content</a></div><div class="ttdeci">void ucx_map_free_content(UcxMap *map, ucx_destructor destr)</div><div class="ttdoc">Frees the contents of a hash map. </div><div class="ttdef"><b>Definition:</b> map.c:85</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
80 <div class="ttc" id="map_8h_html_ab61192c5af2e06ecb9ad73880d1c95a6"><div class="ttname"><a href="map_8h.html#ab61192c5af2e06ecb9ad73880d1c95a6">ucx_map_get</a></div><div class="ttdeci">void * ucx_map_get(UcxMap const *map, UcxKey key)</div><div class="ttdoc">Retrieves a value by using a key. </div><div class="ttdef"><b>Definition:</b> map.c:243</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
81 <div class="ttc" id="map_8h_html_a9150e9c64fdf4dfcc2cad106b91aa110"><div class="ttname"><a href="map_8h.html#a9150e9c64fdf4dfcc2cad106b91aa110">ucx_map_iterator</a></div><div class="ttdeci">UcxMapIterator ucx_map_iterator(UcxMap const *map)</div><div class="ttdoc">Creates an iterator for a map. </div><div class="ttdef"><b>Definition:</b> map.c:302</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
82 <div class="ttc" id="map_8h_html_a3f65978c481af7f637cad021d93522d5"><div class="ttname"><a href="map_8h.html#a3f65978c481af7f637cad021d93522d5">ucx_map_union</a></div><div class="ttdeci">UcxMap * ucx_map_union(const UcxMap *first, const UcxMap *second, copy_func cpfnc, void *cpdata)</div><div class="ttdoc">Returns the union of two maps. </div><div class="ttdef"><b>Definition:</b> map.c:343</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
83 <div class="ttc" id="structUcxKey_html_aac9d372ac34a4cbd8459e2b04e505752"><div class="ttname"><a href="structUcxKey.html#aac9d372ac34a4cbd8459e2b04e505752">UcxKey::hash</a></div><div class="ttdeci">int hash</div><div class="ttdoc">A cache for the hash value of the key data. </div><div class="ttdef"><b>Definition:</b> map.h:99</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
84 <div class="ttc" id="map_8h_html_a285e90e40681c6d9631c935dda0967f2"><div class="ttname"><a href="map_8h.html#a285e90e40681c6d9631c935dda0967f2">ucx_map_clear</a></div><div class="ttdeci">void ucx_map_clear(UcxMap *map)</div><div class="ttdoc">Clears a hash map. </div><div class="ttdef"><b>Definition:</b> map.c:97</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
85 <div class="ttc" id="map_8h_html_a774fcff87d1e58b6c5af77dd19a8c3dc"><div class="ttname"><a href="map_8h.html#a774fcff87d1e58b6c5af77dd19a8c3dc">ucx_map_difference</a></div><div class="ttdeci">UcxMap * ucx_map_difference(const UcxMap *first, const UcxMap *second, copy_func cpfnc, void *cpdata)</div><div class="ttdoc">Returns the difference of two maps. </div><div class="ttdef"><b>Definition:</b> map.c:380</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
86 <div class="ttc" id="structUcxMapElement_html"><div class="ttname"><a href="structUcxMapElement.html">UcxMapElement</a></div><div class="ttdoc">Structure for an element of a UcxMap. </div><div class="ttdef"><b>Definition:</b> map.h:113</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
87 <div class="ttc" id="structUcxKey_html"><div class="ttname"><a href="structUcxKey.html">UcxKey</a></div><div class="ttdoc">Structure to publicly denote a key of a UcxMap. </div><div class="ttdef"><b>Definition:</b> map.h:93</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
88 <div class="ttc" id="structUcxMap_html_a14e9163f71f6c014dfa2103de70ae9cd"><div class="ttname"><a href="structUcxMap.html#a14e9163f71f6c014dfa2103de70ae9cd">UcxMap::count</a></div><div class="ttdeci">size_t count</div><div class="ttdoc">The count of elements currently stored in this map. </div><div class="ttdef"><b>Definition:</b> map.h:89</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
89 <div class="ttc" id="structUcxMapElement_html_a99fe8188b0889201d70ff5f922deef51"><div class="ttname"><a href="structUcxMapElement.html#a99fe8188b0889201d70ff5f922deef51">UcxMapElement::next</a></div><div class="ttdeci">UcxMapElement * next</div><div class="ttdoc">A pointer to the next element in the current list. </div><div class="ttdef"><b>Definition:</b> map.h:118</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
90 <div class="ttc" id="map_8h_html_ab6370c3fa8113fdad593ce4b0460c9c6"><div class="ttname"><a href="map_8h.html#ab6370c3fa8113fdad593ce4b0460c9c6">ucx_map_union_a</a></div><div class="ttdeci">UcxMap * ucx_map_union_a(UcxAllocator *allocator, const UcxMap *first, const UcxMap *second, copy_func cpfnc, void *cpdata)</div><div class="ttdoc">Returns the union of two maps. </div><div class="ttdef"><b>Definition:</b> map.c:349</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
91 <div class="ttc" id="structUcxMapIterator_html_af88d6e22547d09fe1d665dd650dcdb95"><div class="ttname"><a href="structUcxMapIterator.html#af88d6e22547d09fe1d665dd650dcdb95">UcxMapIterator::map</a></div><div class="ttdeci">UcxMap const * map</div><div class="ttdoc">The map to iterate over. </div><div class="ttdef"><b>Definition:</b> map.h:127</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
92 <div class="ttc" id="structUcxMapIterator_html"><div class="ttname"><a href="structUcxMapIterator.html">UcxMapIterator</a></div><div class="ttdoc">Structure for an iterator over a UcxMap. </div><div class="ttdef"><b>Definition:</b> map.h:125</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
93 <div class="ttc" id="structUcxMapElement_html_abbd7f3bf5beef370f702d2d5bb07733c"><div class="ttname"><a href="structUcxMapElement.html#abbd7f3bf5beef370f702d2d5bb07733c">UcxMapElement::data</a></div><div class="ttdeci">void * data</div><div class="ttdoc">The value data. </div><div class="ttdef"><b>Definition:</b> map.h:115</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
94 <div class="ttc" id="map_8h_html_adfeb2d61003fd2896bcfdc9a57f36425"><div class="ttname"><a href="map_8h.html#adfeb2d61003fd2896bcfdc9a57f36425">ucx_map_copy</a></div><div class="ttdeci">int ucx_map_copy(UcxMap const *from, UcxMap *to, copy_func fnc, void *data)</div><div class="ttdoc">Copies contents from a map to another map using a copy function. </div><div class="ttdef"><b>Definition:</b> map.c:106</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
95 <div class="ttc" id="structUcxAllocator_html"><div class="ttname"><a href="structUcxAllocator.html">UcxAllocator</a></div><div class="ttdoc">UCX allocator data structure containing memory management functions. </div><div class="ttdef"><b>Definition:</b> allocator.h:88</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
96 <div class="ttc" id="map_8h_html_a3e540bb46b8ee19789aed63fd8919200"><div class="ttname"><a href="map_8h.html#a3e540bb46b8ee19789aed63fd8919200">ucx_key</a></div><div class="ttdeci">UcxKey ucx_key(const void *data, size_t len)</div><div class="ttdoc">Creates a UcxKey based on the given data. </div><div class="ttdef"><b>Definition:</b> map.c:251</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
97 <div class="ttc" id="map_8h_html_a79f31de8b93814493759dbc8b940cf0c"><div class="ttname"><a href="map_8h.html#a79f31de8b93814493759dbc8b940cf0c">ucx_map_new</a></div><div class="ttdeci">UcxMap * ucx_map_new(size_t size)</div><div class="ttdoc">Creates a new hash map with the specified size. </div><div class="ttdef"><b>Definition:</b> map.c:34</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
98 <div class="ttc" id="structUcxMapIterator_html_af1fc40f899f37280adb5b85acf6e742f"><div class="ttname"><a href="structUcxMapIterator.html#af1fc40f899f37280adb5b85acf6e742f">UcxMapIterator::cur</a></div><div class="ttdeci">UcxMapElement * cur</div><div class="ttdoc">The current map element. </div><div class="ttdef"><b>Definition:</b> map.h:130</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
99 <div class="ttc" id="map_8h_html_aed508a94c66cc15372503c64b70eb03e"><div class="ttname"><a href="map_8h.html#aed508a94c66cc15372503c64b70eb03e">ucx_map_new_a</a></div><div class="ttdeci">UcxMap * ucx_map_new_a(UcxAllocator *allocator, size_t size)</div><div class="ttdoc">Creates a new hash map with the specified size using a UcxAllocator. </div><div class="ttdef"><b>Definition:</b> map.c:38</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
100 <div class="ttc" id="structUcxMap_html_a531f3e481c1c331cf037b916192e974d"><div class="ttname"><a href="structUcxMap.html#a531f3e481c1c331cf037b916192e974d">UcxMap::allocator</a></div><div class="ttdeci">UcxAllocator * allocator</div><div class="ttdoc">An allocator that is used for the map elements. </div><div class="ttdef"><b>Definition:</b> map.h:83</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
101 <div class="ttc" id="structUcxMapKey_html"><div class="ttname"><a href="structUcxMapKey.html">UcxMapKey</a></div><div class="ttdoc">Internal structure for a key of a UcxMap. </div><div class="ttdef"><b>Definition:</b> map.h:103</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
102 <div class="ttc" id="map_8h_html_ac04a08b604217070254d4c58f0e82498"><div class="ttname"><a href="map_8h.html#ac04a08b604217070254d4c58f0e82498">ucx_map_put</a></div><div class="ttdeci">int ucx_map_put(UcxMap *map, UcxKey key, void *value)</div><div class="ttdoc">Puts a key/value-pair into the map. </div><div class="ttdef"><b>Definition:</b> map.c:158</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
103 <div class="ttc" id="map_8h_html_a9aea9103703d5c168420bb6bf85549ea"><div class="ttname"><a href="map_8h.html#a9aea9103703d5c168420bb6bf85549ea">ucx_map_clone_a</a></div><div class="ttdeci">UcxMap * ucx_map_clone_a(UcxAllocator *allocator, UcxMap const *map, copy_func fnc, void *data)</div><div class="ttdoc">Clones the map and rehashes if necessary. </div><div class="ttdef"><b>Definition:</b> map.c:121</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
104 <div class="ttc" id="structUcxMap_html_afe120846b26d99580a7ff1276464e838"><div class="ttname"><a href="structUcxMap.html#afe120846b26d99580a7ff1276464e838">UcxMap::size</a></div><div class="ttdeci">size_t size</div><div class="ttdoc">The size of the map is the length of the element list array. </div><div class="ttdef"><b>Definition:</b> map.h:87</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
105 <div class="ttc" id="map_8h_html_aceb8675abf44860b4bbc301bbada5b91"><div class="ttname"><a href="map_8h.html#aceb8675abf44860b4bbc301bbada5b91">ucx_map_iter_next</a></div><div class="ttdeci">int ucx_map_iter_next(UcxMapIterator *iterator, UcxKey *key, void **value)</div><div class="ttdoc">Proceeds to the next element of the map (if any). </div><div class="ttdef"><b>Definition:</b> map.c:310</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
106 <div class="ttc" id="structUcxKey_html_a6176109f25b34f3fa92bcfbc8ae7a88c"><div class="ttname"><a href="structUcxKey.html#a6176109f25b34f3fa92bcfbc8ae7a88c">UcxKey::data</a></div><div class="ttdeci">const void * data</div><div class="ttdoc">The key data. </div><div class="ttdef"><b>Definition:</b> map.h:95</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
107 <div class="ttc" id="allocator_8h_html"><div class="ttname"><a href="allocator_8h.html">allocator.h</a></div><div class="ttdoc">Allocator for custom memory management. </div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
108 <div class="ttc" id="structUcxMap_html"><div class="ttname"><a href="structUcxMap.html">UcxMap</a></div><div class="ttdoc">Structure for the UCX map. </div><div class="ttdef"><b>Definition:</b> map.h:81</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
109 <div class="ttc" id="map_8h_html_a17248a4888eb8f9ae18be522d64632aa"><div class="ttname"><a href="map_8h.html#a17248a4888eb8f9ae18be522d64632aa">ucx_map_remove</a></div><div class="ttdeci">void * ucx_map_remove(UcxMap *map, UcxKey key)</div><div class="ttdoc">Removes a key/value-pair from the map by using the key. </div><div class="ttdef"><b>Definition:</b> map.c:247</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
110 <div class="ttc" id="structUcxKey_html_abef01de37f355688f2ac797d2c280683"><div class="ttname"><a href="structUcxKey.html#abef01de37f355688f2ac797d2c280683">UcxKey::len</a></div><div class="ttdeci">size_t len</div><div class="ttdoc">The length of the key data. </div><div class="ttdef"><b>Definition:</b> map.h:97</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
111 <div class="ttc" id="map_8h_html_aa594d7a5afebc3bed6bb265348cf6b0d"><div class="ttname"><a href="map_8h.html#aa594d7a5afebc3bed6bb265348cf6b0d">ucx_map_intersection</a></div><div class="ttdeci">UcxMap * ucx_map_intersection(const UcxMap *first, const UcxMap *second, copy_func cpfnc, void *cpdata)</div><div class="ttdoc">Returns the intersection of two maps. </div><div class="ttdef"><b>Definition:</b> map.c:357</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
112 <div class="ttc" id="map_8h_html_a174bce9fad554dd92b8da354e0d32512"><div class="ttname"><a href="map_8h.html#a174bce9fad554dd92b8da354e0d32512">ucx_map_rehash</a></div><div class="ttdeci">int ucx_map_rehash(UcxMap *map)</div><div class="ttdoc">Increases size of the hash map, if necessary. </div><div class="ttdef"><b>Definition:</b> map.c:132</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
113 <div class="ttc" id="map_8h_html_abe3d9688e4224bf7bb962abf25ff8c2e"><div class="ttname"><a href="map_8h.html#abe3d9688e4224bf7bb962abf25ff8c2e">ucx_map_free</a></div><div class="ttdeci">void ucx_map_free(UcxMap *map)</div><div class="ttdoc">Frees a hash map. </div><div class="ttdef"><b>Definition:</b> map.c:79</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
114 <div class="ttc" id="map_8h_html_a62c6c30cbb0d824ba710f5030ff9a4e4"><div class="ttname"><a href="map_8h.html#a62c6c30cbb0d824ba710f5030ff9a4e4">ucx_map_clone</a></div><div class="ttdeci">UcxMap * ucx_map_clone(UcxMap const *map, copy_func fnc, void *data)</div><div class="ttdoc">Clones the map and rehashes if necessary. </div><div class="ttdef"><b>Definition:</b> map.c:117</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
115 <div class="ttc" id="structUcxMap_html_a5792b5037c4f77ea3cb144b66c9b8790"><div class="ttname"><a href="structUcxMap.html#a5792b5037c4f77ea3cb144b66c9b8790">UcxMap::map</a></div><div class="ttdeci">UcxMapElement ** map</div><div class="ttdoc">The array of map element lists. </div><div class="ttdef"><b>Definition:</b> map.h:85</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
116 <div class="ttc" id="map_8h_html_a169e0470a20484dd76425fdf77e3651e"><div class="ttname"><a href="map_8h.html#a169e0470a20484dd76425fdf77e3651e">ucx_map_intersection_a</a></div><div class="ttdeci">UcxMap * ucx_map_intersection_a(UcxAllocator *allocator, const UcxMap *first, const UcxMap *second, copy_func cpfnc, void *cpdata)</div><div class="ttdoc">Returns the intersection of two maps. </div><div class="ttdef"><b>Definition:</b> map.c:363</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
117 <div class="ttc" id="structUcxMapKey_html_ab71d1841e4f538628c00f782267fb6d5"><div class="ttname"><a href="structUcxMapKey.html#ab71d1841e4f538628c00f782267fb6d5">UcxMapKey::data</a></div><div class="ttdeci">void * data</div><div class="ttdoc">The key data. </div><div class="ttdef"><b>Definition:</b> map.h:105</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
118 <div class="ttc" id="ucx_8h_html_ad2b370c2809914c8b7fedab163c266b3"><div class="ttname"><a href="ucx_8h.html#ad2b370c2809914c8b7fedab163c266b3">ucx_destructor</a></div><div class="ttdeci">void(* ucx_destructor)(void *)</div><div class="ttdoc">A function pointer to a destructor function. </div><div class="ttdef"><b>Definition:</b> ucx.h:72</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
119 </div><!-- fragment --></div><!-- contents -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
120 <!-- start footer part -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
121 <hr class="footer"/><address class="footer"><small>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
122 Generated on Thu Dec 19 2019 19:58:24 for ucx by &#160;<a href="http://www.doxygen.org/index.html">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
123 <img class="footer" src="doxygen.png" alt="doxygen"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
124 </a> 1.8.13
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
125 </small></address>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
126 </body>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
127 </html>

mercurial