Files
esengine/source/docs/classes/_ecs_utils_fastdirectory_.es.fasterdictionary.html
2020-11-20 14:07:34 +08:00

769 lines
43 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>FasterDictionary | @esengine/egret-framework</title>
<meta name="description" content="Documentation for @esengine/egret-framework">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@esengine/egret-framework</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="../modules/_ecs_utils_fastdirectory_.html">&quot;ECS/Utils/FastDirectory&quot;</a>
</li>
<li>
<a href="../modules/_ecs_utils_fastdirectory_.es.html">es</a>
</li>
<li>
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html">FasterDictionary</a>
</li>
</ul>
<h1>Class FasterDictionary&lt;TKey, TValue&gt;</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>创建这个字典的原因只有一个:
我需要一个能让我直接以数组的形式对值进行迭代的字典,而不需要生成一个数组或使用迭代器。
对于这个目标是比标准字典快N倍。
Faster dictionary在大部分操作上也比标准字典快但差别可以忽略不计。
唯一较慢的操作是在添加时调整内存大小,因为与标准数组相比,这个实现需要使用两个单独的数组。</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-type-parameters">
<h3>Type parameters</h3>
<ul class="tsd-type-parameters">
<li>
<h4>TKey</h4>
</li>
<li>
<h4>TValue</h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">FasterDictionary</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_buckets" class="tsd-kind-icon">_buckets</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_collisions" class="tsd-kind-icon">_collisions</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_freevaluecellindex" class="tsd-kind-icon">_free<wbr>Value<wbr>Cell<wbr>Index</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_values" class="tsd-kind-icon">_values</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_valuesinfo" class="tsd-kind-icon">_values<wbr>Info</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Accessors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#count" class="tsd-kind-icon">count</a></li>
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#valuesarray" class="tsd-kind-icon">values<wbr>Array</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#add" class="tsd-kind-icon">add</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#addvalue" class="tsd-kind-icon">add<wbr>Value</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#clear" class="tsd-kind-icon">clear</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#containskey" class="tsd-kind-icon">contains<wbr>Key</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#fastclear" class="tsd-kind-icon">fast<wbr>Clear</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#getdirectvalue" class="tsd-kind-icon">get<wbr>Direct<wbr>Value</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#getindex" class="tsd-kind-icon">get<wbr>Index</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#getvaluesarray" class="tsd-kind-icon">get<wbr>Values<wbr>Array</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#remove" class="tsd-kind-icon">remove</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#trim" class="tsd-kind-icon">trim</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#tryfindindex" class="tsd-kind-icon">try<wbr>Find<wbr>Index</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#trygetvalue" class="tsd-kind-icon">try<wbr>Get<wbr>Value</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#hash" class="tsd-kind-icon">hash</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#reduce" class="tsd-kind-icon">reduce</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#updatelinkedlist" class="tsd-kind-icon">update<wbr>Linked<wbr>List</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Faster<wbr>Dictionary<span class="tsd-signature-symbol">(</span>size<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html" class="tsd-signature-type">FasterDictionary</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L14">src/ECS/Utils/FastDirectory.ts:14</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> size: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 1</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html" class="tsd-signature-type">FasterDictionary</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_buckets" class="tsd-anchor"></a>
<h3>_buckets</h3>
<div class="tsd-signature tsd-kind-icon">_buckets<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L12">src/ECS/Utils/FastDirectory.ts:12</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_collisions" class="tsd-anchor"></a>
<h3>_collisions</h3>
<div class="tsd-signature tsd-kind-icon">_collisions<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L14">src/ECS/Utils/FastDirectory.ts:14</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_freevaluecellindex" class="tsd-anchor"></a>
<h3>_free<wbr>Value<wbr>Cell<wbr>Index</h3>
<div class="tsd-signature tsd-kind-icon">_free<wbr>Value<wbr>Cell<wbr>Index<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L13">src/ECS/Utils/FastDirectory.ts:13</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_values" class="tsd-anchor"></a>
<h3>_values</h3>
<div class="tsd-signature tsd-kind-icon">_values<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">TValue</span><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L10">src/ECS/Utils/FastDirectory.ts:10</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="_valuesinfo" class="tsd-anchor"></a>
<h3>_values<wbr>Info</h3>
<div class="tsd-signature tsd-kind-icon">_values<wbr>Info<span class="tsd-signature-symbol">:</span> <a href="_ecs_utils_fastdirectory_.es.fastnode.html" class="tsd-signature-type">FastNode</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L11">src/ECS/Utils/FastDirectory.ts:11</a></li>
</ul>
</aside>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Accessors</h2>
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
<a name="count" class="tsd-anchor"></a>
<h3>count</h3>
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> count<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L32">src/ECS/Utils/FastDirectory.ts:32</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
<a name="valuesarray" class="tsd-anchor"></a>
<h3>values<wbr>Array</h3>
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> valuesArray<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TValue</span><span class="tsd-signature-symbol">[]</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L28">src/ECS/Utils/FastDirectory.ts:28</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">TValue</span><span class="tsd-signature-symbol">[]</span></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="add" class="tsd-anchor"></a>
<h3>add</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">add<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TKey</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TValue</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L36">src/ECS/Utils/FastDirectory.ts:36</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">TKey</span></h5>
</li>
<li>
<h5>value: <span class="tsd-signature-type">TValue</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="addvalue" class="tsd-anchor"></a>
<h3>add<wbr>Value</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">add<wbr>Value<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TKey</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TValue</span>, indexSet<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L41">src/ECS/Utils/FastDirectory.ts:41</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">TKey</span></h5>
</li>
<li>
<h5>value: <span class="tsd-signature-type">TValue</span></h5>
</li>
<li>
<h5>indexSet: <span class="tsd-signature-symbol">{ </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter">
<h5>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></h5>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="clear" class="tsd-anchor"></a>
<h3>clear</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">clear<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L212">src/ECS/Utils/FastDirectory.ts:212</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="containskey" class="tsd-anchor"></a>
<h3>contains<wbr>Key</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">contains<wbr>Key<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TKey</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L230">src/ECS/Utils/FastDirectory.ts:230</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">TKey</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="fastclear" class="tsd-anchor"></a>
<h3>fast<wbr>Clear</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">fast<wbr>Clear<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L221">src/ECS/Utils/FastDirectory.ts:221</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="getdirectvalue" class="tsd-anchor"></a>
<h3>get<wbr>Direct<wbr>Value</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">get<wbr>Direct<wbr>Value<span class="tsd-signature-symbol">(</span>index<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TValue</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L270">src/ECS/Utils/FastDirectory.ts:270</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>index: <span class="tsd-signature-type">number</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">TValue</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="getindex" class="tsd-anchor"></a>
<h3>get<wbr>Index</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">get<wbr>Index<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TKey</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L274">src/ECS/Utils/FastDirectory.ts:274</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">TKey</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="getvaluesarray" class="tsd-anchor"></a>
<h3>get<wbr>Values<wbr>Array</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">get<wbr>Values<wbr>Array<span class="tsd-signature-symbol">(</span>count<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TValue</span><span class="tsd-signature-symbol">[]</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L22">src/ECS/Utils/FastDirectory.ts:22</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>count: <span class="tsd-signature-symbol">{ </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter">
<h5>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></h5>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">TValue</span><span class="tsd-signature-symbol">[]</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="remove" class="tsd-anchor"></a>
<h3>remove</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">remove<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TKey</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L127">src/ECS/Utils/FastDirectory.ts:127</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">TKey</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="trim" class="tsd-anchor"></a>
<h3>trim</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">trim<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L203">src/ECS/Utils/FastDirectory.ts:203</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="tryfindindex" class="tsd-anchor"></a>
<h3>try<wbr>Find<wbr>Index</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">try<wbr>Find<wbr>Index<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TKey</span>, findIndex<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L247">src/ECS/Utils/FastDirectory.ts:247</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">TKey</span></h5>
</li>
<li>
<h5>findIndex: <span class="tsd-signature-symbol">{ </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter">
<h5>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></h5>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="trygetvalue" class="tsd-anchor"></a>
<h3>try<wbr>Get<wbr>Value</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">try<wbr>Get<wbr>Value<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TKey</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TValue</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L238">src/ECS/Utils/FastDirectory.ts:238</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">TKey</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">TValue</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a name="hash" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagStatic">Static</span> hash</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
<li class="tsd-signature tsd-kind-icon">hash<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L292">src/ECS/Utils/FastDirectory.ts:292</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">any</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a name="reduce" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagStatic">Static</span> reduce</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
<li class="tsd-signature tsd-kind-icon">reduce<span class="tsd-signature-symbol">(</span>x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, n<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L296">src/ECS/Utils/FastDirectory.ts:296</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>x: <span class="tsd-signature-type">number</span></h5>
</li>
<li>
<h5>n: <span class="tsd-signature-type">number</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a name="updatelinkedlist" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagStatic">Static</span> update<wbr>Linked<wbr>List</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
<li class="tsd-signature tsd-kind-icon">update<wbr>Linked<wbr>List<span class="tsd-signature-symbol">(</span>index<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, valuesInfo<span class="tsd-signature-symbol">: </span><a href="_ecs_utils_fastdirectory_.es.fastnode.html" class="tsd-signature-type">FastNode</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/esengine/egret-framework/blob/562bacb/source/src/ECS/Utils/FastDirectory.ts#L282">src/ECS/Utils/FastDirectory.ts:282</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>index: <span class="tsd-signature-type">number</span></h5>
</li>
<li>
<h5>valuesInfo: <a href="_ecs_utils_fastdirectory_.es.fastnode.html" class="tsd-signature-type">FastNode</a><span class="tsd-signature-symbol">[]</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
<li class="current tsd-kind-module">
<a href="../modules/_ecs_utils_fastdirectory_.html">&quot;ECS/<wbr>Utils/<wbr>Fast<wbr>Directory&quot;</a>
<ul>
<li class="current tsd-kind-namespace tsd-parent-kind-module">
<a href="../modules/_ecs_utils_fastdirectory_.es.html">es</a>
</li>
</ul>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-class tsd-parent-kind-namespace">
<a href="_ecs_utils_fastdirectory_.es.fastnode.html" class="tsd-kind-icon">Fast<wbr>Node</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-class tsd-parent-kind-namespace tsd-has-type-parameter">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html" class="tsd-kind-icon">Faster<wbr>Dictionary</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_buckets" class="tsd-kind-icon">_buckets</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_collisions" class="tsd-kind-icon">_collisions</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_freevaluecellindex" class="tsd-kind-icon">_free<wbr>Value<wbr>Cell<wbr>Index</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_values" class="tsd-kind-icon">_values</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#_valuesinfo" class="tsd-kind-icon">_values<wbr>Info</a>
</li>
<li class=" tsd-kind-get-signature tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#count" class="tsd-kind-icon">count</a>
</li>
<li class=" tsd-kind-get-signature tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#valuesarray" class="tsd-kind-icon">values<wbr>Array</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#add" class="tsd-kind-icon">add</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#addvalue" class="tsd-kind-icon">add<wbr>Value</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#clear" class="tsd-kind-icon">clear</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#containskey" class="tsd-kind-icon">contains<wbr>Key</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#fastclear" class="tsd-kind-icon">fast<wbr>Clear</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#getdirectvalue" class="tsd-kind-icon">get<wbr>Direct<wbr>Value</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#getindex" class="tsd-kind-icon">get<wbr>Index</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#getvaluesarray" class="tsd-kind-icon">get<wbr>Values<wbr>Array</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#remove" class="tsd-kind-icon">remove</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#trim" class="tsd-kind-icon">trim</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#tryfindindex" class="tsd-kind-icon">try<wbr>Find<wbr>Index</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#trygetvalue" class="tsd-kind-icon">try<wbr>Get<wbr>Value</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#hash" class="tsd-kind-icon">hash</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#reduce" class="tsd-kind-icon">reduce</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a href="_ecs_utils_fastdirectory_.es.fasterdictionary.html#updatelinkedlist" class="tsd-kind-icon">update<wbr>Linked<wbr>List</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>