647 lines
36 KiB
HTML
647 lines
36 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.16"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>EnTT: entt::cache< Resource > Struct Template Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">EnTT
|
|
 <span id="projectnumber">3.3.2</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.16 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceentt.html">entt</a></li><li class="navelem"><a class="el" href="structentt_1_1cache.html">cache</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="structentt_1_1cache-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">entt::cache< Resource > Struct Template Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Simple cache for resources of a given type.
|
|
<a href="structentt_1_1cache.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="cache_8hpp_source.html">cache.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:aee66d7039b665d6636be29c255065aa3"><td class="memItemLeft" align="right" valign="top"><a id="aee66d7039b665d6636be29c255065aa3"></a>
|
|
using </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#aee66d7039b665d6636be29c255065aa3">size_type</a> = std::size_t</td></tr>
|
|
<tr class="memdesc:aee66d7039b665d6636be29c255065aa3"><td class="mdescLeft"> </td><td class="mdescRight">Unsigned integer type. <br /></td></tr>
|
|
<tr class="separator:aee66d7039b665d6636be29c255065aa3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ada5e8c7f595aed30fa4f879fe71e7baf"><td class="memItemLeft" align="right" valign="top"><a id="ada5e8c7f595aed30fa4f879fe71e7baf"></a>
|
|
using </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#ada5e8c7f595aed30fa4f879fe71e7baf">resource_type</a> = Resource</td></tr>
|
|
<tr class="memdesc:ada5e8c7f595aed30fa4f879fe71e7baf"><td class="mdescLeft"> </td><td class="mdescRight">Type of resources managed by a cache. <br /></td></tr>
|
|
<tr class="separator:ada5e8c7f595aed30fa4f879fe71e7baf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1baf9a66880b54284abb9a492229c639"><td class="memItemLeft" align="right" valign="top"><a id="a1baf9a66880b54284abb9a492229c639"></a>
|
|
using </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> = ENTT_ID_TYPE</td></tr>
|
|
<tr class="memdesc:a1baf9a66880b54284abb9a492229c639"><td class="mdescLeft"> </td><td class="mdescRight">Unique identifier type for resources. <br /></td></tr>
|
|
<tr class="separator:a1baf9a66880b54284abb9a492229c639"><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:a1325fdf2f5645b5abb68184b7927e043"><td class="memItemLeft" align="right" valign="top"><a id="a1325fdf2f5645b5abb68184b7927e043"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a1325fdf2f5645b5abb68184b7927e043">cache</a> ()=default</td></tr>
|
|
<tr class="memdesc:a1325fdf2f5645b5abb68184b7927e043"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br /></td></tr>
|
|
<tr class="separator:a1325fdf2f5645b5abb68184b7927e043"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a58384e1a8f11c3055e88911893df4d73"><td class="memItemLeft" align="right" valign="top"><a id="a58384e1a8f11c3055e88911893df4d73"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a58384e1a8f11c3055e88911893df4d73">cache</a> (<a class="el" href="structentt_1_1cache.html">cache</a> &&)=default</td></tr>
|
|
<tr class="memdesc:a58384e1a8f11c3055e88911893df4d73"><td class="mdescLeft"> </td><td class="mdescRight">Default move constructor. <br /></td></tr>
|
|
<tr class="separator:a58384e1a8f11c3055e88911893df4d73"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1f4136cd86ea31278c4eaad59112e8ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structentt_1_1cache.html">cache</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a1f4136cd86ea31278c4eaad59112e8ff">operator=</a> (<a class="el" href="structentt_1_1cache.html">cache</a> &&)=default</td></tr>
|
|
<tr class="memdesc:a1f4136cd86ea31278c4eaad59112e8ff"><td class="mdescLeft"> </td><td class="mdescRight">Default move assignment operator. <a href="structentt_1_1cache.html#a1f4136cd86ea31278c4eaad59112e8ff">More...</a><br /></td></tr>
|
|
<tr class="separator:a1f4136cd86ea31278c4eaad59112e8ff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afe769393054badd0f5839667a485b19d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structentt_1_1cache.html#aee66d7039b665d6636be29c255065aa3">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#afe769393054badd0f5839667a485b19d">size</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:afe769393054badd0f5839667a485b19d"><td class="mdescLeft"> </td><td class="mdescRight">Number of resources managed by a cache. <a href="structentt_1_1cache.html#afe769393054badd0f5839667a485b19d">More...</a><br /></td></tr>
|
|
<tr class="separator:afe769393054badd0f5839667a485b19d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:add6b60d473f777208e1585d7318c642c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#add6b60d473f777208e1585d7318c642c">empty</a> () const ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:add6b60d473f777208e1585d7318c642c"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if a cache contains no resources, false otherwise. <a href="structentt_1_1cache.html#add6b60d473f777208e1585d7318c642c">More...</a><br /></td></tr>
|
|
<tr class="separator:add6b60d473f777208e1585d7318c642c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8187069bfa98f774b5109558bbd5f859"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a8187069bfa98f774b5109558bbd5f859">clear</a> () ENTT_NOEXCEPT</td></tr>
|
|
<tr class="memdesc:a8187069bfa98f774b5109558bbd5f859"><td class="mdescLeft"> </td><td class="mdescRight">Clears a cache and discards all its resources. <a href="structentt_1_1cache.html#a8187069bfa98f774b5109558bbd5f859">More...</a><br /></td></tr>
|
|
<tr class="separator:a8187069bfa98f774b5109558bbd5f859"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac84620fa85a03fc9ddef39e3995d3021"><td class="memTemplParams" colspan="2">template<typename Loader , typename... Args> </td></tr>
|
|
<tr class="memitem:ac84620fa85a03fc9ddef39e3995d3021"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1handle.html">entt::handle</a>< Resource > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#ac84620fa85a03fc9ddef39e3995d3021">load</a> (const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> id, Args &&... args)</td></tr>
|
|
<tr class="memdesc:ac84620fa85a03fc9ddef39e3995d3021"><td class="mdescLeft"> </td><td class="mdescRight">Loads the resource that corresponds to a given identifier. <a href="structentt_1_1cache.html#ac84620fa85a03fc9ddef39e3995d3021">More...</a><br /></td></tr>
|
|
<tr class="separator:ac84620fa85a03fc9ddef39e3995d3021"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a138c981b9e2d139c40adc4c662f3ab26"><td class="memTemplParams" colspan="2">template<typename Loader , typename... Args> </td></tr>
|
|
<tr class="memitem:a138c981b9e2d139c40adc4c662f3ab26"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1handle.html">entt::handle</a>< Resource > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a138c981b9e2d139c40adc4c662f3ab26">reload</a> (const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> id, Args &&... args)</td></tr>
|
|
<tr class="memdesc:a138c981b9e2d139c40adc4c662f3ab26"><td class="mdescLeft"> </td><td class="mdescRight">Reloads a resource or loads it for the first time if not present. <a href="structentt_1_1cache.html#a138c981b9e2d139c40adc4c662f3ab26">More...</a><br /></td></tr>
|
|
<tr class="separator:a138c981b9e2d139c40adc4c662f3ab26"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3083170fdfa3f865931f9222d897d783"><td class="memTemplParams" colspan="2">template<typename Loader , typename... Args> </td></tr>
|
|
<tr class="memitem:a3083170fdfa3f865931f9222d897d783"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1handle.html">entt::handle</a>< Resource > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a3083170fdfa3f865931f9222d897d783">temp</a> (Args &&... args) const</td></tr>
|
|
<tr class="memdesc:a3083170fdfa3f865931f9222d897d783"><td class="mdescLeft"> </td><td class="mdescRight">Creates a temporary handle for a resource. <a href="structentt_1_1cache.html#a3083170fdfa3f865931f9222d897d783">More...</a><br /></td></tr>
|
|
<tr class="separator:a3083170fdfa3f865931f9222d897d783"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a54969aa49fc2b1b8d4b885145d085829"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classentt_1_1handle.html">entt::handle</a>< Resource > </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a54969aa49fc2b1b8d4b885145d085829">handle</a> (const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> id) const</td></tr>
|
|
<tr class="memdesc:a54969aa49fc2b1b8d4b885145d085829"><td class="mdescLeft"> </td><td class="mdescRight">Creates a handle for a given resource identifier. <a href="structentt_1_1cache.html#a54969aa49fc2b1b8d4b885145d085829">More...</a><br /></td></tr>
|
|
<tr class="separator:a54969aa49fc2b1b8d4b885145d085829"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2b65e506431974d8b6872defad4aa10c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a2b65e506431974d8b6872defad4aa10c">contains</a> (const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> id) const</td></tr>
|
|
<tr class="memdesc:a2b65e506431974d8b6872defad4aa10c"><td class="mdescLeft"> </td><td class="mdescRight">Checks if a cache contains a given identifier. <a href="structentt_1_1cache.html#a2b65e506431974d8b6872defad4aa10c">More...</a><br /></td></tr>
|
|
<tr class="separator:a2b65e506431974d8b6872defad4aa10c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aed9dfebb6f5444d88537a5865b262c23"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#aed9dfebb6f5444d88537a5865b262c23">discard</a> (const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> id)</td></tr>
|
|
<tr class="memdesc:aed9dfebb6f5444d88537a5865b262c23"><td class="mdescLeft"> </td><td class="mdescRight">Discards the resource that corresponds to a given identifier. <a href="structentt_1_1cache.html#aed9dfebb6f5444d88537a5865b262c23">More...</a><br /></td></tr>
|
|
<tr class="separator:aed9dfebb6f5444d88537a5865b262c23"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6581bd315d1627ab2d4bff995802fef8"><td class="memTemplParams" colspan="2">template<typename Func > </td></tr>
|
|
<tr class="memitem:a6581bd315d1627ab2d4bff995802fef8"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structentt_1_1cache.html#a6581bd315d1627ab2d4bff995802fef8">each</a> (Func func) const</td></tr>
|
|
<tr class="memdesc:a6581bd315d1627ab2d4bff995802fef8"><td class="mdescLeft"> </td><td class="mdescRight">Iterates all resources. <a href="structentt_1_1cache.html#a6581bd315d1627ab2d4bff995802fef8">More...</a><br /></td></tr>
|
|
<tr class="separator:a6581bd315d1627ab2d4bff995802fef8"><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 Resource><br />
|
|
struct entt::cache< Resource ></h3>
|
|
|
|
<p>Simple cache for resources of a given type. </p>
|
|
<p>Minimal implementation of a cache for resources of a given type. It doesn't offer much functionalities but it's suitable for small or medium sized applications and can be freely inherited to add targeted functionalities for large sized applications.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Resource</td><td>Type of resources managed by a cache. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00029">29</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a8187069bfa98f774b5109558bbd5f859"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8187069bfa98f774b5109558bbd5f859">◆ </a></span>clear()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::clear </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>Clears a cache and discards all its resources. </p>
|
|
<p>Handles are not invalidated and the memory used by a resource isn't freed as long as at least a handle keeps the resource itself alive. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00068">68</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2b65e506431974d8b6872defad4aa10c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2b65e506431974d8b6872defad4aa10c">◆ </a></span>contains()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::contains </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> </td>
|
|
<td class="paramname"><em>id</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Checks if a cache contains a given identifier. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">id</td><td>Unique resource identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the cache contains the resource, false otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00179">179</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aed9dfebb6f5444d88537a5865b262c23"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aed9dfebb6f5444d88537a5865b262c23">◆ </a></span>discard()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::discard </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> </td>
|
|
<td class="paramname"><em>id</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>Discards the resource that corresponds to a given identifier. </p>
|
|
<p>Handles are not invalidated and the memory used by the resource isn't freed as long as at least a handle keeps the resource itself alive.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">id</td><td>Unique resource identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00191">191</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6581bd315d1627ab2d4bff995802fef8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6581bd315d1627ab2d4bff995802fef8">◆ </a></span>each()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </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="structentt_1_1cache.html">entt::cache</a>< Resource >::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 resources. </p>
|
|
<p>The function object is invoked for each element. It is provided with either the resource identifier, the resource handle or both of them.<br />
|
|
The signature of the function must be equivalent to one of the following forms:</p>
|
|
<div class="fragment"><div class="line">void(<span class="keyword">const</span> <a class="code" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a>);</div>
|
|
<div class="line">void(handle<Resource>);</div>
|
|
<div class="line">void(<span class="keyword">const</span> <a class="code" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a>, handle<Resource>);</div>
|
|
</div><!-- fragment --><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="cache_8hpp_source.html#l00215">215</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="add6b60d473f777208e1585d7318c642c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#add6b60d473f777208e1585d7318c642c">◆ </a></span>empty()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::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>Returns true if a cache contains no resources, false otherwise. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if the cache contains no resources, false otherwise. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00058">58</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a54969aa49fc2b1b8d4b885145d085829"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a54969aa49fc2b1b8d4b885145d085829">◆ </a></span>handle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1handle.html">entt::handle</a><Resource> <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::<a class="el" href="classentt_1_1handle.html">handle</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> </td>
|
|
<td class="paramname"><em>id</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>Creates a handle for a given resource identifier. </p>
|
|
<p>A resource handle can be in a either valid or invalid state. In other terms, a resource handle is properly initialized with a resource if the cache contains the resource itself. Otherwise the returned handle is uninitialized and accessing it results in undefined behavior.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classentt_1_1handle.html" title="Shared resource handle.">handle</a></dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">id</td><td>Unique resource identifier. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A handle for the given resource. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00169">169</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac84620fa85a03fc9ddef39e3995d3021"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac84620fa85a03fc9ddef39e3995d3021">◆ </a></span>load()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<div class="memtemplate">
|
|
template<typename Loader , typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1handle.html">entt::handle</a><Resource> <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::load </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> </td>
|
|
<td class="paramname"><em>id</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>Loads the resource that corresponds to a given identifier. </p>
|
|
<p>In case an identifier isn't already present in the cache, it loads its resource and stores it aside for future uses. Arguments are forwarded directly to the loader in order to construct properly the requested resource.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>If the identifier is already present in the cache, this function does nothing and the arguments are simply discarded.</dd></dl>
|
|
<dl class="section warning"><dt>Warning</dt><dd>If the resource cannot be loaded correctly, the returned handle will be invalid and any use of it will result in undefined behavior.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Loader</td><td>Type of loader to use to load the resource if required. </td></tr>
|
|
<tr><td class="paramname">Args</td><td>Types of arguments to use to load the resource if required. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">id</td><td>Unique resource identifier. </td></tr>
|
|
<tr><td class="paramname">args</td><td>Arguments to use to load the resource if required. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A handle for the given resource. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00095">95</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1f4136cd86ea31278c4eaad59112e8ff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1f4136cd86ea31278c4eaad59112e8ff">◆ </a></span>operator=()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structentt_1_1cache.html">cache</a>& <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::operator= </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structentt_1_1cache.html">cache</a>< Resource > && </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 cache. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a138c981b9e2d139c40adc4c662f3ab26"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a138c981b9e2d139c40adc4c662f3ab26">◆ </a></span>reload()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<div class="memtemplate">
|
|
template<typename Loader , typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1handle.html">entt::handle</a><Resource> <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::reload </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">id_type</a> </td>
|
|
<td class="paramname"><em>id</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>Reloads a resource or loads it for the first time if not present. </p>
|
|
<p>Equivalent to the following snippet (pseudocode):</p>
|
|
<div class="fragment"><div class="line"><a class="code" href="structentt_1_1cache.html#a1325fdf2f5645b5abb68184b7927e043">cache</a>.discard(<span class="keywordtype">id</span>);</div>
|
|
<div class="line"><a class="code" href="structentt_1_1cache.html#a1325fdf2f5645b5abb68184b7927e043">cache</a>.load(<span class="keywordtype">id</span>, args...);</div>
|
|
</div><!-- fragment --><p>Arguments are forwarded directly to the loader in order to construct properly the requested resource.</p>
|
|
<dl class="section warning"><dt>Warning</dt><dd>If the resource cannot be loaded correctly, the returned handle will be invalid and any use of it will result in undefined behavior.</dd></dl>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Loader</td><td>Type of loader to use to load the resource. </td></tr>
|
|
<tr><td class="paramname">Args</td><td>Types of arguments to use to load the resource. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">id</td><td>Unique resource identifier. </td></tr>
|
|
<tr><td class="paramname">args</td><td>Arguments to use to load the resource. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A handle for the given resource. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00135">135</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afe769393054badd0f5839667a485b19d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afe769393054badd0f5839667a485b19d">◆ </a></span>size()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structentt_1_1cache.html#aee66d7039b665d6636be29c255065aa3">size_type</a> <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::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>Number of resources managed by a cache. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Number of resources currently stored. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00050">50</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3083170fdfa3f865931f9222d897d783"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3083170fdfa3f865931f9222d897d783">◆ </a></span>temp()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Resource> </div>
|
|
<div class="memtemplate">
|
|
template<typename Loader , typename... Args> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classentt_1_1handle.html">entt::handle</a><Resource> <a class="el" href="structentt_1_1cache.html">entt::cache</a>< Resource >::temp </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Args &&... </td>
|
|
<td class="paramname"><em>args</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a temporary handle for a resource. </p>
|
|
<p>Arguments are forwarded directly to the loader in order to construct properly the requested resource. The handle isn't stored aside and the cache isn't in charge of the lifetime of the resource itself.</p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">Loader</td><td>Type of loader to use to load the resource. </td></tr>
|
|
<tr><td class="paramname">Args</td><td>Types of arguments to use to load the resource. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">args</td><td>Arguments to use to load the resource. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>A handle for the given resource. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="cache_8hpp_source.html#l00152">152</a> of file <a class="el" href="cache_8hpp_source.html">cache.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this struct was generated from the following file:<ul>
|
|
<li>src/entt/resource/<a class="el" href="cache_8hpp_source.html">cache.hpp</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
<div class="ttc" id="astructentt_1_1cache_html_a1325fdf2f5645b5abb68184b7927e043"><div class="ttname"><a href="structentt_1_1cache.html#a1325fdf2f5645b5abb68184b7927e043">entt::cache::cache</a></div><div class="ttdeci">cache()=default</div><div class="ttdoc">Default constructor.</div></div>
|
|
<div class="ttc" id="astructentt_1_1cache_html_a1baf9a66880b54284abb9a492229c639"><div class="ttname"><a href="structentt_1_1cache.html#a1baf9a66880b54284abb9a492229c639">entt::cache::id_type</a></div><div class="ttdeci">ENTT_ID_TYPE id_type</div><div class="ttdoc">Unique identifier type for resources.</div><div class="ttdef"><b>Definition:</b> <a href="cache_8hpp_source.html#l00035">cache.hpp:35</a></div></div>
|
|
<!-- 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.16
|
|
</small></address>
|
|
</body>
|
|
</html>
|