Files
libaaruformat/docs/html/structhash__map__t.html

203 lines
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libaaruformat: hash_map_t 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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.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 id="projectrow">
<td id="projectalign">
<div id="projectname">libaaruformat<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Aaru Data Preservation Suite - Format Library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</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',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('structhash__map__t.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- 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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">hash_map_t Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Minimal open-addressing hash map for 64-bit key/value pairs used in deduplication lookup.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="hash__map_8h_source.html">aaruformat/hash_map.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:aeaa8747727df544b4757e6c46aa8779f" id="r_aeaa8747727df544b4757e6c46aa8779f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structkv__pair__t.html">kv_pair_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeaa8747727df544b4757e6c46aa8779f">table</a></td></tr>
<tr class="memdesc:aeaa8747727df544b4757e6c46aa8779f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of key/value slots of length == size. <br /></td></tr>
<tr class="memitem:acfa07d46992978b9a9d07522fcf920b8" id="r_acfa07d46992978b9a9d07522fcf920b8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acfa07d46992978b9a9d07522fcf920b8">size</a></td></tr>
<tr class="memdesc:acfa07d46992978b9a9d07522fcf920b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocated slot capacity of table. <br /></td></tr>
<tr class="memitem:a32b1f62bf18d74209db0afe797d69bae" id="r_a32b1f62bf18d74209db0afe797d69bae"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a32b1f62bf18d74209db0afe797d69bae">count</a></td></tr>
<tr class="memdesc:a32b1f62bf18d74209db0afe797d69bae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of active (filled) entries. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Minimal open-addressing hash map for 64-bit key/value pairs used in deduplication lookup. </p>
<p>Fields:</p><ul>
<li>table: Pointer to contiguous array of <a class="el" href="structkv__pair__t.html" title="Single key/value slot used internally by the open-addressing hash map.">kv_pair_t</a> entries (capacity == size).</li>
<li>size: Total number of slots allocated in table (must be &gt;= 1).</li>
<li>count: Number of occupied (non-empty) slots currently in use.</li>
</ul>
<p>Load factor guidance: insert performance degrades as count approaches size; callers may rebuild with a larger size when (count * 10 / size) exceeds a chosen threshold (e.g. 70 80%). No automatic resizing is performed. </p>
<p class="definition">Definition at line <a class="el" href="hash__map_8h_source.html#l00049">49</a> of file <a class="el" href="hash__map_8h_source.html">hash_map.h</a>.</p>
</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Field Documentation</h2>
<a id="a32b1f62bf18d74209db0afe797d69bae" name="a32b1f62bf18d74209db0afe797d69bae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32b1f62bf18d74209db0afe797d69bae">&#9670;&#160;</a></span>count</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t hash_map_t::count</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of active (filled) entries. </p>
<p class="definition">Definition at line <a class="el" href="hash__map_8h_source.html#l00053">53</a> of file <a class="el" href="hash__map_8h_source.html">hash_map.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="hash__map_8c_source.html#l00049">create_map()</a>, <a class="el" href="hash__map_8c_source.html#l00153">insert_map()</a>, and <a class="el" href="hash__map_8c_source.html#l00101">resize_map()</a>.</p>
</div>
</div>
<a id="acfa07d46992978b9a9d07522fcf920b8" name="acfa07d46992978b9a9d07522fcf920b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfa07d46992978b9a9d07522fcf920b8">&#9670;&#160;</a></span>size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t hash_map_t::size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocated slot capacity of table. </p>
<p class="definition">Definition at line <a class="el" href="hash__map_8h_source.html#l00052">52</a> of file <a class="el" href="hash__map_8h_source.html">hash_map.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="hash__map_8c_source.html#l00049">create_map()</a>, <a class="el" href="hash__map_8c_source.html#l00153">insert_map()</a>, <a class="el" href="hash__map_8c_source.html#l00196">lookup_map()</a>, and <a class="el" href="hash__map_8c_source.html#l00101">resize_map()</a>.</p>
</div>
</div>
<a id="aeaa8747727df544b4757e6c46aa8779f" name="aeaa8747727df544b4757e6c46aa8779f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeaa8747727df544b4757e6c46aa8779f">&#9670;&#160;</a></span>table</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structkv__pair__t.html">kv_pair_t</a>* hash_map_t::table</td>
</tr>
</table>
</div><div class="memdoc">
<p>Array of key/value slots of length == size. </p>
<p class="definition">Definition at line <a class="el" href="hash__map_8h_source.html#l00051">51</a> of file <a class="el" href="hash__map_8h_source.html">hash_map.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="hash__map_8c_source.html#l00049">create_map()</a>, <a class="el" href="hash__map_8c_source.html#l00073">free_map()</a>, <a class="el" href="hash__map_8c_source.html#l00153">insert_map()</a>, <a class="el" href="hash__map_8c_source.html#l00196">lookup_map()</a>, and <a class="el" href="hash__map_8c_source.html#l00101">resize_map()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/aaruformat/<a class="el" href="hash__map_8h_source.html">hash_map.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="structhash__map__t.html">hash_map_t</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>