archeus/doc/doxygen/html/d2/d19/group__ARC__Vector.html

493 lines
27 KiB
HTML

<!-- HTML header for doxygen 1.9.2-->
<!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" class="dark-mode">
<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.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Archeus: ARC_Vector</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="../../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="../../resize.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" />
<link href="../../doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="../../doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="../../doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../doxygen-awesome-darkmode-toggle.js"></script>
</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="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Archeus<span id="projectnumber">&#160;0.0.0</span>
</div>
<div id="projectbrief">A C library and game engine that focuses on documentation</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</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">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('d2/d19/group__ARC__Vector.html','../../'); initResizable(true); });
/* @license-end */
</script>
<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="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">ARC_Vector</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga23dfcf0229206051666a31f91c8c6e1b" id="r_ga23dfcf0229206051666a31f91c8c6e1b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a></td></tr>
<tr class="memdesc:ga23dfcf0229206051666a31f91c8c6e1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">a dynamic array type <br /></td></tr>
<tr class="separator:ga23dfcf0229206051666a31f91c8c6e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4123cf094e58ae25daa9356b3a51f116" id="r_ga4123cf094e58ae25daa9356b3a51f116"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="../../d8/d77/bool_8h.html#aad51710c999c22d9440e5ce0ba8e2c45">ARC_Bool</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4123cf094e58ae25daa9356b3a51f116">ARC_Vector_CompareDataFn</a>) (void *dataA, void *dataB)</td></tr>
<tr class="memdesc:ga4123cf094e58ae25daa9356b3a51f116"><td class="mdescLeft">&#160;</td><td class="mdescRight">a callback that allows the user to define a way to check the data stored in a vector for a match <br /></td></tr>
<tr class="separator:ga4123cf094e58ae25daa9356b3a51f116"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga069428a2ccbbed066249d48f1b0bf1ef" id="r_ga069428a2ccbbed066249d48f1b0bf1ef"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga069428a2ccbbed066249d48f1b0bf1ef">ARC_Vector_DestroyDataFn</a>) (void *data)</td></tr>
<tr class="memdesc:ga069428a2ccbbed066249d48f1b0bf1ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">a callback that cleans up memory when it is removed from the vector <br /></td></tr>
<tr class="separator:ga069428a2ccbbed066249d48f1b0bf1ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac8de583c096684695a7d862c581b78f6" id="r_gac8de583c096684695a7d862c581b78f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac8de583c096684695a7d862c581b78f6">ARC_Vector_Create</a> (<a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> **vector, <a class="el" href="#ga4123cf094e58ae25daa9356b3a51f116">ARC_Vector_CompareDataFn</a> *compareDataFn, <a class="el" href="#ga069428a2ccbbed066249d48f1b0bf1ef">ARC_Vector_DestroyDataFn</a> *destroyDataFn)</td></tr>
<tr class="memdesc:gac8de583c096684695a7d862c581b78f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">creates an ARC_Vector which is an "expandable" array <br /></td></tr>
<tr class="separator:gac8de583c096684695a7d862c581b78f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga605bb525f6df05ec88742237e1911e47" id="r_ga605bb525f6df05ec88742237e1911e47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga605bb525f6df05ec88742237e1911e47">ARC_Vector_Destroy</a> (<a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *vector)</td></tr>
<tr class="memdesc:ga605bb525f6df05ec88742237e1911e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">destroys an ARC_Vector <br /></td></tr>
<tr class="separator:ga605bb525f6df05ec88742237e1911e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a06c8c4c1fc1f99e08568ef92c186ae" id="r_ga2a06c8c4c1fc1f99e08568ef92c186ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2a06c8c4c1fc1f99e08568ef92c186ae">ARC_Vector_Add</a> (<a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *vector, void *data)</td></tr>
<tr class="memdesc:ga2a06c8c4c1fc1f99e08568ef92c186ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">adds an item to an ARC_Vector <br /></td></tr>
<tr class="separator:ga2a06c8c4c1fc1f99e08568ef92c186ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga443185fcb80a2593b4b1f580a1b11133" id="r_ga443185fcb80a2593b4b1f580a1b11133"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga443185fcb80a2593b4b1f580a1b11133">ARC_Vector_Remove</a> (<a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *vector, void *data)</td></tr>
<tr class="memdesc:ga443185fcb80a2593b4b1f580a1b11133"><td class="mdescLeft">&#160;</td><td class="mdescRight">removes an item from a matching item in an ARC_Vector <br /></td></tr>
<tr class="separator:ga443185fcb80a2593b4b1f580a1b11133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab05c0f7ebefe73729d3e2c2e6e528d00" id="r_gab05c0f7ebefe73729d3e2c2e6e528d00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gab05c0f7ebefe73729d3e2c2e6e528d00">ARC_Vector_RemoveIndex</a> (<a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *vector, uint32_t index)</td></tr>
<tr class="memdesc:gab05c0f7ebefe73729d3e2c2e6e528d00"><td class="mdescLeft">&#160;</td><td class="mdescRight">removes an item from an ARC_Vector at an index <br /></td></tr>
<tr class="separator:gab05c0f7ebefe73729d3e2c2e6e528d00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0f528744e3da5f3334d91f6ecf542ec" id="r_gac0f528744e3da5f3334d91f6ecf542ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac0f528744e3da5f3334d91f6ecf542ec">ARC_Vector_Clear</a> (<a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *vector)</td></tr>
<tr class="memdesc:gac0f528744e3da5f3334d91f6ecf542ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">clears all items from a vector <br /></td></tr>
<tr class="separator:gac0f528744e3da5f3334d91f6ecf542ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c72f76fed251ea51a8be057f9c89504" id="r_ga0c72f76fed251ea51a8be057f9c89504"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0c72f76fed251ea51a8be057f9c89504">ARC_Vector_GetSize</a> (<a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *vector)</td></tr>
<tr class="memdesc:ga0c72f76fed251ea51a8be057f9c89504"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets the current size of an ARC_Vector as an unsigned 32 bit integer <br /></td></tr>
<tr class="separator:ga0c72f76fed251ea51a8be057f9c89504"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b01ba012d6fe295e8ce1446f9a6a3a0" id="r_ga1b01ba012d6fe295e8ce1446f9a6a3a0"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1b01ba012d6fe295e8ce1446f9a6a3a0">ARC_Vector_Get</a> (<a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *vector, uint32_t index)</td></tr>
<tr class="memdesc:ga1b01ba012d6fe295e8ce1446f9a6a3a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets an item from an ARC_Vector at a position index <br /></td></tr>
<tr class="separator:ga1b01ba012d6fe295e8ce1446f9a6a3a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Additional documentation for group 'ARC_Vector' </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga23dfcf0229206051666a31f91c8c6e1b" name="ga23dfcf0229206051666a31f91c8c6e1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga23dfcf0229206051666a31f91c8c6e1b">&#9670;&#160;</a></span>ARC_Vector</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> <a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>a dynamic array type </p>
<p class="definition">Definition at line <a class="el" href="../../d6/d68/vector_8h_source.html#l00026">26</a> of file <a class="el" href="../../d6/d68/vector_8h_source.html">vector.h</a>.</p>
</div>
</div>
<a id="ga4123cf094e58ae25daa9356b3a51f116" name="ga4123cf094e58ae25daa9356b3a51f116"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4123cf094e58ae25daa9356b3a51f116">&#9670;&#160;</a></span>ARC_Vector_CompareDataFn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="../../d8/d77/bool_8h.html#aad51710c999c22d9440e5ce0ba8e2c45">ARC_Bool</a>(* ARC_Vector_CompareDataFn) (void *dataA, void *dataB)</td>
</tr>
</table>
</div><div class="memdoc">
<p>a callback that allows the user to define a way to check the data stored in a vector for a match </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dataA</td><td>the first data to check </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dataB</td><td>the second data to check</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ARC_True when dataA == dataB, and ARC_False otherwise </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d6/d68/vector_8h_source.html#l00036">36</a> of file <a class="el" href="../../d6/d68/vector_8h_source.html">vector.h</a>.</p>
</div>
</div>
<a id="ga069428a2ccbbed066249d48f1b0bf1ef" name="ga069428a2ccbbed066249d48f1b0bf1ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga069428a2ccbbed066249d48f1b0bf1ef">&#9670;&#160;</a></span>ARC_Vector_DestroyDataFn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* ARC_Vector_DestroyDataFn) (void *data)</td>
</tr>
</table>
</div><div class="memdoc">
<p>a callback that cleans up memory when it is removed from the vector </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>the item to destroy </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../d6/d68/vector_8h_source.html#l00043">43</a> of file <a class="el" href="../../d6/d68/vector_8h_source.html">vector.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga2a06c8c4c1fc1f99e08568ef92c186ae" name="ga2a06c8c4c1fc1f99e08568ef92c186ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2a06c8c4c1fc1f99e08568ef92c186ae">&#9670;&#160;</a></span>ARC_Vector_Add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Vector_Add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *</td> <td class="paramname"><span class="paramname"><em>vector</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>adds an item to an ARC_Vector </p>
<dl class="section note"><dt>Note</dt><dd>this will error if you add more than 4,294,967,295 items (the max value of an unsigned int 32)</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vector</td><td>ARC_Vector to add to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>data that is being added </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gac0f528744e3da5f3334d91f6ecf542ec" name="gac0f528744e3da5f3334d91f6ecf542ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac0f528744e3da5f3334d91f6ecf542ec">&#9670;&#160;</a></span>ARC_Vector_Clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Vector_Clear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *</td> <td class="paramname"><span class="paramname"><em>vector</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>clears all items from a vector </p>
<dl class="section note"><dt>Note</dt><dd>this function will call ARC_Vector_RemoveIndex, so it's notes are also applicable to this function</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vector</td><td>ARC_Vector to clear </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gac8de583c096684695a7d862c581b78f6" name="gac8de583c096684695a7d862c581b78f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac8de583c096684695a7d862c581b78f6">&#9670;&#160;</a></span>ARC_Vector_Create()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Vector_Create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> **</td> <td class="paramname"><span class="paramname"><em>vector</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="#ga4123cf094e58ae25daa9356b3a51f116">ARC_Vector_CompareDataFn</a> *</td> <td class="paramname"><span class="paramname"><em>compareDataFn</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="#ga069428a2ccbbed066249d48f1b0bf1ef">ARC_Vector_DestroyDataFn</a> *</td> <td class="paramname"><span class="paramname"><em>destroyDataFn</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>creates an ARC_Vector which is an "expandable" array </p>
<dl class="section note"><dt>Note</dt><dd>for this basic implementation, the array will double in size every time the capacity is hit </dd>
<dd>
the array will also half in size when the array is only half filled</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">vector</td><td>ARC_Vector to initialize </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">compareDataFn</td><td>a callback that checks if data stored in the array matches, if set to NULL and ARC_Vector_Remove is called, the pointer addresses will be compared </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">destroyDataFn</td><td>a callback that frees an item on remove or clear, can be set to NULL to do nothing </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga605bb525f6df05ec88742237e1911e47" name="ga605bb525f6df05ec88742237e1911e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga605bb525f6df05ec88742237e1911e47">&#9670;&#160;</a></span>ARC_Vector_Destroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Vector_Destroy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *</td> <td class="paramname"><span class="paramname"><em>vector</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>destroys an ARC_Vector </p>
<dl class="section note"><dt>Note</dt><dd>this will not free the items stored in the vector </dd>
<dd>
please make sure to clear and free the children before destroying an ARC_Vector</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vector</td><td>ARC_Vector to free </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga1b01ba012d6fe295e8ce1446f9a6a3a0" name="ga1b01ba012d6fe295e8ce1446f9a6a3a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1b01ba012d6fe295e8ce1446f9a6a3a0">&#9670;&#160;</a></span>ARC_Vector_Get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void * ARC_Vector_Get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *</td> <td class="paramname"><span class="paramname"><em>vector</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>index</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>gets an item from an ARC_Vector at a position index </p>
<dl class="section note"><dt>Note</dt><dd>this function will error if trying to get an index that is outside the bounds of the ARC_Vector</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vector</td><td>ARC_Vector to get data from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>position of data to get</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a void * item, or NULL on error </dd></dl>
</div>
</div>
<a id="ga0c72f76fed251ea51a8be057f9c89504" name="ga0c72f76fed251ea51a8be057f9c89504"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0c72f76fed251ea51a8be057f9c89504">&#9670;&#160;</a></span>ARC_Vector_GetSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t ARC_Vector_GetSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *</td> <td class="paramname"><span class="paramname"><em>vector</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>gets the current size of an ARC_Vector as an unsigned 32 bit integer </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vector</td><td>ARC_Vector to get current size from</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the current size as a unsigned 32 bit integer </dd></dl>
</div>
</div>
<a id="ga443185fcb80a2593b4b1f580a1b11133" name="ga443185fcb80a2593b4b1f580a1b11133"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga443185fcb80a2593b4b1f580a1b11133">&#9670;&#160;</a></span>ARC_Vector_Remove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Vector_Remove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *</td> <td class="paramname"><span class="paramname"><em>vector</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>removes an item from a matching item in an ARC_Vector </p>
<dl class="section note"><dt>Note</dt><dd>this function uses the ARC_Vector_CompareDataFn that the ARC_Vector was created with </dd>
<dd>
this function will not throw an error if there is no match </dd>
<dd>
this function will call ARC_Vector_RemoveIndex, so it's notes are also applicable to this function</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vector</td><td>ARC_Vector to remove from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>matching data to remove </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gab05c0f7ebefe73729d3e2c2e6e528d00" name="gab05c0f7ebefe73729d3e2c2e6e528d00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab05c0f7ebefe73729d3e2c2e6e528d00">&#9670;&#160;</a></span>ARC_Vector_RemoveIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Vector_RemoveIndex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#ga23dfcf0229206051666a31f91c8c6e1b">ARC_Vector</a> *</td> <td class="paramname"><span class="paramname"><em>vector</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>index</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>removes an item from an ARC_Vector at an index </p>
<dl class="section note"><dt>Note</dt><dd>this function will error if trying to remove an index that is outside the bounds of the ARC_Vector </dd>
<dd>
this function will use ARC_Vector_DeleteDataFn if it was set in the ARC_Vector_Create function</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vector</td><td>ARC_Vector to remove from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>position of data to remove </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.9.2-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul></ul>
</div>
<script type="text/javascript">
// script for doxygen 1.9.1
$(function() {
toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle')
toggleButton.title = "Toggle Light/Dark Mode"
$(document).ready(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
$(window).resize(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
})
</script>
</body>
</html>