<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3"/>
<title>Lucene.Net: Lucene.Net.Spatial.Util.FixedBitSet.FixedBitSetIterator Class 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/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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="projectlogo"><img alt="Logo" src="lucene-net-icon-128x128.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Lucene.Net
   &#160;<span id="projectnumber">3.0.3</span>
   </div>
   <div id="projectbrief">Lucene.Net is a .NET port of the Java Lucene Indexing Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="Index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Properties</a></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="namespace_lucene.html">Lucene</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net.html">Net</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net_1_1_spatial.html">Spatial</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net_1_1_spatial_1_1_util.html">Util</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set.html">FixedBitSet</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html">FixedBitSetIterator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Lucene.Net.Spatial.Util.FixedBitSet.FixedBitSetIterator Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set.html">FixedBitSet</a> Iterator implementation  
 <a href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html#details">More...</a></p>

<p>Inherits <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html">Lucene.Net.Search.DocIdSetIterator</a>.</p>
<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:a346764e65813d5ebe6d8ac4217890486"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html#a346764e65813d5ebe6d8ac4217890486">FixedBitSetIterator</a> (<a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set.html">FixedBitSet</a> bitset)</td></tr>
<tr class="separator:a346764e65813d5ebe6d8ac4217890486"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bcbcfd2919f226ffb8e99fd0f6d2251"><td class="memItemLeft" align="right" valign="top">override int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html#a4bcbcfd2919f226ffb8e99fd0f6d2251">DocID</a> ()</td></tr>
<tr class="memdesc:a4bcbcfd2919f226ffb8e99fd0f6d2251"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the following: </p>
<ul>
<li>
-1 or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html#a9283b823c7506fa9c3a6925856764b07" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">NextDoc()</a> or <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html#adbd720ef25f32465f552e6f6cb487d8d" title="Advances to the first beyond the current whose document number is greater than or equal to target...">Advance(int)</a> were not called yet. </li>
<li>
<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if the iterator has exhausted. </li>
<li>
Otherwise it should return the doc ID it is currently on. </li>
</ul>
 <a href="#a4bcbcfd2919f226ffb8e99fd0f6d2251"></a><br/></td></tr>
<tr class="separator:a4bcbcfd2919f226ffb8e99fd0f6d2251"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9283b823c7506fa9c3a6925856764b07"><td class="memItemLeft" align="right" valign="top">override int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html#a9283b823c7506fa9c3a6925856764b07">NextDoc</a> ()</td></tr>
<tr class="memdesc:a9283b823c7506fa9c3a6925856764b07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances to the next document in the set and returns the doc it is currently on, or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if there are no more docs in the set.<br/>
  <a href="#a9283b823c7506fa9c3a6925856764b07"></a><br/></td></tr>
<tr class="separator:a9283b823c7506fa9c3a6925856764b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbd720ef25f32465f552e6f6cb487d8d"><td class="memItemLeft" align="right" valign="top">override int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html#adbd720ef25f32465f552e6f6cb487d8d">Advance</a> (int target)</td></tr>
<tr class="memdesc:adbd720ef25f32465f552e6f6cb487d8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances to the first beyond the current whose document number is greater than or equal to <em>target</em>. Returns the current document number or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if there are no more docs in the set. Behaves as if written:  <a href="#adbd720ef25f32465f552e6f6cb487d8d"></a><br/></td></tr>
<tr class="separator:adbd720ef25f32465f552e6f6cb487d8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html">Lucene.Net.Search.DocIdSetIterator</a></td></tr>
<tr class="memitem:ac005b14762e519ad644745031fac2ad4 inherit pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator"><td class="memItemLeft" align="right" valign="top">static readonly int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4">NO_MORE_DOCS</a> = System.Int32.MaxValue</td></tr>
<tr class="memdesc:ac005b14762e519ad644745031fac2ad4 inherit pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">When returned by <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a70f16616e044ffd57b07dbc426c34e0d" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">NextDoc()</a>, <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a4ea4804a0dd948a55077e1dde86b0983" title="Advances to the first beyond the current whose document number is greater than or equal to target...">Advance(int)</a> and <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a617cbe6c07c261cc2cc86ad3d255152f" title="Returns the following: -1 or NO_MORE_DOCS if NextDoc() or Advance(int) were not called yet...">DocID()</a> it means there are no more docs in the iterator.  <a href="#ac005b14762e519ad644745031fac2ad4"></a><br/></td></tr>
<tr class="separator:ac005b14762e519ad644745031fac2ad4 inherit pub_static_attribs_class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set.html">FixedBitSet</a> Iterator implementation </p>

<p>Definition at line <a class="el" href="_fixed_bit_set_8cs_source.html#l00419">419</a> of file <a class="el" href="_fixed_bit_set_8cs_source.html">FixedBitSet.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a346764e65813d5ebe6d8ac4217890486"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Lucene.Net.Spatial.Util.FixedBitSet.FixedBitSetIterator.FixedBitSetIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set.html">FixedBitSet</a>&#160;</td>
          <td class="paramname"><em>bitset</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="_fixed_bit_set_8cs_source.html#l00424">424</a> of file <a class="el" href="_fixed_bit_set_8cs_source.html">FixedBitSet.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="adbd720ef25f32465f552e6f6cb487d8d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override int Lucene.Net.Spatial.Util.FixedBitSet.FixedBitSetIterator.Advance </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>target</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advances to the first beyond the current whose document number is greater than or equal to <em>target</em>. Returns the current document number or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if there are no more docs in the set. Behaves as if written: </p>
<p><code> int advance(int target) { int doc; while ((doc = nextDoc()) &lt; target) { } return doc; } </code></p>
<p>Some implementations are considerably more efficient than that. </p>
<p><b>NOTE:</b> certain implemenations may return a different value (each time) if called several times in a row with the same target. </p>
<p><b>NOTE:</b> this method may be called with <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> for efficiency by some Scorers. If your implementation cannot efficiently determine that it should exhaust, it is recommended that you check for that value in each call to this method. </p>
<p><b>NOTE:</b> after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior. </p>
<p>&lt;since&gt;2.9&lt;/since&gt; </p>

<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a4ea4804a0dd948a55077e1dde86b0983">Lucene.Net.Search.DocIdSetIterator</a>.</p>

<p>Definition at line <a class="el" href="_fixed_bit_set_8cs_source.html#l00444">444</a> of file <a class="el" href="_fixed_bit_set_8cs_source.html">FixedBitSet.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4bcbcfd2919f226ffb8e99fd0f6d2251"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override int Lucene.Net.Spatial.Util.FixedBitSet.FixedBitSetIterator.DocID </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the following: </p>
<ul>
<li>
-1 or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html#a9283b823c7506fa9c3a6925856764b07" title="Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...">NextDoc()</a> or <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_fixed_bit_set_1_1_fixed_bit_set_iterator.html#adbd720ef25f32465f552e6f6cb487d8d" title="Advances to the first beyond the current whose document number is greater than or equal to target...">Advance(int)</a> were not called yet. </li>
<li>
<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if the iterator has exhausted. </li>
<li>
Otherwise it should return the doc ID it is currently on. </li>
</ul>
</p>

<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a617cbe6c07c261cc2cc86ad3d255152f">Lucene.Net.Search.DocIdSetIterator</a>.</p>

<p>Definition at line <a class="el" href="_fixed_bit_set_8cs_source.html#l00429">429</a> of file <a class="el" href="_fixed_bit_set_8cs_source.html">FixedBitSet.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a9283b823c7506fa9c3a6925856764b07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override int Lucene.Net.Spatial.Util.FixedBitSet.FixedBitSetIterator.NextDoc </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advances to the next document in the set and returns the doc it is currently on, or <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#ac005b14762e519ad644745031fac2ad4" title="When returned by NextDoc(), Advance(int) and DocID() it means there are no more docs in the iterator...">NO_MORE_DOCS</a> if there are no more docs in the set.<br/>
 </p>
<p><b>NOTE:</b> after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior.</p>

<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_doc_id_set_iterator.html#a70f16616e044ffd57b07dbc426c34e0d">Lucene.Net.Search.DocIdSetIterator</a>.</p>

<p>Definition at line <a class="el" href="_fixed_bit_set_8cs_source.html#l00434">434</a> of file <a class="el" href="_fixed_bit_set_8cs_source.html">FixedBitSet.cs</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>contrib/Spatial/Util/<a class="el" href="_fixed_bit_set_8cs_source.html">FixedBitSet.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:58 for Lucene.Net by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3
</small></address>
</body>
</html>
