# C1.LiveLinq.Indexing.IndexingAlgorithm

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_LiveLinq_Indexing_IndexingAlgorithm" data-uid="C1.LiveLinq.Indexing.IndexingAlgorithm" class="text-break">IndexingAlgorithm Class
</h1>
  <div class="markdown level0 summary"><p>Defines the kind of an index, the algorithm used by that index. Currently, the RedBlackTree algorithm is always used.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><span class="xref">IndexingAlgorithm</span></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.LiveLinq.Indexing.html">C1.LiveLinq.Indexing</a></h6>
  <h6><strong>Assembly</strong>: C1.LiveLinq.4.8.dll</h6>
  <h5 id="C1_LiveLinq_Indexing_IndexingAlgorithm_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class IndexingAlgorithm</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public MustInherit Class IndexingAlgorithm</code></pre>
  </div>
  <h5 id="C1_LiveLinq_Indexing_IndexingAlgorithm_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>In the current version, only one algorithm is supported, RedBlackTree.
Later versions may support other algorithms, such as bitmap or hash indexing.</p>
</div>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_LiveLinq_Indexing_IndexingAlgorithm_RedBlackTree" data-uid="C1.LiveLinq.Indexing.IndexingAlgorithm.RedBlackTree">
          <a class="xref" href="C1.LiveLinq.Indexing.IndexingAlgorithm.RedBlackTree.html">RedBlackTree</a>
        </td>
        <td class="markdown level1 summary"><p>The red-black tree algorithm, a type of self-balancing binary search tree widely
used in computer science because it has good performance that does not significantly degrade even in worst cases.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_LiveLinq_Indexing_IndexingAlgorithm_CreateIndex__2_C1_LiveLinq_IObservableSource___0__System_Linq_Expressions_Expression_System_Func___0___1___System_Boolean_System_Globalization_CultureInfo_" data-uid="C1.LiveLinq.Indexing.IndexingAlgorithm.CreateIndex``2(C1.LiveLinq.IObservableSource{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Boolean,System.Globalization.CultureInfo)">
          <a class="xref" href="C1.LiveLinq.Indexing.IndexingAlgorithm.CreateIndex.html#C1_LiveLinq_Indexing_IndexingAlgorithm_CreateIndex__2_C1_LiveLinq_IObservableSource___0__System_Linq_Expressions_Expression_System_Func___0___1___System_Boolean_System_Globalization_CultureInfo_">CreateIndex&lt;T, TKey&gt;(IObservableSource&lt;T&gt;, Expression&lt;Func&lt;T, TKey&gt;&gt;, bool, CultureInfo)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a new index.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="extensionmethods">Extension Methods</h3>
  <div>
      <a class="xref" href="C1.LiveLinq.Hints.Indexed.html#C1_LiveLinq_Hints_Indexed__1___0_">Hints.Indexed&lt;T&gt;(T)</a>
  </div>
  <div>
      <a class="xref" href="C1.LiveLinq.Hints.Indexed.html#C1_LiveLinq_Hints_Indexed__1___0_C1_LiveLinq_IndexingHintAction_">Hints.Indexed&lt;T&gt;(T, IndexingHintAction)</a>
  </div>

</div>
