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

1184 lines
65 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_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.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="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:a1e48fd006a0276ca65984e27d18a2577"><td class="memItemLeft" align="right" valign="top"><a id="a1e48fd006a0276ca65984e27d18a2577"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a1e48fd006a0276ca65984e27d18a2577">entity_type</a> = std::remove_const_t&lt; Entity &gt;</td></tr>
<tr class="memdesc:a1e48fd006a0276ca65984e27d18a2577"><td class="mdescLeft">&#160;</td><td class="mdescRight">Underlying entity identifier. <br /></td></tr>
<tr class="separator:a1e48fd006a0276ca65984e27d18a2577"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ed48dc6f0cdf1358d0b6233344be627"><td class="memItemLeft" align="right" valign="top"><a id="a0ed48dc6f0cdf1358d0b6233344be627"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a0ed48dc6f0cdf1358d0b6233344be627">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; <a class="el" href="structentt_1_1basic__handle.html#a1e48fd006a0276ca65984e27d18a2577">entity_type</a> &gt;, Entity &gt;</td></tr>
<tr class="memdesc:a0ed48dc6f0cdf1358d0b6233344be627"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of registry accepted by the handle. <br /></td></tr>
<tr class="separator:a0ed48dc6f0cdf1358d0b6233344be627"><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:a22cd591f38dca4d5070bbc8683bf1336"><td class="memItemLeft" align="right" valign="top"><a id="a22cd591f38dca4d5070bbc8683bf1336"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a22cd591f38dca4d5070bbc8683bf1336">basic_handle</a> () noexcept</td></tr>
<tr class="memdesc:a22cd591f38dca4d5070bbc8683bf1336"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an invalid handle. <br /></td></tr>
<tr class="separator:a22cd591f38dca4d5070bbc8683bf1336"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93f20fe6671a121a1bcb562eafffa545"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a93f20fe6671a121a1bcb562eafffa545">basic_handle</a> (<a class="el" href="structentt_1_1basic__handle.html#a0ed48dc6f0cdf1358d0b6233344be627">registry_type</a> &amp;ref, <a class="el" href="structentt_1_1basic__handle.html#a1e48fd006a0276ca65984e27d18a2577">entity_type</a> value) noexcept</td></tr>
<tr class="memdesc:a93f20fe6671a121a1bcb562eafffa545"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a handle from a given registry and entity. <a href="structentt_1_1basic__handle.html#a93f20fe6671a121a1bcb562eafffa545">More...</a><br /></td></tr>
<tr class="separator:a93f20fe6671a121a1bcb562eafffa545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa19aacffd334c494fac65a3a24babf6f"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:aa19aacffd334c494fac65a3a24babf6f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#aa19aacffd334c494fac65a3a24babf6f">operator==</a> (const <a class="el" href="structentt_1_1basic__handle.html">basic_handle</a>&lt; Args... &gt; &amp;other) const noexcept</td></tr>
<tr class="memdesc:aa19aacffd334c494fac65a3a24babf6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two handles. <a href="structentt_1_1basic__handle.html#aa19aacffd334c494fac65a3a24babf6f">More...</a><br /></td></tr>
<tr class="separator:aa19aacffd334c494fac65a3a24babf6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89444b2abef2f12a55613bd979520fad"><td class="memTemplParams" colspan="2">template&lt;typename Other , typename... Args&gt; </td></tr>
<tr class="memitem:a89444b2abef2f12a55613bd979520fad"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a89444b2abef2f12a55613bd979520fad">operator basic_handle&lt; Other, Args... &gt;</a> () const noexcept</td></tr>
<tr class="memdesc:a89444b2abef2f12a55613bd979520fad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a const handle from a non-const one. <a href="structentt_1_1basic__handle.html#a89444b2abef2f12a55613bd979520fad">More...</a><br /></td></tr>
<tr class="separator:a89444b2abef2f12a55613bd979520fad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaca4b339bcd0e791687fbbbb746e411"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#adaca4b339bcd0e791687fbbbb746e411">operator entity_type</a> () const noexcept</td></tr>
<tr class="memdesc:adaca4b339bcd0e791687fbbbb746e411"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a handle to its underlying entity. <a href="structentt_1_1basic__handle.html#adaca4b339bcd0e791687fbbbb746e411">More...</a><br /></td></tr>
<tr class="separator:adaca4b339bcd0e791687fbbbb746e411"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e6efc0f6ae5981a8c7cf520f77c7066"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a9e6efc0f6ae5981a8c7cf520f77c7066">operator bool</a> () const noexcept</td></tr>
<tr class="memdesc:a9e6efc0f6ae5981a8c7cf520f77c7066"><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#a9e6efc0f6ae5981a8c7cf520f77c7066">More...</a><br /></td></tr>
<tr class="separator:a9e6efc0f6ae5981a8c7cf520f77c7066"><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:ae53d72a3fd3916eb86e2df210c4fe4b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structentt_1_1basic__handle.html#a0ed48dc6f0cdf1358d0b6233344be627">registry_type</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#ae53d72a3fd3916eb86e2df210c4fe4b9">registry</a> () const noexcept</td></tr>
<tr class="memdesc:ae53d72a3fd3916eb86e2df210c4fe4b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the underlying registry, if any. <a href="structentt_1_1basic__handle.html#ae53d72a3fd3916eb86e2df210c4fe4b9">More...</a><br /></td></tr>
<tr class="separator:ae53d72a3fd3916eb86e2df210c4fe4b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9f555286297145839a5700427b6386d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structentt_1_1basic__handle.html#a1e48fd006a0276ca65984e27d18a2577">entity_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#aa9f555286297145839a5700427b6386d">entity</a> () const noexcept</td></tr>
<tr class="memdesc:aa9f555286297145839a5700427b6386d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the entity associated with a handle. <a href="structentt_1_1basic__handle.html#aa9f555286297145839a5700427b6386d">More...</a><br /></td></tr>
<tr class="separator:aa9f555286297145839a5700427b6386d"><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:a1716982a72836d8be8d172ba443f346c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a1716982a72836d8be8d172ba443f346c">destroy</a> (const typename registry_type::version_type version)</td></tr>
<tr class="memdesc:a1716982a72836d8be8d172ba443f346c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the entity associated with a handle. <a href="structentt_1_1basic__handle.html#a1716982a72836d8be8d172ba443f346c">More...</a><br /></td></tr>
<tr class="separator:a1716982a72836d8be8d172ba443f346c"><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:a6c34c1f8a9c3052f69954c08c9536ea9"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:a6c34c1f8a9c3052f69954c08c9536ea9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1basic__handle.html#a6c34c1f8a9c3052f69954c08c9536ea9">remove</a> () const</td></tr>
<tr class="memdesc:a6c34c1f8a9c3052f69954c08c9536ea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the given components from a handle. <a href="structentt_1_1basic__handle.html#a6c34c1f8a9c3052f69954c08c9536ea9">More...</a><br /></td></tr>
<tr class="separator:a6c34c1f8a9c3052f69954c08c9536ea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0af6e2306272fa1e48b6a63ea4099469"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:a0af6e2306272fa1e48b6a63ea4099469"><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#a0af6e2306272fa1e48b6a63ea4099469">remove_if_exists</a> () const</td></tr>
<tr class="memdesc:a0af6e2306272fa1e48b6a63ea4099469"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the given components from a handle. <a href="structentt_1_1basic__handle.html#a0af6e2306272fa1e48b6a63ea4099469">More...</a><br /></td></tr>
<tr class="separator:a0af6e2306272fa1e48b6a63ea4099469"><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:a0a9f93ae1d06c42cdcd42f495f65e4a7"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:a0a9f93ae1d06c42cdcd42f495f65e4a7"><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#a0a9f93ae1d06c42cdcd42f495f65e4a7">has</a> () const</td></tr>
<tr class="memdesc:a0a9f93ae1d06c42cdcd42f495f65e4a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a handle has all the given components. <a href="structentt_1_1basic__handle.html#a0a9f93ae1d06c42cdcd42f495f65e4a7">More...</a><br /></td></tr>
<tr class="separator:a0a9f93ae1d06c42cdcd42f495f65e4a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed123ed9ec89643d45b824f81012d2ed"><td class="memTemplParams" colspan="2">template&lt;typename... Component&gt; </td></tr>
<tr class="memitem:aed123ed9ec89643d45b824f81012d2ed"><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#aed123ed9ec89643d45b824f81012d2ed">any</a> () const</td></tr>
<tr class="memdesc:aed123ed9ec89643d45b824f81012d2ed"><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#aed123ed9ec89643d45b824f81012d2ed">More...</a><br /></td></tr>
<tr class="separator:aed123ed9ec89643d45b824f81012d2ed"><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="structentt_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="a93f20fe6671a121a1bcb562eafffa545"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93f20fe6671a121a1bcb562eafffa545">&#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#a0ed48dc6f0cdf1358d0b6233344be627">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#a1e48fd006a0276ca65984e27d18a2577">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 class="mlabel">noexcept</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#l00042">42</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="aed123ed9ec89643d45b824f81012d2ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed123ed9ec89643d45b824f81012d2ed">&#9670;&nbsp;</a></span>any()</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;::<a class="el" href="classentt_1_1any.html">any</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>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#ab0f856eae9b92a4c97689540968c6bde" title="Checks if an entity has at least one of the given components.">basic_registry::any</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#l00240">240</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#af58f3add442cfb3f1fa470402db072bd" title="Destroys an entity.">basic_registry::destroy</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00120">120</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a1716982a72836d8be8d172ba443f346c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1716982a72836d8be8d172ba443f346c">&#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 typename registry_type::version_type&#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#af58f3add442cfb3f1fa470402db072bd" title="Destroys an entity.">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#l00129">129</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#l00142">142</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#l00156">156</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="aa9f555286297145839a5700427b6386d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9f555286297145839a5700427b6386d">&#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#a1e48fd006a0276ca65984e27d18a2577">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 class="mlabel">noexcept</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#l00112">112</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#l00251">251</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#l00265">265</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a0a9f93ae1d06c42cdcd42f495f65e4a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a9f93ae1d06c42cdcd42f495f65e4a7">&#9670;&nbsp;</a></span>has()</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;::has </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#ae0948bfee43711e2df12946a63a2b258" title="Checks if an entity has all the given components.">basic_registry::has</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#l00228">228</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a89444b2abef2f12a55613bd979520fad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89444b2abef2f12a55613bd979520fad">&#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 class="mlabel">noexcept</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="structentt_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#l00066">66</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a9e6efc0f6ae5981a8c7cf520f77c7066"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e6efc0f6ae5981a8c7cf520f77c7066">&#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 class="mlabel">noexcept</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#l00088">88</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="adaca4b339bcd0e791687fbbbb746e411"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adaca4b339bcd0e791687fbbbb746e411">&#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#a1e48fd006a0276ca65984e27d18a2577">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 class="mlabel">noexcept</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#l00080">80</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="aa19aacffd334c494fac65a3a24babf6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa19aacffd334c494fac65a3a24babf6f">&#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 class="mlabel">noexcept</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#l00054">54</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#l00286">286</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#l00170">170</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="ae53d72a3fd3916eb86e2df210c4fe4b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae53d72a3fd3916eb86e2df210c4fe4b9">&#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#a0ed48dc6f0cdf1358d0b6233344be627">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 class="mlabel">noexcept</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#l00104">104</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a6c34c1f8a9c3052f69954c08c9536ea9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c34c1f8a9c3052f69954c08c9536ea9">&#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">void <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#a44f5eac6fa4d1999a121f55e67a36c24" 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>
<p class="definition">Definition at line <a class="el" href="entity_2handle_8hpp_source.html#l00195">195</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#l00216">216</a> of file <a class="el" href="entity_2handle_8hpp_source.html">handle.hpp</a>.</p>
</div>
</div>
<a id="a0af6e2306272fa1e48b6a63ea4099469"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0af6e2306272fa1e48b6a63ea4099469">&#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">decltype(auto) <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#ad2c2d2f9d5f79186215919e3d0c00565" title="Removes the given components from an entity.">basic_registry::remove_if_exists</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#l00207">207</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#l00184">184</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#l00277">277</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#l00096">96</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#l00297">297</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="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>