Files
entt/classentt_1_1basic__sparse__set.html
2021-01-09 18:58:42 +01:00

1153 lines
68 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.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>EnTT: entt::basic_sparse_set&lt; Entity &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.6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<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');
/* @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__sparse__set.html">basic_sparse_set</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="classentt_1_1basic__sparse__set-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">entt::basic_sparse_set&lt; Entity &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Basic sparse set implementation.
<a href="classentt_1_1basic__sparse__set.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for entt::basic_sparse_set&lt; Entity &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classentt_1_1basic__sparse__set__inherit__graph.png" border="0" usemap="#aentt_1_1basic__sparse__set_3_01Entity_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="entt_1_1basic__sparse__set_3_01Entity_01_4_inherit__map" id="aentt_1_1basic__sparse__set_3_01Entity_01_4_inherit__map">
<area shape="rect" title="Basic sparse set implementation." alt="" coords="19,5,149,47"/>
<area shape="rect" href="classentt_1_1basic__storage_3_01Entity_00_01Type_00_01std_1_1enable__if__t_3_01is__empty__v_3_01Type_01_4_01_4_01_4.html" title="Basic storage implementation." alt="" coords="5,95,163,165"/>
</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:a350b507e85eea1ee4f562374b1d47e42"><td class="memItemLeft" align="right" valign="top"><a id="a350b507e85eea1ee4f562374b1d47e42"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> = Entity</td></tr>
<tr class="memdesc:a350b507e85eea1ee4f562374b1d47e42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Underlying entity identifier. <br /></td></tr>
<tr class="separator:a350b507e85eea1ee4f562374b1d47e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b021680642656b85abb01e503cf1361"><td class="memItemLeft" align="right" valign="top"><a id="a4b021680642656b85abb01e503cf1361"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a> = std::size_t</td></tr>
<tr class="memdesc:a4b021680642656b85abb01e503cf1361"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unsigned integer type. <br /></td></tr>
<tr class="separator:a4b021680642656b85abb01e503cf1361"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1ec801822e07322ff37412472bc040a"><td class="memItemLeft" align="right" valign="top"><a id="ac1ec801822e07322ff37412472bc040a"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#ac1ec801822e07322ff37412472bc040a">iterator</a> = sparse_set_iterator</td></tr>
<tr class="memdesc:ac1ec801822e07322ff37412472bc040a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Random access iterator type. <br /></td></tr>
<tr class="separator:ac1ec801822e07322ff37412472bc040a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a083b5d1855348959c94507c62e4560e3"><td class="memItemLeft" align="right" valign="top"><a id="a083b5d1855348959c94507c62e4560e3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a083b5d1855348959c94507c62e4560e3">reverse_iterator</a> = const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> *</td></tr>
<tr class="memdesc:a083b5d1855348959c94507c62e4560e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse iterator type. <br /></td></tr>
<tr class="separator:a083b5d1855348959c94507c62e4560e3"><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:ac10d76d13a4914ef750f489d57c7a030"><td class="memItemLeft" align="right" valign="top"><a id="ac10d76d13a4914ef750f489d57c7a030"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#ac10d76d13a4914ef750f489d57c7a030">basic_sparse_set</a> ()=default</td></tr>
<tr class="memdesc:ac10d76d13a4914ef750f489d57c7a030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:ac10d76d13a4914ef750f489d57c7a030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a119fca5d1da75408c04a6bf1bea99244"><td class="memItemLeft" align="right" valign="top"><a id="a119fca5d1da75408c04a6bf1bea99244"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a119fca5d1da75408c04a6bf1bea99244">basic_sparse_set</a> (<a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:a119fca5d1da75408c04a6bf1bea99244"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default move constructor. <br /></td></tr>
<tr class="separator:a119fca5d1da75408c04a6bf1bea99244"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7c4d3e05fcaf30227ce50c7f96a10c8"><td class="memItemLeft" align="right" valign="top"><a id="af7c4d3e05fcaf30227ce50c7f96a10c8"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#af7c4d3e05fcaf30227ce50c7f96a10c8">~basic_sparse_set</a> ()=default</td></tr>
<tr class="memdesc:af7c4d3e05fcaf30227ce50c7f96a10c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor. <br /></td></tr>
<tr class="separator:af7c4d3e05fcaf30227ce50c7f96a10c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ee2299701078a3d87ee4fbc61a11c61"><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#a8ee2299701078a3d87ee4fbc61a11c61">operator=</a> (<a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:a8ee2299701078a3d87ee4fbc61a11c61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default move assignment operator. <a href="classentt_1_1basic__sparse__set.html#a8ee2299701078a3d87ee4fbc61a11c61">More...</a><br /></td></tr>
<tr class="separator:a8ee2299701078a3d87ee4fbc61a11c61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbac69bb690227ebebd22fd6c998ba69"><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#abbac69bb690227ebebd22fd6c998ba69">reserve</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a> cap)</td></tr>
<tr class="memdesc:abbac69bb690227ebebd22fd6c998ba69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increases the capacity of a sparse set. <a href="classentt_1_1basic__sparse__set.html#abbac69bb690227ebebd22fd6c998ba69">More...</a><br /></td></tr>
<tr class="separator:abbac69bb690227ebebd22fd6c998ba69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bbddfa69f645caafb82e804387f3389"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a0bbddfa69f645caafb82e804387f3389">capacity</a> () const noexcept</td></tr>
<tr class="memdesc:a0bbddfa69f645caafb82e804387f3389"><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#a0bbddfa69f645caafb82e804387f3389">More...</a><br /></td></tr>
<tr class="separator:a0bbddfa69f645caafb82e804387f3389"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a211d7468b9077d5fffd93aaf3ab212"><td class="memItemLeft" align="right" valign="top"><a id="a2a211d7468b9077d5fffd93aaf3ab212"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a2a211d7468b9077d5fffd93aaf3ab212">shrink_to_fit</a> ()</td></tr>
<tr class="memdesc:a2a211d7468b9077d5fffd93aaf3ab212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests the removal of unused capacity. <br /></td></tr>
<tr class="separator:a2a211d7468b9077d5fffd93aaf3ab212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d7f157d8f465d6d3dacf57e736cdbc2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a5d7f157d8f465d6d3dacf57e736cdbc2">extent</a> () const noexcept</td></tr>
<tr class="memdesc:a5d7f157d8f465d6d3dacf57e736cdbc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the extent of a sparse set. <a href="classentt_1_1basic__sparse__set.html#a5d7f157d8f465d6d3dacf57e736cdbc2">More...</a><br /></td></tr>
<tr class="separator:a5d7f157d8f465d6d3dacf57e736cdbc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bc134edd13320429c9b68cc2d1bb430"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a7bc134edd13320429c9b68cc2d1bb430">size</a> () const noexcept</td></tr>
<tr class="memdesc:a7bc134edd13320429c9b68cc2d1bb430"><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#a7bc134edd13320429c9b68cc2d1bb430">More...</a><br /></td></tr>
<tr class="separator:a7bc134edd13320429c9b68cc2d1bb430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a85fdd8f207758a5e4ccd5c2c3226f1"><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#a2a85fdd8f207758a5e4ccd5c2c3226f1">empty</a> () const noexcept</td></tr>
<tr class="memdesc:a2a85fdd8f207758a5e4ccd5c2c3226f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether a sparse set is empty. <a href="classentt_1_1basic__sparse__set.html#a2a85fdd8f207758a5e4ccd5c2c3226f1">More...</a><br /></td></tr>
<tr class="separator:a2a85fdd8f207758a5e4ccd5c2c3226f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a172e26e57ceaa9ebda08b59d21b6e5ac"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a172e26e57ceaa9ebda08b59d21b6e5ac">data</a> () const noexcept</td></tr>
<tr class="memdesc:a172e26e57ceaa9ebda08b59d21b6e5ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direct access to the internal packed array. <a href="classentt_1_1basic__sparse__set.html#a172e26e57ceaa9ebda08b59d21b6e5ac">More...</a><br /></td></tr>
<tr class="separator:a172e26e57ceaa9ebda08b59d21b6e5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab420a64fbdf29ece1938cd8ab0cb858c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#ac1ec801822e07322ff37412472bc040a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#ab420a64fbdf29ece1938cd8ab0cb858c">begin</a> () const noexcept</td></tr>
<tr class="memdesc:ab420a64fbdf29ece1938cd8ab0cb858c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning. <a href="classentt_1_1basic__sparse__set.html#ab420a64fbdf29ece1938cd8ab0cb858c">More...</a><br /></td></tr>
<tr class="separator:ab420a64fbdf29ece1938cd8ab0cb858c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1804cba82f83af8bd700976408775e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#ac1ec801822e07322ff37412472bc040a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#af1804cba82f83af8bd700976408775e2">end</a> () const noexcept</td></tr>
<tr class="memdesc:af1804cba82f83af8bd700976408775e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the end. <a href="classentt_1_1basic__sparse__set.html#af1804cba82f83af8bd700976408775e2">More...</a><br /></td></tr>
<tr class="separator:af1804cba82f83af8bd700976408775e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2539c915f1fa4e3595e8b01f157a9dd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a083b5d1855348959c94507c62e4560e3">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a2539c915f1fa4e3595e8b01f157a9dd8">rbegin</a> () const noexcept</td></tr>
<tr class="memdesc:a2539c915f1fa4e3595e8b01f157a9dd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the beginning. <a href="classentt_1_1basic__sparse__set.html#a2539c915f1fa4e3595e8b01f157a9dd8">More...</a><br /></td></tr>
<tr class="separator:a2539c915f1fa4e3595e8b01f157a9dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a588b8484ca13a9419115b339987b7541"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a083b5d1855348959c94507c62e4560e3">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a588b8484ca13a9419115b339987b7541">rend</a> () const noexcept</td></tr>
<tr class="memdesc:a588b8484ca13a9419115b339987b7541"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reverse iterator to the end. <a href="classentt_1_1basic__sparse__set.html#a588b8484ca13a9419115b339987b7541">More...</a><br /></td></tr>
<tr class="separator:a588b8484ca13a9419115b339987b7541"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4c8802dc54456ad6c5ad29cdb370529"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#ac1ec801822e07322ff37412472bc040a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#aa4c8802dc54456ad6c5ad29cdb370529">find</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> entt) const</td></tr>
<tr class="memdesc:aa4c8802dc54456ad6c5ad29cdb370529"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds an entity. <a href="classentt_1_1basic__sparse__set.html#aa4c8802dc54456ad6c5ad29cdb370529">More...</a><br /></td></tr>
<tr class="separator:aa4c8802dc54456ad6c5ad29cdb370529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb829883e484fac948f907fdf5363d11"><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#aeb829883e484fac948f907fdf5363d11">contains</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> entt) const</td></tr>
<tr class="memdesc:aeb829883e484fac948f907fdf5363d11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a sparse set contains an entity. <a href="classentt_1_1basic__sparse__set.html#aeb829883e484fac948f907fdf5363d11">More...</a><br /></td></tr>
<tr class="separator:aeb829883e484fac948f907fdf5363d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb0f4c36135a1d52f4993701c070b9a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#abb0f4c36135a1d52f4993701c070b9a3">index</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> entt) const</td></tr>
<tr class="memdesc:abb0f4c36135a1d52f4993701c070b9a3"><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#abb0f4c36135a1d52f4993701c070b9a3">More...</a><br /></td></tr>
<tr class="separator:abb0f4c36135a1d52f4993701c070b9a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5855f240d4e380467e6422edb9e06496"><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#a5855f240d4e380467e6422edb9e06496">emplace</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> entt)</td></tr>
<tr class="memdesc:a5855f240d4e380467e6422edb9e06496"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns an entity to a sparse set. <a href="classentt_1_1basic__sparse__set.html#a5855f240d4e380467e6422edb9e06496">More...</a><br /></td></tr>
<tr class="separator:a5855f240d4e380467e6422edb9e06496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c63e08ff399077c5c8b9beef794e80a"><td class="memTemplParams" colspan="2">template&lt;typename It &gt; </td></tr>
<tr class="memitem:a4c63e08ff399077c5c8b9beef794e80a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a4c63e08ff399077c5c8b9beef794e80a">insert</a> (It first, It last)</td></tr>
<tr class="memdesc:a4c63e08ff399077c5c8b9beef794e80a"><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#a4c63e08ff399077c5c8b9beef794e80a">More...</a><br /></td></tr>
<tr class="separator:a4c63e08ff399077c5c8b9beef794e80a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1affa67da71b7d59aebb4c56b83c3885"><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#a1affa67da71b7d59aebb4c56b83c3885">remove</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> entt)</td></tr>
<tr class="memdesc:a1affa67da71b7d59aebb4c56b83c3885"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes an entity from a sparse set. <a href="classentt_1_1basic__sparse__set.html#a1affa67da71b7d59aebb4c56b83c3885">More...</a><br /></td></tr>
<tr class="separator:a1affa67da71b7d59aebb4c56b83c3885"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac351f2d523007251a4262e0ab1f6694d"><td class="memTemplParams" colspan="2">template&lt;typename It &gt; </td></tr>
<tr class="memitem:ac351f2d523007251a4262e0ab1f6694d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#ac351f2d523007251a4262e0ab1f6694d">remove</a> (It first, It last)</td></tr>
<tr class="memdesc:ac351f2d523007251a4262e0ab1f6694d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes multiple entities from a pool. <a href="classentt_1_1basic__sparse__set.html#ac351f2d523007251a4262e0ab1f6694d">More...</a><br /></td></tr>
<tr class="separator:ac351f2d523007251a4262e0ab1f6694d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa344d6da890c4e8a587f186a2872b5b9"><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#aa344d6da890c4e8a587f186a2872b5b9">swap</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> lhs, const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a> rhs)</td></tr>
<tr class="memdesc:aa344d6da890c4e8a587f186a2872b5b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps two entities in the internal packed array. <a href="classentt_1_1basic__sparse__set.html#aa344d6da890c4e8a587f186a2872b5b9">More...</a><br /></td></tr>
<tr class="separator:aa344d6da890c4e8a587f186a2872b5b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9172cbcd7ced65b6649224ca47b6d524"><td class="memTemplParams" colspan="2">template&lt;typename Compare , typename Sort = std_sort, typename... Args&gt; </td></tr>
<tr class="memitem:a9172cbcd7ced65b6649224ca47b6d524"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a9172cbcd7ced65b6649224ca47b6d524">sort_n</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a> count, Compare compare, Sort algo=Sort{}, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:a9172cbcd7ced65b6649224ca47b6d524"><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#a9172cbcd7ced65b6649224ca47b6d524">More...</a><br /></td></tr>
<tr class="separator:a9172cbcd7ced65b6649224ca47b6d524"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a4d0296516d1d269b3a1e77b3632048"><td class="memTemplParams" colspan="2">template&lt;typename Compare , typename Sort = std_sort, typename... Args&gt; </td></tr>
<tr class="memitem:a2a4d0296516d1d269b3a1e77b3632048"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a2a4d0296516d1d269b3a1e77b3632048">sort</a> (Compare compare, Sort algo=Sort{}, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:a2a4d0296516d1d269b3a1e77b3632048"><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#a2a4d0296516d1d269b3a1e77b3632048">More...</a><br /></td></tr>
<tr class="separator:a2a4d0296516d1d269b3a1e77b3632048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a588fd9b1e9288196c6786b5668e2f3"><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#a0a588fd9b1e9288196c6786b5668e2f3">respect</a> (const <a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a> &amp;other)</td></tr>
<tr class="memdesc:a0a588fd9b1e9288196c6786b5668e2f3"><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#a0a588fd9b1e9288196c6786b5668e2f3">More...</a><br /></td></tr>
<tr class="separator:a0a588fd9b1e9288196c6786b5668e2f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02ace2ea7caf2b0f46cc4ff66f57d0ea"><td class="memItemLeft" align="right" valign="top"><a id="a02ace2ea7caf2b0f46cc4ff66f57d0ea"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__sparse__set.html#a02ace2ea7caf2b0f46cc4ff66f57d0ea">clear</a> () noexcept</td></tr>
<tr class="memdesc:a02ace2ea7caf2b0f46cc4ff66f57d0ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears a sparse set. <br /></td></tr>
<tr class="separator:a02ace2ea7caf2b0f46cc4ff66f57d0ea"><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&gt;<br />
class entt::basic_sparse_set&lt; Entity &gt;</h3>
<p>Basic sparse set implementation. </p>
<p>Sparse set or packed array or whatever is the name users give it.<br />
Two arrays: an <em>external</em> one and an <em>internal</em> one; a <em>sparse</em> one and a <em>packed</em> one; one used for direct access through contiguous memory, the other one used to get the data through an extra level of indirection.<br />
This is largely used by the registry to offer users the fastest access ever to the components. Views and groups in general are almost entirely designed around sparse sets.</p>
<p>This type of data structure is widely documented in the literature and on the web. This is nothing more than a customized implementation suitable for the purpose of the framework.</p>
<dl class="section note"><dt>Note</dt><dd>Internal data structures arrange elements to maximize performance. There are no guarantees that entities are returned in the insertion order when iterate a sparse set. Do not make assumption on the order in any case.</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="structentt_1_1entt__traits.html" title="Entity traits.">entt_traits</a> for more details). </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00043">43</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ab420a64fbdf29ece1938cd8ab0cb858c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab420a64fbdf29ece1938cd8ab0cb858c">&#9670;&nbsp;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html#ac1ec801822e07322ff37412472bc040a">iterator</a> <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &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 class="mlabel">noexcept</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 entity of the internal packed array. If the sparse set is empty, the returned iterator will be equal to <code><a class="el" href="classentt_1_1basic__sparse__set.html#af1804cba82f83af8bd700976408775e2" title="Returns an iterator to the end.">end()</a></code>.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator to the first entity of the internal packed array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00295">295</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a0bbddfa69f645caafb82e804387f3389"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bbddfa69f645caafb82e804387f3389">&#9670;&nbsp;</a></span>capacity()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a> <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &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 class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of elements that a sparse set has currently allocated space for. </p>
<dl class="section return"><dt>Returns</dt><dd>Capacity of the sparse set. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00219">219</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="aeb829883e484fac948f907fdf5363d11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb829883e484fac948f907fdf5363d11">&#9670;&nbsp;</a></span>contains()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::contains </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">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>Checks if a sparse set contains an entity. </p>
<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>True if the sparse set contains the entity, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00357">357</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a172e26e57ceaa9ebda08b59d21b6e5ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a172e26e57ceaa9ebda08b59d21b6e5ac">&#9670;&nbsp;</a></span>data()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a>* <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::data </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 class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Direct access to the internal packed array. </p>
<p>The returned pointer is such that range <code>[<a class="el" href="classentt_1_1basic__sparse__set.html#a172e26e57ceaa9ebda08b59d21b6e5ac" title="Direct access to the internal packed array.">data()</a>, <a class="el" href="classentt_1_1basic__sparse__set.html#a172e26e57ceaa9ebda08b59d21b6e5ac" title="Direct access to the internal packed array.">data()</a> + <a class="el" href="classentt_1_1basic__sparse__set.html#a7bc134edd13320429c9b68cc2d1bb430" title="Returns the number of elements in a sparse set.">size()</a>)</code> is always a valid range, even if the container is empty.</p>
<dl class="section note"><dt>Note</dt><dd>Entities are in the reverse order as returned by the <code>begin</code>/<code>end</code> iterators.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the internal packed array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00282">282</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a5855f240d4e380467e6422edb9e06496"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5855f240d4e380467e6422edb9e06496">&#9670;&nbsp;</a></span>emplace()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::emplace </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">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>Assigns an entity to a sparse set. </p>
<dl class="section warning"><dt>Warning</dt><dd>Attempting to assign an entity that already belongs to the sparse set 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>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00387">387</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a2a85fdd8f207758a5e4ccd5c2c3226f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a85fdd8f207758a5e4ccd5c2c3226f1">&#9670;&nbsp;</a></span>empty()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::empty </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 class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks whether a sparse set is empty. </p>
<dl class="section return"><dt>Returns</dt><dd>True if the sparse set is empty, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00266">266</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="af1804cba82f83af8bd700976408775e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1804cba82f83af8bd700976408775e2">&#9670;&nbsp;</a></span>end()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html#ac1ec801822e07322ff37412472bc040a">iterator</a> <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &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 class="mlabel">noexcept</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 entity in the internal packed 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 entity of the internal packed array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00310">310</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a5d7f157d8f465d6d3dacf57e736cdbc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d7f157d8f465d6d3dacf57e736cdbc2">&#9670;&nbsp;</a></span>extent()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a> <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::extent </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 class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the extent of a sparse set. </p>
<p>The extent of a sparse set is also the size of the internal sparse array. There is no guarantee that the internal packed array has the same size. Usually the size of the internal sparse array is equal or greater than the one of the internal packed array.</p>
<dl class="section return"><dt>Returns</dt><dd>Extent of the sparse set. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00244">244</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="aa4c8802dc54456ad6c5ad29cdb370529"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4c8802dc54456ad6c5ad29cdb370529">&#9670;&nbsp;</a></span>find()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html#ac1ec801822e07322ff37412472bc040a">iterator</a> <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::find </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">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>Finds an entity. </p>
<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>An iterator to the given entity if it's found, past the end iterator otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00348">348</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="abb0f4c36135a1d52f4993701c070b9a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb0f4c36135a1d52f4993701c070b9a3">&#9670;&nbsp;</a></span>index()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a> <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::index </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">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 position of an entity in a sparse set. </p>
<dl class="section warning"><dt>Warning</dt><dd>Attempting to get the position of an entity that doesn't belong to the sparse set 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 position of the entity in the sparse set. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00373">373</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a4c63e08ff399077c5c8b9beef794e80a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c63e08ff399077c5c8b9beef794e80a">&#9670;&nbsp;</a></span>insert()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &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>&#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 sparse set. </p>
<dl class="section warning"><dt>Warning</dt><dd>Attempting to assign an entity that already belongs to the sparse set 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>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00405">405</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a8ee2299701078a3d87ee4fbc61a11c61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ee2299701078a3d87ee4fbc61a11c61">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a>&amp; <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a>&lt; Entity &gt; &amp;&amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default move assignment operator. </p>
<dl class="section return"><dt>Returns</dt><dd>This sparse set. </dd></dl>
</div>
</div>
<a id="a2539c915f1fa4e3595e8b01f157a9dd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2539c915f1fa4e3595e8b01f157a9dd8">&#9670;&nbsp;</a></span>rbegin()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html#a083b5d1855348959c94507c62e4560e3">reverse_iterator</a> <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &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 class="mlabel">noexcept</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 entity of the reversed internal packed array. If the sparse set is empty, the returned iterator will be equal to <code><a class="el" href="classentt_1_1basic__sparse__set.html#a588b8484ca13a9419115b339987b7541" 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 entity of the reversed internal packed array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00324">324</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a1affa67da71b7d59aebb4c56b83c3885"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1affa67da71b7d59aebb4c56b83c3885">&#9670;&nbsp;</a></span>remove() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::remove </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">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>Removes an entity from a sparse set. </p>
<dl class="section warning"><dt>Warning</dt><dd>Attempting to remove an entity that doesn't belong to the sparse set 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>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00424">424</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="ac351f2d523007251a4262e0ab1f6694d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac351f2d523007251a4262e0ab1f6694d">&#9670;&nbsp;</a></span>remove() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::remove </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>&#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>Removes multiple entities from a pool. </p>
<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>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00445">445</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a588b8484ca13a9419115b339987b7541"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a588b8484ca13a9419115b339987b7541">&#9670;&nbsp;</a></span>rend()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html#a083b5d1855348959c94507c62e4560e3">reverse_iterator</a> <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &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 class="mlabel">noexcept</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 entity in the reversed internal packed 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 entity of the reversed internal packed array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00338">338</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="abbac69bb690227ebebd22fd6c998ba69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbac69bb690227ebebd22fd6c998ba69">&#9670;&nbsp;</a></span>reserve()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::reserve </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">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 sparse set. </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="sparse__set_8hpp_source.html#l00210">210</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a0a588fd9b1e9288196c6786b5668e2f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a588fd9b1e9288196c6786b5668e2f3">&#9670;&nbsp;</a></span>respect()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::respect </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html">basic_sparse_set</a>&lt; Entity &gt; &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>Sort entities according to their order in another sparse set. </p>
<p>Entities that are part of both the sparse sets are ordered internally according to the order they have in <code>other</code>. All the other entities goes to the end of the list and there are no guarantees on their order.<br />
In other terms, this function can be used to impose the same order on two sets by using one of them as a master and the other one as a slave.</p>
<p>Iterating the sparse set with a couple of iterators returns elements in the expected order after a call to <code>respect</code>. See <code>begin</code> and <code>end</code> for more details.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>The sparse sets that imposes the order of the entities. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00559">559</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a7bc134edd13320429c9b68cc2d1bb430"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bc134edd13320429c9b68cc2d1bb430">&#9670;&nbsp;</a></span>size()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a> <a class="el" href="classentt_1_1basic__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::size </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 class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of elements in a sparse set. </p>
<p>The number of elements is also the size of the internal packed array. There is no guarantee that the internal sparse array has the same size. Usually the size of the internal sparse array is equal or greater than the one of the internal packed array.</p>
<dl class="section return"><dt>Returns</dt><dd>Number of elements. </dd></dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00258">258</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a2a4d0296516d1d269b3a1e77b3632048"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a4d0296516d1d269b3a1e77b3632048">&#9670;&nbsp;</a></span>sort()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &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__sparse__set.html#a9172cbcd7ced65b6649224ca47b6d524" title="Sort the first count 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="sparse__set_8hpp_source.html#l00540">540</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="a9172cbcd7ced65b6649224ca47b6d524"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9172cbcd7ced65b6649224ca47b6d524">&#9670;&nbsp;</a></span>sort_n()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::sort_n </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html#a4b021680642656b85abb01e503cf1361">size_type</a>&#160;</td>
<td class="paramname"><em>count</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 the first count 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 the following:</p>
<div class="fragment"><div class="line">bool(<span class="keyword">const</span> Entity, <span class="keyword">const</span> Entity);</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 object 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="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">count</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="sparse__set_8hpp_source.html#l00508">508</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<a id="aa344d6da890c4e8a587f186a2872b5b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa344d6da890c4e8a587f186a2872b5b9">&#9670;&nbsp;</a></span>swap()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity &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__sparse__set.html">entt::basic_sparse_set</a>&lt; Entity &gt;::swap </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classentt_1_1basic__sparse__set.html#a350b507e85eea1ee4f562374b1d47e42">entity_type</a>&#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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Swaps two entities in the internal packed array. </p>
<p>For what it's worth, this function affects both the internal sparse array and the internal packed array. Users should not care of that anyway.</p>
<dl class="section warning"><dt>Warning</dt><dd>Attempting to swap entities that don't belong to the sparse set results in undefined behavior.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>A valid entity identifier. </td></tr>
<tr><td class="paramname">rhs</td><td>A valid entity identifier. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="sparse__set_8hpp_source.html#l00469">469</a> of file <a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/entt/entity/<a class="el" href="entity_2fwd_8hpp_source.html">fwd.hpp</a></li>
<li>src/entt/entity/<a class="el" href="sparse__set_8hpp_source.html">sparse_set.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
</small></address>
</body>
</html>