﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class AllDeletedFilterReader
   | Apache Lucene.NET 4.8.0-beta00008 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class AllDeletedFilterReader
   | Apache Lucene.NET 4.8.0-beta00008 Documentation ">
    <meta name="generator" content="docfx 2.50.0.0">
    
    <link rel="shortcut icon" href="../../logo/favicon.ico">
    <link rel="stylesheet" href="../../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../../styles/docfx.css">
    <link rel="stylesheet" href="../../styles/main.css">
    <meta property="docfx:navrel" content="../../toc.html">
    <meta property="docfx:tocrel" content="../toc.html">
    
    <meta property="docfx:rel" content="../../">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../../index.html">
                <img id="logo" class="svg" src="../../logo/lucene-net-color.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Lucene.Net.Index.AllDeletedFilterReader">
  
  
  <h1 id="Lucene_Net_Index_AllDeletedFilterReader" data-uid="Lucene.Net.Index.AllDeletedFilterReader" class="text-break">Class AllDeletedFilterReader
  </h1>
  <div class="markdown level0 summary"><p>Filters the incoming reader and makes all documents appear deleted.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html">IndexReader</a></div>
    <div class="level2"><a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html">AtomicReader</a></div>
    <div class="level3"><a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html">FilterAtomicReader</a></div>
    <div class="level4"><span class="xref">AllDeletedFilterReader</span></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><span class="xref">System.IDisposable</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_Unwrap_Lucene_Net_Index_AtomicReader_">FilterAtomicReader.Unwrap(AtomicReader)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_m_input">FilterAtomicReader.m_input</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_FieldInfos">FilterAtomicReader.FieldInfos</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_GetTermVectors_System_Int32_">FilterAtomicReader.GetTermVectors(Int32)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_MaxDoc">FilterAtomicReader.MaxDoc</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_Document_System_Int32_Lucene_Net_Index_StoredFieldVisitor_">FilterAtomicReader.Document(Int32, StoredFieldVisitor)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_DoClose">FilterAtomicReader.DoClose()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_Fields">FilterAtomicReader.Fields</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_ToString">FilterAtomicReader.ToString()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_GetNumericDocValues_System_String_">FilterAtomicReader.GetNumericDocValues(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_GetBinaryDocValues_System_String_">FilterAtomicReader.GetBinaryDocValues(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_GetSortedDocValues_System_String_">FilterAtomicReader.GetSortedDocValues(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_GetSortedSetDocValues_System_String_">FilterAtomicReader.GetSortedSetDocValues(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_GetNormValues_System_String_">FilterAtomicReader.GetNormValues(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_GetDocsWithField_System_String_">FilterAtomicReader.GetDocsWithField(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_CheckIntegrity">FilterAtomicReader.CheckIntegrity()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_Context">AtomicReader.Context</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_AtomicContext">AtomicReader.AtomicContext</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_HasNorms_System_String_">AtomicReader.HasNorms(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_DocFreq_Lucene_Net_Index_Term_">AtomicReader.DocFreq(Term)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_TotalTermFreq_Lucene_Net_Index_Term_">AtomicReader.TotalTermFreq(Term)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_GetSumDocFreq_System_String_">AtomicReader.GetSumDocFreq(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_GetDocCount_System_String_">AtomicReader.GetDocCount(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_GetSumTotalTermFreq_System_String_">AtomicReader.GetSumTotalTermFreq(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_GetTerms_System_String_">AtomicReader.GetTerms(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_GetTermDocsEnum_Lucene_Net_Index_Term_">AtomicReader.GetTermDocsEnum(Term)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html#Lucene_Net_Index_AtomicReader_GetTermPositionsEnum_Lucene_Net_Index_Term_">AtomicReader.GetTermPositionsEnum(Term)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_AddReaderClosedListener_Lucene_Net_Index_IndexReader_IReaderClosedListener_">IndexReader.AddReaderClosedListener(IndexReader.IReaderClosedListener)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_RemoveReaderClosedListener_Lucene_Net_Index_IndexReader_IReaderClosedListener_">IndexReader.RemoveReaderClosedListener(IndexReader.IReaderClosedListener)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_RegisterParentReader_Lucene_Net_Index_IndexReader_">IndexReader.RegisterParentReader(IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_RefCount">IndexReader.RefCount</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_IncRef">IndexReader.IncRef()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_TryIncRef">IndexReader.TryIncRef()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_DecRef">IndexReader.DecRef()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_EnsureOpen">IndexReader.EnsureOpen()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Equals_System_Object_">IndexReader.Equals(Object)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_GetHashCode">IndexReader.GetHashCode()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Open_Lucene_Net_Store_Directory_">IndexReader.Open(Directory)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Open_Lucene_Net_Store_Directory_System_Int32_">IndexReader.Open(Directory, Int32)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Open_Lucene_Net_Index_IndexWriter_System_Boolean_">IndexReader.Open(IndexWriter, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Open_Lucene_Net_Index_IndexCommit_">IndexReader.Open(IndexCommit)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Open_Lucene_Net_Index_IndexCommit_System_Int32_">IndexReader.Open(IndexCommit, Int32)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_GetTermVector_System_Int32_System_String_">IndexReader.GetTermVector(Int32, String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_NumDeletedDocs">IndexReader.NumDeletedDocs</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Document_System_Int32_">IndexReader.Document(Int32)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Document_System_Int32_System_Collections_Generic_ISet_System_String__">IndexReader.Document(Int32, ISet&lt;String&gt;)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_HasDeletions">IndexReader.HasDeletions</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Dispose">IndexReader.Dispose()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Dispose_System_Boolean_">IndexReader.Dispose(Boolean)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_Leaves">IndexReader.Leaves</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_CoreCacheKey">IndexReader.CoreCacheKey</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexReader.html#Lucene_Net_Index_IndexReader_CombinedCoreAndDeletesKey">IndexReader.CombinedCoreAndDeletesKey</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="../Lucene.Net.Misc/Lucene.Net.Index.html">Lucene.Net.Index</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.TestFramework.dll</h6>
  <h5 id="Lucene_Net_Index_AllDeletedFilterReader_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class AllDeletedFilterReader : FilterAtomicReader, IDisposable</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_AllDeletedFilterReader__ctor_Lucene_Net_Index_AtomicReader_.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.AllDeletedFilterReader.%23ctor(Lucene.Net.Index.AtomicReader)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Index/AllDeletedFilterReader.cs/#L30">View Source</a>
  </span>
  <a id="Lucene_Net_Index_AllDeletedFilterReader__ctor_" data-uid="Lucene.Net.Index.AllDeletedFilterReader.#ctor*"></a>
  <h4 id="Lucene_Net_Index_AllDeletedFilterReader__ctor_Lucene_Net_Index_AtomicReader_" data-uid="Lucene.Net.Index.AllDeletedFilterReader.#ctor(Lucene.Net.Index.AtomicReader)">AllDeletedFilterReader(AtomicReader)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public AllDeletedFilterReader(AtomicReader in)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="../Lucene.Net/Lucene.Net.Index.AtomicReader.html">AtomicReader</a></td>
        <td><span class="parametername">in</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_AllDeletedFilterReader_LiveDocs.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.AllDeletedFilterReader.LiveDocs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Index/AllDeletedFilterReader.cs/#L37">View Source</a>
  </span>
  <a id="Lucene_Net_Index_AllDeletedFilterReader_LiveDocs_" data-uid="Lucene.Net.Index.AllDeletedFilterReader.LiveDocs*"></a>
  <h4 id="Lucene_Net_Index_AllDeletedFilterReader_LiveDocs" data-uid="Lucene.Net.Index.AllDeletedFilterReader.LiveDocs">LiveDocs</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override IBits LiveDocs { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="../Lucene.Net/Lucene.Net.Util.IBits.html">IBits</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_LiveDocs">FilterAtomicReader.LiveDocs</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_AllDeletedFilterReader_NumDocs.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.AllDeletedFilterReader.NumDocs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Index/AllDeletedFilterReader.cs/#L39">View Source</a>
  </span>
  <a id="Lucene_Net_Index_AllDeletedFilterReader_NumDocs_" data-uid="Lucene.Net.Index.AllDeletedFilterReader.NumDocs*"></a>
  <h4 id="Lucene_Net_Index_AllDeletedFilterReader_NumDocs" data-uid="Lucene.Net.Index.AllDeletedFilterReader.NumDocs">NumDocs</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override int NumDocs { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="../Lucene.Net/Lucene.Net.Index.FilterAtomicReader.html#Lucene_Net_Index_FilterAtomicReader_NumDocs">FilterAtomicReader.NumDocs</a></div>
  <h3 id="implements">Implements</h3>
  <div>
      <span class="xref">System.IDisposable</span>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_AllDeletedFilterReader.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.AllDeletedFilterReader%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Index/AllDeletedFilterReader.cs/#L26" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            Copyright © 2020 Licensed to the Apache Software Foundation (ASF)
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../../styles/docfx.js"></script>
    <script type="text/javascript" src="../../styles/main.js"></script>
  </body>
</html>
