blob: 8e8051dc8852a8c7afc909fbfc379b5575b010e1 [file] [log] [blame]
<!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: Package Lucene.Net.Util</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 class="current"><a href="namespaces.html"><span>Packages</span></a></li>
<li><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="namespaces.html"><span>Packages</span></a></li>
<li><a href="namespacemembers.html"><span>Package&#160;Functions</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_util.html">Util</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">Package Lucene.Net.Util</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespace_lucene_1_1_net_1_1_util_1_1_cache"><td class="memItemLeft" align="right" valign="top">package &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lucene_1_1_net_1_1_util_1_1_cache.html">Cache</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_array_util.html">ArrayUtil</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Methods for manipulating arrays. <a href="class_lucene_1_1_net_1_1_util_1_1_array_util.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html">Attribute</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for Attributes that can be added to a <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">Lucene.Net.Util.AttributeSource</a>. Attributes are used to add data in a dynamic, yet type-safe way to a source of usually streamed objects, e. g. a <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">Lucene.Net.Analysis.TokenStream</a>. <a href="class_lucene_1_1_net_1_1_util_1_1_attribute.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html">AttributeSource</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> contains a list of different <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a>s, and methods to add and get them. There can only be a single instance of an attribute in the same <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> instance. This is ensured by passing in the actual type of the <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a> (Class&lt;<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a>&gt;) to the AddAttribute{T}(), which then checks if an instance of that type is already present. If yes, it returns the instance, otherwise it creates a new instance and returns it. <a href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_average_guess_memory_model.html">AverageGuessMemoryModel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An average, best guess, <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_memory_model.html" title="Returns primitive memory sizes for estimating RAM usage.">MemoryModel</a> that should work okay on most systems. <a href="class_lucene_1_1_net_1_1_util_1_1_average_guess_memory_model.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_bit_util.html">BitUtil</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A variety of high efficiencly bit twiddling routines. <a href="class_lucene_1_1_net_1_1_util_1_1_bit_util.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_bit_vector.html">BitVector</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optimized implementation of a vector of bits. This is more-or-less like java.util.BitSet, but also includes the following: </p>
<ul>
<li>
a count() method, which efficiently computes the number of one bits; </li>
<li>
optimized read from and write to disk; </li>
<li>
inlinable get() method; </li>
<li>
store and load, as bit set or d-gaps, depending on sparseness; </li>
</ul>
<a href="class_lucene_1_1_net_1_1_util_1_1_bit_vector.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_closeable_thread_local.html">CloseableThreadLocal</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Java's builtin ThreadLocal has a serious flaw: it can take an arbitrarily long amount of time to dereference the things you had stored in it, even once the ThreadLocal instance itself is no longer referenced. This is because there is single, master map stored for each thread, which all ThreadLocals share, and that master map only periodically purges "stale" entries. <a href="class_lucene_1_1_net_1_1_util_1_1_closeable_thread_local.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_closeable_thread_local_3_01_t_01_4.html">CloseableThreadLocal&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Java's builtin ThreadLocal has a serious flaw: it can take an arbitrarily long amount of time to dereference the things you had stored in it, even once the ThreadLocal instance itself is no longer referenced. This is because there is single, master map stored for each thread, which all ThreadLocals share, and that master map only periodically purges "stale" entries. <a href="class_lucene_1_1_net_1_1_util_1_1_closeable_thread_local_3_01_t_01_4.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>CloseableThreadLocalExtensions</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_constants.html">Constants</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some useful constants. <a href="class_lucene_1_1_net_1_1_util_1_1_constants.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_doc_id_bit_set.html">DocIdBitSet</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple DocIdSet and DocIdSetIterator backed by a BitSet <a href="class_lucene_1_1_net_1_1_util_1_1_doc_id_bit_set.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_field_cache_sanity_checker.html">FieldCacheSanityChecker</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides methods for sanity checking that entries in the FieldCache are not wasteful or inconsistent. <a class="el" href="namespace_lucene.html">Lucene</a> 2.9 Introduced numerous enhancements into how the FieldCache is used by the low levels of <a class="el" href="namespace_lucene.html">Lucene</a> searching (for Sorting and ValueSourceQueries) to improve both the speed for Sorting, as well as reopening of IndexReaders. But these changes have shifted the usage of FieldCache from "top level" IndexReaders (frequently a MultiReader or DirectoryReader) down to the leaf level SegmentReaders. As a result, existing applications that directly access the FieldCache may find RAM usage increase significantly when upgrading to 2.9 or Later. This class provides an API for these applications (or their Unit tests) to check at run time if the FieldCache contains "insane" usages of the FieldCache. <b>EXPERIMENTAL API:</b> This API is considered extremely advanced and experimental. It may be removed or altered w/o warning in future releases of <a class="el" href="namespace_lucene.html">Lucene</a>. <a href="class_lucene_1_1_net_1_1_util_1_1_field_cache_sanity_checker.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_lucene_1_1_net_1_1_util_1_1_i_attribute.html">IAttribute</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base interface for attributes. <a href="interface_lucene_1_1_net_1_1_util_1_1_i_attribute.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_identity_dictionary_3_01_t_key_00_01_t_value_01_4.html">IdentityDictionary&lt; TKey, TValue &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class that mimics Java's IdentityHashMap in that it determines object equality solely on ReferenceEquals rather than (possibly overloaded) object.Equals(). <a href="class_lucene_1_1_net_1_1_util_1_1_identity_dictionary_3_01_t_key_00_01_t_value_01_4.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_indexable_binary_string_tools.html">IndexableBinaryStringTools</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides support for converting byte sequences to Strings and back again. The resulting Strings preserve the original byte sequences' sort order. <a href="class_lucene_1_1_net_1_1_util_1_1_indexable_binary_string_tools.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_map_of_sets_3_01_t_key_00_01_t_value_01_4.html">MapOfSets&lt; TKey, TValue &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper class for keeping Listss of Objects associated with keys. <b>WARNING: THIS CLASS IS NOT THREAD SAFE</b> <a href="class_lucene_1_1_net_1_1_util_1_1_map_of_sets_3_01_t_key_00_01_t_value_01_4.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_memory_model.html">MemoryModel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns primitive memory sizes for estimating RAM usage. <a href="class_lucene_1_1_net_1_1_util_1_1_memory_model.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_numeric_utils.html">NumericUtils</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a helper class to generate prefix-encoded representations for numerical values and supplies converters to represent float/double values as sortable integers/longs. <a href="class_lucene_1_1_net_1_1_util_1_1_numeric_utils.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An "open" BitSet implementation that allows direct access to the array of words storing the bits. Unlike java.util.bitset, the fact that bits are packed into an array of longs is part of the interface. This allows efficient implementation of other algorithms by someone other than the author. It also allows one to efficiently implement alternate serialization or interchange formats. <code><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html" title="An &quot;open&quot; BitSet implementation that allows direct access to the array of words storing the bits...">OpenBitSet</a></code> is faster than <code>java.util.BitSet</code> in most operations and <em>much</em> faster at calculating cardinality of sets and results of set operations. It can also handle sets of larger cardinality (up to 64 * 2**32-1) The goals of <code><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html" title="An &quot;open&quot; BitSet implementation that allows direct access to the array of words storing the bits...">OpenBitSet</a></code> are the fastest implementation possible, and maximum code reuse. Extra safety and encapsulation may always be built on top, but if that's built in, the cost can never be removed (and hence people re-implement their own version in order to get better performance). If you want a "safe", totally encapsulated (and slower and limited) BitSet class, use <code>java.util.BitSet</code>. <a href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set_d_i_s_i.html">OpenBitSetDISI</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set_iterator.html">OpenBitSetIterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An iterator to iterate over set bits in an <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html" title="An &quot;open&quot; BitSet implementation that allows direct access to the array of words storing the bits...">OpenBitSet</a>. This is faster than nextSetBit() for iterating over the complete set of bits, especially when the density of the bits set is high. <a href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set_iterator.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_priority_queue_3_01_t_01_4.html">PriorityQueue&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A PriorityQueue maintains a partial ordering of its elements such that the least element can always be found in constant time. Put()'s and pop()'s require log(size) time. <a href="class_lucene_1_1_net_1_1_util_1_1_priority_queue_3_01_t_01_4.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_ram_usage_estimator.html">RamUsageEstimator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimates the size of a given Object using a given <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_memory_model.html" title="Returns primitive memory sizes for estimating RAM usage.">MemoryModel</a> for primitive size information. <a href="class_lucene_1_1_net_1_1_util_1_1_ram_usage_estimator.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_reader_util.html">ReaderUtil</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common util methods for dealing with <a class="el" href="_reader_util_8cs.html#a2a6914ea10bbe06764856e29e5674e66">IndexReader</a>s. <a href="class_lucene_1_1_net_1_1_util_1_1_reader_util.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_scorer_doc_queue.html">ScorerDocQueue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_scorer_doc_queue.html" title="A ScorerDocQueue maintains a partial ordering of its Scorers such that the least Scorer can always be...">ScorerDocQueue</a> maintains a partial ordering of its Scorers such that the least Scorer can always be found in constant time. <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_scorer_doc_queue.html#a25bb29c2dc500e738c78ae512433aad3" title="Adds a Scorer to a ScorerDocQueue in log(size) time. If one tries to add more Scorers than maxSize a ...">Put()</a>'s and pop()'s require log(size) time. The ordering is by Scorer.doc(). <a href="class_lucene_1_1_net_1_1_util_1_1_scorer_doc_queue.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_simple_string_interner.html">SimpleStringInterner</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple lockless and memory barrier free String intern cache that is guaranteed to return the same String instance as String.intern() does. <a href="class_lucene_1_1_net_1_1_util_1_1_simple_string_interner.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_small_float.html">SmallFloat</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Floating point numbers smaller than 32 bits. <a href="class_lucene_1_1_net_1_1_util_1_1_small_float.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_sorted_v_int_list.html">SortedVIntList</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores and iterate on sorted integers in compressed form in RAM. <br/>
The code for compressing the differences between ascending integers was borrowed from <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html" title="Abstract base class for input from a file in a Directory. A random-access input stream. Used for all Lucene index input operations. ">Lucene.Net.Store.IndexInput</a> and <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_output.html" title="Abstract base class for output to a file in a Directory. A random-access output stream. Used for all Lucene index output operations. ">Lucene.Net.Store.IndexOutput</a>.<b>NOTE:</b> this class assumes the stored integers are doc Ids (hence why it extends <a class="el" href="_sorted_v_int_list_8cs.html#a4245eee1c0c260a340820cfe67797b43">DocIdSet</a>). Therefore its <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_sorted_v_int_list.html#a2977bb7ade35e93343aa4b9efc6686bb">Iterator()</a> assumes DocIdSetIterator.NO_MORE_DOCS can be used as sentinel. If you intent to use this value, then make sure it's not used during search flow. <a href="class_lucene_1_1_net_1_1_util_1_1_sorted_v_int_list.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_sorter_template.html">SorterTemplate</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Borrowed from Cglib. Allows custom swap so that two arrays can be sorted at the same time. <a href="class_lucene_1_1_net_1_1_util_1_1_sorter_template.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_string_helper.html">StringHelper</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Methods for manipulating strings. <a href="class_lucene_1_1_net_1_1_util_1_1_string_helper.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_string_interner.html">StringInterner</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subclasses of <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_string_interner.html" title="Subclasses of StringInterner are required to return the same single String object for all equal strin...">StringInterner</a> are required to return the same single String object for all equal strings. Depending on the implementation, this may not be the same object returned as String.intern(). <a href="class_lucene_1_1_net_1_1_util_1_1_string_interner.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_to_string_utils.html">ToStringUtils</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper methods to ease implementing Object.ToString(). <a href="class_lucene_1_1_net_1_1_util_1_1_to_string_utils.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>UnicodeUtil</b></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class to encode java's UTF16 char[] into UTF8 byte[] without always allocating a new byte[] as String.getBytes("UTF-8") does. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>VersionEnumExtensions</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a92602ef4dd5a04278f4b62379d552c0b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0b">Version</a> { <br/>
&#160;&#160;<a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0ba04a5d14a9e256991e02e7a7868dc80e9">LUCENE_20</a>,
<a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0baedbfd897cf63d6e78f2d3eec140c7a11">LUCENE_21</a>,
<a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0ba60657ac3ec8533a4707a4c4bdf4da776">LUCENE_22</a>,
<a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0bad996da4b1d5f71f1e9a996cc24ea8116">LUCENE_23</a>,
<br/>
&#160;&#160;<a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0baaf752fb1275a6c78f7fe6c7acf73777a">LUCENE_24</a>,
<a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0ba0f8c1c3dc63ed2c64bee9773986e7423">LUCENE_29</a>,
<a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0baf5961b5225085f26e75b79e512f68245">LUCENE_30</a>,
<a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0ba00e70b8e05103a1b2e3cfa0eb6fc92d2">LUCENE_CURRENT</a>
<br/>
}</td></tr>
<tr class="memdesc:a92602ef4dd5a04278f4b62379d552c0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use by certain classes to match version compatibility across releases of <a class="el" href="namespace_lucene.html">Lucene</a>. <b>WARNING</b>: When changing the version parameter that you supply to components in <a class="el" href="namespace_lucene.html">Lucene</a>, do not simply change the version at search-time, but instead also adjust your indexing code to match, and re-index. <a href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0b">More...</a><br/></td></tr>
<tr class="separator:a92602ef4dd5a04278f4b62379d552c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a92602ef4dd5a04278f4b62379d552c0b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespace_lucene_1_1_net_1_1_util.html#a92602ef4dd5a04278f4b62379d552c0b">Lucene.Net.Util.Version</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Use by certain classes to match version compatibility across releases of <a class="el" href="namespace_lucene.html">Lucene</a>. <b>WARNING</b>: When changing the version parameter that you supply to components in <a class="el" href="namespace_lucene.html">Lucene</a>, do not simply change the version at search-time, but instead also adjust your indexing code to match, and re-index. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a92602ef4dd5a04278f4b62379d552c0ba04a5d14a9e256991e02e7a7868dc80e9"></a>LUCENE_20</em>&nbsp;</td><td class="fielddoc">
<p>Match settings and bugs in <a class="el" href="namespace_lucene.html">Lucene</a>'s 2.0 release.</p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a92602ef4dd5a04278f4b62379d552c0baedbfd897cf63d6e78f2d3eec140c7a11"></a>LUCENE_21</em>&nbsp;</td><td class="fielddoc">
<p>Match settings and bugs in <a class="el" href="namespace_lucene.html">Lucene</a>'s 2.1 release. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a92602ef4dd5a04278f4b62379d552c0ba60657ac3ec8533a4707a4c4bdf4da776"></a>LUCENE_22</em>&nbsp;</td><td class="fielddoc">
<p>Match settings and bugs in <a class="el" href="namespace_lucene.html">Lucene</a>'s 2.2 release. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a92602ef4dd5a04278f4b62379d552c0bad996da4b1d5f71f1e9a996cc24ea8116"></a>LUCENE_23</em>&nbsp;</td><td class="fielddoc">
<p>Match settings and bugs in <a class="el" href="namespace_lucene.html">Lucene</a>'s 2.3 release.</p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a92602ef4dd5a04278f4b62379d552c0baaf752fb1275a6c78f7fe6c7acf73777a"></a>LUCENE_24</em>&nbsp;</td><td class="fielddoc">
<p>Match settings and bugs in <a class="el" href="namespace_lucene.html">Lucene</a>'s 2.4 release.</p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a92602ef4dd5a04278f4b62379d552c0ba0f8c1c3dc63ed2c64bee9773986e7423"></a>LUCENE_29</em>&nbsp;</td><td class="fielddoc">
<p>Match settings and bugs in <a class="el" href="namespace_lucene.html">Lucene</a>'s 2.9 release.</p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a92602ef4dd5a04278f4b62379d552c0baf5961b5225085f26e75b79e512f68245"></a>LUCENE_30</em>&nbsp;</td><td class="fielddoc">
<p>Match settings and bugs in <a class="el" href="namespace_lucene.html">Lucene</a>'s 3.0 release. </p>
<p>Use this to get the latest and greatest settings, bug fixes, etc, for <a class="el" href="namespace_lucene.html">Lucene</a>. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a92602ef4dd5a04278f4b62379d552c0ba00e70b8e05103a1b2e3cfa0eb6fc92d2"></a>LUCENE_CURRENT</em>&nbsp;</td><td class="fielddoc">
<p><b>WARNING</b>: if you use this setting, and then upgrade to a newer release of <a class="el" href="namespace_lucene.html">Lucene</a>, sizable changes may happen. If precise back compatibility is important then you should instead explicitly specify an actual version. If you use this constant then you may need to <b>re-index all of your documents</b> when upgrading <a class="el" href="namespace_lucene.html">Lucene</a>, as the way text is indexed may have changed. Additionally, you may need to <b>re-test your entire application</b> to ensure it behaves as expected, as some defaults may have changed and may break functionality in your application. </p>
</td></tr>
</table>
<p>Definition at line <a class="el" href="_version_8cs_source.html#l00030">30</a> of file <a class="el" href="_version_8cs_source.html">Version.cs</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:59 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>