Files
entt/classentt_1_1basic__storage__impl.html
2021-07-28 10:12:19 +02:00

1766 lines
140 KiB
HTML

<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>EnTT: entt::basic_storage_impl&lt; Entity, Type, Allocator, typename &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">EnTT
&#160;<span id="projectnumber">3.8.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceentt.html">entt</a></li><li class="navelem"><a class="el" href="classentt_1_1basic__storage__impl.html">basic_storage_impl</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classentt_1_1basic__storage__impl-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">entt::basic_storage_impl&lt; Entity, Type, Allocator, typename &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Basic storage implementation.
<a href="classentt_1_1basic__storage__impl.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="storage_8hpp_source.html">storage.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for entt::basic_storage_impl&lt; Entity, Type, Allocator, typename &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classentt_1_1basic__storage__impl__inherit__graph.png" border="0" usemap="#aentt_1_1basic__storage__impl_3_01Entity_00_01Type_00_01Allocator_00_01typename_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="aentt_1_1basic__storage__impl_3_01Entity_00_01Type_00_01Allocator_00_01typename_01_4_inherit__map" id="aentt_1_1basic__storage__impl_3_01Entity_00_01Type_00_01Allocator_00_01typename_01_4_inherit__map">
<area shape="rect" title="Basic storage implementation." alt="" coords="244,43,399,99"/>
<area shape="rect" href="structentt_1_1basic__storage.html" title=" " alt="" coords="459,5,609,61"/>
<area shape="rect" href="structentt_1_1basic__storage.html" title="Storage implementation dispatcher." alt="" coords="447,86,621,127"/>
<area shape="rect" href="classentt_1_1basic__sparse__set.html" title=" " alt="" coords="5,35,196,106"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for entt::basic_storage_impl&lt; Entity, Type, Allocator, typename &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classentt_1_1basic__storage__impl__coll__graph.png" border="0" usemap="#aentt_1_1basic__storage__impl_3_01Entity_00_01Type_00_01Allocator_00_01typename_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="aentt_1_1basic__storage__impl_3_01Entity_00_01Type_00_01Allocator_00_01typename_01_4_coll__map" id="aentt_1_1basic__storage__impl_3_01Entity_00_01Type_00_01Allocator_00_01typename_01_4_coll__map">
<area shape="rect" title="Basic storage implementation." alt="" coords="244,13,399,69"/>
<area shape="rect" href="classentt_1_1basic__sparse__set.html" title=" " alt="" coords="5,5,196,76"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:add50c5d131df69d721597bbcb00cfc58"><td class="memItemLeft" align="right" valign="top"><a id="add50c5d131df69d721597bbcb00cfc58"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#add50c5d131df69d721597bbcb00cfc58">allocator_type</a> = typename alloc_traits::allocator_type</td></tr>
<tr class="memdesc:add50c5d131df69d721597bbcb00cfc58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocator type. <br /></td></tr>
<tr class="separator:add50c5d131df69d721597bbcb00cfc58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a719c85479bae096fae278d342197e1fd"><td class="memItemLeft" align="right" valign="top"><a id="a719c85479bae096fae278d342197e1fd"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a> = Type</td></tr>
<tr class="memdesc:a719c85479bae096fae278d342197e1fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the objects assigned to entities. <br /></td></tr>
<tr class="separator:a719c85479bae096fae278d342197e1fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8bbbc5015d23cb05786d27fbb488f75"><td class="memItemLeft" align="right" valign="top"><a id="af8bbbc5015d23cb05786d27fbb488f75"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#af8bbbc5015d23cb05786d27fbb488f75">entity_type</a> = Entity</td></tr>
<tr class="memdesc:af8bbbc5015d23cb05786d27fbb488f75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Underlying entity identifier. <br /></td></tr>
<tr class="separator:af8bbbc5015d23cb05786d27fbb488f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f8940947aa732154f0e1c9a6ad5dd0e"><td class="memItemLeft" align="right" valign="top"><a id="a1f8940947aa732154f0e1c9a6ad5dd0e"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a1f8940947aa732154f0e1c9a6ad5dd0e">size_type</a> = std::size_t</td></tr>
<tr class="memdesc:a1f8940947aa732154f0e1c9a6ad5dd0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unsigned integer type. <br /></td></tr>
<tr class="separator:a1f8940947aa732154f0e1c9a6ad5dd0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1a145d2fa78b328a4de0933df13c9f8"><td class="memItemLeft" align="right" valign="top"><a id="aa1a145d2fa78b328a4de0933df13c9f8"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#aa1a145d2fa78b328a4de0933df13c9f8">pointer</a> = bucket_alloc_pointer</td></tr>
<tr class="memdesc:aa1a145d2fa78b328a4de0933df13c9f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer type to contained elements. <br /></td></tr>
<tr class="separator:aa1a145d2fa78b328a4de0933df13c9f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af739529c8e32c4d3ee0d348ca6a403bf"><td class="memItemLeft" align="right" valign="top"><a id="af739529c8e32c4d3ee0d348ca6a403bf"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#af739529c8e32c4d3ee0d348ca6a403bf">const_pointer</a> = bucket_alloc_const_pointer</td></tr>
<tr class="memdesc:af739529c8e32c4d3ee0d348ca6a403bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant pointer type to contained elements. <br /></td></tr>
<tr class="separator:af739529c8e32c4d3ee0d348ca6a403bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55553c29ab8c4d6b187a1ca29e4b05ed"><td class="memItemLeft" align="right" valign="top"><a id="a55553c29ab8c4d6b187a1ca29e4b05ed"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a55553c29ab8c4d6b187a1ca29e4b05ed">iterator</a> = storage_iterator&lt; <a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a> &gt;</td></tr>
<tr class="memdesc:a55553c29ab8c4d6b187a1ca29e4b05ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Random access iterator type. <br /></td></tr>
<tr class="separator:a55553c29ab8c4d6b187a1ca29e4b05ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a448af4703f650ca2550d82744607e139"><td class="memItemLeft" align="right" valign="top"><a id="a448af4703f650ca2550d82744607e139"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a> = storage_iterator&lt; const <a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a> &gt;</td></tr>
<tr class="memdesc:a448af4703f650ca2550d82744607e139"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant random access iterator type. <br /></td></tr>
<tr class="separator:a448af4703f650ca2550d82744607e139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0c76c1d371306fbc4b998f0c6c64e41"><td class="memItemLeft" align="right" valign="top"><a id="ac0c76c1d371306fbc4b998f0c6c64e41"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#ac0c76c1d371306fbc4b998f0c6c64e41">reverse_iterator</a> = std::reverse_iterator&lt; <a class="el" href="classentt_1_1basic__storage__impl.html#a55553c29ab8c4d6b187a1ca29e4b05ed">iterator</a> &gt;</td></tr>
<tr class="memdesc:ac0c76c1d371306fbc4b998f0c6c64e41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse iterator type. <br /></td></tr>
<tr class="separator:ac0c76c1d371306fbc4b998f0c6c64e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acea7c99c2de806814c2f2a615549e0d3"><td class="memItemLeft" align="right" valign="top"><a id="acea7c99c2de806814c2f2a615549e0d3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#acea7c99c2de806814c2f2a615549e0d3">const_reverse_iterator</a> = std::reverse_iterator&lt; <a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a> &gt;</td></tr>
<tr class="memdesc:acea7c99c2de806814c2f2a615549e0d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant reverse iterator type. <br /></td></tr>
<tr class="separator:acea7c99c2de806814c2f2a615549e0d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classentt_1_1basic__sparse__set"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classentt_1_1basic__sparse__set')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set&lt; Entity, std::allocator_traits&lt; Allocator &gt;::template rebind_alloc&lt; Entity &gt; &gt;</a></td></tr>
<tr class="memitem:affeea7652305dc33f0944256b38ee6cd inherit pub_types_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a id="affeea7652305dc33f0944256b38ee6cd"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#affeea7652305dc33f0944256b38ee6cd">allocator_type</a> = typename alloc_traits::allocator_type</td></tr>
<tr class="memdesc:affeea7652305dc33f0944256b38ee6cd inherit pub_types_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocator type. <br /></td></tr>
<tr class="separator:affeea7652305dc33f0944256b38ee6cd inherit pub_types_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91c6508fa13b0b3e27679c3c814e6148 inherit pub_types_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a id="a91c6508fa13b0b3e27679c3c814e6148"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> = Entity</td></tr>
<tr class="memdesc:a91c6508fa13b0b3e27679c3c814e6148 inherit pub_types_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Underlying entity identifier. <br /></td></tr>
<tr class="separator:a91c6508fa13b0b3e27679c3c814e6148 inherit pub_types_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ec9530d8aa9ac94d421b27eb6998edb inherit pub_types_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a id="a2ec9530d8aa9ac94d421b27eb6998edb"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a> = std::size_t</td></tr>
<tr class="memdesc:a2ec9530d8aa9ac94d421b27eb6998edb inherit pub_types_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unsigned integer type. <br /></td></tr>
<tr class="separator:a2ec9530d8aa9ac94d421b27eb6998edb inherit pub_types_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32e28c975fd3fe863b0c4367bd83646d inherit pub_types_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a id="a32e28c975fd3fe863b0c4367bd83646d"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a32e28c975fd3fe863b0c4367bd83646d">pointer</a> = alloc_const_pointer</td></tr>
<tr class="memdesc:a32e28c975fd3fe863b0c4367bd83646d inherit pub_types_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer type to contained entities. <br /></td></tr>
<tr class="separator:a32e28c975fd3fe863b0c4367bd83646d inherit pub_types_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06d4952c840039abce101f46df065c62 inherit pub_types_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a id="a06d4952c840039abce101f46df065c62"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a06d4952c840039abce101f46df065c62">iterator</a> = sparse_set_iterator</td></tr>
<tr class="memdesc:a06d4952c840039abce101f46df065c62 inherit pub_types_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Random access iterator type. <br /></td></tr>
<tr class="separator:a06d4952c840039abce101f46df065c62 inherit pub_types_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe62c143e816cf5e12078a607966c003 inherit pub_types_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a id="afe62c143e816cf5e12078a607966c003"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#afe62c143e816cf5e12078a607966c003">reverse_iterator</a> = std::reverse_iterator&lt; <a class="el" href="classentt_1_1basic__sparse__set.html#a06d4952c840039abce101f46df065c62">iterator</a> &gt;</td></tr>
<tr class="memdesc:afe62c143e816cf5e12078a607966c003 inherit pub_types_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse iterator type. <br /></td></tr>
<tr class="separator:afe62c143e816cf5e12078a607966c003 inherit pub_types_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3f5867447bf494cff81e90b4fd33e646"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a3f5867447bf494cff81e90b4fd33e646">basic_storage_impl</a> (const <a class="el" href="classentt_1_1basic__storage__impl.html#add50c5d131df69d721597bbcb00cfc58">allocator_type</a> &amp;alloc={})</td></tr>
<tr class="memdesc:a3f5867447bf494cff81e90b4fd33e646"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <a href="classentt_1_1basic__storage__impl.html#a3f5867447bf494cff81e90b4fd33e646">More...</a><br /></td></tr>
<tr class="separator:a3f5867447bf494cff81e90b4fd33e646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3175b5fd9c09b2cc193bf726f3b1b124"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a3175b5fd9c09b2cc193bf726f3b1b124">basic_storage_impl</a> (<a class="el" href="classentt_1_1basic__storage__impl.html">basic_storage_impl</a> &amp;&amp;other)</td></tr>
<tr class="memdesc:a3175b5fd9c09b2cc193bf726f3b1b124"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <a href="classentt_1_1basic__storage__impl.html#a3175b5fd9c09b2cc193bf726f3b1b124">More...</a><br /></td></tr>
<tr class="separator:a3175b5fd9c09b2cc193bf726f3b1b124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a938c8b979ac88accc575ffa2772acc90"><td class="memItemLeft" align="right" valign="top"><a id="a938c8b979ac88accc575ffa2772acc90"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a938c8b979ac88accc575ffa2772acc90">~basic_storage_impl</a> () override</td></tr>
<tr class="memdesc:a938c8b979ac88accc575ffa2772acc90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor. <br /></td></tr>
<tr class="separator:a938c8b979ac88accc575ffa2772acc90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90dbba6cdda7870ea58785b7d3f976d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html">basic_storage_impl</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a90dbba6cdda7870ea58785b7d3f976d0">operator=</a> (<a class="el" href="classentt_1_1basic__storage__impl.html">basic_storage_impl</a> &amp;&amp;other)</td></tr>
<tr class="memdesc:a90dbba6cdda7870ea58785b7d3f976d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment operator. <a href="classentt_1_1basic__storage__impl.html#a90dbba6cdda7870ea58785b7d3f976d0">More...</a><br /></td></tr>
<tr class="separator:a90dbba6cdda7870ea58785b7d3f976d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa37129844cb662c360ead4b032634046"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#aa37129844cb662c360ead4b032634046">reserve</a> (const <a class="el" href="classentt_1_1basic__storage__impl.html#a1f8940947aa732154f0e1c9a6ad5dd0e">size_type</a> cap)</td></tr>
<tr class="memdesc:aa37129844cb662c360ead4b032634046"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increases the capacity of a storage. <a href="classentt_1_1basic__storage__impl.html#aa37129844cb662c360ead4b032634046">More...</a><br /></td></tr>
<tr class="separator:aa37129844cb662c360ead4b032634046"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b7b72dc153d977a539140df6ad33e2b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#a1f8940947aa732154f0e1c9a6ad5dd0e">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a0b7b72dc153d977a539140df6ad33e2b">capacity</a> () const</td></tr>
<tr class="memdesc:a0b7b72dc153d977a539140df6ad33e2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of elements that a storage has currently allocated space for. <a href="classentt_1_1basic__storage__impl.html#a0b7b72dc153d977a539140df6ad33e2b">More...</a><br /></td></tr>
<tr class="separator:a0b7b72dc153d977a539140df6ad33e2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61db7e7e5e4dab7930b3da333b2d463b"><td class="memItemLeft" align="right" valign="top"><a id="a61db7e7e5e4dab7930b3da333b2d463b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a61db7e7e5e4dab7930b3da333b2d463b">shrink_to_fit</a> ()</td></tr>
<tr class="memdesc:a61db7e7e5e4dab7930b3da333b2d463b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests the removal of unused capacity. <br /></td></tr>
<tr class="separator:a61db7e7e5e4dab7930b3da333b2d463b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abce4c010564b1c10a723213cbca4b3fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#af739529c8e32c4d3ee0d348ca6a403bf">const_pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#abce4c010564b1c10a723213cbca4b3fb">raw</a> () const</td></tr>
<tr class="memdesc:abce4c010564b1c10a723213cbca4b3fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direct access to the array of objects. <a href="classentt_1_1basic__storage__impl.html#abce4c010564b1c10a723213cbca4b3fb">More...</a><br /></td></tr>
<tr class="separator:abce4c010564b1c10a723213cbca4b3fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15d6ed1e726aa4204592d78f53bdbb41"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#aa1a145d2fa78b328a4de0933df13c9f8">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a15d6ed1e726aa4204592d78f53bdbb41">raw</a> ()</td></tr>
<tr class="memdesc:a15d6ed1e726aa4204592d78f53bdbb41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direct access to the array of objects. <a href="classentt_1_1basic__storage__impl.html#a15d6ed1e726aa4204592d78f53bdbb41">More...</a><br /></td></tr>
<tr class="separator:a15d6ed1e726aa4204592d78f53bdbb41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac990301f08d7cd9d4f6436f4f37834dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#ac990301f08d7cd9d4f6436f4f37834dc">cbegin</a> () const</td></tr>
<tr class="memdesc:ac990301f08d7cd9d4f6436f4f37834dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning. <a href="classentt_1_1basic__storage__impl.html#ac990301f08d7cd9d4f6436f4f37834dc">More...</a><br /></td></tr>
<tr class="separator:ac990301f08d7cd9d4f6436f4f37834dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9be89d035ed63c11cc9774de28fe94f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#ac9be89d035ed63c11cc9774de28fe94f">begin</a> () const</td></tr>
<tr class="memdesc:ac9be89d035ed63c11cc9774de28fe94f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning. <a href="classentt_1_1basic__storage__impl.html#ac9be89d035ed63c11cc9774de28fe94f">More...</a><br /></td></tr>
<tr class="separator:ac9be89d035ed63c11cc9774de28fe94f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae83f20d23f0b48dc360c3ed598e626e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#a55553c29ab8c4d6b187a1ca29e4b05ed">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#ae83f20d23f0b48dc360c3ed598e626e3">begin</a> ()</td></tr>
<tr class="memdesc:ae83f20d23f0b48dc360c3ed598e626e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning. <a href="classentt_1_1basic__storage__impl.html#ae83f20d23f0b48dc360c3ed598e626e3">More...</a><br /></td></tr>
<tr class="separator:ae83f20d23f0b48dc360c3ed598e626e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae25572df07defff83e6961f4dc2aabae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#ae25572df07defff83e6961f4dc2aabae">cend</a> () const</td></tr>
<tr class="memdesc:ae25572df07defff83e6961f4dc2aabae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the end. <a href="classentt_1_1basic__storage__impl.html#ae25572df07defff83e6961f4dc2aabae">More...</a><br /></td></tr>
<tr class="separator:ae25572df07defff83e6961f4dc2aabae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a986999207e7bbfae8a475fbcc1eba89a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a986999207e7bbfae8a475fbcc1eba89a">end</a> () const</td></tr>
<tr class="memdesc:a986999207e7bbfae8a475fbcc1eba89a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the end. <a href="classentt_1_1basic__storage__impl.html#a986999207e7bbfae8a475fbcc1eba89a">More...</a><br /></td></tr>
<tr class="separator:a986999207e7bbfae8a475fbcc1eba89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2187d044512863657e978a6730247602"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#a55553c29ab8c4d6b187a1ca29e4b05ed">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a2187d044512863657e978a6730247602">end</a> ()</td></tr>
<tr class="memdesc:a2187d044512863657e978a6730247602"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the end. <a href="classentt_1_1basic__storage__impl.html#a2187d044512863657e978a6730247602">More...</a><br /></td></tr>
<tr class="separator:a2187d044512863657e978a6730247602"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e6a4b54ea0da9e22097a6ff4bade742"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#acea7c99c2de806814c2f2a615549e0d3">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a5e6a4b54ea0da9e22097a6ff4bade742">crbegin</a> () const</td></tr>
<tr class="memdesc:a5e6a4b54ea0da9e22097a6ff4bade742"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the beginning. <a href="classentt_1_1basic__storage__impl.html#a5e6a4b54ea0da9e22097a6ff4bade742">More...</a><br /></td></tr>
<tr class="separator:a5e6a4b54ea0da9e22097a6ff4bade742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7df9ea0c86a1dd95c584df6da0b9a427"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#acea7c99c2de806814c2f2a615549e0d3">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a7df9ea0c86a1dd95c584df6da0b9a427">rbegin</a> () const</td></tr>
<tr class="memdesc:a7df9ea0c86a1dd95c584df6da0b9a427"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the beginning. <a href="classentt_1_1basic__storage__impl.html#a7df9ea0c86a1dd95c584df6da0b9a427">More...</a><br /></td></tr>
<tr class="separator:a7df9ea0c86a1dd95c584df6da0b9a427"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a063e79451cf485dfff02fd62a9bca38f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#ac0c76c1d371306fbc4b998f0c6c64e41">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a063e79451cf485dfff02fd62a9bca38f">rbegin</a> ()</td></tr>
<tr class="memdesc:a063e79451cf485dfff02fd62a9bca38f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the beginning. <a href="classentt_1_1basic__storage__impl.html#a063e79451cf485dfff02fd62a9bca38f">More...</a><br /></td></tr>
<tr class="separator:a063e79451cf485dfff02fd62a9bca38f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb10b4a425c0a12dae99174ee60f1db9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#acea7c99c2de806814c2f2a615549e0d3">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#afb10b4a425c0a12dae99174ee60f1db9">crend</a> () const</td></tr>
<tr class="memdesc:afb10b4a425c0a12dae99174ee60f1db9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the end. <a href="classentt_1_1basic__storage__impl.html#afb10b4a425c0a12dae99174ee60f1db9">More...</a><br /></td></tr>
<tr class="separator:afb10b4a425c0a12dae99174ee60f1db9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32e209a72a4242bdc8470c50f2e3dd0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#acea7c99c2de806814c2f2a615549e0d3">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a32e209a72a4242bdc8470c50f2e3dd0f">rend</a> () const</td></tr>
<tr class="memdesc:a32e209a72a4242bdc8470c50f2e3dd0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the end. <a href="classentt_1_1basic__storage__impl.html#a32e209a72a4242bdc8470c50f2e3dd0f">More...</a><br /></td></tr>
<tr class="separator:a32e209a72a4242bdc8470c50f2e3dd0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a1e4e4fe40cc70353b066474830e7d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#ac0c76c1d371306fbc4b998f0c6c64e41">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a8a1e4e4fe40cc70353b066474830e7d1">rend</a> ()</td></tr>
<tr class="memdesc:a8a1e4e4fe40cc70353b066474830e7d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the end. <a href="classentt_1_1basic__storage__impl.html#a8a1e4e4fe40cc70353b066474830e7d1">More...</a><br /></td></tr>
<tr class="separator:a8a1e4e4fe40cc70353b066474830e7d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a941b38df86281c34f426078df50d08fd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a941b38df86281c34f426078df50d08fd">get</a> (const <a class="el" href="classentt_1_1basic__storage__impl.html#af8bbbc5015d23cb05786d27fbb488f75">entity_type</a> entt) const</td></tr>
<tr class="memdesc:a941b38df86281c34f426078df50d08fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object assigned to an entity. <a href="classentt_1_1basic__storage__impl.html#a941b38df86281c34f426078df50d08fd">More...</a><br /></td></tr>
<tr class="separator:a941b38df86281c34f426078df50d08fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace2ff7826f8f332575118dd2ba1e5995"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#ace2ff7826f8f332575118dd2ba1e5995">get</a> (const <a class="el" href="classentt_1_1basic__storage__impl.html#af8bbbc5015d23cb05786d27fbb488f75">entity_type</a> entt)</td></tr>
<tr class="memdesc:ace2ff7826f8f332575118dd2ba1e5995"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object assigned to an entity. <a href="classentt_1_1basic__storage__impl.html#ace2ff7826f8f332575118dd2ba1e5995">More...</a><br /></td></tr>
<tr class="separator:ace2ff7826f8f332575118dd2ba1e5995"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ee87fa0867d788544616507fdd76dd2"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:a7ee87fa0867d788544616507fdd76dd2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a7ee87fa0867d788544616507fdd76dd2">emplace</a> (const <a class="el" href="classentt_1_1basic__storage__impl.html#af8bbbc5015d23cb05786d27fbb488f75">entity_type</a> entt, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:a7ee87fa0867d788544616507fdd76dd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns an entity to a storage and constructs its object. <a href="classentt_1_1basic__storage__impl.html#a7ee87fa0867d788544616507fdd76dd2">More...</a><br /></td></tr>
<tr class="separator:a7ee87fa0867d788544616507fdd76dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabc691c7310d4a3f7a8c5b4780f326d5"><td class="memTemplParams" colspan="2">template&lt;typename... Func&gt; </td></tr>
<tr class="memitem:aabc691c7310d4a3f7a8c5b4780f326d5"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#aabc691c7310d4a3f7a8c5b4780f326d5">patch</a> (const <a class="el" href="classentt_1_1basic__storage__impl.html#af8bbbc5015d23cb05786d27fbb488f75">entity_type</a> entt, Func &amp;&amp;... func)</td></tr>
<tr class="memdesc:aabc691c7310d4a3f7a8c5b4780f326d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the instance assigned to a given entity in-place. <a href="classentt_1_1basic__storage__impl.html#aabc691c7310d4a3f7a8c5b4780f326d5">More...</a><br /></td></tr>
<tr class="separator:aabc691c7310d4a3f7a8c5b4780f326d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23ae2bf686c5d540bc2c072586438fad"><td class="memTemplParams" colspan="2">template&lt;typename It &gt; </td></tr>
<tr class="memitem:a23ae2bf686c5d540bc2c072586438fad"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a23ae2bf686c5d540bc2c072586438fad">insert</a> (It first, It last, const <a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a> &amp;value={})</td></tr>
<tr class="memdesc:a23ae2bf686c5d540bc2c072586438fad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns one or more entities to a storage and constructs their objects from a given instance. <a href="classentt_1_1basic__storage__impl.html#a23ae2bf686c5d540bc2c072586438fad">More...</a><br /></td></tr>
<tr class="separator:a23ae2bf686c5d540bc2c072586438fad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a539cb95dfd3258dcb5fb9f5c51a65cb7"><td class="memTemplParams" colspan="2">template&lt;typename EIt , typename CIt , typename = std::enable_if_t&lt;std::is_same_v&lt;std::decay_t&lt;typename std::iterator_traits&lt;CIt&gt;::value_type&gt;, value_type&gt;&gt;&gt; </td></tr>
<tr class="memitem:a539cb95dfd3258dcb5fb9f5c51a65cb7"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a539cb95dfd3258dcb5fb9f5c51a65cb7">insert</a> (EIt first, EIt last, CIt from)</td></tr>
<tr class="memdesc:a539cb95dfd3258dcb5fb9f5c51a65cb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns one or more entities to a storage and constructs their objects from a given range. <a href="classentt_1_1basic__storage__impl.html#a539cb95dfd3258dcb5fb9f5c51a65cb7">More...</a><br /></td></tr>
<tr class="separator:a539cb95dfd3258dcb5fb9f5c51a65cb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9fb96c439305234ca0facec9350b9e4"><td class="memTemplParams" colspan="2">template&lt;typename Compare , typename Sort = std_sort, typename... Args&gt; </td></tr>
<tr class="memitem:ad9fb96c439305234ca0facec9350b9e4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#ad9fb96c439305234ca0facec9350b9e4">sort_n</a> (const <a class="el" href="classentt_1_1basic__storage__impl.html#a1f8940947aa732154f0e1c9a6ad5dd0e">size_type</a> length, Compare compare, Sort algo=Sort{}, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:ad9fb96c439305234ca0facec9350b9e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort elements according to the given comparison function. <a href="classentt_1_1basic__storage__impl.html#ad9fb96c439305234ca0facec9350b9e4">More...</a><br /></td></tr>
<tr class="separator:ad9fb96c439305234ca0facec9350b9e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93b4325d3bf03c6bd815f83d8175d970"><td class="memTemplParams" colspan="2">template&lt;typename Compare , typename Sort = std_sort, typename... Args&gt; </td></tr>
<tr class="memitem:a93b4325d3bf03c6bd815f83d8175d970"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a93b4325d3bf03c6bd815f83d8175d970">sort</a> (Compare compare, Sort algo=Sort{}, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:a93b4325d3bf03c6bd815f83d8175d970"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort all elements according to the given comparison function. <a href="classentt_1_1basic__storage__impl.html#a93b4325d3bf03c6bd815f83d8175d970">More...</a><br /></td></tr>
<tr class="separator:a93b4325d3bf03c6bd815f83d8175d970"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classentt_1_1basic__sparse__set"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classentt_1_1basic__sparse__set')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set&lt; Entity, std::allocator_traits&lt; Allocator &gt;::template rebind_alloc&lt; Entity &gt; &gt;</a></td></tr>
<tr class="memitem:a65d0be14197c4d2309edf2a533ebab0a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a65d0be14197c4d2309edf2a533ebab0a">basic_sparse_set</a> (<a class="el" href="namespaceentt.html#abc4d0fa77fae26e7c01793990996c581">deletion_policy</a> pol, const <a class="el" href="classentt_1_1basic__sparse__set.html#affeea7652305dc33f0944256b38ee6cd">allocator_type</a> &amp;alloc={})</td></tr>
<tr class="memdesc:a65d0be14197c4d2309edf2a533ebab0a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an empty container with the given policy and allocator. <a href="classentt_1_1basic__sparse__set.html#a65d0be14197c4d2309edf2a533ebab0a">More...</a><br /></td></tr>
<tr class="separator:a65d0be14197c4d2309edf2a533ebab0a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a723398ba989c23e035ce4c36d16678d0 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a723398ba989c23e035ce4c36d16678d0">basic_sparse_set</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#affeea7652305dc33f0944256b38ee6cd">allocator_type</a> &amp;alloc={})</td></tr>
<tr class="memdesc:a723398ba989c23e035ce4c36d16678d0 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an empty container with the given allocator. <a href="classentt_1_1basic__sparse__set.html#a723398ba989c23e035ce4c36d16678d0">More...</a><br /></td></tr>
<tr class="separator:a723398ba989c23e035ce4c36d16678d0 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba22aad9557f355b657798a1e2fd9aad inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#aba22aad9557f355b657798a1e2fd9aad">basic_sparse_set</a> (<a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a> &amp;&amp;other)</td></tr>
<tr class="memdesc:aba22aad9557f355b657798a1e2fd9aad inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <a href="classentt_1_1basic__sparse__set.html#aba22aad9557f355b657798a1e2fd9aad">More...</a><br /></td></tr>
<tr class="separator:aba22aad9557f355b657798a1e2fd9aad inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac56f048f614c38f14b19ba9cb27faa94 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a id="ac56f048f614c38f14b19ba9cb27faa94"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#ac56f048f614c38f14b19ba9cb27faa94">~basic_sparse_set</a> ()</td></tr>
<tr class="memdesc:ac56f048f614c38f14b19ba9cb27faa94 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor. <br /></td></tr>
<tr class="separator:ac56f048f614c38f14b19ba9cb27faa94 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd87d086a1b895ac6253c311eb90affb inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#afd87d086a1b895ac6253c311eb90affb">operator=</a> (<a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a> &amp;&amp;other)</td></tr>
<tr class="memdesc:afd87d086a1b895ac6253c311eb90affb inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment operator. <a href="classentt_1_1basic__sparse__set.html#afd87d086a1b895ac6253c311eb90affb">More...</a><br /></td></tr>
<tr class="separator:afd87d086a1b895ac6253c311eb90affb inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02c273b23bb87b33e04dc598409eeede inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceentt.html#abc4d0fa77fae26e7c01793990996c581">deletion_policy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a02c273b23bb87b33e04dc598409eeede">policy</a> () const</td></tr>
<tr class="memdesc:a02c273b23bb87b33e04dc598409eeede inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the deletion policy of a sparse set. <a href="classentt_1_1basic__sparse__set.html#a02c273b23bb87b33e04dc598409eeede">More...</a><br /></td></tr>
<tr class="separator:a02c273b23bb87b33e04dc598409eeede inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cfe17211583fcac905a462dbe2d1c09 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a3cfe17211583fcac905a462dbe2d1c09">slot</a> () const</td></tr>
<tr class="memdesc:a3cfe17211583fcac905a462dbe2d1c09 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the next slot available for insertion. <a href="classentt_1_1basic__sparse__set.html#a3cfe17211583fcac905a462dbe2d1c09">More...</a><br /></td></tr>
<tr class="separator:a3cfe17211583fcac905a462dbe2d1c09 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1456831942d287bd0abb2e0fb6f5a8d9 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a1456831942d287bd0abb2e0fb6f5a8d9">reserve</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a> cap)</td></tr>
<tr class="memdesc:a1456831942d287bd0abb2e0fb6f5a8d9 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increases the capacity of a sparse set. <a href="classentt_1_1basic__sparse__set.html#a1456831942d287bd0abb2e0fb6f5a8d9">More...</a><br /></td></tr>
<tr class="separator:a1456831942d287bd0abb2e0fb6f5a8d9 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bb10d09946d3b458b34529c75fb85f5 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a1bb10d09946d3b458b34529c75fb85f5">capacity</a> () const</td></tr>
<tr class="memdesc:a1bb10d09946d3b458b34529c75fb85f5 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of elements that a sparse set has currently allocated space for. <a href="classentt_1_1basic__sparse__set.html#a1bb10d09946d3b458b34529c75fb85f5">More...</a><br /></td></tr>
<tr class="separator:a1bb10d09946d3b458b34529c75fb85f5 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23f9cfcadf89b90e97ece65b739aeb75 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a id="a23f9cfcadf89b90e97ece65b739aeb75"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a23f9cfcadf89b90e97ece65b739aeb75">shrink_to_fit</a> ()</td></tr>
<tr class="memdesc:a23f9cfcadf89b90e97ece65b739aeb75 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests the removal of unused capacity. <br /></td></tr>
<tr class="separator:a23f9cfcadf89b90e97ece65b739aeb75 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9df44971fcaba319e05955a2943baa14 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a9df44971fcaba319e05955a2943baa14">extent</a> () const</td></tr>
<tr class="memdesc:a9df44971fcaba319e05955a2943baa14 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the extent of a sparse set. <a href="classentt_1_1basic__sparse__set.html#a9df44971fcaba319e05955a2943baa14">More...</a><br /></td></tr>
<tr class="separator:a9df44971fcaba319e05955a2943baa14 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a781b6cee81c02b5dd601d0c808cf97a8 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a781b6cee81c02b5dd601d0c808cf97a8">size</a> () const</td></tr>
<tr class="memdesc:a781b6cee81c02b5dd601d0c808cf97a8 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of elements in a sparse set. <a href="classentt_1_1basic__sparse__set.html#a781b6cee81c02b5dd601d0c808cf97a8">More...</a><br /></td></tr>
<tr class="separator:a781b6cee81c02b5dd601d0c808cf97a8 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3617c860500230b880f07215f21cb496 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a3617c860500230b880f07215f21cb496">empty</a> () const</td></tr>
<tr class="memdesc:a3617c860500230b880f07215f21cb496 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether a sparse set is empty. <a href="classentt_1_1basic__sparse__set.html#a3617c860500230b880f07215f21cb496">More...</a><br /></td></tr>
<tr class="separator:a3617c860500230b880f07215f21cb496 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaa8a3f16cdaa2d85316683d008bf8c5 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a32e28c975fd3fe863b0c4367bd83646d">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#adaa8a3f16cdaa2d85316683d008bf8c5">data</a> () const</td></tr>
<tr class="memdesc:adaa8a3f16cdaa2d85316683d008bf8c5 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direct access to the internal packed array. <a href="classentt_1_1basic__sparse__set.html#adaa8a3f16cdaa2d85316683d008bf8c5">More...</a><br /></td></tr>
<tr class="separator:adaa8a3f16cdaa2d85316683d008bf8c5 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1465b127e3c50e654f04c6da4965f147 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a06d4952c840039abce101f46df065c62">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a1465b127e3c50e654f04c6da4965f147">begin</a> () const</td></tr>
<tr class="memdesc:a1465b127e3c50e654f04c6da4965f147 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning. <a href="classentt_1_1basic__sparse__set.html#a1465b127e3c50e654f04c6da4965f147">More...</a><br /></td></tr>
<tr class="separator:a1465b127e3c50e654f04c6da4965f147 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34c40a25499f47f87e13591aa378a0fb inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a06d4952c840039abce101f46df065c62">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a34c40a25499f47f87e13591aa378a0fb">end</a> () const</td></tr>
<tr class="memdesc:a34c40a25499f47f87e13591aa378a0fb inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the end. <a href="classentt_1_1basic__sparse__set.html#a34c40a25499f47f87e13591aa378a0fb">More...</a><br /></td></tr>
<tr class="separator:a34c40a25499f47f87e13591aa378a0fb inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c990b5d9720d9a3b29466756aaa42e1 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#afe62c143e816cf5e12078a607966c003">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a7c990b5d9720d9a3b29466756aaa42e1">rbegin</a> () const</td></tr>
<tr class="memdesc:a7c990b5d9720d9a3b29466756aaa42e1 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the beginning. <a href="classentt_1_1basic__sparse__set.html#a7c990b5d9720d9a3b29466756aaa42e1">More...</a><br /></td></tr>
<tr class="separator:a7c990b5d9720d9a3b29466756aaa42e1 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bc1fee7c920941ac936ed7df9207343 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#afe62c143e816cf5e12078a607966c003">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a1bc1fee7c920941ac936ed7df9207343">rend</a> () const</td></tr>
<tr class="memdesc:a1bc1fee7c920941ac936ed7df9207343 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the end. <a href="classentt_1_1basic__sparse__set.html#a1bc1fee7c920941ac936ed7df9207343">More...</a><br /></td></tr>
<tr class="separator:a1bc1fee7c920941ac936ed7df9207343 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82ea72545db86b1c25a790772d015c3d inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a06d4952c840039abce101f46df065c62">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a82ea72545db86b1c25a790772d015c3d">find</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> entt) const</td></tr>
<tr class="memdesc:a82ea72545db86b1c25a790772d015c3d inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds an entity. <a href="classentt_1_1basic__sparse__set.html#a82ea72545db86b1c25a790772d015c3d">More...</a><br /></td></tr>
<tr class="separator:a82ea72545db86b1c25a790772d015c3d inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2c7f1ac19e1040c2c2d2245f521f291 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#ad2c7f1ac19e1040c2c2d2245f521f291">contains</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> entt) const</td></tr>
<tr class="memdesc:ad2c7f1ac19e1040c2c2d2245f521f291 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a sparse set contains an entity. <a href="classentt_1_1basic__sparse__set.html#ad2c7f1ac19e1040c2c2d2245f521f291">More...</a><br /></td></tr>
<tr class="separator:ad2c7f1ac19e1040c2c2d2245f521f291 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1af775539f37a31b1da7254491a53b1f inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a1af775539f37a31b1da7254491a53b1f">index</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> entt) const</td></tr>
<tr class="memdesc:a1af775539f37a31b1da7254491a53b1f inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the position of an entity in a sparse set. <a href="classentt_1_1basic__sparse__set.html#a1af775539f37a31b1da7254491a53b1f">More...</a><br /></td></tr>
<tr class="separator:a1af775539f37a31b1da7254491a53b1f inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0d4efaf22f43c1a8573e50c7460299a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#aa0d4efaf22f43c1a8573e50c7460299a">at</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a> pos) const</td></tr>
<tr class="memdesc:aa0d4efaf22f43c1a8573e50c7460299a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the entity at specified location, with bounds checking. <a href="classentt_1_1basic__sparse__set.html#aa0d4efaf22f43c1a8573e50c7460299a">More...</a><br /></td></tr>
<tr class="separator:aa0d4efaf22f43c1a8573e50c7460299a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f88e4df5066e55ebfba192a85050553 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a3f88e4df5066e55ebfba192a85050553">operator[]</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a> pos) const</td></tr>
<tr class="memdesc:a3f88e4df5066e55ebfba192a85050553 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the entity at specified location, without bounds checking. <a href="classentt_1_1basic__sparse__set.html#a3f88e4df5066e55ebfba192a85050553">More...</a><br /></td></tr>
<tr class="separator:a3f88e4df5066e55ebfba192a85050553 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc550073edf12594bc9a6a6528b7adcd inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#abc550073edf12594bc9a6a6528b7adcd">emplace_back</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> entt)</td></tr>
<tr class="memdesc:abc550073edf12594bc9a6a6528b7adcd inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends an entity to a sparse set. <a href="classentt_1_1basic__sparse__set.html#abc550073edf12594bc9a6a6528b7adcd">More...</a><br /></td></tr>
<tr class="separator:abc550073edf12594bc9a6a6528b7adcd inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bcb8298dba48d35d2d432edafd601de inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a2bcb8298dba48d35d2d432edafd601de">emplace</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> entt)</td></tr>
<tr class="memdesc:a2bcb8298dba48d35d2d432edafd601de inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns an entity to a sparse set. <a href="classentt_1_1basic__sparse__set.html#a2bcb8298dba48d35d2d432edafd601de">More...</a><br /></td></tr>
<tr class="separator:a2bcb8298dba48d35d2d432edafd601de inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a3903daddc7ec0a8260d8828b009402 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a1a3903daddc7ec0a8260d8828b009402">insert</a> (It first, It last)</td></tr>
<tr class="memdesc:a1a3903daddc7ec0a8260d8828b009402 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns one or more entities to a sparse set. <a href="classentt_1_1basic__sparse__set.html#a1a3903daddc7ec0a8260d8828b009402">More...</a><br /></td></tr>
<tr class="separator:a1a3903daddc7ec0a8260d8828b009402 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af65d65a79a310182de30de7e2650451a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#af65d65a79a310182de30de7e2650451a">erase</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> entt, void *ud=nullptr)</td></tr>
<tr class="memdesc:af65d65a79a310182de30de7e2650451a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases an entity from a sparse set. <a href="classentt_1_1basic__sparse__set.html#af65d65a79a310182de30de7e2650451a">More...</a><br /></td></tr>
<tr class="separator:af65d65a79a310182de30de7e2650451a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4c565519a89dbc5c30bc98bf5e3b7be inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#ac4c565519a89dbc5c30bc98bf5e3b7be">erase</a> (It first, It last, void *ud=nullptr)</td></tr>
<tr class="memdesc:ac4c565519a89dbc5c30bc98bf5e3b7be inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases entities from a set. <a href="classentt_1_1basic__sparse__set.html#ac4c565519a89dbc5c30bc98bf5e3b7be">More...</a><br /></td></tr>
<tr class="separator:ac4c565519a89dbc5c30bc98bf5e3b7be inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9863afe50a42c7c3ff820b16ce5b517d inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a9863afe50a42c7c3ff820b16ce5b517d">remove</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> entt, void *ud=nullptr)</td></tr>
<tr class="memdesc:a9863afe50a42c7c3ff820b16ce5b517d inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes an entity from a sparse set if it exists. <a href="classentt_1_1basic__sparse__set.html#a9863afe50a42c7c3ff820b16ce5b517d">More...</a><br /></td></tr>
<tr class="separator:a9863afe50a42c7c3ff820b16ce5b517d inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0232f804145aa29d256bbce5944354f3 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a0232f804145aa29d256bbce5944354f3">remove</a> (It first, It last, void *ud=nullptr)</td></tr>
<tr class="memdesc:a0232f804145aa29d256bbce5944354f3 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes entities from a sparse set if they exist. <a href="classentt_1_1basic__sparse__set.html#a0232f804145aa29d256bbce5944354f3">More...</a><br /></td></tr>
<tr class="separator:a0232f804145aa29d256bbce5944354f3 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4979ce48546cfcc705c4d23654faef2 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top"><a id="af4979ce48546cfcc705c4d23654faef2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#af4979ce48546cfcc705c4d23654faef2">compact</a> ()</td></tr>
<tr class="memdesc:af4979ce48546cfcc705c4d23654faef2 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all tombstones from the packed array of a sparse set. <br /></td></tr>
<tr class="separator:af4979ce48546cfcc705c4d23654faef2 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f188dbfbf2dc3d85df9776578d6e14b inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a8f188dbfbf2dc3d85df9776578d6e14b">swap</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> lhs, const <a class="el" href="classentt_1_1basic__sparse__set.html#a91c6508fa13b0b3e27679c3c814e6148">entity_type</a> rhs)</td></tr>
<tr class="memdesc:a8f188dbfbf2dc3d85df9776578d6e14b inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps two entities in the internal packed array. <a href="classentt_1_1basic__sparse__set.html#a8f188dbfbf2dc3d85df9776578d6e14b">More...</a><br /></td></tr>
<tr class="separator:a8f188dbfbf2dc3d85df9776578d6e14b inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69b7b5e9f1da7e1b887125c6f88b4b9a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a69b7b5e9f1da7e1b887125c6f88b4b9a">sort_n</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a2ec9530d8aa9ac94d421b27eb6998edb">size_type</a> length, Compare compare, Sort algo=Sort{}, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:a69b7b5e9f1da7e1b887125c6f88b4b9a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort the first count elements according to the given comparison function. <a href="classentt_1_1basic__sparse__set.html#a69b7b5e9f1da7e1b887125c6f88b4b9a">More...</a><br /></td></tr>
<tr class="separator:a69b7b5e9f1da7e1b887125c6f88b4b9a inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeb106e820264d3632c676cc9b6c2fff inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#abeb106e820264d3632c676cc9b6c2fff">sort</a> (Compare compare, Sort algo=Sort{}, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:abeb106e820264d3632c676cc9b6c2fff inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort all elements according to the given comparison function. <a href="classentt_1_1basic__sparse__set.html#abeb106e820264d3632c676cc9b6c2fff">More...</a><br /></td></tr>
<tr class="separator:abeb106e820264d3632c676cc9b6c2fff inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6b9f10f5212846bfea6e4fd0ba7a1e4 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#ad6b9f10f5212846bfea6e4fd0ba7a1e4">respect</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a> &amp;other)</td></tr>
<tr class="memdesc:ad6b9f10f5212846bfea6e4fd0ba7a1e4 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort entities according to their order in another sparse set. <a href="classentt_1_1basic__sparse__set.html#ad6b9f10f5212846bfea6e4fd0ba7a1e4">More...</a><br /></td></tr>
<tr class="separator:ad6b9f10f5212846bfea6e4fd0ba7a1e4 inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19320f0dea455f067afd834781cbffbd inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a19320f0dea455f067afd834781cbffbd">clear</a> (void *ud=nullptr)</td></tr>
<tr class="memdesc:a19320f0dea455f067afd834781cbffbd inherit pub_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears a sparse set. <a href="classentt_1_1basic__sparse__set.html#a19320f0dea455f067afd834781cbffbd">More...</a><br /></td></tr>
<tr class="separator:a19320f0dea455f067afd834781cbffbd inherit pub_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a638e69a10886aa15ac5390b3a68e6f72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a638e69a10886aa15ac5390b3a68e6f72">swap_at</a> (const std::size_t lhs, const std::size_t rhs) final</td></tr>
<tr class="memdesc:a638e69a10886aa15ac5390b3a68e6f72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps two entities in the internal packed array. <a href="classentt_1_1basic__storage__impl.html#a638e69a10886aa15ac5390b3a68e6f72">More...</a><br /></td></tr>
<tr class="separator:a638e69a10886aa15ac5390b3a68e6f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3400e9cace9f7facbe6f5fdbd9c63133"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#a3400e9cace9f7facbe6f5fdbd9c63133">move_and_pop</a> (const std::size_t from, const std::size_t to) final</td></tr>
<tr class="memdesc:a3400e9cace9f7facbe6f5fdbd9c63133"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves an entity in the internal packed array. <a href="classentt_1_1basic__storage__impl.html#a3400e9cace9f7facbe6f5fdbd9c63133">More...</a><br /></td></tr>
<tr class="separator:a3400e9cace9f7facbe6f5fdbd9c63133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5d3a61359c34b24feaaa8defaca58ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#af5d3a61359c34b24feaaa8defaca58ce">swap_and_pop</a> (const Entity entt, void *ud) override</td></tr>
<tr class="memdesc:af5d3a61359c34b24feaaa8defaca58ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to erase an entity from the internal packed array. <a href="classentt_1_1basic__storage__impl.html#af5d3a61359c34b24feaaa8defaca58ce">More...</a><br /></td></tr>
<tr class="separator:af5d3a61359c34b24feaaa8defaca58ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac891d07dc44bcc6965e1774ae915799e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__storage__impl.html#ac891d07dc44bcc6965e1774ae915799e">in_place_pop</a> (const Entity entt, void *ud) override</td></tr>
<tr class="memdesc:ac891d07dc44bcc6965e1774ae915799e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to erase an entity from the internal packed array. <a href="classentt_1_1basic__storage__impl.html#ac891d07dc44bcc6965e1774ae915799e">More...</a><br /></td></tr>
<tr class="separator:ac891d07dc44bcc6965e1774ae915799e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classentt_1_1basic__sparse__set"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classentt_1_1basic__sparse__set')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set&lt; Entity, std::allocator_traits&lt; Allocator &gt;::template rebind_alloc&lt; Entity &gt; &gt;</a></td></tr>
<tr class="memitem:af6702bf5e5e616eb732a864bebc3818b inherit pro_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#af6702bf5e5e616eb732a864bebc3818b">swap_at</a> ([[maybe_unused]] const std::size_t lhs,[[maybe_unused]] const std::size_t rhs)</td></tr>
<tr class="memdesc:af6702bf5e5e616eb732a864bebc3818b inherit pro_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps two entities in the internal packed array. <a href="classentt_1_1basic__sparse__set.html#af6702bf5e5e616eb732a864bebc3818b">More...</a><br /></td></tr>
<tr class="separator:af6702bf5e5e616eb732a864bebc3818b inherit pro_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a150e6ee07f7a6866a0a34f7b3fc44a80 inherit pro_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a150e6ee07f7a6866a0a34f7b3fc44a80">move_and_pop</a> ([[maybe_unused]] const std::size_t from,[[maybe_unused]] const std::size_t to)</td></tr>
<tr class="memdesc:a150e6ee07f7a6866a0a34f7b3fc44a80 inherit pro_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves an entity in the internal packed array. <a href="classentt_1_1basic__sparse__set.html#a150e6ee07f7a6866a0a34f7b3fc44a80">More...</a><br /></td></tr>
<tr class="separator:a150e6ee07f7a6866a0a34f7b3fc44a80 inherit pro_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0215c705dc46b380e2eb50177380e71d inherit pro_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a0215c705dc46b380e2eb50177380e71d">swap_and_pop</a> (const Entity entt,[[maybe_unused]] void *ud)</td></tr>
<tr class="memdesc:a0215c705dc46b380e2eb50177380e71d inherit pro_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to erase an entity from the internal packed array. <a href="classentt_1_1basic__sparse__set.html#a0215c705dc46b380e2eb50177380e71d">More...</a><br /></td></tr>
<tr class="separator:a0215c705dc46b380e2eb50177380e71d inherit pro_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b75ce8202fd9859829f3152d6243a50 inherit pro_methods_classentt_1_1basic__sparse__set"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a1b75ce8202fd9859829f3152d6243a50">in_place_pop</a> (const Entity entt,[[maybe_unused]] void *ud)</td></tr>
<tr class="memdesc:a1b75ce8202fd9859829f3152d6243a50 inherit pro_methods_classentt_1_1basic__sparse__set"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to erase an entity from the internal packed array. <a href="classentt_1_1basic__sparse__set.html#a1b75ce8202fd9859829f3152d6243a50">More...</a><br /></td></tr>
<tr class="separator:a1b75ce8202fd9859829f3152d6243a50 inherit pro_methods_classentt_1_1basic__sparse__set"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename Entity, typename Type, typename Allocator, typename = void&gt;<br />
class entt::basic_storage_impl&lt; Entity, Type, Allocator, typename &gt;</h3>
<p>Basic storage implementation. </p>
<p>This class is a refinement of a sparse set that associates an object to an entity. The main purpose of this class is to extend sparse sets to store components in a registry. It guarantees fast access both to the elements and to the entities.</p>
<dl class="section note"><dt>Note</dt><dd>Entities and objects have the same order.</dd>
<dd>
Internal data structures arrange elements to maximize performance. There are no guarantees that objects are returned in the insertion order when iterate a storage. Do not make assumption on the order in any case.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Empty types aren't explicitly instantiated. Therefore, many of the functions normally available for non-empty types will not be available for empty ones.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="namespaceentt.html#ac27c0013e504d544508cdacc01170b68" title="Alias declaration for the most common use case.">sparse_set&lt;Entity&gt;</a></dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Entity</td><td>A valid entity type (see <a class="el" href="classentt_1_1entt__traits.html" title="Entity traits.">entt_traits</a> for more details). </td></tr>
<tr><td class="paramname">Type</td><td>Type of objects assigned to the entities. </td></tr>
<tr><td class="paramname">Allocator</td><td>Type of allocator used to manage memory and elements. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00052">52</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3f5867447bf494cff81e90b4fd33e646"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f5867447bf494cff81e90b4fd33e646">&#9670;&nbsp;</a></span>basic_storage_impl() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::<a class="el" href="classentt_1_1basic__storage__impl.html">basic_storage_impl</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__storage__impl.html#add50c5d131df69d721597bbcb00cfc58">allocator_type</a> &amp;&#160;</td>
<td class="paramname"><em>alloc</em> = <code>{}</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">alloc</td><td>Allocator to use (possibly default-constructed). </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00318">318</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a3175b5fd9c09b2cc193bf726f3b1b124"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3175b5fd9c09b2cc193bf726f3b1b124">&#9670;&nbsp;</a></span>basic_storage_impl() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::<a class="el" href="classentt_1_1basic__storage__impl.html">basic_storage_impl</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classentt_1_1basic__storage__impl.html">basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>The instance to move from. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00330">330</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae83f20d23f0b48dc360c3ed598e626e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae83f20d23f0b48dc360c3ed598e626e3">&#9670;&nbsp;</a></span>begin() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#a55553c29ab8c4d6b187a1ca29e4b05ed">iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an iterator to the beginning. </p>
<p>The returned iterator points to the first instance of the internal array. If the storage is empty, the returned iterator will be equal to <code><a class="el" href="classentt_1_1basic__storage__impl.html#a2187d044512863657e978a6730247602" title="Returns an iterator to the end.">end()</a></code>.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the first instance of the internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00424">424</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="ac9be89d035ed63c11cc9774de28fe94f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9be89d035ed63c11cc9774de28fe94f">&#9670;&nbsp;</a></span>begin() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an iterator to the beginning. </p>
<p>The returned iterator points to the first instance of the internal array. If the storage is empty, the returned iterator will be equal to <code><a class="el" href="classentt_1_1basic__storage__impl.html#a2187d044512863657e978a6730247602" title="Returns an iterator to the end.">end()</a></code>.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the first instance of the internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00419">419</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a0b7b72dc153d977a539140df6ad33e2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b7b72dc153d977a539140df6ad33e2b">&#9670;&nbsp;</a></span>capacity()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#a1f8940947aa732154f0e1c9a6ad5dd0e">size_type</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::capacity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of elements that a storage has currently allocated space for. </p>
<dl class="section return"><dt>Returns</dt><dd>Capacity of the storage. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00382">382</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="ac990301f08d7cd9d4f6436f4f37834dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac990301f08d7cd9d4f6436f4f37834dc">&#9670;&nbsp;</a></span>cbegin()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::cbegin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an iterator to the beginning. </p>
<p>The returned iterator points to the first instance of the internal array. If the storage is empty, the returned iterator will be equal to <code><a class="el" href="classentt_1_1basic__storage__impl.html#a2187d044512863657e978a6730247602" title="Returns an iterator to the end.">end()</a></code>.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the first instance of the internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00413">413</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="ae25572df07defff83e6961f4dc2aabae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae25572df07defff83e6961f4dc2aabae">&#9670;&nbsp;</a></span>cend()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::cend </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an iterator to the end. </p>
<p>The returned iterator points to the element following the last instance of the internal array. Attempting to dereference the returned iterator results in undefined behavior.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the element following the last instance of the internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00439">439</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a5e6a4b54ea0da9e22097a6ff4bade742"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e6a4b54ea0da9e22097a6ff4bade742">&#9670;&nbsp;</a></span>crbegin()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#acea7c99c2de806814c2f2a615549e0d3">const_reverse_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::crbegin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a reverse iterator to the beginning. </p>
<p>The returned iterator points to the first instance of the reversed internal array. If the storage is empty, the returned iterator will be equal to <code><a class="el" href="classentt_1_1basic__storage__impl.html#a8a1e4e4fe40cc70353b066474830e7d1" title="Returns a reverse iterator to the end.">rend()</a></code>.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the first instance of the reversed internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00462">462</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="afb10b4a425c0a12dae99174ee60f1db9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb10b4a425c0a12dae99174ee60f1db9">&#9670;&nbsp;</a></span>crend()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#acea7c99c2de806814c2f2a615549e0d3">const_reverse_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::crend </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a reverse iterator to the end. </p>
<p>The returned iterator points to the element following the last instance of the reversed internal array. Attempting to dereference the returned iterator results in undefined behavior.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the element following the last instance of the reversed internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00486">486</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a7ee87fa0867d788544616507fdd76dd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ee87fa0867d788544616507fdd76dd2">&#9670;&nbsp;</a></span>emplace()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<div class="memtemplate">
template&lt;typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a>&amp; <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::emplace </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__storage__impl.html#af8bbbc5015d23cb05786d27fbb488f75">entity_type</a>&#160;</td>
<td class="paramname"><em>entt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Assigns an entity to a storage and constructs its object. </p>
<p>This version accept both types that can be constructed in place directly and types like aggregates that do not work well with a placement new as performed usually under the hood during an <em>emplace back</em>.</p>
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an entity that already belongs to the storage results in undefined behavior.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Args</td><td>Types of arguments to use to construct the object. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entt</td><td>A valid entity identifier. </td></tr>
<tr><td class="paramname">args</td><td>Parameters to use to construct an object for the entity. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A reference to the newly created object. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00537">537</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a2187d044512863657e978a6730247602"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2187d044512863657e978a6730247602">&#9670;&nbsp;</a></span>end() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#a55553c29ab8c4d6b187a1ca29e4b05ed">iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an iterator to the end. </p>
<p>The returned iterator points to the element following the last instance of the internal array. Attempting to dereference the returned iterator results in undefined behavior.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the element following the last instance of the internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00449">449</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a986999207e7bbfae8a475fbcc1eba89a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a986999207e7bbfae8a475fbcc1eba89a">&#9670;&nbsp;</a></span>end() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#a448af4703f650ca2550d82744607e139">const_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an iterator to the end. </p>
<p>The returned iterator points to the element following the last instance of the internal array. Attempting to dereference the returned iterator results in undefined behavior.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the element following the last instance of the internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00444">444</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="ace2ff7826f8f332575118dd2ba1e5995"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace2ff7826f8f332575118dd2ba1e5995">&#9670;&nbsp;</a></span>get() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a>&amp; <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::get </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__storage__impl.html#af8bbbc5015d23cb05786d27fbb488f75">entity_type</a>&#160;</td>
<td class="paramname"><em>entt</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the object assigned to an entity. </p>
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an entity that doesn't belong to the storage results in undefined behavior.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entt</td><td>A valid entity identifier. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The object assigned to the entity. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00516">516</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a941b38df86281c34f426078df50d08fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a941b38df86281c34f426078df50d08fd">&#9670;&nbsp;</a></span>get() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a>&amp; <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::get </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__storage__impl.html#af8bbbc5015d23cb05786d27fbb488f75">entity_type</a>&#160;</td>
<td class="paramname"><em>entt</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the object assigned to an entity. </p>
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an entity that doesn't belong to the storage results in undefined behavior.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entt</td><td>A valid entity identifier. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The object assigned to the entity. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00510">510</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="ac891d07dc44bcc6965e1774ae915799e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac891d07dc44bcc6965e1774ae915799e">&#9670;&nbsp;</a></span>in_place_pop()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::in_place_pop </td>
<td>(</td>
<td class="paramtype">const Entity&#160;</td>
<td class="paramname"><em>entt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ud</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attempts to erase an entity from the internal packed array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entt</td><td>A valid entity identifier. </td></tr>
<tr><td class="paramname">ud</td><td>Optional user data that are forwarded as-is to derived classes. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00285">285</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a539cb95dfd3258dcb5fb9f5c51a65cb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a539cb95dfd3258dcb5fb9f5c51a65cb7">&#9670;&nbsp;</a></span>insert() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<div class="memtemplate">
template&lt;typename EIt , typename CIt , typename = std::enable_if_t&lt;std::is_same_v&lt;std::decay_t&lt;typename std::iterator_traits&lt;CIt&gt;::value_type&gt;, value_type&gt;&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::insert </td>
<td>(</td>
<td class="paramtype">EIt&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">EIt&#160;</td>
<td class="paramname"><em>last</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CIt&#160;</td>
<td class="paramname"><em>from</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Assigns one or more entities to a storage and constructs their objects from a given range. </p>
<dl class="section see"><dt>See also</dt><dd>construct</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">EIt</td><td>Type of input iterator. </td></tr>
<tr><td class="paramname">CIt</td><td>Type of input iterator. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">first</td><td>An iterator to the first element of the range of entities. </td></tr>
<tr><td class="paramname">last</td><td>An iterator past the last element of the range of entities. </td></tr>
<tr><td class="paramname">from</td><td>An iterator to the first element of the range of objects. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00613">613</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a23ae2bf686c5d540bc2c072586438fad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23ae2bf686c5d540bc2c072586438fad">&#9670;&nbsp;</a></span>insert() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<div class="memtemplate">
template&lt;typename It &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::insert </td>
<td>(</td>
<td class="paramtype">It&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">It&#160;</td>
<td class="paramname"><em>last</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__storage__impl.html#a719c85479bae096fae278d342197e1fd">value_type</a> &amp;&#160;</td>
<td class="paramname"><em>value</em> = <code>{}</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Assigns one or more entities to a storage and constructs their objects from a given instance. </p>
<dl class="section warning"><dt>Warning</dt><dd>Attempting to assign an entity that already belongs to the storage results in undefined behavior.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">It</td><td>Type of input iterator. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">first</td><td>An iterator to the first element of the range of entities. </td></tr>
<tr><td class="paramname">last</td><td>An iterator past the last element of the range of entities. </td></tr>
<tr><td class="paramname">value</td><td>An instance of the object to construct. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00583">583</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a3400e9cace9f7facbe6f5fdbd9c63133"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3400e9cace9f7facbe6f5fdbd9c63133">&#9670;&nbsp;</a></span>move_and_pop()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::move_and_pop </td>
<td>(</td>
<td class="paramtype">const std::size_t&#160;</td>
<td class="paramname"><em>from</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::size_t&#160;</td>
<td class="paramname"><em>to</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Moves an entity in the internal packed array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">from</td><td>A valid position of an entity within storage. </td></tr>
<tr><td class="paramname">to</td><td>A valid position of an entity within storage. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00265">265</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a90dbba6cdda7870ea58785b7d3f976d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90dbba6cdda7870ea58785b7d3f976d0">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html">basic_storage_impl</a>&amp; <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classentt_1_1basic__storage__impl.html">basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move assignment operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>The instance to move from. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This sparse set. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00348">348</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="aabc691c7310d4a3f7a8c5b4780f326d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabc691c7310d4a3f7a8c5b4780f326d5">&#9670;&nbsp;</a></span>patch()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<div class="memtemplate">
template&lt;typename... Func&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">decltype(auto) <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::patch </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__storage__impl.html#af8bbbc5015d23cb05786d27fbb488f75">entity_type</a>&#160;</td>
<td class="paramname"><em>entt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Func &amp;&amp;...&#160;</td>
<td class="paramname"><em>func</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Updates the instance assigned to a given entity in-place. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Func</td><td>Types of the function objects to invoke. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entt</td><td>A valid entity identifier. </td></tr>
<tr><td class="paramname">func</td><td>Valid function objects. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A reference to the updated instance. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00562">562</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a15d6ed1e726aa4204592d78f53bdbb41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15d6ed1e726aa4204592d78f53bdbb41">&#9670;&nbsp;</a></span>raw() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#aa1a145d2fa78b328a4de0933df13c9f8">pointer</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::raw </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Direct access to the array of objects. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the array of objects. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00401">401</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="abce4c010564b1c10a723213cbca4b3fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abce4c010564b1c10a723213cbca4b3fb">&#9670;&nbsp;</a></span>raw() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#af739529c8e32c4d3ee0d348ca6a403bf">const_pointer</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::raw </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Direct access to the array of objects. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the array of objects. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00396">396</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a063e79451cf485dfff02fd62a9bca38f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a063e79451cf485dfff02fd62a9bca38f">&#9670;&nbsp;</a></span>rbegin() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#ac0c76c1d371306fbc4b998f0c6c64e41">reverse_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::rbegin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a reverse iterator to the beginning. </p>
<p>The returned iterator points to the first instance of the reversed internal array. If the storage is empty, the returned iterator will be equal to <code><a class="el" href="classentt_1_1basic__storage__impl.html#a8a1e4e4fe40cc70353b066474830e7d1" title="Returns a reverse iterator to the end.">rend()</a></code>.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the first instance of the reversed internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00472">472</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a7df9ea0c86a1dd95c584df6da0b9a427"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7df9ea0c86a1dd95c584df6da0b9a427">&#9670;&nbsp;</a></span>rbegin() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#acea7c99c2de806814c2f2a615549e0d3">const_reverse_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::rbegin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a reverse iterator to the beginning. </p>
<p>The returned iterator points to the first instance of the reversed internal array. If the storage is empty, the returned iterator will be equal to <code><a class="el" href="classentt_1_1basic__storage__impl.html#a8a1e4e4fe40cc70353b066474830e7d1" title="Returns a reverse iterator to the end.">rend()</a></code>.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the first instance of the reversed internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00467">467</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a8a1e4e4fe40cc70353b066474830e7d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a1e4e4fe40cc70353b066474830e7d1">&#9670;&nbsp;</a></span>rend() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#ac0c76c1d371306fbc4b998f0c6c64e41">reverse_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::rend </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a reverse iterator to the end. </p>
<p>The returned iterator points to the element following the last instance of the reversed internal array. Attempting to dereference the returned iterator results in undefined behavior.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the element following the last instance of the reversed internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00496">496</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a32e209a72a4242bdc8470c50f2e3dd0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32e209a72a4242bdc8470c50f2e3dd0f">&#9670;&nbsp;</a></span>rend() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__storage__impl.html#acea7c99c2de806814c2f2a615549e0d3">const_reverse_iterator</a> <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::rend </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a reverse iterator to the end. </p>
<p>The returned iterator points to the element following the last instance of the reversed internal array. Attempting to dereference the returned iterator results in undefined behavior.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the element following the last instance of the reversed internal array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00491">491</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="aa37129844cb662c360ead4b032634046"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa37129844cb662c360ead4b032634046">&#9670;&nbsp;</a></span>reserve()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::reserve </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__storage__impl.html#a1f8940947aa732154f0e1c9a6ad5dd0e">size_type</a>&#160;</td>
<td class="paramname"><em>cap</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Increases the capacity of a storage. </p>
<p>If the new capacity is greater than the current capacity, new storage is allocated, otherwise the method does nothing.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cap</td><td>Desired capacity. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00369">369</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a93b4325d3bf03c6bd815f83d8175d970"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93b4325d3bf03c6bd815f83d8175d970">&#9670;&nbsp;</a></span>sort()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<div class="memtemplate">
template&lt;typename Compare , typename Sort = std_sort, typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::sort </td>
<td>(</td>
<td class="paramtype">Compare&#160;</td>
<td class="paramname"><em>compare</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Sort&#160;</td>
<td class="paramname"><em>algo</em> = <code>Sort{}</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sort all elements according to the given comparison function. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__storage__impl.html#ad9fb96c439305234ca0facec9350b9e4" title="Sort elements according to the given comparison function.">sort_n</a></dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Compare</td><td>Type of comparison function object. </td></tr>
<tr><td class="paramname">Sort</td><td>Type of sort function object. </td></tr>
<tr><td class="paramname">Args</td><td>Types of arguments to forward to the sort function object. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">compare</td><td>A valid comparison function object. </td></tr>
<tr><td class="paramname">algo</td><td>A valid sort function object. </td></tr>
<tr><td class="paramname">args</td><td>Arguments to forward to the sort function object, if any. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00690">690</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="ad9fb96c439305234ca0facec9350b9e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9fb96c439305234ca0facec9350b9e4">&#9670;&nbsp;</a></span>sort_n()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<div class="memtemplate">
template&lt;typename Compare , typename Sort = std_sort, typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::sort_n </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__storage__impl.html#a1f8940947aa732154f0e1c9a6ad5dd0e">size_type</a>&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Compare&#160;</td>
<td class="paramname"><em>compare</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Sort&#160;</td>
<td class="paramname"><em>algo</em> = <code>Sort{}</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sort elements according to the given comparison function. </p>
<p>The comparison function object must return <code>true</code> if the first element is <em>less</em> than the second one, <code>false</code> otherwise. The signature of the comparison function should be equivalent to one of the following:</p>
<div class="fragment"><div class="line">bool(<span class="keyword">const</span> Entity, <span class="keyword">const</span> Entity);</div>
<div class="line">bool(<span class="keyword">const</span> Type &amp;, <span class="keyword">const</span> Type &amp;);</div>
</div><!-- fragment --><p>Moreover, the comparison function object shall induce a <em>strict weak ordering</em> on the values.</p>
<p>The sort function oject must offer a member function template <code>operator()</code> that accepts three arguments:</p>
<ul>
<li>An iterator to the first element of the range to sort.</li>
<li>An iterator past the last element of the range to sort.</li>
<li>A comparison function to use to compare the elements.</li>
</ul>
<dl class="section warning"><dt>Warning</dt><dd>Empty types are never instantiated. Therefore, only comparison function objects that require to return entities rather than components are accepted.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Compare</td><td>Type of comparison function object. </td></tr>
<tr><td class="paramname">Sort</td><td>Type of sort function object. </td></tr>
<tr><td class="paramname">Args</td><td>Types of arguments to forward to the sort function object. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">length</td><td>Number of elements to sort. </td></tr>
<tr><td class="paramname">compare</td><td>A valid comparison function object. </td></tr>
<tr><td class="paramname">algo</td><td>A valid sort function object. </td></tr>
<tr><td class="paramname">args</td><td>Arguments to forward to the sort function object, if any. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00666">666</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="af5d3a61359c34b24feaaa8defaca58ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5d3a61359c34b24feaaa8defaca58ce">&#9670;&nbsp;</a></span>swap_and_pop()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::swap_and_pop </td>
<td>(</td>
<td class="paramtype">const Entity&#160;</td>
<td class="paramname"><em>entt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ud</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attempts to erase an entity from the internal packed array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entt</td><td>A valid entity identifier. </td></tr>
<tr><td class="paramname">ud</td><td>Optional user data that are forwarded as-is to derived classes. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00271">271</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<a id="a638e69a10886aa15ac5390b3a68e6f72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a638e69a10886aa15ac5390b3a68e6f72">&#9670;&nbsp;</a></span>swap_at()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename Type , typename Allocator , typename = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classentt_1_1basic__storage__impl.html">entt::basic_storage_impl</a>&lt; Entity, Type, Allocator, typename &gt;::swap_at </td>
<td>(</td>
<td class="paramtype">const std::size_t&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::size_t&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Swaps two entities in the internal packed array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>A valid position of an entity within storage. </td></tr>
<tr><td class="paramname">rhs</td><td>A valid position of an entity within storage. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="storage_8hpp_source.html#l00260">260</a> of file <a class="el" href="storage_8hpp_source.html">storage.hpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/entt/entity/<a class="el" href="storage_8hpp_source.html">storage.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>