<!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.FunctionQuery.AllScorer 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_function_query.html">FunctionQuery</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html">AllScorer</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_function_query_1_1_all_scorer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Lucene.Net.Spatial.Util.FunctionQuery.AllScorer Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Inherits <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html">Lucene.Net.Search.Scorer</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:a15b6bc5049c88809da567b617c43a743"><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_function_query_1_1_all_scorer.html#a15b6bc5049c88809da567b617c43a743">AllScorer</a> (<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_similarity.html">Similarity</a> similarity, <a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a> reader, <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html">FunctionWeight</a> w)</td></tr>
<tr class="separator:a15b6bc5049c88809da567b617c43a743"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fd51469a42e6bbb262268728b5c9d91"><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_function_query_1_1_all_scorer.html#a9fd51469a42e6bbb262268728b5c9d91">DocID</a> ()</td></tr>
<tr class="memdesc:a9fd51469a42e6bbb262268728b5c9d91"><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_function_query_1_1_all_scorer.html#a3ce605e76220bb8c5c3a68f3506c2960" 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_function_query_1_1_all_scorer.html#a58e8013964d94dc28a3c28991457dfb2" 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="#a9fd51469a42e6bbb262268728b5c9d91"></a><br/></td></tr>
<tr class="separator:a9fd51469a42e6bbb262268728b5c9d91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ce605e76220bb8c5c3a68f3506c2960"><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_function_query_1_1_all_scorer.html#a3ce605e76220bb8c5c3a68f3506c2960">NextDoc</a> ()</td></tr>
<tr class="memdesc:a3ce605e76220bb8c5c3a68f3506c2960"><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="#a3ce605e76220bb8c5c3a68f3506c2960"></a><br/></td></tr>
<tr class="separator:a3ce605e76220bb8c5c3a68f3506c2960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58e8013964d94dc28a3c28991457dfb2"><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_function_query_1_1_all_scorer.html#a58e8013964d94dc28a3c28991457dfb2">Advance</a> (int target)</td></tr>
<tr class="memdesc:a58e8013964d94dc28a3c28991457dfb2"><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="#a58e8013964d94dc28a3c28991457dfb2"></a><br/></td></tr>
<tr class="separator:a58e8013964d94dc28a3c28991457dfb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4340b25f8d996e184782eeb5c2cc011d"><td class="memItemLeft" align="right" valign="top">override float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html#a4340b25f8d996e184782eeb5c2cc011d">Score</a> ()</td></tr>
<tr class="memdesc:a4340b25f8d996e184782eeb5c2cc011d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the score of the current document matching the query. Initially invalid, until DocIdSetIterator.NextDoc() or DocIdSetIterator.Advance(int) is called the first time, or when called from within Collector.Collect(int).  <a href="#a4340b25f8d996e184782eeb5c2cc011d"></a><br/></td></tr>
<tr class="separator:a4340b25f8d996e184782eeb5c2cc011d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52dd0bd39e56df8bf98b5a20f13c14e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_explanation.html">Explanation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_all_scorer.html#a52dd0bd39e56df8bf98b5a20f13c14e8">Explain</a> (int doc)</td></tr>
<tr class="separator:a52dd0bd39e56df8bf98b5a20f13c14e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_lucene_1_1_net_1_1_search_1_1_scorer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_lucene_1_1_net_1_1_search_1_1_scorer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html">Lucene.Net.Search.Scorer</a></td></tr>
<tr class="memitem:a23e72c598a4e46bd528ed19b272fc687 inherit pub_methods_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html#a23e72c598a4e46bd528ed19b272fc687">Score</a> (<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html">Collector</a> collector)</td></tr>
<tr class="memdesc:a23e72c598a4e46bd528ed19b272fc687 inherit pub_methods_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scores and collects all matching documents. <a href="#a23e72c598a4e46bd528ed19b272fc687"></a><br/></td></tr>
<tr class="separator:a23e72c598a4e46bd528ed19b272fc687 inherit pub_methods_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbae24b7b3053a0e489fc8f18664f6a9 inherit pub_methods_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html#afbae24b7b3053a0e489fc8f18664f6a9">Score</a> (<a class="el" href="class_lucene_1_1_net_1_1_search_1_1_collector.html">Collector</a> collector, int max, int firstDocID)</td></tr>
<tr class="memdesc:afbae24b7b3053a0e489fc8f18664f6a9 inherit pub_methods_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: Collects matching documents in a range. Hook for optimization. Note, <em>firstDocID</em>  is added to ensure that <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...">DocIdSetIterator.NextDoc()</a> was called before this method.  <a href="#afbae24b7b3053a0e489fc8f18664f6a9"></a><br/></td></tr>
<tr class="separator:afbae24b7b3053a0e489fc8f18664f6a9 inherit pub_methods_class_lucene_1_1_net_1_1_search_1_1_scorer"><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>
<tr class="inherit_header properties_class_lucene_1_1_net_1_1_search_1_1_scorer"><td colspan="2" onclick="javascript:toggleInherit('properties_class_lucene_1_1_net_1_1_search_1_1_scorer')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html">Lucene.Net.Search.Scorer</a></td></tr>
<tr class="memitem:aa2d07dddba4ce149cbd46abbfc139d8a inherit properties_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_similarity.html">Similarity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html#aa2d07dddba4ce149cbd46abbfc139d8a">Similarity</a><code> [get]</code></td></tr>
<tr class="memdesc:aa2d07dddba4ce149cbd46abbfc139d8a inherit properties_class_lucene_1_1_net_1_1_search_1_1_scorer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_similarity.html" title="Expert: Scoring API. Subclasses implement search scoring.">Similarity</a> implementation used by this scorer.  <a href="#aa2d07dddba4ce149cbd46abbfc139d8a"></a><br/></td></tr>
<tr class="separator:aa2d07dddba4ce149cbd46abbfc139d8a inherit properties_class_lucene_1_1_net_1_1_search_1_1_scorer"><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>Definition at line <a class="el" href="_function_query_8cs_source.html#l00114">114</a> of file <a class="el" href="_function_query_8cs_source.html">FunctionQuery.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a15b6bc5049c88809da567b617c43a743"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Lucene.Net.Spatial.Util.FunctionQuery.AllScorer.AllScorer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_similarity.html">Similarity</a>&#160;</td>
          <td class="paramname"><em>similarity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_index_1_1_index_reader.html">IndexReader</a>&#160;</td>
          <td class="paramname"><em>reader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_util_1_1_function_query_1_1_function_weight.html">FunctionWeight</a>&#160;</td>
          <td class="paramname"><em>w</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="_function_query_8cs_source.html#l00124">124</a> of file <a class="el" href="_function_query_8cs_source.html">FunctionQuery.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a58e8013964d94dc28a3c28991457dfb2"></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.FunctionQuery.AllScorer.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="_function_query_8cs_source.html#l00158">158</a> of file <a class="el" href="_function_query_8cs_source.html">FunctionQuery.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a9fd51469a42e6bbb262268728b5c9d91"></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.FunctionQuery.AllScorer.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_function_query_1_1_all_scorer.html#a3ce605e76220bb8c5c3a68f3506c2960" 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_function_query_1_1_all_scorer.html#a58e8013964d94dc28a3c28991457dfb2" 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="_function_query_8cs_source.html#l00135">135</a> of file <a class="el" href="_function_query_8cs_source.html">FunctionQuery.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a52dd0bd39e56df8bf98b5a20f13c14e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lucene_1_1_net_1_1_search_1_1_explanation.html">Explanation</a> Lucene.Net.Spatial.Util.FunctionQuery.AllScorer.Explain </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>doc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="_function_query_8cs_source.html#l00175">175</a> of file <a class="el" href="_function_query_8cs_source.html">FunctionQuery.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a3ce605e76220bb8c5c3a68f3506c2960"></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.FunctionQuery.AllScorer.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="_function_query_8cs_source.html#l00144">144</a> of file <a class="el" href="_function_query_8cs_source.html">FunctionQuery.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4340b25f8d996e184782eeb5c2cc011d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override float Lucene.Net.Spatial.Util.FunctionQuery.AllScorer.Score </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 score of the current document matching the query. Initially invalid, until DocIdSetIterator.NextDoc() or DocIdSetIterator.Advance(int) is called the first time, or when called from within Collector.Collect(int). </p>

<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_scorer.html#a9e45575b3a407f5cb224b51405893c3f">Lucene.Net.Search.Scorer</a>.</p>

<p>Definition at line <a class="el" href="_function_query_8cs_source.html#l00165">165</a> of file <a class="el" href="_function_query_8cs_source.html">FunctionQuery.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="_function_query_8cs_source.html">FunctionQuery.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>
