blob: 7411451d5ce0d6daba060f96653e56bc260f04dc [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: Lucene.Net.Util.OpenBitSet 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_util.html">Util</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Lucene.Net.Util.OpenBitSet Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>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></p>
<p>Inherits DocIdSet, and ICloneable.</p>
<p>Inherited by <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set_d_i_s_i.html">Lucene.Net.Util.OpenBitSetDISI</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:aaa9ef764ca56c4f16dacc7e5c13b1c39"><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_util_1_1_open_bit_set.html#aaa9ef764ca56c4f16dacc7e5c13b1c39">OpenBitSet</a> (long numBits)</td></tr>
<tr class="memdesc:aaa9ef764ca56c4f16dacc7e5c13b1c39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs 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> large enough to hold numBits. <a href="#aaa9ef764ca56c4f16dacc7e5c13b1c39"></a><br/></td></tr>
<tr class="separator:aaa9ef764ca56c4f16dacc7e5c13b1c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae920f4727efb929d54e19543156d961e"><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_util_1_1_open_bit_set.html#ae920f4727efb929d54e19543156d961e">OpenBitSet</a> ()</td></tr>
<tr class="separator:ae920f4727efb929d54e19543156d961e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f9f894eb48d2cd9541cf407987009a9"><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_util_1_1_open_bit_set.html#a3f9f894eb48d2cd9541cf407987009a9">OpenBitSet</a> (long[] bits, int numWords)</td></tr>
<tr class="memdesc:a3f9f894eb48d2cd9541cf407987009a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs 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> from an existing long[]. <br/>
The first 64 bits are in long[0], with bit index 0 at the least significant bit, and bit index 63 at the most significant. Given a bit index, the word containing it is long[index/64], and it is at bit number index%64 within that word. numWords are the number of elements in the array that contain set bits (non-zero longs). numWords should be &lt;= bits.length, and any existing words in the array at position &gt;= numWords should be zero. <a href="#a3f9f894eb48d2cd9541cf407987009a9"></a><br/></td></tr>
<tr class="separator:a3f9f894eb48d2cd9541cf407987009a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6923d931a282a9334ec956ecf2bbaf2"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="_doc_id_bit_set_8cs.html#adbba0575d48e29661f658fa4071fde4f">DocIdSetIterator</a>&#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#aa6923d931a282a9334ec956ecf2bbaf2">Iterator</a> ()</td></tr>
<tr class="separator:aa6923d931a282a9334ec956ecf2bbaf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8225a07c21e81a8a35e49a714251a304"><td class="memItemLeft" align="right" valign="top">virtual long&#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#a8225a07c21e81a8a35e49a714251a304">Capacity</a> ()</td></tr>
<tr class="memdesc:a8225a07c21e81a8a35e49a714251a304"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current capacity in bits (1 greater than the index of the last bit) <a href="#a8225a07c21e81a8a35e49a714251a304"></a><br/></td></tr>
<tr class="separator:a8225a07c21e81a8a35e49a714251a304"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19662b649fa0cfc0b67234a37bde2bd5"><td class="memItemLeft" align="right" valign="top">virtual long&#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#a19662b649fa0cfc0b67234a37bde2bd5">Size</a> ()</td></tr>
<tr class="memdesc:a19662b649fa0cfc0b67234a37bde2bd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current capacity of this set. Included for compatibility. This is <em>not</em> equal to <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html#a80b948d365c48ddaa7ee1d84a938f3f1">Cardinality</a> <a href="#a19662b649fa0cfc0b67234a37bde2bd5"></a><br/></td></tr>
<tr class="separator:a19662b649fa0cfc0b67234a37bde2bd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af629952e1073a0c79527e1b1dc3c2978"><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_util_1_1_open_bit_set.html#af629952e1073a0c79527e1b1dc3c2978">IsEmpty</a> ()</td></tr>
<tr class="memdesc:af629952e1073a0c79527e1b1dc3c2978"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if there are no set bits <a href="#af629952e1073a0c79527e1b1dc3c2978"></a><br/></td></tr>
<tr class="separator:af629952e1073a0c79527e1b1dc3c2978"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d6d1c73a2874847105008abd76b2b55"><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_util_1_1_open_bit_set.html#a4d6d1c73a2874847105008abd76b2b55">Get</a> (int index)</td></tr>
<tr class="memdesc:a4d6d1c73a2874847105008abd76b2b55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true or false for the specified bit index. <a href="#a4d6d1c73a2874847105008abd76b2b55"></a><br/></td></tr>
<tr class="separator:a4d6d1c73a2874847105008abd76b2b55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1fb74b4f2601b802fd458bfe58bf728"><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_util_1_1_open_bit_set.html#aa1fb74b4f2601b802fd458bfe58bf728">FastGet</a> (int index)</td></tr>
<tr class="memdesc:aa1fb74b4f2601b802fd458bfe58bf728"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true or false for the specified bit index. The index should be less than the <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> size <a href="#aa1fb74b4f2601b802fd458bfe58bf728"></a><br/></td></tr>
<tr class="separator:aa1fb74b4f2601b802fd458bfe58bf728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a041f606eda9d49ee94185df9fd0fc66a"><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_util_1_1_open_bit_set.html#a041f606eda9d49ee94185df9fd0fc66a">Get</a> (long index)</td></tr>
<tr class="memdesc:a041f606eda9d49ee94185df9fd0fc66a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true or false for the specified bit index <a href="#a041f606eda9d49ee94185df9fd0fc66a"></a><br/></td></tr>
<tr class="separator:a041f606eda9d49ee94185df9fd0fc66a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb5737988ab2f1535d67ef5ab6e993d"><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_util_1_1_open_bit_set.html#afcb5737988ab2f1535d67ef5ab6e993d">FastGet</a> (long index)</td></tr>
<tr class="memdesc:afcb5737988ab2f1535d67ef5ab6e993d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true or false for the specified bit index. The index should be less than the <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> size. <a href="#afcb5737988ab2f1535d67ef5ab6e993d"></a><br/></td></tr>
<tr class="separator:afcb5737988ab2f1535d67ef5ab6e993d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae28581233f57e1d7b3dae5b606065633"><td class="memItemLeft" align="right" valign="top">virtual int&#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#ae28581233f57e1d7b3dae5b606065633">GetBit</a> (int index)</td></tr>
<tr class="memdesc:ae28581233f57e1d7b3dae5b606065633"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns 1 if the bit is set, 0 if not. The index should be less than the <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> size <a href="#ae28581233f57e1d7b3dae5b606065633"></a><br/></td></tr>
<tr class="separator:ae28581233f57e1d7b3dae5b606065633"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfb26a60d06cb5c1231ab2e441acf049"><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_util_1_1_open_bit_set.html#acfb26a60d06cb5c1231ab2e441acf049">Set</a> (long index)</td></tr>
<tr class="memdesc:acfb26a60d06cb5c1231ab2e441acf049"><td class="mdescLeft">&#160;</td><td class="mdescRight">sets a bit, expanding the set size if necessary <a href="#acfb26a60d06cb5c1231ab2e441acf049"></a><br/></td></tr>
<tr class="separator:acfb26a60d06cb5c1231ab2e441acf049"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a057407553b6877e8b7cd5dda93f7ae37"><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_util_1_1_open_bit_set.html#a057407553b6877e8b7cd5dda93f7ae37">FastSet</a> (int index)</td></tr>
<tr class="memdesc:a057407553b6877e8b7cd5dda93f7ae37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the bit at the specified index. The index should be less than the <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> size. <a href="#a057407553b6877e8b7cd5dda93f7ae37"></a><br/></td></tr>
<tr class="separator:a057407553b6877e8b7cd5dda93f7ae37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3cbc469eff2fd996220d0d1dd192536"><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_util_1_1_open_bit_set.html#aa3cbc469eff2fd996220d0d1dd192536">FastSet</a> (long index)</td></tr>
<tr class="memdesc:aa3cbc469eff2fd996220d0d1dd192536"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the bit at the specified index. The index should be less than the <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> size. <a href="#aa3cbc469eff2fd996220d0d1dd192536"></a><br/></td></tr>
<tr class="separator:aa3cbc469eff2fd996220d0d1dd192536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c3347e568ed69a6c61dbc02f57e8e5f"><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_util_1_1_open_bit_set.html#a2c3347e568ed69a6c61dbc02f57e8e5f">Set</a> (long startIndex, long endIndex)</td></tr>
<tr class="memdesc:a2c3347e568ed69a6c61dbc02f57e8e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a range of bits, expanding the set size if necessary <a href="#a2c3347e568ed69a6c61dbc02f57e8e5f"></a><br/></td></tr>
<tr class="separator:a2c3347e568ed69a6c61dbc02f57e8e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee4dc45bf554e679291ea1144c0c4685"><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_util_1_1_open_bit_set.html#aee4dc45bf554e679291ea1144c0c4685">FastClear</a> (int index)</td></tr>
<tr class="memdesc:aee4dc45bf554e679291ea1144c0c4685"><td class="mdescLeft">&#160;</td><td class="mdescRight">clears a bit. The index should be less than the <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> size. <a href="#aee4dc45bf554e679291ea1144c0c4685"></a><br/></td></tr>
<tr class="separator:aee4dc45bf554e679291ea1144c0c4685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29984dff94dc3fac734d2d367c19db9b"><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_util_1_1_open_bit_set.html#a29984dff94dc3fac734d2d367c19db9b">FastClear</a> (long index)</td></tr>
<tr class="memdesc:a29984dff94dc3fac734d2d367c19db9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">clears a bit. The index should be less than the <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> size. <a href="#a29984dff94dc3fac734d2d367c19db9b"></a><br/></td></tr>
<tr class="separator:a29984dff94dc3fac734d2d367c19db9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a725e13e033210eb75baaf493b3498c9f"><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_util_1_1_open_bit_set.html#a725e13e033210eb75baaf493b3498c9f">Clear</a> (long index)</td></tr>
<tr class="memdesc:a725e13e033210eb75baaf493b3498c9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">clears a bit, allowing access beyond the current set size without changing the size. <a href="#a725e13e033210eb75baaf493b3498c9f"></a><br/></td></tr>
<tr class="separator:a725e13e033210eb75baaf493b3498c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12859ce60e4c81f11cd427f3b521d390"><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_util_1_1_open_bit_set.html#a12859ce60e4c81f11cd427f3b521d390">Clear</a> (int startIndex, int endIndex)</td></tr>
<tr class="memdesc:a12859ce60e4c81f11cd427f3b521d390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears a range of bits. Clearing past the end does not change the size of the set. <a href="#a12859ce60e4c81f11cd427f3b521d390"></a><br/></td></tr>
<tr class="separator:a12859ce60e4c81f11cd427f3b521d390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3ae9fb8c0a17e5077eef2f4cdc8e5cc"><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_util_1_1_open_bit_set.html#ab3ae9fb8c0a17e5077eef2f4cdc8e5cc">Clear</a> (long startIndex, long endIndex)</td></tr>
<tr class="memdesc:ab3ae9fb8c0a17e5077eef2f4cdc8e5cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears a range of bits. Clearing past the end does not change the size of the set. <a href="#ab3ae9fb8c0a17e5077eef2f4cdc8e5cc"></a><br/></td></tr>
<tr class="separator:ab3ae9fb8c0a17e5077eef2f4cdc8e5cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad58e002d18ccb1cbf6750f9cd1cafc92"><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_util_1_1_open_bit_set.html#ad58e002d18ccb1cbf6750f9cd1cafc92">GetAndSet</a> (int index)</td></tr>
<tr class="memdesc:ad58e002d18ccb1cbf6750f9cd1cafc92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a bit and returns the previous value. The index should be less than the <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> size. <a href="#ad58e002d18ccb1cbf6750f9cd1cafc92"></a><br/></td></tr>
<tr class="separator:ad58e002d18ccb1cbf6750f9cd1cafc92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7289ce49872ca9c92a1142d3bdbfde3"><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_util_1_1_open_bit_set.html#ae7289ce49872ca9c92a1142d3bdbfde3">GetAndSet</a> (long index)</td></tr>
<tr class="memdesc:ae7289ce49872ca9c92a1142d3bdbfde3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a bit and returns the previous value. The index should be less than the <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> size. <a href="#ae7289ce49872ca9c92a1142d3bdbfde3"></a><br/></td></tr>
<tr class="separator:ae7289ce49872ca9c92a1142d3bdbfde3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abde2b05948b3c454d90bcef0cc7ecfa6"><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_util_1_1_open_bit_set.html#abde2b05948b3c454d90bcef0cc7ecfa6">FastFlip</a> (int index)</td></tr>
<tr class="memdesc:abde2b05948b3c454d90bcef0cc7ecfa6"><td class="mdescLeft">&#160;</td><td class="mdescRight">flips a bit. The index should be less than the <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> size. <a href="#abde2b05948b3c454d90bcef0cc7ecfa6"></a><br/></td></tr>
<tr class="separator:abde2b05948b3c454d90bcef0cc7ecfa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4ec51a8a227c7c8458b84e023da4e3f"><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_util_1_1_open_bit_set.html#ad4ec51a8a227c7c8458b84e023da4e3f">FastFlip</a> (long index)</td></tr>
<tr class="memdesc:ad4ec51a8a227c7c8458b84e023da4e3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">flips a bit. The index should be less than the <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> size. <a href="#ad4ec51a8a227c7c8458b84e023da4e3f"></a><br/></td></tr>
<tr class="separator:ad4ec51a8a227c7c8458b84e023da4e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa792d629332cb21cc67c85c02ff6ff5d"><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_util_1_1_open_bit_set.html#aa792d629332cb21cc67c85c02ff6ff5d">Flip</a> (long index)</td></tr>
<tr class="memdesc:aa792d629332cb21cc67c85c02ff6ff5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">flips a bit, expanding the set size if necessary <a href="#aa792d629332cb21cc67c85c02ff6ff5d"></a><br/></td></tr>
<tr class="separator:aa792d629332cb21cc67c85c02ff6ff5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aeaa06817acc3a3dbb70d90981f8eff"><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_util_1_1_open_bit_set.html#a9aeaa06817acc3a3dbb70d90981f8eff">FlipAndGet</a> (int index)</td></tr>
<tr class="memdesc:a9aeaa06817acc3a3dbb70d90981f8eff"><td class="mdescLeft">&#160;</td><td class="mdescRight">flips a bit and returns the resulting bit value. The index should be less than the <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> size. <a href="#a9aeaa06817acc3a3dbb70d90981f8eff"></a><br/></td></tr>
<tr class="separator:a9aeaa06817acc3a3dbb70d90981f8eff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa293dee02a159bb146e289347354a545"><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_util_1_1_open_bit_set.html#aa293dee02a159bb146e289347354a545">FlipAndGet</a> (long index)</td></tr>
<tr class="memdesc:aa293dee02a159bb146e289347354a545"><td class="mdescLeft">&#160;</td><td class="mdescRight">flips a bit and returns the resulting bit value. The index should be less than the <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> size. <a href="#aa293dee02a159bb146e289347354a545"></a><br/></td></tr>
<tr class="separator:aa293dee02a159bb146e289347354a545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27c1085d1fdc52436bd1305d9b581f1c"><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_util_1_1_open_bit_set.html#a27c1085d1fdc52436bd1305d9b581f1c">Flip</a> (long startIndex, long endIndex)</td></tr>
<tr class="memdesc:a27c1085d1fdc52436bd1305d9b581f1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flips a range of bits, expanding the set size if necessary <a href="#a27c1085d1fdc52436bd1305d9b581f1c"></a><br/></td></tr>
<tr class="separator:a27c1085d1fdc52436bd1305d9b581f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80b948d365c48ddaa7ee1d84a938f3f1"><td class="memItemLeft" align="right" valign="top">virtual long&#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#a80b948d365c48ddaa7ee1d84a938f3f1">Cardinality</a> ()</td></tr>
<tr class="separator:a80b948d365c48ddaa7ee1d84a938f3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1715abb16f88a466e23cc26daa2e6239"><td class="memItemLeft" align="right" valign="top">virtual int&#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#a1715abb16f88a466e23cc26daa2e6239">NextSetBit</a> (int index)</td></tr>
<tr class="memdesc:a1715abb16f88a466e23cc26daa2e6239"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the first set bit starting at the index specified. -1 is returned if there are no more set bits. <a href="#a1715abb16f88a466e23cc26daa2e6239"></a><br/></td></tr>
<tr class="separator:a1715abb16f88a466e23cc26daa2e6239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0edac9476400be60bc9effaee693df3b"><td class="memItemLeft" align="right" valign="top">virtual long&#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#a0edac9476400be60bc9effaee693df3b">NextSetBit</a> (long index)</td></tr>
<tr class="memdesc:a0edac9476400be60bc9effaee693df3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the first set bit starting at the index specified. -1 is returned if there are no more set bits. <a href="#a0edac9476400be60bc9effaee693df3b"></a><br/></td></tr>
<tr class="separator:a0edac9476400be60bc9effaee693df3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c371191561566d0595c5265aa393c0a"><td class="memItemLeft" align="right" valign="top">virtual System.Object&#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#a4c371191561566d0595c5265aa393c0a">Clone</a> ()</td></tr>
<tr class="separator:a4c371191561566d0595c5265aa393c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30fc475a258be869ed655992e148138b"><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_util_1_1_open_bit_set.html#a30fc475a258be869ed655992e148138b">Intersect</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> other)</td></tr>
<tr class="memdesc:a30fc475a258be869ed655992e148138b"><td class="mdescLeft">&#160;</td><td class="mdescRight">this = this AND other <a href="#a30fc475a258be869ed655992e148138b"></a><br/></td></tr>
<tr class="separator:a30fc475a258be869ed655992e148138b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86957644b2b4e03105e83df169b266c9"><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_util_1_1_open_bit_set.html#a86957644b2b4e03105e83df169b266c9">Union</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> other)</td></tr>
<tr class="memdesc:a86957644b2b4e03105e83df169b266c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">this = this OR other <a href="#a86957644b2b4e03105e83df169b266c9"></a><br/></td></tr>
<tr class="separator:a86957644b2b4e03105e83df169b266c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6227709fd3b5042f311acfed45defa65"><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_util_1_1_open_bit_set.html#a6227709fd3b5042f311acfed45defa65">Remove</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> other)</td></tr>
<tr class="memdesc:a6227709fd3b5042f311acfed45defa65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all elements set in other. this = this AND_NOT other <a href="#a6227709fd3b5042f311acfed45defa65"></a><br/></td></tr>
<tr class="separator:a6227709fd3b5042f311acfed45defa65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fe53c09f9673afb4036d05ef9298c8d"><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_util_1_1_open_bit_set.html#a5fe53c09f9673afb4036d05ef9298c8d">Xor</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> other)</td></tr>
<tr class="memdesc:a5fe53c09f9673afb4036d05ef9298c8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">this = this XOR other <a href="#a5fe53c09f9673afb4036d05ef9298c8d"></a><br/></td></tr>
<tr class="separator:a5fe53c09f9673afb4036d05ef9298c8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fdeb324fef4eec0c3801968b67f42a8"><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_util_1_1_open_bit_set.html#a6fdeb324fef4eec0c3801968b67f42a8">And</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> other)</td></tr>
<tr class="separator:a6fdeb324fef4eec0c3801968b67f42a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1796923673f129f923bcb2a8c8324d8"><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_util_1_1_open_bit_set.html#ac1796923673f129f923bcb2a8c8324d8">Or</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> other)</td></tr>
<tr class="separator:ac1796923673f129f923bcb2a8c8324d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4719489a3e616544713c7abe2a7010bf"><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_util_1_1_open_bit_set.html#a4719489a3e616544713c7abe2a7010bf">AndNot</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> other)</td></tr>
<tr class="separator:a4719489a3e616544713c7abe2a7010bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eefd0dba97f9e83d02204a7c70cd6cd"><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_util_1_1_open_bit_set.html#a6eefd0dba97f9e83d02204a7c70cd6cd">Intersects</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> other)</td></tr>
<tr class="memdesc:a6eefd0dba97f9e83d02204a7c70cd6cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if the sets have any elements in common <a href="#a6eefd0dba97f9e83d02204a7c70cd6cd"></a><br/></td></tr>
<tr class="separator:a6eefd0dba97f9e83d02204a7c70cd6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8530166d7f5d5d77b4405860b501b35d"><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_util_1_1_open_bit_set.html#a8530166d7f5d5d77b4405860b501b35d">EnsureCapacityWords</a> (int numWords)</td></tr>
<tr class="memdesc:a8530166d7f5d5d77b4405860b501b35d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand the long[] with the size given as a number of words (64 bit longs). getNumWords() is unchanged by this call. <a href="#a8530166d7f5d5d77b4405860b501b35d"></a><br/></td></tr>
<tr class="separator:a8530166d7f5d5d77b4405860b501b35d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad720e69c14445d8d5ee6b7203ef8c649"><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_util_1_1_open_bit_set.html#ad720e69c14445d8d5ee6b7203ef8c649">EnsureCapacity</a> (long numBits)</td></tr>
<tr class="memdesc:ad720e69c14445d8d5ee6b7203ef8c649"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ensure that the long[] is big enough to hold numBits, expanding it if necessary. getNumWords() is unchanged by this call. <a href="#ad720e69c14445d8d5ee6b7203ef8c649"></a><br/></td></tr>
<tr class="separator:ad720e69c14445d8d5ee6b7203ef8c649"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac78156ed94f242ae6712e6acc4621e46"><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_util_1_1_open_bit_set.html#ac78156ed94f242ae6712e6acc4621e46">TrimTrailingZeros</a> ()</td></tr>
<tr class="memdesc:ac78156ed94f242ae6712e6acc4621e46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lowers numWords, the number of words in use, by checking for trailing zero words. <a href="#ac78156ed94f242ae6712e6acc4621e46"></a><br/></td></tr>
<tr class="separator:ac78156ed94f242ae6712e6acc4621e46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a234e0ba7994718443f52037c4970d7ac"><td class="memItemLeft" align="right" valign="top">override bool&#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#a234e0ba7994718443f52037c4970d7ac">Equals</a> (System.Object o)</td></tr>
<tr class="memdesc:a234e0ba7994718443f52037c4970d7ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if both sets have the same bits set <a href="#a234e0ba7994718443f52037c4970d7ac"></a><br/></td></tr>
<tr class="separator:a234e0ba7994718443f52037c4970d7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39ed1b044e52819b6367372e013972c0"><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_util_1_1_open_bit_set.html#a39ed1b044e52819b6367372e013972c0">GetHashCode</a> ()</td></tr>
<tr class="separator:a39ed1b044e52819b6367372e013972c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a20c075e4ec3a7208b99ca12c96b5f06f"><td class="memItemLeft" align="right" valign="top">static long&#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#a20c075e4ec3a7208b99ca12c96b5f06f">IntersectionCount</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> a, <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> b)</td></tr>
<tr class="memdesc:a20c075e4ec3a7208b99ca12c96b5f06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the popcount or cardinality of the intersection of the two sets. Neither set is modified. <a href="#a20c075e4ec3a7208b99ca12c96b5f06f"></a><br/></td></tr>
<tr class="separator:a20c075e4ec3a7208b99ca12c96b5f06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7900b1c975b62681cd5c0130c358ed43"><td class="memItemLeft" align="right" valign="top">static long&#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#a7900b1c975b62681cd5c0130c358ed43">UnionCount</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> a, <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> b)</td></tr>
<tr class="memdesc:a7900b1c975b62681cd5c0130c358ed43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the popcount or cardinality of the union of the two sets. Neither set is modified. <a href="#a7900b1c975b62681cd5c0130c358ed43"></a><br/></td></tr>
<tr class="separator:a7900b1c975b62681cd5c0130c358ed43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc63a8a9fd56d04d4692fcc829a7e397"><td class="memItemLeft" align="right" valign="top">static long&#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#afc63a8a9fd56d04d4692fcc829a7e397">AndNotCount</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> a, <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> b)</td></tr>
<tr class="memdesc:afc63a8a9fd56d04d4692fcc829a7e397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the popcount or cardinality of "a and not b" or "intersection(a, not(b))". Neither set is modified. <a href="#afc63a8a9fd56d04d4692fcc829a7e397"></a><br/></td></tr>
<tr class="separator:afc63a8a9fd56d04d4692fcc829a7e397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a814ad99c31817bf663a8be65970ee22c"><td class="memItemLeft" align="right" valign="top">static long&#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#a814ad99c31817bf663a8be65970ee22c">XorCount</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> a, <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a> b)</td></tr>
<tr class="memdesc:a814ad99c31817bf663a8be65970ee22c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the popcount or cardinality of the exclusive-or of the two sets. Neither set is modified. <a href="#a814ad99c31817bf663a8be65970ee22c"></a><br/></td></tr>
<tr class="separator:a814ad99c31817bf663a8be65970ee22c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47ae918510f9b8c49d0b01e77ada5f43"><td class="memItemLeft" align="right" valign="top">static int&#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#a47ae918510f9b8c49d0b01e77ada5f43">Bits2words</a> (long numBits)</td></tr>
<tr class="memdesc:a47ae918510f9b8c49d0b01e77ada5f43"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the number of 64 bit words it would take to hold numBits <a href="#a47ae918510f9b8c49d0b01e77ada5f43"></a><br/></td></tr>
<tr class="separator:a47ae918510f9b8c49d0b01e77ada5f43"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a58941bb76242fd88c23b2a99ec31cc1e"><td class="memItemLeft" align="right" valign="top">override bool&#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#a58941bb76242fd88c23b2a99ec31cc1e">IsCacheable</a><code> [get]</code></td></tr>
<tr class="memdesc:a58941bb76242fd88c23b2a99ec31cc1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This DocIdSet implementation is cacheable. <a href="#a58941bb76242fd88c23b2a99ec31cc1e"></a><br/></td></tr>
<tr class="separator:a58941bb76242fd88c23b2a99ec31cc1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a943deca371208fa10f2c2446c78f1841"><td class="memItemLeft" align="right" valign="top">virtual long[]&#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#a943deca371208fa10f2c2446c78f1841">Bits</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a943deca371208fa10f2c2446c78f1841"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: Gets or sets the long[] storing the bits <a href="#a943deca371208fa10f2c2446c78f1841"></a><br/></td></tr>
<tr class="separator:a943deca371208fa10f2c2446c78f1841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7842a2c9d22204c0427ee762e83616e0"><td class="memItemLeft" align="right" valign="top">virtual int&#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#a7842a2c9d22204c0427ee762e83616e0">NumWords</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a7842a2c9d22204c0427ee762e83616e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert: gets or sets the number of longs in the array that are in use <a href="#a7842a2c9d22204c0427ee762e83616e0"></a><br/></td></tr>
<tr class="separator:a7842a2c9d22204c0427ee762e83616e0"><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>An "open" BitSet implementation that allows direct access to the array of words storing the bits. </p>
<p>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. </p>
<p><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) </p>
<p>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>. </p>
<h3>Performance Results</h3>
<p>Test system: Pentium 4, Sun Java 1.5_06 -server -Xbatch -Xmx64M <br/>
BitSet size = 1,000,000 <br/>
Results are java.util.BitSet time divided by <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> time. </p>
<table border="1">
<tr>
<th></th><th>cardinality </th><th>intersect_count </th><th>union </th><th>nextSetBit </th><th>get </th><th>iterator </th></tr>
<tr>
<th>50% full </th><td>3.36 </td><td>3.96 </td><td>1.44 </td><td>1.46 </td><td>1.99 </td><td>1.58 </td></tr>
<tr>
<th>1% full </th><td>3.31 </td><td>3.90 </td><td>&amp;#160; </td><td>1.04 </td><td>&amp;#160; </td><td>0.99 </td></tr>
</table>
<p><br/>
Test system: AMD Opteron, 64 bit linux, Sun Java 1.5_06 -server -Xbatch -Xmx64M <br/>
BitSet size = 1,000,000 <br/>
Results are java.util.BitSet time divided by <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> time. </p>
<table border="1">
<tr>
<th></th><th>cardinality </th><th>intersect_count </th><th>union </th><th>nextSetBit </th><th>get </th><th>iterator </th></tr>
<tr>
<th>50% full </th><td>2.50 </td><td>3.50 </td><td>1.00 </td><td>1.03 </td><td>1.12 </td><td>1.25 </td></tr>
<tr>
<th>1% full </th><td>2.51 </td><td>3.49 </td><td>&amp;#160; </td><td>1.00 </td><td>&amp;#160; </td><td>1.02 </td></tr>
</table>
<p>&lt;version&gt; $Id$ &lt;/version&gt; </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00081">81</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aaa9ef764ca56c4f16dacc7e5c13b1c39"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Lucene.Net.Util.OpenBitSet.OpenBitSet </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>numBits</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs 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> large enough to hold numBits. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">numBits</td><td></td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00091">91</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ae920f4727efb929d54e19543156d961e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Lucene.Net.Util.OpenBitSet.OpenBitSet </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00097">97</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a3f9f894eb48d2cd9541cf407987009a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Lucene.Net.Util.OpenBitSet.OpenBitSet </td>
<td>(</td>
<td class="paramtype">long[]&#160;</td>
<td class="paramname"><em>bits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numWords</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs 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> from an existing long[]. <br/>
The first 64 bits are in long[0], with bit index 0 at the least significant bit, and bit index 63 at the most significant. Given a bit index, the word containing it is long[index/64], and it is at bit number index%64 within that word. numWords are the number of elements in the array that contain set bits (non-zero longs). numWords should be &lt;= bits.length, and any existing words in the array at position &gt;= numWords should be zero. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00114">114</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a6fdeb324fef4eec0c3801968b67f42a8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.And </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>other</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>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00822">822</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a4719489a3e616544713c7abe2a7010bf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.AndNot </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>other</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>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00834">834</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="afc63a8a9fd56d04d4692fcc829a7e397"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static long Lucene.Net.Util.OpenBitSet.AndNotCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the popcount or cardinality of "a and not b" or "intersection(a, not(b))". Neither set is modified. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00646">646</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a47ae918510f9b8c49d0b01e77ada5f43"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int Lucene.Net.Util.OpenBitSet.Bits2words </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>numBits</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>returns the number of 64 bit words it would take to hold numBits </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00886">886</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a8225a07c21e81a8a35e49a714251a304"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual long Lucene.Net.Util.OpenBitSet.Capacity </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 current capacity in bits (1 greater than the index of the last bit) </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00132">132</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a80b948d365c48ddaa7ee1d84a938f3f1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual long Lucene.Net.Util.OpenBitSet.Cardinality </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">
<dl class="section return"><dt>Returns</dt><dd>the number of set bits </dd></dl>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00612">612</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a725e13e033210eb75baaf493b3498c9f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Clear </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>clears a bit, allowing access beyond the current set size without changing the size.</p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00361">361</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a12859ce60e4c81f11cd427f3b521d390"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Clear </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>startIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>endIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Clears a range of bits. Clearing past the end does not change the size of the set. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">startIndex</td><td>lower index </td></tr>
<tr><td class="paramname">endIndex</td><td>one-past the last bit to clear </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00378">378</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ab3ae9fb8c0a17e5077eef2f4cdc8e5cc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Clear </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>startIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>endIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Clears a range of bits. Clearing past the end does not change the size of the set. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">startIndex</td><td>lower index </td></tr>
<tr><td class="paramname">endIndex</td><td>one-past the last bit to clear </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00423">423</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a4c371191561566d0595c5265aa393c0a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual System.Object Lucene.Net.Util.OpenBitSet.Clone </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>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00729">729</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ad720e69c14445d8d5ee6b7203ef8c649"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.EnsureCapacity </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>numBits</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>Ensure that the long[] is big enough to hold numBits, expanding it if necessary. getNumWords() is unchanged by this call. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00869">869</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a8530166d7f5d5d77b4405860b501b35d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.EnsureCapacityWords </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numWords</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>Expand the long[] with the size given as a number of words (64 bit longs). getNumWords() is unchanged by this call. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00858">858</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a234e0ba7994718443f52037c4970d7ac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">override bool Lucene.Net.Util.OpenBitSet.Equals </td>
<td>(</td>
<td class="paramtype">System.Object&#160;</td>
<td class="paramname"><em>o</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns true if both sets have the same bits set </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00893">893</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aee4dc45bf554e679291ea1144c0c4685"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.FastClear </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</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>clears a bit. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00334">334</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a29984dff94dc3fac734d2d367c19db9b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.FastClear </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>clears a bit. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00352">352</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="abde2b05948b3c454d90bcef0cc7ecfa6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.FastFlip </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</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>flips a bit. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00491">491</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ad4ec51a8a227c7c8458b84e023da4e3f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.FastFlip </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>flips a bit. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00502">502</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aa1fb74b4f2601b802fd458bfe58bf728"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.FastGet </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</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>Returns true or false for the specified bit index. The index should be less than the <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> size </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00185">185</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="afcb5737988ab2f1535d67ef5ab6e993d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.FastGet </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>Returns true or false for the specified bit index. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00211">211</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a057407553b6877e8b7cd5dda93f7ae37"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.FastSet </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</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>Sets the bit at the specified index. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00265">265</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aa3cbc469eff2fd996220d0d1dd192536"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.FastSet </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>Sets the bit at the specified index. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00276">276</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aa792d629332cb21cc67c85c02ff6ff5d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Flip </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>flips a bit, expanding the set size if necessary </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00511">511</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a27c1085d1fdc52436bd1305d9b581f1c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Flip </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>startIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>endIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Flips a range of bits, expanding the set size if necessary </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">startIndex</td><td>lower index </td></tr>
<tr><td class="paramname">endIndex</td><td>one-past the last bit to flip </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00550">550</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a9aeaa06817acc3a3dbb70d90981f8eff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.FlipAndGet </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</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>flips a bit and returns the resulting bit value. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00522">522</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aa293dee02a159bb146e289347354a545"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.FlipAndGet </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>flips a bit and returns the resulting bit value. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00534">534</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a4d6d1c73a2874847105008abd76b2b55"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.Get </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</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>Returns true or false for the specified bit index. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00168">168</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a041f606eda9d49ee94185df9fd0fc66a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.Get </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>Returns true or false for the specified bit index</p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00198">198</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ad58e002d18ccb1cbf6750f9cd1cafc92"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.GetAndSet </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</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>Sets a bit and returns the previous value. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00465">465</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ae7289ce49872ca9c92a1142d3bdbfde3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.GetAndSet </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>Sets a bit and returns the previous value. The index should be less than the <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> size. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00478">478</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ae28581233f57e1d7b3dae5b606065633"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int Lucene.Net.Util.OpenBitSet.GetBit </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</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>returns 1 if the bit is set, 0 if not. The index should be less than the <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> size </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00235">235</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a39ed1b044e52819b6367372e013972c0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">override int Lucene.Net.Util.OpenBitSet.GetHashCode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00927">927</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a30fc475a258be869ed655992e148138b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Intersect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>other</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>this = this AND other </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00745">745</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a20c075e4ec3a7208b99ca12c96b5f06f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static long Lucene.Net.Util.OpenBitSet.IntersectionCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the popcount or cardinality of the intersection of the two sets. Neither set is modified. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00620">620</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a6eefd0dba97f9e83d02204a7c70cd6cd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.Intersects </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>other</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>returns true if the sets have any elements in common </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00840">840</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="af629952e1073a0c79527e1b1dc3c2978"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Util.OpenBitSet.IsEmpty </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 true if there are no set bits </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00146">146</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aa6923d931a282a9334ec956ecf2bbaf2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">override <a class="el" href="_doc_id_bit_set_8cs.html#adbba0575d48e29661f658fa4071fde4f">DocIdSetIterator</a> Lucene.Net.Util.OpenBitSet.Iterator </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00120">120</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a1715abb16f88a466e23cc26daa2e6239"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int Lucene.Net.Util.OpenBitSet.NextSetBit </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</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>Returns the index of the first set bit starting at the index specified. -1 is returned if there are no more set bits. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00677">677</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a0edac9476400be60bc9effaee693df3b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual long Lucene.Net.Util.OpenBitSet.NextSetBit </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>Returns the index of the first set bit starting at the index specified. -1 is returned if there are no more set bits. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00703">703</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ac1796923673f129f923bcb2a8c8324d8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Or </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>other</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>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00828">828</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a6227709fd3b5042f311acfed45defa65"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Remove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>other</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>Remove all elements set in other. this = this AND_NOT other </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00787">787</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="acfb26a60d06cb5c1231ab2e441acf049"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Set </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>index</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>sets a bit, expanding the set size if necessary </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00253">253</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a2c3347e568ed69a6c61dbc02f57e8e5f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Set </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>startIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>endIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Sets a range of bits, expanding the set size if necessary </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">startIndex</td><td>lower index </td></tr>
<tr><td class="paramname">endIndex</td><td>one-past the last bit to set </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00291">291</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a19662b649fa0cfc0b67234a37bde2bd5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual long Lucene.Net.Util.OpenBitSet.Size </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 current capacity of this set. Included for compatibility. This is <em>not</em> equal to <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html#a80b948d365c48ddaa7ee1d84a938f3f1">Cardinality</a> </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00140">140</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ac78156ed94f242ae6712e6acc4621e46"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.TrimTrailingZeros </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>Lowers numWords, the number of words in use, by checking for trailing zero words. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00877">877</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a86957644b2b4e03105e83df169b266c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Union </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>other</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>this = this OR other </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00766">766</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a7900b1c975b62681cd5c0130c358ed43"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static long Lucene.Net.Util.OpenBitSet.UnionCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the popcount or cardinality of the union of the two sets. Neither set is modified. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00628">628</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a5fe53c09f9673afb4036d05ef9298c8d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Util.OpenBitSet.Xor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>other</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>this = this XOR other </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00799">799</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a814ad99c31817bf663a8be65970ee22c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static long Lucene.Net.Util.OpenBitSet.XorCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_open_bit_set.html">OpenBitSet</a>&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the popcount or cardinality of the exclusive-or of the two sets. Neither set is modified. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00659">659</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a943deca371208fa10f2c2446c78f1841"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual long [] Lucene.Net.Util.OpenBitSet.Bits</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: Gets or sets the long[] storing the bits </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00154">154</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a58941bb76242fd88c23b2a99ec31cc1e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override bool Lucene.Net.Util.OpenBitSet.IsCacheable</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This DocIdSet implementation is cacheable. </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00127">127</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a7842a2c9d22204c0427ee762e83616e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int Lucene.Net.Util.OpenBitSet.NumWords</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert: gets or sets the number of longs in the array that are in use </p>
<p>Definition at line <a class="el" href="_open_bit_set_8cs_source.html#l00161">161</a> of file <a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>core/Util/<a class="el" href="_open_bit_set_8cs_source.html">OpenBitSet.cs</a></li>
</ul>
</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>