3509 lines
203 KiB
HTML
3509 lines
203 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.13"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>EnTT: entt::basic_registry< Entity > Class Template Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">EnTT
|
|
 <span id="projectnumber">3.2.1</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.13 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceentt.html">entt</a></li><li class="navelem"><a class="el" href="classentt_1_1basic__registry.html">basic_registry</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
<a href="classentt_1_1basic__registry-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">entt::basic_registry< Entity > Class Template Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Fast and reliable entity-component system.
|
|
<a href="classentt_1_1basic__registry.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="registry_8hpp_source.html">registry.hpp</a>></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:a7df39ef4ca62af9540f593dfb5550138"><td class="memItemLeft" align="right" valign="top"><a id="a7df39ef4ca62af9540f593dfb5550138"></a>
|
|
using </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> = Entity</td></tr>
|
|
<tr class="memdesc:a7df39ef4ca62af9540f593dfb5550138"><td class="mdescLeft"> </td><td class="mdescRight">Underlying entity identifier. <br /></td></tr>
|
|
<tr class="separator:a7df39ef4ca62af9540f593dfb5550138"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aae2197c81e29459bbe3fa7984656a2b6"><td class="memItemLeft" align="right" valign="top"><a id="aae2197c81e29459bbe3fa7984656a2b6"></a>
|
|
using </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#aae2197c81e29459bbe3fa7984656a2b6">version_type</a> = typename traits_type::version_type</td></tr>
|
|
<tr class="memdesc:aae2197c81e29459bbe3fa7984656a2b6"><td class="mdescLeft"> </td><td class="mdescRight">Underlying version type. <br /></td></tr>
|
|
<tr class="separator:aae2197c81e29459bbe3fa7984656a2b6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6a44260f861a699f1353097391c51636"><td class="memItemLeft" align="right" valign="top"><a id="a6a44260f861a699f1353097391c51636"></a>
|
|
using </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> = std::size_t</td></tr>
|
|
<tr class="memdesc:a6a44260f861a699f1353097391c51636"><td class="mdescLeft"> </td><td class="mdescRight">Unsigned integer type. <br /></td></tr>
|
|
<tr class="separator:a6a44260f861a699f1353097391c51636"><td class="memSeparator" colspan="2"> </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:af976c68848de4fa6db6dea2b4cf76e77"><td class="memItemLeft" align="right" valign="top"><a id="af976c68848de4fa6db6dea2b4cf76e77"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#af976c68848de4fa6db6dea2b4cf76e77">basic_registry</a> () ENTT_NOEXCEPT=default</td></tr>
|
|
<tr class="memdesc:af976c68848de4fa6db6dea2b4cf76e77"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br /></td></tr>
|
|
<tr class="separator:af976c68848de4fa6db6dea2b4cf76e77"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3fc181b150fee3e42b8cad4103953b9f"><td class="memItemLeft" align="right" valign="top"><a id="a3fc181b150fee3e42b8cad4103953b9f"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a3fc181b150fee3e42b8cad4103953b9f">basic_registry</a> (<a class="el" href="classentt_1_1basic__registry.html">basic_registry</a> &&)=default</td></tr>
|
|
<tr class="memdesc:a3fc181b150fee3e42b8cad4103953b9f"><td class="mdescLeft"> </td><td class="mdescRight">Default move constructor. <br /></td></tr>
|
|
<tr class="separator:a3fc181b150fee3e42b8cad4103953b9f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a70f7acd3a0e9a8dc4ef7e85172f93a59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__registry.html">basic_registry</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a70f7acd3a0e9a8dc4ef7e85172f93a59">operator=</a> (<a class="el" href="classentt_1_1basic__registry.html">basic_registry</a> &&)=default</td></tr>
|
|
<tr class="memdesc:a70f7acd3a0e9a8dc4ef7e85172f93a59"><td class="mdescLeft"> </td><td class="mdescRight">Default move assignment operator. <a href="#a70f7acd3a0e9a8dc4ef7e85172f93a59">More...</a><br /></td></tr>
|
|
<tr class="separator:a70f7acd3a0e9a8dc4ef7e85172f93a59"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aad398e6279c6bbee2068b94c74bf83d6"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:aad398e6279c6bbee2068b94c74bf83d6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#aad398e6279c6bbee2068b94c74bf83d6">prepare</a> ()</td></tr>
|
|
<tr class="memdesc:aad398e6279c6bbee2068b94c74bf83d6"><td class="mdescLeft"> </td><td class="mdescRight">Prepares pools for the given types if required. <a href="#aad398e6279c6bbee2068b94c74bf83d6">More...</a><br /></td></tr>
|
|
<tr class="separator:aad398e6279c6bbee2068b94c74bf83d6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abb5713726f7b5c4b67a0271a64bedd2f"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:abb5713726f7b5c4b67a0271a64bedd2f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#abb5713726f7b5c4b67a0271a64bedd2f">size</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:abb5713726f7b5c4b67a0271a64bedd2f"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of existing components of the given type. <a href="#abb5713726f7b5c4b67a0271a64bedd2f">More...</a><br /></td></tr>
|
|
<tr class="separator:abb5713726f7b5c4b67a0271a64bedd2f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afdfc12e1ffa6bac72c2de9af7e91f44e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#afdfc12e1ffa6bac72c2de9af7e91f44e">size</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:afdfc12e1ffa6bac72c2de9af7e91f44e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of entities created so far. <a href="#afdfc12e1ffa6bac72c2de9af7e91f44e">More...</a><br /></td></tr>
|
|
<tr class="separator:afdfc12e1ffa6bac72c2de9af7e91f44e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a65a49772b3d59dd39c76b24a62e0fdf4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a65a49772b3d59dd39c76b24a62e0fdf4">alive</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a65a49772b3d59dd39c76b24a62e0fdf4"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of entities still in use. <a href="#a65a49772b3d59dd39c76b24a62e0fdf4">More...</a><br /></td></tr>
|
|
<tr class="separator:a65a49772b3d59dd39c76b24a62e0fdf4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a632adf32f7b23f1dae8bf4f8800a0bbe"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:a632adf32f7b23f1dae8bf4f8800a0bbe"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a632adf32f7b23f1dae8bf4f8800a0bbe">reserve</a> (const <a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> cap)</td></tr>
|
|
<tr class="memdesc:a632adf32f7b23f1dae8bf4f8800a0bbe"><td class="mdescLeft"> </td><td class="mdescRight">Increases the capacity of the registry or of the pools for the given components. <a href="#a632adf32f7b23f1dae8bf4f8800a0bbe">More...</a><br /></td></tr>
|
|
<tr class="separator:a632adf32f7b23f1dae8bf4f8800a0bbe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a90147848037f6661c2b7d28fb98dbd61"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:a90147848037f6661c2b7d28fb98dbd61"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a90147848037f6661c2b7d28fb98dbd61">capacity</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a90147848037f6661c2b7d28fb98dbd61"><td class="mdescLeft"> </td><td class="mdescRight">Returns the capacity of the pool for the given component. <a href="#a90147848037f6661c2b7d28fb98dbd61">More...</a><br /></td></tr>
|
|
<tr class="separator:a90147848037f6661c2b7d28fb98dbd61"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abde8cee1ff1060eaebae6bef1e6c5e0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#abde8cee1ff1060eaebae6bef1e6c5e0e">capacity</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:abde8cee1ff1060eaebae6bef1e6c5e0e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of entities that a registry has currently allocated space for. <a href="#abde8cee1ff1060eaebae6bef1e6c5e0e">More...</a><br /></td></tr>
|
|
<tr class="separator:abde8cee1ff1060eaebae6bef1e6c5e0e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a63aa387e557553d61483a58807cd785e"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:a63aa387e557553d61483a58807cd785e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a63aa387e557553d61483a58807cd785e">shrink_to_fit</a> ()</td></tr>
|
|
<tr class="memdesc:a63aa387e557553d61483a58807cd785e"><td class="mdescLeft"> </td><td class="mdescRight">Requests the removal of unused capacity for the given components. <a href="#a63aa387e557553d61483a58807cd785e">More...</a><br /></td></tr>
|
|
<tr class="separator:a63aa387e557553d61483a58807cd785e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af78aafdf9439c8535a2652b258a3720b"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:af78aafdf9439c8535a2652b258a3720b"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#af78aafdf9439c8535a2652b258a3720b">empty</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:af78aafdf9439c8535a2652b258a3720b"><td class="mdescLeft"> </td><td class="mdescRight">Checks whether the registry or the pools of the given components are empty. <a href="#af78aafdf9439c8535a2652b258a3720b">More...</a><br /></td></tr>
|
|
<tr class="separator:af78aafdf9439c8535a2652b258a3720b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa0aa5dd120230aecd3b41474acbaecd2"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:aa0aa5dd120230aecd3b41474acbaecd2"><td class="memTemplItemLeft" align="right" valign="top">const Component * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#aa0aa5dd120230aecd3b41474acbaecd2">raw</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:aa0aa5dd120230aecd3b41474acbaecd2"><td class="mdescLeft"> </td><td class="mdescRight">Direct access to the list of components of a given pool. <a href="#aa0aa5dd120230aecd3b41474acbaecd2">More...</a><br /></td></tr>
|
|
<tr class="separator:aa0aa5dd120230aecd3b41474acbaecd2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a79751d793fe0f28e8f0e163e46638cb9"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:a79751d793fe0f28e8f0e163e46638cb9"><td class="memTemplItemLeft" align="right" valign="top">Component * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a79751d793fe0f28e8f0e163e46638cb9">raw</a> () ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a79751d793fe0f28e8f0e163e46638cb9"><td class="mdescLeft"> </td><td class="mdescRight">Direct access to the list of components of a given pool. <a href="#a79751d793fe0f28e8f0e163e46638cb9">More...</a><br /></td></tr>
|
|
<tr class="separator:a79751d793fe0f28e8f0e163e46638cb9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a79d6af03e34feae7123b924b50a91ca9"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:a79d6af03e34feae7123b924b50a91ca9"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a79d6af03e34feae7123b924b50a91ca9">data</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a79d6af03e34feae7123b924b50a91ca9"><td class="mdescLeft"> </td><td class="mdescRight">Direct access to the list of entities of a given pool. <a href="#a79d6af03e34feae7123b924b50a91ca9">More...</a><br /></td></tr>
|
|
<tr class="separator:a79d6af03e34feae7123b924b50a91ca9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac7d145b7adb8ca486c49cfd44aebea73"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ac7d145b7adb8ca486c49cfd44aebea73">valid</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:ac7d145b7adb8ca486c49cfd44aebea73"><td class="mdescLeft"> </td><td class="mdescRight">Checks if an entity identifier refers to a valid entity. <a href="#ac7d145b7adb8ca486c49cfd44aebea73">More...</a><br /></td></tr>
|
|
<tr class="separator:ac7d145b7adb8ca486c49cfd44aebea73"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad3e60af648b0b602527dbb6ea17e95c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__registry.html#aae2197c81e29459bbe3fa7984656a2b6">version_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ad3e60af648b0b602527dbb6ea17e95c4">current</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:ad3e60af648b0b602527dbb6ea17e95c4"><td class="mdescLeft"> </td><td class="mdescRight">Returns the actual version for an entity identifier. <a href="#ad3e60af648b0b602527dbb6ea17e95c4">More...</a><br /></td></tr>
|
|
<tr class="separator:ad3e60af648b0b602527dbb6ea17e95c4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a32d0bb4c8ad63d78c8ae455dfeb02c59"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:a32d0bb4c8ad63d78c8ae455dfeb02c59"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a32d0bb4c8ad63d78c8ae455dfeb02c59">create</a> ()</td></tr>
|
|
<tr class="memdesc:a32d0bb4c8ad63d78c8ae455dfeb02c59"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new entity and returns it. <a href="#a32d0bb4c8ad63d78c8ae455dfeb02c59">More...</a><br /></td></tr>
|
|
<tr class="separator:a32d0bb4c8ad63d78c8ae455dfeb02c59"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3dc6b7ace48533c41cf0fb28a4b0a36c"><td class="memTemplParams" colspan="2">template<typename... Component, typename It > </td></tr>
|
|
<tr class="memitem:a3dc6b7ace48533c41cf0fb28a4b0a36c"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a3dc6b7ace48533c41cf0fb28a4b0a36c">create</a> (It first, It last)</td></tr>
|
|
<tr class="memdesc:a3dc6b7ace48533c41cf0fb28a4b0a36c"><td class="mdescLeft"> </td><td class="mdescRight">Assigns each element in a range an entity. <a href="#a3dc6b7ace48533c41cf0fb28a4b0a36c">More...</a><br /></td></tr>
|
|
<tr class="separator:a3dc6b7ace48533c41cf0fb28a4b0a36c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9e5762d177eff276d66b10a7ed89c59f"><td class="memTemplParams" colspan="2">template<typename... Component, typename... Exclude> </td></tr>
|
|
<tr class="memitem:a9e5762d177eff276d66b10a7ed89c59f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a9e5762d177eff276d66b10a7ed89c59f">create</a> (<a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> src, const <a class="el" href="classentt_1_1basic__registry.html">basic_registry</a> &other, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={})</td></tr>
|
|
<tr class="memdesc:a9e5762d177eff276d66b10a7ed89c59f"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new entity from a prototype entity. <a href="#a9e5762d177eff276d66b10a7ed89c59f">More...</a><br /></td></tr>
|
|
<tr class="separator:a9e5762d177eff276d66b10a7ed89c59f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a90e546bffd4d75460cfd18e4f0fc624d"><td class="memTemplParams" colspan="2">template<typename... Component, typename It , typename... Exclude> </td></tr>
|
|
<tr class="memitem:a90e546bffd4d75460cfd18e4f0fc624d"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a90e546bffd4d75460cfd18e4f0fc624d">create</a> (It first, It last, <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> src, const <a class="el" href="classentt_1_1basic__registry.html">basic_registry</a> &other, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={})</td></tr>
|
|
<tr class="memdesc:a90e546bffd4d75460cfd18e4f0fc624d"><td class="mdescLeft"> </td><td class="mdescRight">Assigns each element in a range an entity from a prototype entity. <a href="#a90e546bffd4d75460cfd18e4f0fc624d">More...</a><br /></td></tr>
|
|
<tr class="separator:a90e546bffd4d75460cfd18e4f0fc624d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af58f3add442cfb3f1fa470402db072bd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#af58f3add442cfb3f1fa470402db072bd">destroy</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>)</td></tr>
|
|
<tr class="memdesc:af58f3add442cfb3f1fa470402db072bd"><td class="mdescLeft"> </td><td class="mdescRight">Destroys an entity and lets the registry recycle the identifier. <a href="#af58f3add442cfb3f1fa470402db072bd">More...</a><br /></td></tr>
|
|
<tr class="separator:af58f3add442cfb3f1fa470402db072bd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6c163dcc335da90e727e2f40e67973b7"><td class="memTemplParams" colspan="2">template<typename It > </td></tr>
|
|
<tr class="memitem:a6c163dcc335da90e727e2f40e67973b7"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a6c163dcc335da90e727e2f40e67973b7">destroy</a> (It first, It last)</td></tr>
|
|
<tr class="memdesc:a6c163dcc335da90e727e2f40e67973b7"><td class="mdescLeft"> </td><td class="mdescRight">Destroys all the entities in a range. <a href="#a6c163dcc335da90e727e2f40e67973b7">More...</a><br /></td></tr>
|
|
<tr class="separator:a6c163dcc335da90e727e2f40e67973b7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3deb5b8f14eb1414c92e6ccb2065ce0e"><td class="memTemplParams" colspan="2">template<typename Component , typename... Args> </td></tr>
|
|
<tr class="memitem:a3deb5b8f14eb1414c92e6ccb2065ce0e"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto) </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a3deb5b8f14eb1414c92e6ccb2065ce0e">assign</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>, [[maybe_unused]] Args &&... args)</td></tr>
|
|
<tr class="memdesc:a3deb5b8f14eb1414c92e6ccb2065ce0e"><td class="mdescLeft"> </td><td class="mdescRight">Assigns the given component to an entity. <a href="#a3deb5b8f14eb1414c92e6ccb2065ce0e">More...</a><br /></td></tr>
|
|
<tr class="separator:a3deb5b8f14eb1414c92e6ccb2065ce0e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a44f5eac6fa4d1999a121f55e67a36c24"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:a44f5eac6fa4d1999a121f55e67a36c24"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a44f5eac6fa4d1999a121f55e67a36c24">remove</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>)</td></tr>
|
|
<tr class="memdesc:a44f5eac6fa4d1999a121f55e67a36c24"><td class="mdescLeft"> </td><td class="mdescRight">Removes the given component from an entity. <a href="#a44f5eac6fa4d1999a121f55e67a36c24">More...</a><br /></td></tr>
|
|
<tr class="separator:a44f5eac6fa4d1999a121f55e67a36c24"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a22f516140a0fb811552f82910d95fead"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:a22f516140a0fb811552f82910d95fead"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a22f516140a0fb811552f82910d95fead">has</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a22f516140a0fb811552f82910d95fead"><td class="mdescLeft"> </td><td class="mdescRight">Checks if an entity has all the given components. <a href="#a22f516140a0fb811552f82910d95fead">More...</a><br /></td></tr>
|
|
<tr class="separator:a22f516140a0fb811552f82910d95fead"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3a683bb33971cc5a0bbbf4a9409208df"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:a3a683bb33971cc5a0bbbf4a9409208df"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto) </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a3a683bb33971cc5a0bbbf4a9409208df">get</a> ([[maybe_unused]] const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) const</td></tr>
|
|
<tr class="memdesc:a3a683bb33971cc5a0bbbf4a9409208df"><td class="mdescLeft"> </td><td class="mdescRight">Returns references to the given components for an entity. <a href="#a3a683bb33971cc5a0bbbf4a9409208df">More...</a><br /></td></tr>
|
|
<tr class="separator:a3a683bb33971cc5a0bbbf4a9409208df"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aed5e3029a1134f1bb87617d0e99f89ac"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:aed5e3029a1134f1bb87617d0e99f89ac"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto) </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#aed5e3029a1134f1bb87617d0e99f89ac">get</a> ([[maybe_unused]] const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:aed5e3029a1134f1bb87617d0e99f89ac"><td class="mdescLeft"> </td><td class="mdescRight">Returns references to the given components for an entity. <a href="#aed5e3029a1134f1bb87617d0e99f89ac">More...</a><br /></td></tr>
|
|
<tr class="separator:aed5e3029a1134f1bb87617d0e99f89ac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a20a14f97c1684c5aaeeba13ba40a3ad7"><td class="memTemplParams" colspan="2">template<typename Component , typename... Args> </td></tr>
|
|
<tr class="memitem:a20a14f97c1684c5aaeeba13ba40a3ad7"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto) </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a20a14f97c1684c5aaeeba13ba40a3ad7">get_or_assign</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>, Args &&... args) ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a20a14f97c1684c5aaeeba13ba40a3ad7"><td class="mdescLeft"> </td><td class="mdescRight">Returns a reference to the given component for an entity. <a href="#a20a14f97c1684c5aaeeba13ba40a3ad7">More...</a><br /></td></tr>
|
|
<tr class="separator:a20a14f97c1684c5aaeeba13ba40a3ad7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a25c4412448ddcbfe1290f72498ae7809"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:a25c4412448ddcbfe1290f72498ae7809"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a25c4412448ddcbfe1290f72498ae7809">try_get</a> ([[maybe_unused]] const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a25c4412448ddcbfe1290f72498ae7809"><td class="mdescLeft"> </td><td class="mdescRight">Returns pointers to the given components for an entity. <a href="#a25c4412448ddcbfe1290f72498ae7809">More...</a><br /></td></tr>
|
|
<tr class="separator:a25c4412448ddcbfe1290f72498ae7809"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2c3ba909a2f845601a5b873c6bdd8371"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:a2c3ba909a2f845601a5b873c6bdd8371"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a2c3ba909a2f845601a5b873c6bdd8371">try_get</a> ([[maybe_unused]] const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a2c3ba909a2f845601a5b873c6bdd8371"><td class="mdescLeft"> </td><td class="mdescRight">Returns pointers to the given components for an entity. <a href="#a2c3ba909a2f845601a5b873c6bdd8371">More...</a><br /></td></tr>
|
|
<tr class="separator:a2c3ba909a2f845601a5b873c6bdd8371"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0411735fcddcc942613463c5401dd661"><td class="memTemplParams" colspan="2">template<typename Component , typename... Args> </td></tr>
|
|
<tr class="memitem:a0411735fcddcc942613463c5401dd661"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto) </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a0411735fcddcc942613463c5401dd661">replace</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>, Args &&... args)</td></tr>
|
|
<tr class="memdesc:a0411735fcddcc942613463c5401dd661"><td class="mdescLeft"> </td><td class="mdescRight">Replaces the given component for an entity. <a href="#a0411735fcddcc942613463c5401dd661">More...</a><br /></td></tr>
|
|
<tr class="separator:a0411735fcddcc942613463c5401dd661"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa013d9c67f8fda068f616aa9bb66b564"><td class="memTemplParams" colspan="2">template<typename Component , typename... Args> </td></tr>
|
|
<tr class="memitem:aa013d9c67f8fda068f616aa9bb66b564"><td class="memTemplItemLeft" align="right" valign="top">decltype(auto) </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#aa013d9c67f8fda068f616aa9bb66b564">assign_or_replace</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>, Args &&... args)</td></tr>
|
|
<tr class="memdesc:aa013d9c67f8fda068f616aa9bb66b564"><td class="mdescLeft"> </td><td class="mdescRight">Assigns or replaces the given component for an entity. <a href="#aa013d9c67f8fda068f616aa9bb66b564">More...</a><br /></td></tr>
|
|
<tr class="separator:aa013d9c67f8fda068f616aa9bb66b564"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3784cae09a1a72a861c4ccd1e76db86a"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:a3784cae09a1a72a861c4ccd1e76db86a"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a3784cae09a1a72a861c4ccd1e76db86a">on_construct</a> () ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a3784cae09a1a72a861c4ccd1e76db86a"><td class="mdescLeft"> </td><td class="mdescRight">Returns a sink object for the given component. <a href="#a3784cae09a1a72a861c4ccd1e76db86a">More...</a><br /></td></tr>
|
|
<tr class="separator:a3784cae09a1a72a861c4ccd1e76db86a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a23857b92dfe141d7fd60c450fd14507a"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:a23857b92dfe141d7fd60c450fd14507a"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a23857b92dfe141d7fd60c450fd14507a">on_replace</a> () ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a23857b92dfe141d7fd60c450fd14507a"><td class="mdescLeft"> </td><td class="mdescRight">Returns a sink object for the given component. <a href="#a23857b92dfe141d7fd60c450fd14507a">More...</a><br /></td></tr>
|
|
<tr class="separator:a23857b92dfe141d7fd60c450fd14507a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2a4af2fe256e5609282686b427f0ebcf"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:a2a4af2fe256e5609282686b427f0ebcf"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a2a4af2fe256e5609282686b427f0ebcf">on_destroy</a> () ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a2a4af2fe256e5609282686b427f0ebcf"><td class="mdescLeft"> </td><td class="mdescRight">Returns a sink object for the given component. <a href="#a2a4af2fe256e5609282686b427f0ebcf">More...</a><br /></td></tr>
|
|
<tr class="separator:a2a4af2fe256e5609282686b427f0ebcf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a38ac2a883e3d881c6ae5a05a0252b7ae"><td class="memTemplParams" colspan="2">template<typename Component , typename Compare , typename Sort = std_sort, typename... Args> </td></tr>
|
|
<tr class="memitem:a38ac2a883e3d881c6ae5a05a0252b7ae"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a38ac2a883e3d881c6ae5a05a0252b7ae">sort</a> (Compare compare, Sort algo=Sort{}, Args &&... args)</td></tr>
|
|
<tr class="memdesc:a38ac2a883e3d881c6ae5a05a0252b7ae"><td class="mdescLeft"> </td><td class="mdescRight">Sorts the pool of entities for the given component. <a href="#a38ac2a883e3d881c6ae5a05a0252b7ae">More...</a><br /></td></tr>
|
|
<tr class="separator:a38ac2a883e3d881c6ae5a05a0252b7ae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2907f89b80fb692b16727e5e67a91c5d"><td class="memTemplParams" colspan="2">template<typename To , typename From > </td></tr>
|
|
<tr class="memitem:a2907f89b80fb692b16727e5e67a91c5d"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a2907f89b80fb692b16727e5e67a91c5d">sort</a> ()</td></tr>
|
|
<tr class="memdesc:a2907f89b80fb692b16727e5e67a91c5d"><td class="mdescLeft"> </td><td class="mdescRight">Sorts two pools of components in the same way. <a href="#a2907f89b80fb692b16727e5e67a91c5d">More...</a><br /></td></tr>
|
|
<tr class="separator:a2907f89b80fb692b16727e5e67a91c5d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a95dd0483f9839dfbce8af5ed120b94c2"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:a95dd0483f9839dfbce8af5ed120b94c2"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a95dd0483f9839dfbce8af5ed120b94c2">reset</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>)</td></tr>
|
|
<tr class="memdesc:a95dd0483f9839dfbce8af5ed120b94c2"><td class="mdescLeft"> </td><td class="mdescRight">Resets the given component for an entity. <a href="#a95dd0483f9839dfbce8af5ed120b94c2">More...</a><br /></td></tr>
|
|
<tr class="separator:a95dd0483f9839dfbce8af5ed120b94c2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac5b546f2508b2a10a6f1d8c77db12837"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:ac5b546f2508b2a10a6f1d8c77db12837"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ac5b546f2508b2a10a6f1d8c77db12837">reset</a> ()</td></tr>
|
|
<tr class="memdesc:ac5b546f2508b2a10a6f1d8c77db12837"><td class="mdescLeft"> </td><td class="mdescRight">Resets the pool of the given component. <a href="#ac5b546f2508b2a10a6f1d8c77db12837">More...</a><br /></td></tr>
|
|
<tr class="separator:ac5b546f2508b2a10a6f1d8c77db12837"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a38a7c3696f749d0e873374086c3c0f88"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a38a7c3696f749d0e873374086c3c0f88">reset</a> ()</td></tr>
|
|
<tr class="memdesc:a38a7c3696f749d0e873374086c3c0f88"><td class="mdescLeft"> </td><td class="mdescRight">Resets a whole registry. <a href="#a38a7c3696f749d0e873374086c3c0f88">More...</a><br /></td></tr>
|
|
<tr class="separator:a38a7c3696f749d0e873374086c3c0f88"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a86d2b035f54225d82548e8f03de28754"><td class="memTemplParams" colspan="2">template<typename Func > </td></tr>
|
|
<tr class="memitem:a86d2b035f54225d82548e8f03de28754"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a86d2b035f54225d82548e8f03de28754">each</a> (Func func) const</td></tr>
|
|
<tr class="memdesc:a86d2b035f54225d82548e8f03de28754"><td class="mdescLeft"> </td><td class="mdescRight">Iterates all the entities that are still in use. <a href="#a86d2b035f54225d82548e8f03de28754">More...</a><br /></td></tr>
|
|
<tr class="separator:a86d2b035f54225d82548e8f03de28754"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a10f5e61d4cabab9e9c1e87edc30de551"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a10f5e61d4cabab9e9c1e87edc30de551">orphan</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) const</td></tr>
|
|
<tr class="memdesc:a10f5e61d4cabab9e9c1e87edc30de551"><td class="mdescLeft"> </td><td class="mdescRight">Checks if an entity has components assigned. <a href="#a10f5e61d4cabab9e9c1e87edc30de551">More...</a><br /></td></tr>
|
|
<tr class="separator:a10f5e61d4cabab9e9c1e87edc30de551"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae337ceb77e75c10c73ffa671e09bfff8"><td class="memTemplParams" colspan="2">template<typename Func > </td></tr>
|
|
<tr class="memitem:ae337ceb77e75c10c73ffa671e09bfff8"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ae337ceb77e75c10c73ffa671e09bfff8">orphans</a> (Func func) const</td></tr>
|
|
<tr class="memdesc:ae337ceb77e75c10c73ffa671e09bfff8"><td class="mdescLeft"> </td><td class="mdescRight">Iterates orphans and applies them the given function object. <a href="#ae337ceb77e75c10c73ffa671e09bfff8">More...</a><br /></td></tr>
|
|
<tr class="separator:ae337ceb77e75c10c73ffa671e09bfff8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab3765405b005571fae24401dc13f039b"><td class="memTemplParams" colspan="2">template<typename... Component, typename... Exclude> </td></tr>
|
|
<tr class="memitem:ab3765405b005571fae24401dc13f039b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__view.html">entt::basic_view</a>< Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >, Component... > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ab3765405b005571fae24401dc13f039b">view</a> (<a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={})</td></tr>
|
|
<tr class="memdesc:ab3765405b005571fae24401dc13f039b"><td class="mdescLeft"> </td><td class="mdescRight">Returns a view for the given components. <a href="#ab3765405b005571fae24401dc13f039b">More...</a><br /></td></tr>
|
|
<tr class="separator:ab3765405b005571fae24401dc13f039b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aedb9b044141a3f700a1e547def00b768"><td class="memTemplParams" colspan="2">template<typename... Component, typename... Exclude> </td></tr>
|
|
<tr class="memitem:aedb9b044141a3f700a1e547def00b768"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__view.html">entt::basic_view</a>< Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >, Component... > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#aedb9b044141a3f700a1e547def00b768">view</a> (<a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={}) const</td></tr>
|
|
<tr class="memdesc:aedb9b044141a3f700a1e547def00b768"><td class="mdescLeft"> </td><td class="mdescRight">Returns a view for the given components. <a href="#aedb9b044141a3f700a1e547def00b768">More...</a><br /></td></tr>
|
|
<tr class="separator:aedb9b044141a3f700a1e547def00b768"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeda3c0666945065d160ed58905b07888"><td class="memTemplParams" colspan="2">template<typename... Component> </td></tr>
|
|
<tr class="memitem:aeda3c0666945065d160ed58905b07888"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#aeda3c0666945065d160ed58905b07888">sortable</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:aeda3c0666945065d160ed58905b07888"><td class="mdescLeft"> </td><td class="mdescRight">Checks whether the given components belong to any group. <a href="#aeda3c0666945065d160ed58905b07888">More...</a><br /></td></tr>
|
|
<tr class="separator:aeda3c0666945065d160ed58905b07888"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a616819fed68c4a7ad1d37b941b005fc3"><td class="memTemplParams" colspan="2">template<typename... Owned, typename... Get, typename... Exclude> </td></tr>
|
|
<tr class="memitem:a616819fed68c4a7ad1d37b941b005fc3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__group.html">entt::basic_group</a>< Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >, <a class="el" href="structentt_1_1get__t.html">get_t</a>< Get... >, Owned... > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a616819fed68c4a7ad1d37b941b005fc3">group</a> (<a class="el" href="structentt_1_1get__t.html">get_t</a>< Get... >, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={})</td></tr>
|
|
<tr class="memdesc:a616819fed68c4a7ad1d37b941b005fc3"><td class="mdescLeft"> </td><td class="mdescRight">Returns a group for the given components. <a href="#a616819fed68c4a7ad1d37b941b005fc3">More...</a><br /></td></tr>
|
|
<tr class="separator:a616819fed68c4a7ad1d37b941b005fc3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a886142ed67a5a4a3a7114569c0a0f74a"><td class="memTemplParams" colspan="2">template<typename... Owned, typename... Get, typename... Exclude> </td></tr>
|
|
<tr class="memitem:a886142ed67a5a4a3a7114569c0a0f74a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__group.html">entt::basic_group</a>< Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >, <a class="el" href="structentt_1_1get__t.html">get_t</a>< Get... >, Owned... > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a886142ed67a5a4a3a7114569c0a0f74a">group</a> (<a class="el" href="structentt_1_1get__t.html">get_t</a>< Get... >, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={}) const</td></tr>
|
|
<tr class="memdesc:a886142ed67a5a4a3a7114569c0a0f74a"><td class="mdescLeft"> </td><td class="mdescRight">Returns a group for the given components. <a href="#a886142ed67a5a4a3a7114569c0a0f74a">More...</a><br /></td></tr>
|
|
<tr class="separator:a886142ed67a5a4a3a7114569c0a0f74a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad8a3da35761199f663293d1b30a33bc7"><td class="memTemplParams" colspan="2">template<typename... Owned, typename... Exclude> </td></tr>
|
|
<tr class="memitem:ad8a3da35761199f663293d1b30a33bc7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__group.html">entt::basic_group</a>< Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >, <a class="el" href="structentt_1_1get__t.html">get_t</a><>, Owned... > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ad8a3da35761199f663293d1b30a33bc7">group</a> (<a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={})</td></tr>
|
|
<tr class="memdesc:ad8a3da35761199f663293d1b30a33bc7"><td class="mdescLeft"> </td><td class="mdescRight">Returns a group for the given components. <a href="#ad8a3da35761199f663293d1b30a33bc7">More...</a><br /></td></tr>
|
|
<tr class="separator:ad8a3da35761199f663293d1b30a33bc7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a33979dba930ff03181b63866a712944c"><td class="memTemplParams" colspan="2">template<typename... Owned, typename... Exclude> </td></tr>
|
|
<tr class="memitem:a33979dba930ff03181b63866a712944c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__group.html">entt::basic_group</a>< Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >, <a class="el" href="structentt_1_1get__t.html">get_t</a><>, Owned... > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a33979dba930ff03181b63866a712944c">group</a> (<a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={}) const</td></tr>
|
|
<tr class="memdesc:a33979dba930ff03181b63866a712944c"><td class="mdescLeft"> </td><td class="mdescRight">Returns a group for the given components. <a href="#a33979dba930ff03181b63866a712944c">More...</a><br /></td></tr>
|
|
<tr class="separator:a33979dba930ff03181b63866a712944c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af1f17548d9527797e366f610e9de36f6"><td class="memTemplParams" colspan="2">template<typename It > </td></tr>
|
|
<tr class="memitem:af1f17548d9527797e366f610e9de36f6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__runtime__view.html">entt::basic_runtime_view</a>< Entity > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#af1f17548d9527797e366f610e9de36f6">runtime_view</a> (It first, It last) const</td></tr>
|
|
<tr class="memdesc:af1f17548d9527797e366f610e9de36f6"><td class="mdescLeft"> </td><td class="mdescRight">Returns a runtime view for the given components. <a href="#af1f17548d9527797e366f610e9de36f6">More...</a><br /></td></tr>
|
|
<tr class="separator:af1f17548d9527797e366f610e9de36f6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad846f4b2f0097d33af598747df1a2365"><td class="memTemplParams" colspan="2">template<typename... Component, typename... Exclude> </td></tr>
|
|
<tr class="memitem:ad846f4b2f0097d33af598747df1a2365"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__registry.html">basic_registry</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ad846f4b2f0097d33af598747df1a2365">clone</a> (<a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={}) const</td></tr>
|
|
<tr class="memdesc:ad846f4b2f0097d33af598747df1a2365"><td class="mdescLeft"> </td><td class="mdescRight">Returns a full or partial copy of a registry. <a href="#ad846f4b2f0097d33af598747df1a2365">More...</a><br /></td></tr>
|
|
<tr class="separator:ad846f4b2f0097d33af598747df1a2365"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a99434b531cbdf6e04be282c92d8d47b0"><td class="memTemplParams" colspan="2">template<typename... Component, typename... Exclude> </td></tr>
|
|
<tr class="memitem:a99434b531cbdf6e04be282c92d8d47b0"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a99434b531cbdf6e04be282c92d8d47b0">stomp</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> dst, const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> src, const <a class="el" href="classentt_1_1basic__registry.html">basic_registry</a> &other, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={})</td></tr>
|
|
<tr class="memdesc:a99434b531cbdf6e04be282c92d8d47b0"><td class="mdescLeft"> </td><td class="mdescRight">Stomps an entity and its components. <a href="#a99434b531cbdf6e04be282c92d8d47b0">More...</a><br /></td></tr>
|
|
<tr class="separator:a99434b531cbdf6e04be282c92d8d47b0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae4518841df584574580f178dc0f3db39"><td class="memTemplParams" colspan="2">template<typename... Component, typename It , typename... Exclude> </td></tr>
|
|
<tr class="memitem:ae4518841df584574580f178dc0f3db39"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ae4518841df584574580f178dc0f3db39">stomp</a> (It first, It last, const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> src, const <a class="el" href="classentt_1_1basic__registry.html">basic_registry</a> &other, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... >={})</td></tr>
|
|
<tr class="memdesc:ae4518841df584574580f178dc0f3db39"><td class="mdescLeft"> </td><td class="mdescRight">Stomps the entities in a range and their components. <a href="#ae4518841df584574580f178dc0f3db39">More...</a><br /></td></tr>
|
|
<tr class="separator:ae4518841df584574580f178dc0f3db39"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad6ab9182dd41bc02ddfc0c3c8195a215"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__snapshot.html">entt::basic_snapshot</a>< Entity > </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ad6ab9182dd41bc02ddfc0c3c8195a215">snapshot</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:ad6ab9182dd41bc02ddfc0c3c8195a215"><td class="mdescLeft"> </td><td class="mdescRight">Returns a temporary object to use to create snapshots. <a href="#ad6ab9182dd41bc02ddfc0c3c8195a215">More...</a><br /></td></tr>
|
|
<tr class="separator:ad6ab9182dd41bc02ddfc0c3c8195a215"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3d1400403d03bc6e3e5fd9dfe60c5dd3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1basic__snapshot__loader.html">basic_snapshot_loader</a>< Entity > </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a3d1400403d03bc6e3e5fd9dfe60c5dd3">loader</a> () ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a3d1400403d03bc6e3e5fd9dfe60c5dd3"><td class="mdescLeft"> </td><td class="mdescRight">Returns a temporary object to use to load snapshots. <a href="#a3d1400403d03bc6e3e5fd9dfe60c5dd3">More...</a><br /></td></tr>
|
|
<tr class="separator:a3d1400403d03bc6e3e5fd9dfe60c5dd3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7d771eee6e8e573bf1b8e4e8501ea7f1"><td class="memTemplParams" colspan="2">template<typename Type , typename... Args> </td></tr>
|
|
<tr class="memitem:a7d771eee6e8e573bf1b8e4e8501ea7f1"><td class="memTemplItemLeft" align="right" valign="top">Type & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a7d771eee6e8e573bf1b8e4e8501ea7f1">set</a> (Args &&... args)</td></tr>
|
|
<tr class="memdesc:a7d771eee6e8e573bf1b8e4e8501ea7f1"><td class="mdescLeft"> </td><td class="mdescRight">Binds an object to the context of the registry. <a href="#a7d771eee6e8e573bf1b8e4e8501ea7f1">More...</a><br /></td></tr>
|
|
<tr class="separator:a7d771eee6e8e573bf1b8e4e8501ea7f1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaa23b74e76b1749bb510a86e9d31b9cd"><td class="memTemplParams" colspan="2">template<typename Type > </td></tr>
|
|
<tr class="memitem:aaa23b74e76b1749bb510a86e9d31b9cd"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#aaa23b74e76b1749bb510a86e9d31b9cd">unset</a> ()</td></tr>
|
|
<tr class="memdesc:aaa23b74e76b1749bb510a86e9d31b9cd"><td class="mdescLeft"> </td><td class="mdescRight">Unsets a context variable if it exists. <a href="#aaa23b74e76b1749bb510a86e9d31b9cd">More...</a><br /></td></tr>
|
|
<tr class="separator:aaa23b74e76b1749bb510a86e9d31b9cd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a16f2019558eb620c5054dc8f2e312b9e"><td class="memTemplParams" colspan="2">template<typename Type , typename... Args> </td></tr>
|
|
<tr class="memitem:a16f2019558eb620c5054dc8f2e312b9e"><td class="memTemplItemLeft" align="right" valign="top">Type & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a16f2019558eb620c5054dc8f2e312b9e">ctx_or_set</a> (Args &&... args)</td></tr>
|
|
<tr class="memdesc:a16f2019558eb620c5054dc8f2e312b9e"><td class="mdescLeft"> </td><td class="mdescRight">Binds an object to the context of the registry. <a href="#a16f2019558eb620c5054dc8f2e312b9e">More...</a><br /></td></tr>
|
|
<tr class="separator:a16f2019558eb620c5054dc8f2e312b9e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a33650f5792414c71ef00c3bcaca3f1d5"><td class="memTemplParams" colspan="2">template<typename Type > </td></tr>
|
|
<tr class="memitem:a33650f5792414c71ef00c3bcaca3f1d5"><td class="memTemplItemLeft" align="right" valign="top">const Type * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a33650f5792414c71ef00c3bcaca3f1d5">try_ctx</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a33650f5792414c71ef00c3bcaca3f1d5"><td class="mdescLeft"> </td><td class="mdescRight">Returns a pointer to an object in the context of the registry. <a href="#a33650f5792414c71ef00c3bcaca3f1d5">More...</a><br /></td></tr>
|
|
<tr class="separator:a33650f5792414c71ef00c3bcaca3f1d5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4182d11d18ec7873562c2842a332ac89"><td class="memTemplParams" colspan="2">template<typename Type > </td></tr>
|
|
<tr class="memitem:a4182d11d18ec7873562c2842a332ac89"><td class="memTemplItemLeft" align="right" valign="top">Type * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a4182d11d18ec7873562c2842a332ac89">try_ctx</a> () ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a4182d11d18ec7873562c2842a332ac89"><td class="mdescLeft"> </td><td class="mdescRight">Returns a pointer to an object in the context of the registry. <a href="#a4182d11d18ec7873562c2842a332ac89">More...</a><br /></td></tr>
|
|
<tr class="separator:a4182d11d18ec7873562c2842a332ac89"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac53dddfa495bb678debd98ecc2720e6d"><td class="memTemplParams" colspan="2">template<typename Type > </td></tr>
|
|
<tr class="memitem:ac53dddfa495bb678debd98ecc2720e6d"><td class="memTemplItemLeft" align="right" valign="top">const Type & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#ac53dddfa495bb678debd98ecc2720e6d">ctx</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:ac53dddfa495bb678debd98ecc2720e6d"><td class="mdescLeft"> </td><td class="mdescRight">Returns a reference to an object in the context of the registry. <a href="#ac53dddfa495bb678debd98ecc2720e6d">More...</a><br /></td></tr>
|
|
<tr class="separator:ac53dddfa495bb678debd98ecc2720e6d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af887e7939d4b09c4634bcb24e817170b"><td class="memTemplParams" colspan="2">template<typename Type > </td></tr>
|
|
<tr class="memitem:af887e7939d4b09c4634bcb24e817170b"><td class="memTemplItemLeft" align="right" valign="top">Type & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#af887e7939d4b09c4634bcb24e817170b">ctx</a> () ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:af887e7939d4b09c4634bcb24e817170b"><td class="mdescLeft"> </td><td class="mdescRight">Returns a reference to an object in the context of the registry. <a href="#af887e7939d4b09c4634bcb24e817170b">More...</a><br /></td></tr>
|
|
<tr class="separator:af887e7939d4b09c4634bcb24e817170b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a478113cca30db07fa56a557d535e09c1"><td class="memTemplParams" colspan="2">template<typename Component > </td></tr>
|
|
<tr class="memitem:a478113cca30db07fa56a557d535e09c1"><td class="memTemplItemLeft" align="right" valign="top">static component </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a478113cca30db07fa56a557d535e09c1">type</a> () ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a478113cca30db07fa56a557d535e09c1"><td class="mdescLeft"> </td><td class="mdescRight">Returns the opaque identifier of a component. <a href="#a478113cca30db07fa56a557d535e09c1">More...</a><br /></td></tr>
|
|
<tr class="separator:a478113cca30db07fa56a557d535e09c1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5d07b2e0105da47d25ceef530d91bb8b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> entity) ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a5d07b2e0105da47d25ceef530d91bb8b"><td class="mdescLeft"> </td><td class="mdescRight">Returns the entity identifier without the version. <a href="#a5d07b2e0105da47d25ceef530d91bb8b">More...</a><br /></td></tr>
|
|
<tr class="separator:a5d07b2e0105da47d25ceef530d91bb8b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a75f09d82b0cd6305ea7422d60162704e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classentt_1_1basic__registry.html#aae2197c81e29459bbe3fa7984656a2b6">version_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classentt_1_1basic__registry.html#a75f09d82b0cd6305ea7422d60162704e">version</a> (const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a75f09d82b0cd6305ea7422d60162704e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the version stored along with an entity identifier. <a href="#a75f09d82b0cd6305ea7422d60162704e">More...</a><br /></td></tr>
|
|
<tr class="separator:a75f09d82b0cd6305ea7422d60162704e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><h3>template<typename Entity><br />
|
|
class entt::basic_registry< Entity ></h3>
|
|
|
|
<p>Fast and reliable entity-component system. </p>
|
|
<p>The registry is the core class of the entity-component framework.<br />
|
|
It stores entities and arranges pools of components on a per request basis. By means of a registry, users can manage entities and components and thus create views or groups to iterate them.</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>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="entity_2fwd_8hpp_source.html#l00013">13</a> of file <a class="el" href="entity_2fwd_8hpp_source.html">fwd.hpp</a>.</p>
|
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a65a49772b3d59dd39c76b24a62e0fdf4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a65a49772b3d59dd39c76b24a62e0fdf4">◆ </a></span>alive()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::alive </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of entities still in use. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Number of entities still in use. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00367">367</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3deb5b8f14eb1414c92e6ccb2065ce0e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3deb5b8f14eb1414c92e6ccb2065ce0e">◆ </a></span>assign()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component , typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">decltype(auto) <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::assign </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">[[maybe_unused] ] Args &&... </td>
|
|
<td class="paramname"><em>args</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Assigns the given component to an entity. </p>
|
|
<p>A new instance of the given component is created and initialized with the arguments provided (the component must have a proper constructor or be of aggregate type). Then the component is assigned to the given entity.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity or to assign a component to an entity that already owns it results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity already owns an instance of the given component.</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">entity</td><td>A valid entity identifier. </td></tr>
|
|
<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="registry_8hpp_source.html#l00732">732</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa013d9c67f8fda068f616aa9bb66b564"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa013d9c67f8fda068f616aa9bb66b564">◆ </a></span>assign_or_replace()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component , typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">decltype(auto) <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::assign_or_replace </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">Args &&... </td>
|
|
<td class="paramname"><em>args</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Assigns or replaces the given component for an entity. </p>
|
|
<p>Equivalent to the following snippet (pseudocode):</p>
|
|
<div class="fragment"><div class="line"><span class="keyword">auto</span> &component = registry.<a class="code" href="classentt_1_1basic__registry.html#a22f516140a0fb811552f82910d95fead">has</a><Component>(<a class="code" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) ? registry.<a class="code" href="classentt_1_1basic__registry.html#a0411735fcddcc942613463c5401dd661">replace</a><Component>(entity, args...) : registry.<a class="code" href="classentt_1_1basic__registry.html#a3deb5b8f14eb1414c92e6ccb2065ce0e">assign</a><Component>(<a class="code" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>, args...);</div></div><!-- fragment --><p>Prefer this function anyway because it has slightly better performance.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity.</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">entity</td><td>A valid entity identifier. </td></tr>
|
|
<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="registry_8hpp_source.html#l00924">924</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a90147848037f6661c2b7d28fb98dbd61"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a90147848037f6661c2b7d28fb98dbd61">◆ </a></span>capacity() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::capacity </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the capacity of the pool for the given component. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component in which one is interested. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Capacity of the pool of the given component. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00406">406</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abde8cee1ff1060eaebae6bef1e6c5e0e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abde8cee1ff1060eaebae6bef1e6c5e0e">◆ </a></span>capacity() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::capacity </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of entities that a registry has currently allocated space for. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Capacity of the registry. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00415">415</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad846f4b2f0097d33af598747df1a2365"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad846f4b2f0097d33af598747df1a2365">◆ </a></span>clone()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component, typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__registry.html">basic_registry</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::clone </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code></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 full or partial copy of a registry. </p>
|
|
<p>The components must be copyable for obvious reasons. The entities maintain their versions once copied.<br />
|
|
If no components are provided, the registry will try to clone all the existing pools. The ones for non-copyable types won't be cloned.</p>
|
|
<p>This feature supports exclusion lists. The excluded types have higher priority than those indicated for cloning. An excluded type will never be cloned.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>There isn't an efficient way to know if all the entities are assigned at least one component once copied. Therefore, there may be orphans. It is up to the caller to clean up the registry if necessary.</dd>
|
|
<dd>
|
|
Listeners and groups aren't copied. It is up to the caller to connect the listeners of interest to the new registry and to set up groups.</dd></dl>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to clone components that aren't copyable results in unexpected behaviors.<br />
|
|
A static assertion will abort the compilation when the components provided aren't copy constructible. Otherwise, an assertion will abort the execution at runtime in debug mode in case one or more pools cannot be cloned.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components to clone. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components not to be cloned. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A fresh copy of the registry. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01556">1556</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a32d0bb4c8ad63d78c8ae455dfeb02c59"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a32d0bb4c8ad63d78c8ae455dfeb02c59">◆ </a></span>create() <span class="overload">[1/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::create </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>Creates a new entity and returns it. </p>
|
|
<p>There are two kinds of entity identifiers:</p>
|
|
<ul>
|
|
<li>Newly created ones in case no entities have been previously destroyed.</li>
|
|
<li>Recycled ones with updated versions.</li>
|
|
</ul>
|
|
<p>Users should not care about the type of the returned entity identifier. In case entity identifers are stored around, the <code>valid</code> member function can be used to know if they are still valid or the entity has been destroyed and potentially recycled.<br />
|
|
The returned entity has assigned the given components, if any.</p>
|
|
<p>The components must be at least default constructible. A compilation error will occur otherwhise.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components to assign to the entity. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A valid entity identifier if the component list is empty, a tuple containing the entity identifier and the references to the components just created otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00565">565</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3dc6b7ace48533c41cf0fb28a4b0a36c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3dc6b7ace48533c41cf0fb28a4b0a36c">◆ </a></span>create() <span class="overload">[2/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component, typename It > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::create </td>
|
|
<td>(</td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>first</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>last</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Assigns each element in a range an entity. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a32d0bb4c8ad63d78c8ae455dfeb02c59" title="Creates a new entity and returns it. ">create</a></dd></dl>
|
|
<p>The components must be at least move and default insertable. A compilation error will occur otherwhise.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components to assign to the entity. </td></tr>
|
|
<tr><td class="paramname">It</td><td>Type of forward iterator. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">first</td><td>An iterator to the first element of the range to generate. </td></tr>
|
|
<tr><td class="paramname">last</td><td>An iterator past the last element of the range to generate. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>No return value if the component list is empty, a tuple containing the iterators to the lists of components just created and sorted the same of the entities otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00591">591</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9e5762d177eff276d66b10a7ed89c59f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9e5762d177eff276d66b10a7ed89c59f">◆ </a></span>create() <span class="overload">[3/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component, typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::create </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>src</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html">basic_registry</a>< Entity > & </td>
|
|
<td class="paramname"><em>other</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code> </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>Creates a new entity from a prototype entity. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a32d0bb4c8ad63d78c8ae455dfeb02c59" title="Creates a new entity and returns it. ">create</a></dd></dl>
|
|
<p>The components must be copyable for obvious reasons. The source entity must be a valid one.<br />
|
|
If no components are provided, the registry will try to copy all the existing types. The non-copyable ones will be ignored.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Specifying the list of components is ways faster than an opaque copy.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components to copy. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components not to be copied. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">src</td><td>A valid entity identifier to be copied. </td></tr>
|
|
<tr><td class="paramname">other</td><td>The registry that owns the source entity. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A valid entity identifier. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00620">620</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a90e546bffd4d75460cfd18e4f0fc624d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a90e546bffd4d75460cfd18e4f0fc624d">◆ </a></span>create() <span class="overload">[4/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component, typename It , typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::create </td>
|
|
<td>(</td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>first</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>last</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>src</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html">basic_registry</a>< Entity > & </td>
|
|
<td class="paramname"><em>other</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Assigns each element in a range an entity from a prototype entity. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a32d0bb4c8ad63d78c8ae455dfeb02c59" title="Creates a new entity and returns it. ">create</a></dd></dl>
|
|
<p>The components must be copyable for obvious reasons. The entities must be all valid.<br />
|
|
If no components are provided, the registry will try to copy all the existing types. The non-copyable ones will be ignored.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Specifying the list of components is ways faster than an opaque copy and uses the batch creation under the hood.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components to copy. </td></tr>
|
|
<tr><td class="paramname">It</td><td>Type of input iterator. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components not to be copied. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">first</td><td>An iterator to the first element of the range to generate. </td></tr>
|
|
<tr><td class="paramname">last</td><td>An iterator past the last element of the range to generate. </td></tr>
|
|
<tr><td class="paramname">src</td><td>A valid entity identifier to be copied. </td></tr>
|
|
<tr><td class="paramname">other</td><td>The registry that owns the source entity. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00649">649</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac53dddfa495bb678debd98ecc2720e6d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac53dddfa495bb678debd98ecc2720e6d">◆ </a></span>ctx() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Type > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const Type& <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::ctx </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 reference to an object in the context of the registry. </p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to get a context variable that doesn't exist results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid requests.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Type</td><td>Type of object to get. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A valid reference to the object in the context of the registry. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01826">1826</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af887e7939d4b09c4634bcb24e817170b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af887e7939d4b09c4634bcb24e817170b">◆ </a></span>ctx() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Type > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Type& <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::ctx </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a reference to an object in the context of the registry. </p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to get a context variable that doesn't exist results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid requests.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Type</td><td>Type of object to get. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A valid reference to the object in the context of the registry. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01834">1834</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a16f2019558eb620c5054dc8f2e312b9e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a16f2019558eb620c5054dc8f2e312b9e">◆ </a></span>ctx_or_set()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Type , typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Type& <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::ctx_or_set </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Args &&... </td>
|
|
<td class="paramname"><em>args</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>Binds an object to the context of the registry. </p>
|
|
<p>In case the context doesn't contain the given object, the parameters provided are used to construct it.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Type</td><td>Type of object to set. </td></tr>
|
|
<tr><td class="paramname">Args</td><td>Types of arguments to use to construct the object. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">args</td><td>Parameters to use to initialize the object. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Reference to the object. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01787">1787</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad3e60af648b0b602527dbb6ea17e95c4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad3e60af648b0b602527dbb6ea17e95c4">◆ </a></span>current()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__registry.html#aae2197c81e29459bbe3fa7984656a2b6">version_type</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::current </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the actual version for an entity identifier. </p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an entity that doesn't belong to the registry results in undefined behavior. An entity belongs to the registry even if it has been previously destroyed and/or recycled.<br />
|
|
An assertion will abort the execution at runtime in debug mode if the registry doesn't own the given entity.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Actual version for the given entity identifier. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00536">536</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a79d6af03e34feae7123b924b50a91ca9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a79d6af03e34feae7123b924b50a91ca9">◆ </a></span>data()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a>* <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::data </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Direct access to the list of entities of a given pool. </p>
|
|
<p>The returned pointer is such that range <code>[data<Component>(), data<Component>() + size<Component>()]</code> is always a valid range, even if the container is empty.</p>
|
|
<p>There are no guarantees on the order of the entities. Use a view if you want to iterate entities and components in the expected order.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component in which one is interested. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A pointer to the array of entities. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00491">491</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af58f3add442cfb3f1fa470402db072bd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af58f3add442cfb3f1fa470402db072bd">◆ </a></span>destroy() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::destroy </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</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 an entity and lets the registry recycle the identifier. </p>
|
|
<p>When an entity is destroyed, its version is updated and the identifier can be recycled at any time. In case entity identifers are stored around, the <code>valid</code> member function can be used to know if they are still valid or the entity has been destroyed and potentially recycled.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>In case there are listeners that observe the destruction of components and assign other components to the entity in their bodies, the result of invoking this function may not be as expected. In the worst case, it could lead to undefined behavior. An assertion will abort the execution at runtime in debug mode if a violation is detected.</dd>
|
|
<dd>
|
|
Attempting to use an invalid entity results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00682">682</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6c163dcc335da90e727e2f40e67973b7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6c163dcc335da90e727e2f40e67973b7">◆ </a></span>destroy() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename It > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::destroy </td>
|
|
<td>(</td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>first</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>last</em> </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>Destroys all the entities in a range. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#af58f3add442cfb3f1fa470402db072bd" title="Destroys an entity and lets the registry recycle the identifier. ">destroy</a></dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">It</td><td>Type of input iterator. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">first</td><td>An iterator to the first element of the range to destroy. </td></tr>
|
|
<tr><td class="paramname">last</td><td>An iterator past the last element of the range to destroy. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00706">706</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a86d2b035f54225d82548e8f03de28754"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a86d2b035f54225d82548e8f03de28754">◆ </a></span>each()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Func > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::each </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Func </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>Iterates all the entities that are still in use. </p>
|
|
<p>The function object is invoked for each entity that is still in use.<br />
|
|
The signature of the function should be equivalent to the following:</p>
|
|
<div class="fragment"><div class="line">void(<span class="keyword">const</span> Entity);</div></div><!-- fragment --><p>This function is fairly slow and should not be used frequently. However, it's useful for iterating all the entities still in use, regardless of their components.</p>
|
|
<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="registry_8hpp_source.html#l01197">1197</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af78aafdf9439c8535a2652b258a3720b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af78aafdf9439c8535a2652b258a3720b">◆ </a></span>empty()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::empty </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Checks whether the registry or the pools of the given components are empty. </p>
|
|
<p>A registry is considered empty when it doesn't contain entities that are still in use.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components in which one is interested. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the registry or the pools of the given components are empty, false otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00441">441</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5d07b2e0105da47d25ceef530d91bb8b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5d07b2e0105da47d25ceef530d91bb8b">◆ </a></span>entity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::entity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the entity identifier without the version. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>An entity identifier, either valid or not. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The entity identifier without the version. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00510">510</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3a683bb33971cc5a0bbbf4a9409208df"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3a683bb33971cc5a0bbbf4a9409208df">◆ </a></span>get() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">decltype(auto) <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::get </td>
|
|
<td>(</td>
|
|
<td class="paramtype">[[maybe_unused] ] const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</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 references to the given components for an entity. </p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity or to get a component from an entity that doesn't own it results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity doesn't own an instance of the given component.</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="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>References to the components owned by the entity. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00789">789</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aed5e3029a1134f1bb87617d0e99f89ac"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aed5e3029a1134f1bb87617d0e99f89ac">◆ </a></span>get() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">decltype(auto) <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::get </td>
|
|
<td>(</td>
|
|
<td class="paramtype">[[maybe_unused] ] const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns references to the given components for an entity. </p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity or to get a component from an entity that doesn't own it results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity doesn't own an instance of the given component.</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="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>References to the components owned by the entity. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00801">801</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a20a14f97c1684c5aaeeba13ba40a3ad7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a20a14f97c1684c5aaeeba13ba40a3ad7">◆ </a></span>get_or_assign()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component , typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">decltype(auto) <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::get_or_assign </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">Args &&... </td>
|
|
<td class="paramname"><em>args</em> </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>Returns a reference to the given component for an entity. </p>
|
|
<p>In case the entity doesn't own the component, the parameters provided are used to construct it.<br />
|
|
Equivalent to the following snippet (pseudocode):</p>
|
|
<div class="fragment"><div class="line"><span class="keyword">auto</span> &component = registry.<a class="code" href="classentt_1_1basic__registry.html#a22f516140a0fb811552f82910d95fead">has</a><Component>(<a class="code" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>) ? registry.<a class="code" href="classentt_1_1basic__registry.html#a3a683bb33971cc5a0bbbf4a9409208df">get</a><Component>(entity) : registry.<a class="code" href="classentt_1_1basic__registry.html#a3deb5b8f14eb1414c92e6ccb2065ce0e">assign</a><Component>(<a class="code" href="classentt_1_1basic__registry.html#a5d07b2e0105da47d25ceef530d91bb8b">entity</a>, args...);</div></div><!-- fragment --><p>Prefer this function anyway because it has slightly better performance.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity.</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">entity</td><td>A valid entity identifier. </td></tr>
|
|
<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 entity. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00836">836</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a616819fed68c4a7ad1d37b941b005fc3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a616819fed68c4a7ad1d37b941b005fc3">◆ </a></span>group() <span class="overload">[1/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Owned, typename... Get, typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__group.html">entt::basic_group</a><Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a><Exclude...>, <a class="el" href="structentt_1_1get__t.html">get_t</a><Get...>, Owned...> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::<a class="el" href="namespaceentt.html#a010d1bbf234dbca47e6755fc278e36b5">group</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1get__t.html">get_t</a>< Get... > </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code> </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>Returns a group for the given components. </p>
|
|
<p>This kind of objects are created on the fly and share with the registry its internal data structures.<br />
|
|
Feel free to discard a group after the use. Creating and destroying a group is an incredibly cheap operation because they do not require any type of initialization, but for the first time they are requested.<br />
|
|
As a rule of thumb, storing a group should never be an option.</p>
|
|
<p>Groups support exclusion lists and can own types of components. The more types are owned by a group, the faster it is to iterate entities and components.<br />
|
|
However, groups also affect some features of the registry such as the creation and destruction of components, which will consequently be slightly slower (nothing that can be noticed in most cases).</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Pools of components that are owned by a group cannot be sorted anymore. The group takes the ownership of the pools and arrange components so as to iterate them as fast as possible.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Owned</td><td>Types of components owned by the group. </td></tr>
|
|
<tr><td class="paramname">Get</td><td>Types of components observed by the group. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components used to filter the group. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A newly created group. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01345">1345</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a886142ed67a5a4a3a7114569c0a0f74a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a886142ed67a5a4a3a7114569c0a0f74a">◆ </a></span>group() <span class="overload">[2/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Owned, typename... Get, typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__group.html">entt::basic_group</a><Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a><Exclude...>, <a class="el" href="structentt_1_1get__t.html">get_t</a><Get...>, Owned...> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::<a class="el" href="namespaceentt.html#a010d1bbf234dbca47e6755fc278e36b5">group</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1get__t.html">get_t</a>< Get... > </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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 group for the given components. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a616819fed68c4a7ad1d37b941b005fc3" title="Returns a group for the given components. ">group</a></dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Owned</td><td>Types of components owned by the group. </td></tr>
|
|
<tr><td class="paramname">Get</td><td>Types of components observed by the group. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components used to filter the group. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A newly created group. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01453">1453</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad8a3da35761199f663293d1b30a33bc7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad8a3da35761199f663293d1b30a33bc7">◆ </a></span>group() <span class="overload">[3/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Owned, typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__group.html">entt::basic_group</a><Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a><Exclude...>, <a class="el" href="structentt_1_1get__t.html">get_t</a><>, Owned...> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::<a class="el" href="namespaceentt.html#a010d1bbf234dbca47e6755fc278e36b5">group</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a group for the given components. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a616819fed68c4a7ad1d37b941b005fc3" title="Returns a group for the given components. ">group</a></dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Owned</td><td>Types of components owned by the group. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components used to filter the group. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A newly created group. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01468">1468</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a33979dba930ff03181b63866a712944c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a33979dba930ff03181b63866a712944c">◆ </a></span>group() <span class="overload">[4/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Owned, typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__group.html">entt::basic_group</a><Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a><Exclude...>, <a class="el" href="structentt_1_1get__t.html">get_t</a><>, Owned...> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::<a class="el" href="namespaceentt.html#a010d1bbf234dbca47e6755fc278e36b5">group</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code></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 group for the given components. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a616819fed68c4a7ad1d37b941b005fc3" title="Returns a group for the given components. ">group</a></dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Owned</td><td>Types of components owned by the group. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components used to filter the group. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A newly created group. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01482">1482</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a22f516140a0fb811552f82910d95fead"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a22f516140a0fb811552f82910d95fead">◆ </a></span>has()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::has </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Checks if an entity has all the given components. </p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity.</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="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the entity has all the components, false otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00769">769</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3d1400403d03bc6e3e5fd9dfe60c5dd3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3d1400403d03bc6e3e5fd9dfe60c5dd3">◆ </a></span>loader()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__snapshot__loader.html">basic_snapshot_loader</a><Entity> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::<a class="el" href="classentt_1_1loader.html">loader</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a temporary object to use to load snapshots. </p>
|
|
<p>A snapshot is either a full or a partial dump of a registry.<br />
|
|
It can be used to save and restore its internal state or to keep two or more instances of this class in sync, as an example in a client-server architecture.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>The loader returned by this function requires that the registry be empty. In case it isn't, all the data will be automatically deleted before to return.</dd></dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A temporary object to use to load snasphosts. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01700">1700</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3784cae09a1a72a861c4ccd1e76db86a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3784cae09a1a72a861c4ccd1e76db86a">◆ </a></span>on_construct()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::on_construct </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a sink object for the given component. </p>
|
|
<p>A sink is an opaque object used to connect listeners to components.<br />
|
|
The sink returned by this function can be used to receive notifications whenever a new instance of the given component is created and assigned to an entity.</p>
|
|
<p>The function type for a listener is equivalent to:</p>
|
|
<div class="fragment"><div class="line">void(Entity, registry<Entity> &, Component &);</div></div><!-- fragment --><p>Listeners are invoked <b>after</b> the component has been assigned to the entity. The order of invocation of the listeners isn't guaranteed.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Empty types aren't explicitly instantiated. Therefore, temporary objects are returned through signals. They can be caught only by copy or with const references.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1sink.html" title="Sink class. ">sink</a></dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component of which to get the sink. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A temporary sink object. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00958">958</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2a4af2fe256e5609282686b427f0ebcf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2a4af2fe256e5609282686b427f0ebcf">◆ </a></span>on_destroy()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::on_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>Returns a sink object for the given component. </p>
|
|
<p>A sink is an opaque object used to connect listeners to components.<br />
|
|
The sink returned by this function can be used to receive notifications whenever an instance of the given component is removed from an entity and thus destroyed.</p>
|
|
<p>The function type for a listener is equivalent to:</p>
|
|
<div class="fragment"><div class="line">void(Entity, registry<Entity> &);</div></div><!-- fragment --><p>Listeners are invoked <b>before</b> the component has been removed from the entity. The order of invocation of the listeners isn't guaranteed.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Empty types aren't explicitly instantiated. Therefore, temporary objects are returned through signals. They can be caught only by copy or with const references.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1sink.html" title="Sink class. ">sink</a></dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component of which to get the sink. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A temporary sink object. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01021">1021</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a23857b92dfe141d7fd60c450fd14507a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a23857b92dfe141d7fd60c450fd14507a">◆ </a></span>on_replace()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::on_replace </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a sink object for the given component. </p>
|
|
<p>A sink is an opaque object used to connect listeners to components.<br />
|
|
The sink returned by this function can be used to receive notifications whenever an instance of the given component is explicitly replaced.</p>
|
|
<p>The function type for a listener is equivalent to:</p>
|
|
<div class="fragment"><div class="line">void(Entity, registry<Entity> &, Component &);</div></div><!-- fragment --><p>Listeners are invoked <b>before</b> the component has been replaced. The order of invocation of the listeners isn't guaranteed.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Empty types aren't explicitly instantiated. Therefore, temporary objects are returned through signals. They can be caught only by copy or with const references.</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1sink.html" title="Sink class. ">sink</a></dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component of which to get the sink. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A temporary sink object. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00989">989</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a70f7acd3a0e9a8dc4ef7e85172f93a59"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a70f7acd3a0e9a8dc4ef7e85172f93a59">◆ </a></span>operator=()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__registry.html">basic_registry</a>& <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::operator= </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classentt_1_1basic__registry.html">basic_registry</a>< Entity > && </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Default move assignment operator. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>This registry. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a10f5e61d4cabab9e9c1e87edc30de551"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a10f5e61d4cabab9e9c1e87edc30de551">◆ </a></span>orphan()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::orphan </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Checks if an entity has components assigned. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the entity has no components assigned, false otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01222">1222</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae337ceb77e75c10c73ffa671e09bfff8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae337ceb77e75c10c73ffa671e09bfff8">◆ </a></span>orphans()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Func > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::orphans </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Func </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>Iterates orphans and applies them the given function object. </p>
|
|
<p>The function object is invoked for each entity that is still in use and has no components assigned.<br />
|
|
The signature of the function should be equivalent to the following:</p>
|
|
<div class="fragment"><div class="line">void(<span class="keyword">const</span> Entity);</div></div><!-- fragment --><p>This function can be very slow and should not be used frequently.</p>
|
|
<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="registry_8hpp_source.html#l01251">1251</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aad398e6279c6bbee2068b94c74bf83d6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aad398e6279c6bbee2068b94c74bf83d6">◆ </a></span>prepare()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::prepare </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>Prepares pools for the given types if required. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components for which to prepare pools. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00341">341</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa0aa5dd120230aecd3b41474acbaecd2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa0aa5dd120230aecd3b41474acbaecd2">◆ </a></span>raw() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const Component* <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::raw </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Direct access to the list of components of a given pool. </p>
|
|
<p>The returned pointer is such that range <code>[raw<Component>(), raw<Component>() + size<Component>()]</code> is always a valid range, even if the container is empty.</p>
|
|
<p>There are no guarantees on the order of the components. Use a view if you want to iterate entities and components in the expected order.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Empty components aren't explicitly instantiated. Therefore, this function isn't available for them. A compilation error will occur if invoked.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component in which one is interested. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A pointer to the array of components of the given type. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00467">467</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a79751d793fe0f28e8f0e163e46638cb9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a79751d793fe0f28e8f0e163e46638cb9">◆ </a></span>raw() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Component* <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::raw </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Direct access to the list of components of a given pool. </p>
|
|
<p>The returned pointer is such that range <code>[raw<Component>(), raw<Component>() + size<Component>()]</code> is always a valid range, even if the container is empty.</p>
|
|
<p>There are no guarantees on the order of the components. Use a view if you want to iterate entities and components in the expected order.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Empty components aren't explicitly instantiated. Therefore, this function isn't available for them. A compilation error will occur if invoked.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component in which one is interested. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A pointer to the array of components of the given type. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00473">473</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a44f5eac6fa4d1999a121f55e67a36c24"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a44f5eac6fa4d1999a121f55e67a36c24">◆ </a></span>remove()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::remove </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Removes the given component from an entity. </p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity or to remove a component from an entity that doesn't own it results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity doesn't own an instance of the given component.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component to remove. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00751">751</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0411735fcddcc942613463c5401dd661"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0411735fcddcc942613463c5401dd661">◆ </a></span>replace()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component , typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">decltype(auto) <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::replace </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">Args &&... </td>
|
|
<td class="paramname"><em>args</em> </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>Replaces the given component for an entity. </p>
|
|
<p>A new instance of the given component is created and initialized with the arguments provided (the component must have a proper constructor or be of aggregate type). Then the component is assigned to the given entity.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity or to replace a component of an entity that doesn't own it results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity or if the entity doesn't own an instance of the given component.</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">entity</td><td>A valid entity identifier. </td></tr>
|
|
<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="registry_8hpp_source.html#l00896">896</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a632adf32f7b23f1dae8bf4f8800a0bbe"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a632adf32f7b23f1dae8bf4f8800a0bbe">◆ </a></span>reserve()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::reserve </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> </td>
|
|
<td class="paramname"><em>cap</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Increases the capacity of the registry or of the pools for the given components. </p>
|
|
<p>If no components are specified, the capacity of the registry is increased, that is the number of entities it contains. Otherwise the capacity of the pools for the given components is increased.<br />
|
|
In both cases, if the new capacity is greater than the current capacity, new storage is allocated, otherwise the method does nothing.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components for which to reserve storage. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">cap</td><td>Desired capacity. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00392">392</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a95dd0483f9839dfbce8af5ed120b94c2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a95dd0483f9839dfbce8af5ed120b94c2">◆ </a></span>reset() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::reset </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</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>Resets the given component for an entity. </p>
|
|
<p>If the entity has an instance of the component, this function removes the component from the entity. Otherwise it does nothing.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component to reset. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01136">1136</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac5b546f2508b2a10a6f1d8c77db12837"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac5b546f2508b2a10a6f1d8c77db12837">◆ </a></span>reset() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::reset </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>Resets the pool of the given component. </p>
|
|
<p>For each entity that has an instance of the given component, the component itself is removed and thus destroyed.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component whose pool must be reset. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01153">1153</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a38a7c3696f749d0e873374086c3c0f88"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a38a7c3696f749d0e873374086c3c0f88">◆ </a></span>reset() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::reset </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>Resets a whole registry. </p>
|
|
<p>Destroys all the entities. After a call to <code>reset</code>, all the entities still in use are recycled with a new version number. In case entity identifers are stored around, the <code>valid</code> member function can be used to know if they are still valid. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01172">1172</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af1f17548d9527797e366f610e9de36f6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af1f17548d9527797e366f610e9de36f6">◆ </a></span>runtime_view()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename It > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__runtime__view.html">entt::basic_runtime_view</a><Entity> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::<a class="el" href="namespaceentt.html#a85d470a55d982d87388e899c322e9ddc">runtime_view</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>first</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>last</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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 runtime view for the given components. </p>
|
|
<p>This kind of objects are created on the fly and share with the registry its internal data structures.<br />
|
|
Users should throw away the view after use. Fortunately, creating and destroying a runtime view is an incredibly cheap operation because they do not require any type of initialization.<br />
|
|
As a rule of thumb, storing a view should never be an option.</p>
|
|
<p>Runtime views are to be used when users want to construct a view from some external inputs and don't know at compile-time what are the required components.<br />
|
|
This is particularly well suited to plugin systems and mods in general.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">It</td><td>Type of input iterator. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">first</td><td>An iterator to the first element of the range of components. </td></tr>
|
|
<tr><td class="paramname">last</td><td>An iterator past the last element of the range of components. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A newly created runtime view. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01508">1508</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7d771eee6e8e573bf1b8e4e8501ea7f1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7d771eee6e8e573bf1b8e4e8501ea7f1">◆ </a></span>set()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Type , typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Type& <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::set </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Args &&... </td>
|
|
<td class="paramname"><em>args</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>Binds an object to the context of the registry. </p>
|
|
<p>If the value already exists it is overwritten, otherwise a new instance of the given type is created and initialized with the arguments provided.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Type</td><td>Type of object to set. </td></tr>
|
|
<tr><td class="paramname">Args</td><td>Types of arguments to use to construct the object. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">args</td><td>Parameters to use to initialize the value. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A reference to the newly created object. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01744">1744</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a63aa387e557553d61483a58807cd785e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a63aa387e557553d61483a58807cd785e">◆ </a></span>shrink_to_fit()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::shrink_to_fit </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>Requests the removal of unused capacity for the given components. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components for which to reclaim unused capacity. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00425">425</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abb5713726f7b5c4b67a0271a64bedd2f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abb5713726f7b5c4b67a0271a64bedd2f">◆ </a></span>size() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::size </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of existing components of the given type. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component of which to return the size. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Number of existing components of the given type. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00351">351</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afdfc12e1ffa6bac72c2de9af7e91f44e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afdfc12e1ffa6bac72c2de9af7e91f44e">◆ </a></span>size() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__registry.html#a6a44260f861a699f1353097391c51636">size_type</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::size </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of entities created so far. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Number of entities created so far. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00359">359</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad6ab9182dd41bc02ddfc0c3c8195a215"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad6ab9182dd41bc02ddfc0c3c8195a215">◆ </a></span>snapshot()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__snapshot.html">entt::basic_snapshot</a><Entity> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::<a class="el" href="namespaceentt.html#a80012f9fa628920a3507ae947704d447">snapshot</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 temporary object to use to create snapshots. </p>
|
|
<p>A snapshot is either a full or a partial dump of a registry.<br />
|
|
It can be used to save and restore its internal state or to keep two or more instances of this class in sync, as an example in a client-server architecture.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>A temporary object to use to take snasphosts. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01669">1669</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a38ac2a883e3d881c6ae5a05a0252b7ae"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a38ac2a883e3d881c6ae5a05a0252b7ae">◆ </a></span>sort() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component , typename Compare , typename Sort = std_sort, typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::sort </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Compare </td>
|
|
<td class="paramname"><em>compare</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">Sort </td>
|
|
<td class="paramname"><em>algo</em> = <code>Sort{}</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">Args &&... </td>
|
|
<td class="paramname"><em>args</em> </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>Sorts the pool of entities for the given component. </p>
|
|
<p>The order of the elements in a pool is highly affected by assignments of components to entities and deletions. Components are arranged to maximize the performance during iterations and users should not make any assumption on the order.<br />
|
|
This function can be used to impose an order to the elements in the pool of the given component. The order is kept valid until a component of the given type is assigned or removed from an entity.</p>
|
|
<p>The comparison function object must return <code>true</code> if the first element is <em>less</em> than the second one, <code>false</code> otherwise. The signature of the comparison function should be equivalent to one of the following:</p>
|
|
<div class="fragment"><div class="line">bool(<span class="keyword">const</span> Entity, <span class="keyword">const</span> Entity);</div><div class="line">bool(<span class="keyword">const</span> Component &, <span class="keyword">const</span> Component &);</div></div><!-- fragment --><p>Moreover, the comparison function object shall induce a <em>strict weak ordering</em> on the values.</p>
|
|
<p>The sort function oject must offer a member function template <code>operator()</code> that accepts three arguments:</p>
|
|
<ul>
|
|
<li>An iterator to the first element of the range to sort.</li>
|
|
<li>An iterator past the last element of the range to sort.</li>
|
|
<li>A comparison function to use to compare the elements.</li>
|
|
</ul>
|
|
<p>The comparison funtion object received by the sort function object hasn't necessarily the type of the one passed along with the other parameters to this member function.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Pools of components owned by a group cannot be sorted.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case the pool is owned by a group.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of components to sort. </td></tr>
|
|
<tr><td class="paramname">Compare</td><td>Type of comparison function object. </td></tr>
|
|
<tr><td class="paramname">Sort</td><td>Type of sort function object. </td></tr>
|
|
<tr><td class="paramname">Args</td><td>Types of arguments to forward to the sort function object. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">compare</td><td>A valid comparison function object. </td></tr>
|
|
<tr><td class="paramname">algo</td><td>A valid sort function object. </td></tr>
|
|
<tr><td class="paramname">args</td><td>Arguments to forward to the sort function object, if any. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01073">1073</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2907f89b80fb692b16727e5e67a91c5d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2907f89b80fb692b16727e5e67a91c5d">◆ </a></span>sort() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename To , typename From > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::sort </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>Sorts two pools of components in the same way. </p>
|
|
<p>The order of the elements in a pool is highly affected by assignments of components to entities and deletions. Components are arranged to maximize the performance during iterations and users should not make any assumption on the order.</p>
|
|
<p>It happens that different pools of components must be sorted the same way because of runtime and/or performance constraints. This function can be used to order a pool of components according to the order between the entities in another pool of components.</p>
|
|
<p><b>How</b> <b>it</b> <b>works</b> </p>
|
|
<p>Being <code>A</code> and <code>B</code> the two sets where <code>B</code> is the master (the one the order of which rules) and <code>A</code> is the slave (the one to sort), after a call to this function an iterator for <code>A</code> will return the entities according to the following rules:</p>
|
|
<ul>
|
|
<li>All the entities in <code>A</code> that are also in <code>B</code> are returned first according to the order they have in <code>B</code>.</li>
|
|
<li>All the entities in <code>A</code> that are not in <code>B</code> are returned in no particular order after all the other entities.</li>
|
|
</ul>
|
|
<p>Any subsequent change to <code>B</code> won't affect the order in <code>A</code>.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Pools of components owned by a group cannot be sorted.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case the pool is owned by a group.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">To</td><td>Type of components to sort. </td></tr>
|
|
<tr><td class="paramname">From</td><td>Type of components to use to sort. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01115">1115</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aeda3c0666945065d160ed58905b07888"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aeda3c0666945065d160ed58905b07888">◆ </a></span>sortable()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::sortable </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 whether the given components belong to any group. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components in which one is interested. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the pools of the given components are sortable, false otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01313">1313</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a99434b531cbdf6e04be282c92d8d47b0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a99434b531cbdf6e04be282c92d8d47b0">◆ </a></span>stomp() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component, typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::stomp </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>dst</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>src</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html">basic_registry</a>< Entity > & </td>
|
|
<td class="paramname"><em>other</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code> </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>Stomps an entity and its components. </p>
|
|
<p>The components must be copyable for obvious reasons. The entities must be both valid.<br />
|
|
If no components are provided, the registry will try to copy all the existing types. The non-copyable ones will be ignored.</p>
|
|
<p>This feature supports exclusion lists as an alternative to component lists. An excluded type will never be copied.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to copy components that aren't copyable results in unexpected behaviors.<br />
|
|
A static assertion will abort the compilation when the components provided aren't copy constructible. Otherwise, an assertion will abort the execution at runtime in debug mode in case one or more types cannot be copied.</dd>
|
|
<dd>
|
|
Attempting to use invalid entities results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entities.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Types of components to copy. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components not to be copied. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">dst</td><td>A valid entity identifier to copy to. </td></tr>
|
|
<tr><td class="paramname">src</td><td>A valid entity identifier to be copied. </td></tr>
|
|
<tr><td class="paramname">other</td><td>The registry that owns the source entity. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01621">1621</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae4518841df584574580f178dc0f3db39"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae4518841df584574580f178dc0f3db39">◆ </a></span>stomp() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component, typename It , typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::stomp </td>
|
|
<td>(</td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>first</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">It </td>
|
|
<td class="paramname"><em>last</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>src</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html">basic_registry</a>< Entity > & </td>
|
|
<td class="paramname"><em>other</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code> </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>Stomps the entities in a range and their components. </p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1basic__registry.html#a99434b531cbdf6e04be282c92d8d47b0" title="Stomps an entity and its components. ">stomp</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 copy. </td></tr>
|
|
<tr><td class="paramname">It</td><td>Type of input iterator. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components not to be copied. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">first</td><td>An iterator to the first element of the range to stomp. </td></tr>
|
|
<tr><td class="paramname">last</td><td>An iterator past the last element of the range to stomp. </td></tr>
|
|
<tr><td class="paramname">src</td><td>A valid entity identifier to be copied. </td></tr>
|
|
<tr><td class="paramname">other</td><td>The registry that owns the source entity. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01640">1640</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a33650f5792414c71ef00c3bcaca3f1d5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a33650f5792414c71ef00c3bcaca3f1d5">◆ </a></span>try_ctx() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Type > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const Type* <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::try_ctx </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 an object in the context of the registry. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Type</td><td>Type of object to get. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A pointer to the object if it exists in the context of the registry, a null pointer otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01799">1799</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4182d11d18ec7873562c2842a332ac89"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4182d11d18ec7873562c2842a332ac89">◆ </a></span>try_ctx() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Type > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Type* <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::try_ctx </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a pointer to an object in the context of the registry. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Type</td><td>Type of object to get. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A pointer to the object if it exists in the context of the registry, a null pointer otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01809">1809</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a25c4412448ddcbfe1290f72498ae7809"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a25c4412448ddcbfe1290f72498ae7809">◆ </a></span>try_get() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::try_get </td>
|
|
<td>(</td>
|
|
<td class="paramtype">[[maybe_unused] ] const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</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 pointers to the given components for an entity. </p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity.</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="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointers to the components owned by the entity. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00855">855</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2c3ba909a2f845601a5b873c6bdd8371"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2c3ba909a2f845601a5b873c6bdd8371">◆ </a></span>try_get() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::try_get </td>
|
|
<td>(</td>
|
|
<td class="paramtype">[[maybe_unused] ] const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns pointers to the given components for an entity. </p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Attempting to use an invalid entity results in undefined behavior.<br />
|
|
An assertion will abort the execution at runtime in debug mode in case of invalid entity.</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="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>A valid entity identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointers to the components owned by the entity. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00867">867</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a478113cca30db07fa56a557d535e09c1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a478113cca30db07fa56a557d535e09c1">◆ </a></span>type()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Component > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static component <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::type </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 class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the opaque identifier of a component. </p>
|
|
<p>The given component doesn't need to be necessarily in use.<br />
|
|
Identifiers aren't guaranteed to be stable between different runs.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of component to query. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Runtime the opaque identifier of the given type of component. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00332">332</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aaa23b74e76b1749bb510a86e9d31b9cd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaa23b74e76b1749bb510a86e9d31b9cd">◆ </a></span>unset()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename Type > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::unset </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>Unsets a context variable if it exists. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Type</td><td>Type of object to set. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01769">1769</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac7d145b7adb8ca486c49cfd44aebea73"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac7d145b7adb8ca486c49cfd44aebea73">◆ </a></span>valid()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::valid </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Checks if an entity identifier refers to a valid entity. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>An entity identifier, either valid or not. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the identifier is valid, false otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00500">500</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a75f09d82b0cd6305ea7422d60162704e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a75f09d82b0cd6305ea7422d60162704e">◆ </a></span>version()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static <a class="el" href="classentt_1_1basic__registry.html#aae2197c81e29459bbe3fa7984656a2b6">version_type</a> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::version </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classentt_1_1basic__registry.html#a7df39ef4ca62af9540f593dfb5550138">entity_type</a> </td>
|
|
<td class="paramname"><em>entity</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the version stored along with an entity identifier. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">entity</td><td>An entity identifier, either valid or not. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The version stored along with the given entity identifier. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l00519">519</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab3765405b005571fae24401dc13f039b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab3765405b005571fae24401dc13f039b">◆ </a></span>view() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component, typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__view.html">entt::basic_view</a><Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a><Exclude...>, Component...> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::<a class="el" href="namespaceentt.html#af2118c00dea16193aee017d1408beb53">view</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a view for the given components. </p>
|
|
<p>This kind of objects are created on the fly and share with the registry its internal data structures.<br />
|
|
Feel free to discard a view after the use. Creating and destroying a view is an incredibly cheap operation because they do not require any type of initialization.<br />
|
|
As a rule of thumb, storing a view should never be an option.</p>
|
|
<p>Views do their best to iterate the smallest set of candidate entities. In particular:</p>
|
|
<ul>
|
|
<li>Single component views are incredibly fast and iterate a packed array of entities, all of which has the given component.</li>
|
|
<li>Multi component views look at the number of entities available for each component and pick up a reference to the smallest set of candidates to test for the given components.</li>
|
|
</ul>
|
|
<p>Views in no way affect the functionalities of the registry nor those of the underlying pools.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Multi component views are pretty fast. However their performance tend to degenerate when the number of components to iterate grows up and the most of the entities have all the given components.<br />
|
|
To get a performance boost, consider using a group instead.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of components used to construct the view. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components used to filter the view. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A newly created view. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01294">1294</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aedb9b044141a3f700a1e547def00b768"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aedb9b044141a3f700a1e547def00b768">◆ </a></span>view() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Entity> </div>
|
|
<div class="memtemplate">
|
|
template<typename... Component, typename... Exclude> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1basic__view.html">entt::basic_view</a><Entity, <a class="el" href="structentt_1_1exclude__t.html">exclude_t</a><Exclude...>, Component...> <a class="el" href="classentt_1_1basic__registry.html">entt::basic_registry</a>< Entity >::<a class="el" href="namespaceentt.html#af2118c00dea16193aee017d1408beb53">view</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1exclude__t.html">exclude_t</a>< Exclude... > </td>
|
|
<td class="paramname"> = <code>{}</code></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 view for the given components. </p>
|
|
<p>This kind of objects are created on the fly and share with the registry its internal data structures.<br />
|
|
Feel free to discard a view after the use. Creating and destroying a view is an incredibly cheap operation because they do not require any type of initialization.<br />
|
|
As a rule of thumb, storing a view should never be an option.</p>
|
|
<p>Views do their best to iterate the smallest set of candidate entities. In particular:</p>
|
|
<ul>
|
|
<li>Single component views are incredibly fast and iterate a packed array of entities, all of which has the given component.</li>
|
|
<li>Multi component views look at the number of entities available for each component and pick up a reference to the smallest set of candidates to test for the given components.</li>
|
|
</ul>
|
|
<p>Views in no way affect the functionalities of the registry nor those of the underlying pools.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Multi component views are pretty fast. However their performance tend to degenerate when the number of components to iterate grows up and the most of the entities have all the given components.<br />
|
|
To get a performance boost, consider using a group instead.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Component</td><td>Type of components used to construct the view. </td></tr>
|
|
<tr><td class="paramname">Exclude</td><td>Types of components used to filter the view. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A newly created view. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="registry_8hpp_source.html#l01301">1301</a> of file <a class="el" href="registry_8hpp_source.html">registry.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li>src/entt/entity/<a class="el" href="entity_2fwd_8hpp_source.html">fwd.hpp</a></li>
|
|
<li>src/entt/entity/<a class="el" href="registry_8hpp_source.html">registry.hpp</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.13
|
|
</small></address>
|
|
</body>
|
|
</html>
|