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

1237 lines
69 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_handle&lt; Entity, Type &gt; Struct 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="structentt_1_1basic__handle.html">basic_handle</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="structentt_1_1basic__handle-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">entt::basic_handle&lt; Entity, Type &gt; Struct Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Non-owning handle to an entity.
<a href="structentt_1_1basic__handle.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>&gt;</code></p>
<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:ae5df0bde40739b99085169d1955dc1fb"><td class="memItemLeft" align="right" valign="top"><a id="ae5df0bde40739b99085169d1955dc1fb"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#ae5df0bde40739b99085169d1955dc1fb">registry_type</a> = <a class="el" href="namespaceentt.html#a7b051461867d3c5c97f77f10b662c26b">constness_as_t</a>&lt; <a class="el" href="classentt_1_1basic__registry.html">basic_registry</a>&lt; std::remove_const_t&lt; Entity &gt; &gt;, Entity &gt;</td></tr>
<tr class="memdesc:ae5df0bde40739b99085169d1955dc1fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of registry accepted by the handle. <br /></td></tr>
<tr class="separator:ae5df0bde40739b99085169d1955dc1fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4788afd7aa378b5ec2e44bf52f5bec14"><td class="memItemLeft" align="right" valign="top"><a id="a4788afd7aa378b5ec2e44bf52f5bec14"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a4788afd7aa378b5ec2e44bf52f5bec14">entity_type</a> = typename registry_type::entity_type</td></tr>
<tr class="memdesc:a4788afd7aa378b5ec2e44bf52f5bec14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Underlying entity identifier. <br /></td></tr>
<tr class="separator:a4788afd7aa378b5ec2e44bf52f5bec14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6d8a9ac22ff96212d1a68deb63cac52"><td class="memItemLeft" align="right" valign="top"><a id="aa6d8a9ac22ff96212d1a68deb63cac52"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#aa6d8a9ac22ff96212d1a68deb63cac52">version_type</a> = typename registry_type::version_type</td></tr>
<tr class="memdesc:aa6d8a9ac22ff96212d1a68deb63cac52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Underlying version type. <br /></td></tr>
<tr class="separator:aa6d8a9ac22ff96212d1a68deb63cac52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c6be936b2046833a789caf06e0567fe"><td class="memItemLeft" align="right" valign="top"><a id="a0c6be936b2046833a789caf06e0567fe"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a0c6be936b2046833a789caf06e0567fe">size_type</a> = typename registry_type::size_type</td></tr>
<tr class="memdesc:a0c6be936b2046833a789caf06e0567fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unsigned integer type. <br /></td></tr>
<tr class="separator:a0c6be936b2046833a789caf06e0567fe"><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:ada86cadf8f425426e25e2a8712876137"><td class="memItemLeft" align="right" valign="top"><a id="ada86cadf8f425426e25e2a8712876137"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#ada86cadf8f425426e25e2a8712876137">basic_handle</a> ()</td></tr>
<tr class="memdesc:ada86cadf8f425426e25e2a8712876137"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an invalid handle. <br /></td></tr>
<tr class="separator:ada86cadf8f425426e25e2a8712876137"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f88bf2f8fcb94b5ffe0f1290500004a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a9f88bf2f8fcb94b5ffe0f1290500004a">basic_handle</a> (<a class="el" href="structentt_1_1basic__handle.html#ae5df0bde40739b99085169d1955dc1fb">registry_type</a> &amp;ref, <a class="el" href="structentt_1_1basic__handle.html#a4788afd7aa378b5ec2e44bf52f5bec14">entity_type</a> value)</td></tr>
<tr class="memdesc:a9f88bf2f8fcb94b5ffe0f1290500004a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a handle from a given registry and entity. <a href="structentt_1_1basic__handle.html#a9f88bf2f8fcb94b5ffe0f1290500004a">More...</a><br /></td></tr>
<tr class="separator:a9f88bf2f8fcb94b5ffe0f1290500004a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1839d6fb5f093efab8f6c8a9abebfff2"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:a1839d6fb5f093efab8f6c8a9abebfff2"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a1839d6fb5f093efab8f6c8a9abebfff2">operator==</a> (const <a class="el" href="structentt_1_1basic__handle.html">basic_handle</a>&lt; Args... &gt; &amp;other) const</td></tr>
<tr class="memdesc:a1839d6fb5f093efab8f6c8a9abebfff2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two handles. <a href="structentt_1_1basic__handle.html#a1839d6fb5f093efab8f6c8a9abebfff2">More...</a><br /></td></tr>
<tr class="separator:a1839d6fb5f093efab8f6c8a9abebfff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e3190a9991d334cdd20b4d8841d7545"><td class="memTemplParams" colspan="2">template&lt;typename Other , typename... Args&gt; </td></tr>
<tr class="memitem:a3e3190a9991d334cdd20b4d8841d7545"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a3e3190a9991d334cdd20b4d8841d7545">operator basic_handle&lt; Other, Args... &gt;</a> () const</td></tr>
<tr class="memdesc:a3e3190a9991d334cdd20b4d8841d7545"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a const handle from a non-const one. <a href="structentt_1_1basic__handle.html#a3e3190a9991d334cdd20b4d8841d7545">More...</a><br /></td></tr>
<tr class="separator:a3e3190a9991d334cdd20b4d8841d7545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae094b8474a9e4363b5c4503753b9ec4c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#ae094b8474a9e4363b5c4503753b9ec4c">operator entity_type</a> () const</td></tr>
<tr class="memdesc:ae094b8474a9e4363b5c4503753b9ec4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a handle to its underlying entity. <a href="structentt_1_1basic__handle.html#ae094b8474a9e4363b5c4503753b9ec4c">More...</a><br /></td></tr>
<tr class="separator:ae094b8474a9e4363b5c4503753b9ec4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80b439c1dd5924807bc26585c3c1ef4d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a80b439c1dd5924807bc26585c3c1ef4d">operator bool</a> () const</td></tr>
<tr class="memdesc:a80b439c1dd5924807bc26585c3c1ef4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a handle refers to non-null registry pointer and entity. <a href="structentt_1_1basic__handle.html#a80b439c1dd5924807bc26585c3c1ef4d">More...</a><br /></td></tr>
<tr class="separator:a80b439c1dd5924807bc26585c3c1ef4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa6afd3aa7fc2b92a02da90576a7af1e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#aaa6afd3aa7fc2b92a02da90576a7af1e">valid</a> () const</td></tr>
<tr class="memdesc:aaa6afd3aa7fc2b92a02da90576a7af1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a handle refers to a valid entity or not. <a href="structentt_1_1basic__handle.html#aaa6afd3aa7fc2b92a02da90576a7af1e">More...</a><br /></td></tr>
<tr class="separator:aaa6afd3aa7fc2b92a02da90576a7af1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32db2781fd85be391ba5cb39a8fd3b57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structentt_1_1basic__handle.html#ae5df0bde40739b99085169d1955dc1fb">registry_type</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a32db2781fd85be391ba5cb39a8fd3b57">registry</a> () const</td></tr>
<tr class="memdesc:a32db2781fd85be391ba5cb39a8fd3b57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the underlying registry, if any. <a href="structentt_1_1basic__handle.html#a32db2781fd85be391ba5cb39a8fd3b57">More...</a><br /></td></tr>
<tr class="separator:a32db2781fd85be391ba5cb39a8fd3b57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2710bc7f03d90693bbccceb3364e9494"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structentt_1_1basic__handle.html#a4788afd7aa378b5ec2e44bf52f5bec14">entity_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a2710bc7f03d90693bbccceb3364e9494">entity</a> () const</td></tr>
<tr class="memdesc:a2710bc7f03d90693bbccceb3364e9494"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the entity associated with a handle. <a href="structentt_1_1basic__handle.html#a2710bc7f03d90693bbccceb3364e9494">More...</a><br /></td></tr>
<tr class="separator:a2710bc7f03d90693bbccceb3364e9494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3a4791483b3390d6d3f95767c240b49"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#aa3a4791483b3390d6d3f95767c240b49">destroy</a> ()</td></tr>
<tr class="memdesc:aa3a4791483b3390d6d3f95767c240b49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the entity associated with a handle. <a href="structentt_1_1basic__handle.html#aa3a4791483b3390d6d3f95767c240b49">More...</a><br /></td></tr>
<tr class="separator:aa3a4791483b3390d6d3f95767c240b49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1520d6f7ca04a6d7180d4d10234f2e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#aed1520d6f7ca04a6d7180d4d10234f2e">destroy</a> (const <a class="el" href="structentt_1_1basic__handle.html#aa6d8a9ac22ff96212d1a68deb63cac52">version_type</a> version)</td></tr>
<tr class="memdesc:aed1520d6f7ca04a6d7180d4d10234f2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the entity associated with a handle. <a href="structentt_1_1basic__handle.html#aed1520d6f7ca04a6d7180d4d10234f2e">More...</a><br /></td></tr>
<tr class="separator:aed1520d6f7ca04a6d7180d4d10234f2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60ac697e9cbedb9718303e0825cb8d63"><td class="memTemplParams" colspan="2">template&lt;typename Component , typename... Args&gt; </td></tr>
<tr class="memitem:a60ac697e9cbedb9718303e0825cb8d63"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a60ac697e9cbedb9718303e0825cb8d63">emplace</a> (Args &amp;&amp;... args) const</td></tr>
<tr class="memdesc:a60ac697e9cbedb9718303e0825cb8d63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given component to a handle. <a href="structentt_1_1basic__handle.html#a60ac697e9cbedb9718303e0825cb8d63">More...</a><br /></td></tr>
<tr class="separator:a60ac697e9cbedb9718303e0825cb8d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed4c13f8f260f4771a103ada3148a454"><td class="memTemplParams" colspan="2">template&lt;typename Component , typename... Args&gt; </td></tr>
<tr class="memitem:aed4c13f8f260f4771a103ada3148a454"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#aed4c13f8f260f4771a103ada3148a454">emplace_or_replace</a> (Args &amp;&amp;... args) const</td></tr>
<tr class="memdesc:aed4c13f8f260f4771a103ada3148a454"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns or replaces the given component for a handle. <a href="structentt_1_1basic__handle.html#aed4c13f8f260f4771a103ada3148a454">More...</a><br /></td></tr>
<tr class="separator:aed4c13f8f260f4771a103ada3148a454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae94e4e43e9de226c4f44e169ee86bc1f"><td class="memTemplParams" colspan="2">template&lt;typename Component , typename... Func&gt; </td></tr>
<tr class="memitem:ae94e4e43e9de226c4f44e169ee86bc1f"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#ae94e4e43e9de226c4f44e169ee86bc1f">patch</a> (Func &amp;&amp;... func) const</td></tr>
<tr class="memdesc:ae94e4e43e9de226c4f44e169ee86bc1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Patches the given component for a handle. <a href="structentt_1_1basic__handle.html#ae94e4e43e9de226c4f44e169ee86bc1f">More...</a><br /></td></tr>
<tr class="separator:ae94e4e43e9de226c4f44e169ee86bc1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afef275f78b5216ce68993e7109260f63"><td class="memTemplParams" colspan="2">template&lt;typename Component , typename... Args&gt; </td></tr>
<tr class="memitem:afef275f78b5216ce68993e7109260f63"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#afef275f78b5216ce68993e7109260f63">replace</a> (Args &amp;&amp;... args) const</td></tr>
<tr class="memdesc:afef275f78b5216ce68993e7109260f63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces the given component for a handle. <a href="structentt_1_1basic__handle.html#afef275f78b5216ce68993e7109260f63">More...</a><br /></td></tr>
<tr class="separator:afef275f78b5216ce68993e7109260f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac47661c3d8845005ac3826c6c124a2d5"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:ac47661c3d8845005ac3826c6c124a2d5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structentt_1_1basic__handle.html#a0c6be936b2046833a789caf06e0567fe">size_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#ac47661c3d8845005ac3826c6c124a2d5">remove</a> () const</td></tr>
<tr class="memdesc:ac47661c3d8845005ac3826c6c124a2d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the given components from a handle. <a href="structentt_1_1basic__handle.html#ac47661c3d8845005ac3826c6c124a2d5">More...</a><br /></td></tr>
<tr class="separator:ac47661c3d8845005ac3826c6c124a2d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf95b97a6facfb65d4405d944e390c68"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:acf95b97a6facfb65d4405d944e390c68"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#acf95b97a6facfb65d4405d944e390c68">erase</a> () const</td></tr>
<tr class="memdesc:acf95b97a6facfb65d4405d944e390c68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases the given components from a handle. <a href="structentt_1_1basic__handle.html#acf95b97a6facfb65d4405d944e390c68">More...</a><br /></td></tr>
<tr class="separator:acf95b97a6facfb65d4405d944e390c68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c3fcc9b3e7ad9ef1037d055b6ea490a"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:a3c3fcc9b3e7ad9ef1037d055b6ea490a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structentt_1_1basic__handle.html#a0c6be936b2046833a789caf06e0567fe">size_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a3c3fcc9b3e7ad9ef1037d055b6ea490a">remove_if_exists</a> () const</td></tr>
<tr class="memdesc:a3c3fcc9b3e7ad9ef1037d055b6ea490a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the given components from a handle. <a href="structentt_1_1basic__handle.html#a3c3fcc9b3e7ad9ef1037d055b6ea490a">More...</a><br /></td></tr>
<tr class="separator:a3c3fcc9b3e7ad9ef1037d055b6ea490a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefed83d8596de41136f15d13fdbc6ccd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#aefed83d8596de41136f15d13fdbc6ccd">remove_all</a> () const</td></tr>
<tr class="memdesc:aefed83d8596de41136f15d13fdbc6ccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all the components from a handle and makes it orphaned. <a href="structentt_1_1basic__handle.html#aefed83d8596de41136f15d13fdbc6ccd">More...</a><br /></td></tr>
<tr class="separator:aefed83d8596de41136f15d13fdbc6ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29185b95a343d6770517683daebb20c9"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:a29185b95a343d6770517683daebb20c9"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a29185b95a343d6770517683daebb20c9">all_of</a> () const</td></tr>
<tr class="memdesc:a29185b95a343d6770517683daebb20c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a handle has all the given components. <a href="structentt_1_1basic__handle.html#a29185b95a343d6770517683daebb20c9">More...</a><br /></td></tr>
<tr class="separator:a29185b95a343d6770517683daebb20c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01a92bc7ed67cc044bb245308de39443"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:a01a92bc7ed67cc044bb245308de39443"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a01a92bc7ed67cc044bb245308de39443">any_of</a> () const</td></tr>
<tr class="memdesc:a01a92bc7ed67cc044bb245308de39443"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a handle has at least one of the given components. <a href="structentt_1_1basic__handle.html#a01a92bc7ed67cc044bb245308de39443">More...</a><br /></td></tr>
<tr class="separator:a01a92bc7ed67cc044bb245308de39443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e27c0778d8018e7c54249a365716127"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:a1e27c0778d8018e7c54249a365716127"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a1e27c0778d8018e7c54249a365716127">get</a> () const</td></tr>
<tr class="memdesc:a1e27c0778d8018e7c54249a365716127"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns references to the given components for a handle. <a href="structentt_1_1basic__handle.html#a1e27c0778d8018e7c54249a365716127">More...</a><br /></td></tr>
<tr class="separator:a1e27c0778d8018e7c54249a365716127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa11fae0cc72f18e0c37c8a22d4f30d30"><td class="memTemplParams" colspan="2">template&lt;typename Component , typename... Args&gt; </td></tr>
<tr class="memitem:aa11fae0cc72f18e0c37c8a22d4f30d30"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto)&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#aa11fae0cc72f18e0c37c8a22d4f30d30">get_or_emplace</a> (Args &amp;&amp;... args) const</td></tr>
<tr class="memdesc:aa11fae0cc72f18e0c37c8a22d4f30d30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the given component for a handle. <a href="structentt_1_1basic__handle.html#aa11fae0cc72f18e0c37c8a22d4f30d30">More...</a><br /></td></tr>
<tr class="separator:aa11fae0cc72f18e0c37c8a22d4f30d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51b5f344896763432c91008620678d46"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:a51b5f344896763432c91008620678d46"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a51b5f344896763432c91008620678d46">try_get</a> () const</td></tr>
<tr class="memdesc:a51b5f344896763432c91008620678d46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns pointers to the given components for a handle. <a href="structentt_1_1basic__handle.html#a51b5f344896763432c91008620678d46">More...</a><br /></td></tr>
<tr class="separator:a51b5f344896763432c91008620678d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04557a12530c2c86cd90694d2f4c7bc7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a04557a12530c2c86cd90694d2f4c7bc7">orphan</a> () const</td></tr>
<tr class="memdesc:a04557a12530c2c86cd90694d2f4c7bc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a handle has components assigned. <a href="structentt_1_1basic__handle.html#a04557a12530c2c86cd90694d2f4c7bc7">More...</a><br /></td></tr>
<tr class="separator:a04557a12530c2c86cd90694d2f4c7bc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a266813a96b5f9fcd92f0f45d775d3e25"><td class="memTemplParams" colspan="2">template&lt;typename Func &gt; </td></tr>
<tr class="memitem:a266813a96b5f9fcd92f0f45d775d3e25"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a266813a96b5f9fcd92f0f45d775d3e25">visit</a> (Func &amp;&amp;func) const</td></tr>
<tr class="memdesc:a266813a96b5f9fcd92f0f45d775d3e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visits a handle and returns the types for its components. <a href="structentt_1_1basic__handle.html#a266813a96b5f9fcd92f0f45d775d3e25">More...</a><br /></td></tr>
<tr class="separator:a266813a96b5f9fcd92f0f45d775d3e25"><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&gt;<br />
struct entt::basic_handle&lt; Entity, Type &gt;</h3>
<p>Non-owning handle to an entity. </p>
<p>Tiny wrapper around a registry and an entity.</p>
<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>Types to which to restrict the scope of a handle. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00026">26</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9f88bf2f8fcb94b5ffe0f1290500004a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f88bf2f8fcb94b5ffe0f1290500004a">&#9670;&nbsp;</a></span>basic_handle()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::<a class="el" href="structentt_1_1basic__handle.html">basic_handle</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structentt_1_1basic__handle.html#ae5df0bde40739b99085169d1955dc1fb">registry_type</a> &amp;&#160;</td>
<td class="paramname"><em>ref</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structentt_1_1basic__handle.html#a4788afd7aa378b5ec2e44bf52f5bec14">entity_type</a>&#160;</td>
<td class="paramname"><em>value</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>Constructs a handle from a given registry and entity. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ref</td><td>An instance of the registry class. </td></tr>
<tr><td class="paramname">value</td><td>An entity identifier. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00046">46</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a29185b95a343d6770517683daebb20c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29185b95a343d6770517683daebb20c9">&#9670;&nbsp;</a></span>all_of()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename... Component&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">decltype(auto) <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::all_of </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>Checks if a handle has all the given components. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a40072eca607846f43f47d0e3f11dd196" title="Checks if an entity has all the given components.">basic_registry::all_of</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Components for which to perform the check. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the handle has all the components, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00240">240</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a01a92bc7ed67cc044bb245308de39443"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01a92bc7ed67cc044bb245308de39443">&#9670;&nbsp;</a></span>any_of()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename... Component&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">decltype(auto) <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::any_of </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>Checks if a handle has at least one of the given components. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a08f819276fd2d8b2b2b6d01357f61a42" title="Checks if an entity has at least one of the given components.">basic_registry::any_of</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Components for which to perform the check. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the handle has at least one of the given components, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00252">252</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="aa3a4791483b3390d6d3f95767c240b49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3a4791483b3390d6d3f95767c240b49">&#9670;&nbsp;</a></span>destroy() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::destroy </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>Destroys the entity associated with a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a7b2c0368d508a6af2d094a9fc592a4a0" title="Destroys an entity and releases its identifier.">basic_registry::destroy</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00124">124</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="aed1520d6f7ca04a6d7180d4d10234f2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed1520d6f7ca04a6d7180d4d10234f2e">&#9670;&nbsp;</a></span>destroy() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::destroy </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structentt_1_1basic__handle.html#aa6d8a9ac22ff96212d1a68deb63cac52">version_type</a>&#160;</td>
<td class="paramname"><em>version</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>Destroys the entity associated with a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a7b2c0368d508a6af2d094a9fc592a4a0" title="Destroys an entity and releases its identifier.">basic_registry::destroy</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">version</td><td>A desired version upon destruction. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00133">133</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a60ac697e9cbedb9718303e0825cb8d63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60ac697e9cbedb9718303e0825cb8d63">&#9670;&nbsp;</a></span>emplace()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename Component , typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">decltype(auto) <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::emplace </td>
<td>(</td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</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>Assigns the given component to a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#ac138930f54716e2b31907586e45367be" title="Assigns the given component to an entity.">basic_registry::emplace</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Type of component to create. </td></tr>
<tr><td class="paramname">Args</td><td>Types of arguments to use to construct the component. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Parameters to use to initialize the component. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A reference to the newly created component. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00146">146</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="aed4c13f8f260f4771a103ada3148a454"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed4c13f8f260f4771a103ada3148a454">&#9670;&nbsp;</a></span>emplace_or_replace()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename Component , typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">decltype(auto) <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::emplace_or_replace </td>
<td>(</td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</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>Assigns or replaces the given component for a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a5c768fb13e23109823e1dc217eee100a" title="Assigns or replaces the given component for an entity.">basic_registry::emplace_or_replace</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Type of component to assign or replace. </td></tr>
<tr><td class="paramname">Args</td><td>Types of arguments to use to construct the component. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Parameters to use to initialize the component. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A reference to the newly created component. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00160">160</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a2710bc7f03d90693bbccceb3364e9494"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2710bc7f03d90693bbccceb3364e9494">&#9670;&nbsp;</a></span>entity()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structentt_1_1basic__handle.html#a4788afd7aa378b5ec2e44bf52f5bec14">entity_type</a> <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::<a class="el" href="namespaceentt.html#a0b54e231d069e8a231e14b223388808a">entity</a> </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 entity associated with a handle. </p>
<dl class="section return"><dt>Returns</dt><dd>The entity associated with the handle. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00116">116</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="acf95b97a6facfb65d4405d944e390c68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf95b97a6facfb65d4405d944e390c68">&#9670;&nbsp;</a></span>erase()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename... Component&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::erase </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>Erases the given components from a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#af92741bdee80da6da80171ce7ff17774" title="Erases the given components from an entity.">basic_registry::erase</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Types of components to erase. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00211">211</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a1e27c0778d8018e7c54249a365716127"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e27c0778d8018e7c54249a365716127">&#9670;&nbsp;</a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename... Component&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">decltype(auto) <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::get </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 references to the given components for a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a3a683bb33971cc5a0bbbf4a9409208df" title="Returns references to the given components for an entity.">basic_registry::get</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Types of components to get. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>References to the components owned by the handle. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00263">263</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="aa11fae0cc72f18e0c37c8a22d4f30d30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa11fae0cc72f18e0c37c8a22d4f30d30">&#9670;&nbsp;</a></span>get_or_emplace()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename Component , typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">decltype(auto) <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::get_or_emplace </td>
<td>(</td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</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 a reference to the given component for a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#ae8b86324fa88b9162050daf599d0f094" title="Returns a reference to the given component for an entity.">basic_registry::get_or_emplace</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Type of component to get. </td></tr>
<tr><td class="paramname">Args</td><td>Types of arguments to use to construct the component. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Parameters to use to initialize the component. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the component owned by the handle. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00277">277</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a3e3190a9991d334cdd20b4d8841d7545"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e3190a9991d334cdd20b4d8841d7545">&#9670;&nbsp;</a></span>operator basic_handle&lt; Other, Args... &gt;()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename Other , typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::operator <a class="el" href="structentt_1_1basic__handle.html">basic_handle</a>&lt; Other, Args... &gt; </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>Constructs a const handle from a non-const one. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Other</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">Args</td><td>Scope of the handle to construct. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A const handle referring to the same registry and the same entity. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00070">70</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a80b439c1dd5924807bc26585c3c1ef4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80b439c1dd5924807bc26585c3c1ef4d">&#9670;&nbsp;</a></span>operator bool()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::operator bool </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">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if a handle refers to non-null registry pointer and entity. </p>
<dl class="section return"><dt>Returns</dt><dd>True if the handle refers to non-null registry and entity, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00092">92</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="ae094b8474a9e4363b5c4503753b9ec4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae094b8474a9e4363b5c4503753b9ec4c">&#9670;&nbsp;</a></span>operator entity_type()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::operator <a class="el" href="structentt_1_1basic__handle.html#a4788afd7aa378b5ec2e44bf52f5bec14">entity_type</a> </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>Converts a handle to its underlying entity. </p>
<dl class="section return"><dt>Returns</dt><dd>An entity identifier. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00084">84</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a1839d6fb5f093efab8f6c8a9abebfff2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1839d6fb5f093efab8f6c8a9abebfff2">&#9670;&nbsp;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&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">bool <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structentt_1_1basic__handle.html">basic_handle</a>&lt; Args... &gt; &amp;&#160;</td>
<td class="paramname"><em>other</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>Compares two handles. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Args</td><td>Template parameters of the handle with which to compare. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Handle with which to compare. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if both handles refer to the same registry and the same entity, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00058">58</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a04557a12530c2c86cd90694d2f4c7bc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04557a12530c2c86cd90694d2f4c7bc7">&#9670;&nbsp;</a></span>orphan()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::orphan </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>Checks if a handle has components assigned. </p>
<dl class="section return"><dt>Returns</dt><dd>True if the handle has no components assigned, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00298">298</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="ae94e4e43e9de226c4f44e169ee86bc1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae94e4e43e9de226c4f44e169ee86bc1f">&#9670;&nbsp;</a></span>patch()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename Component , 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="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::patch </td>
<td>(</td>
<td class="paramtype">Func &amp;&amp;...&#160;</td>
<td class="paramname"><em>func</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>Patches the given component for a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a4e83139f8d6774092bb4e0d14446f875" title="Patches the given component for an entity.">basic_registry::patch</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Type of component to patch. </td></tr>
<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">func</td><td>Valid function objects. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A reference to the patched component. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00174">174</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a32db2781fd85be391ba5cb39a8fd3b57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32db2781fd85be391ba5cb39a8fd3b57">&#9670;&nbsp;</a></span>registry()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structentt_1_1basic__handle.html#ae5df0bde40739b99085169d1955dc1fb">registry_type</a>* <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::<a class="el" href="namespaceentt.html#a292643317d1dbb13e45824f757bd1086">registry</a> </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 pointer to the underlying registry, if any. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the underlying registry, if any. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00108">108</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="ac47661c3d8845005ac3826c6c124a2d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac47661c3d8845005ac3826c6c124a2d5">&#9670;&nbsp;</a></span>remove()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename... Component&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structentt_1_1basic__handle.html#a0c6be936b2046833a789caf06e0567fe">size_type</a> <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::remove </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>Removes the given components from a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a828206f7d5bbde61c6e63f742ab1cf6d" title="Removes the given components from an entity.">basic_registry::remove</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Types of components to remove. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of components actually removed. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00200">200</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="aefed83d8596de41136f15d13fdbc6ccd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefed83d8596de41136f15d13fdbc6ccd">&#9670;&nbsp;</a></span>remove_all()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::remove_all </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>Removes all the components from a handle and makes it orphaned. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a46d948137afacbb1e4e79b72c917c5ea" title="Removes all the components from an entity and makes it orphaned.">basic_registry::remove_all</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00228">228</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a3c3fcc9b3e7ad9ef1037d055b6ea490a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c3fcc9b3e7ad9ef1037d055b6ea490a">&#9670;&nbsp;</a></span>remove_if_exists()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename... Component&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structentt_1_1basic__handle.html#a0c6be936b2046833a789caf06e0567fe">size_type</a> <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::remove_if_exists </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>Removes the given components from a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a828206f7d5bbde61c6e63f742ab1cf6d" title="Removes the given components from an entity.">basic_registry::remove</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Types of components to remove. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of components actually removed. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00219">219</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="afef275f78b5216ce68993e7109260f63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afef275f78b5216ce68993e7109260f63">&#9670;&nbsp;</a></span>replace()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename Component , typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">decltype(auto) <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::replace </td>
<td>(</td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</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>Replaces the given component for a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a0411735fcddcc942613463c5401dd661" title="Replaces the given component for an entity.">basic_registry::replace</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Type of component to replace. </td></tr>
<tr><td class="paramname">Args</td><td>Types of arguments to use to construct the component. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Parameters to use to initialize the component. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A reference to the component being replaced. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00188">188</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a51b5f344896763432c91008620678d46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51b5f344896763432c91008620678d46">&#9670;&nbsp;</a></span>try_get()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<div class="memtemplate">
template&lt;typename... Component&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::try_get </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 pointers to the given components for a handle. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a9a01c958149b6c0d5b233a1a7c3c3bb3" title="Returns pointers to the given components for an entity.">basic_registry::try_get</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Component</td><td>Types of components to get. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointers to the components owned by the handle. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00289">289</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="aaa6afd3aa7fc2b92a02da90576a7af1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa6afd3aa7fc2b92a02da90576a7af1e">&#9670;&nbsp;</a></span>valid()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::valid </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>Checks if a handle refers to a valid entity or not. </p>
<dl class="section return"><dt>Returns</dt><dd>True if the handle refers to a valid entity, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00100">100</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a266813a96b5f9fcd92f0f45d775d3e25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a266813a96b5f9fcd92f0f45d775d3e25">&#9670;&nbsp;</a></span>visit()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Entity , typename... Type&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">void <a class="el" href="structentt_1_1basic__handle.html">entt::basic_handle</a>&lt; Entity, Type &gt;::visit </td>
<td>(</td>
<td class="paramtype">Func &amp;&amp;&#160;</td>
<td class="paramname"><em>func</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>Visits a handle and returns the types for its components. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#aef8bac41fdb48e3c8c589dee21b96980" title="Visits an entity and returns the type info for its components.">basic_registry::visit</a> </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Func</td><td>Type of the function object to invoke. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">func</td><td>A valid function object. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00309">309</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<hr/>The documentation for this struct 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="entity_2handle_8hpp_source.html">handle.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>