svf-tools 1.0.424 → 1.0.425
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +7 -7
- package/SVF-doxygen/html/html/functions_func_g.html +1 -1
- package/SVF-doxygen/html/html/functions_func_o.html +2 -2
- package/SVF-doxygen/html/html/functions_g.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +1 -1
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/include/Graphs/ICFGEdge.h +1 -1
- package/include/MemoryModel/PointsTo.h +1 -1
- package/include/Util/CoreBitVector.h +1 -1
- package/lib/MemoryModel/PointsTo.cpp +2 -2
- package/lib/Util/CoreBitVector.cpp +1 -1
- package/package.json +1 -1
|
@@ -66,7 +66,7 @@ $(function() {
|
|
|
66
66
|
<div class="title">CoreBitVector.h</div> </div>
|
|
67
67
|
</div><!--header-->
|
|
68
68
|
<div class="contents">
|
|
69
|
-
<a href="CoreBitVector_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- CoreBitVector.h -- Dynamically sized bit vector data structure ------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * CoreBitVector.h</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * Contiguous bit vector which resizes as required by common operations.</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * Created on: Jan 31, 2021</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * Author: Mohamad Barbar</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> */</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef COREBITVECTOR_H_</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define COREBITVECTOR_H_</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <assert.h></span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <vector></span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>"</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> {</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html"> 30</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#aaee26ffc13d05cd57f0fd7e4c2ea875c"> 33</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="classSVF_1_1CoreBitVector.html#aaee26ffc13d05cd57f0fd7e4c2ea875c">Word</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a63f5e4a36359ae62401e5f8dfecb86a3"> 34</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a63f5e4a36359ae62401e5f8dfecb86a3">WordSize</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a45a3bf8465e63f723c0a551f0b0f37ff"> 36</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a>;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> <a class="code" href="classSVF_1_1CoreBitVector.html#a45a3bf8465e63f723c0a551f0b0f37ff">const_iterator</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6"> 38</a></span>  <span class="keyword">typedef</span> const_iterator <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">iterator</a>;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="classSVF_1_1CoreBitVector.html#adb5b13df8bc76f00ceb145711cfb77e1">CoreBitVector</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="classSVF_1_1CoreBitVector.html#adb5b13df8bc76f00ceb145711cfb77e1">CoreBitVector</a>(<span class="keywordtype">size_t</span> n);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="classSVF_1_1CoreBitVector.html#adb5b13df8bc76f00ceb145711cfb77e1">CoreBitVector</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &cbv);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="classSVF_1_1CoreBitVector.html#adb5b13df8bc76f00ceb145711cfb77e1">CoreBitVector</a>(<a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &&cbv);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &<a class="code" href="classSVF_1_1CoreBitVector.html#a3594d997fba0aa6201855199a884d98d">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &<a class="code" href="classSVF_1_1CoreBitVector.html#a3594d997fba0aa6201855199a884d98d">operator=</a>(<a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &&rhs);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a98b9795b4fdc74d9d2efa9a3f2ecb62f">empty</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector.html#abfed2e7daf2407e11cade625ac19a6ce">count</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a1e523bab1013a9f3e9eaea56e53afa58">clear</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a7b20ffd3cd4a0ffc48a1348f657deaa0">test</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit) <span class="keyword">const</span>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a3299b296d20d2b76c6538ba51a684972">test_and_set</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a42fc777d574db4ef23b02308b944a85b">reset</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#af08c16aed45dfa65472f0b5ae518add2">contains</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a15be4ce7e9a07d9b01da0c60d51b22de">intersects</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a0ddd7fc5e043d36f3c62c2fb93b22684">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#af142d3bb07e77c28bba6ece5b5b13f51">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#af8e63360242a49fb63c3ef3d7071503d">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#ae84257a1544b94c9abf5c8d0f6cfaec9">operator&=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a5b87ae9d4a713483522666c893d7eac9">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a8ba857b68282055e485c441892e39b9b">intersectWithComplement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a8ba857b68282055e485c441892e39b9b">intersectWithComplement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CoreBitVector.html#af979ecb48d3d5296bce5bd0b4676e359">hash</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  const_iterator <a class="code" href="classSVF_1_1CoreBitVector.html#a835bf11a1f698942db8e6bdadbbfd1f3">begin</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  const_iterator <a class="code" href="classSVF_1_1CoreBitVector.html#a93cdd9890522cc9fee2451567e0b1f0d">end</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#ab6d789e3c68390a9026fd4f8c4cf344a">extendBackward</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a5d3f1eb85bc388cb76c588b8d8b3c181">extendForward</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a73e5b15854f4f56f50992ed0d0cc7349">extendTo</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CoreBitVector.html#ad73fca28bd4882eaa70817023a632d35">indexForBit</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit) <span class="keyword">const</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a3c85fd2084e52df869cb8fcf2dab6486">canHold</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit) <span class="keyword">const</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector.html#a8825e54f584be8aa0ff627335064244e">finalBit</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector.html#a1ca118240e4c7f678d52a6ca4b3e6b2f">firstCommonBit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a087f69adea5e9e83bd908a1ab0ee1383">nextSetIndex</a>(<span class="keyword">const</span> <span class="keywordtype">size_t</span> start) <span class="keyword">const</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html"> 147</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a3b33f7857169d26e1b90fbaa593e79ef"> 150</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a3b33f7857169d26e1b90fbaa593e79ef">iterator_category</a> = std::forward_iterator_tag;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a6a59f0e97fc9cf278ed22b0a4c109ae1"> 151</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a6a59f0e97fc9cf278ed22b0a4c109ae1">value_type</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#aeabc3acd9ce15b8beff0db8a49d8781f"> 152</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#aeabc3acd9ce15b8beff0db8a49d8781f">difference_type</a> = std::ptrdiff_t;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a6d8d22b1c8b4405a8e3caddacae6f8f5"> 153</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a6d8d22b1c8b4405a8e3caddacae6f8f5">pointer</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> *;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a65313b9702cf6767d2936852e09f04c5"> 154</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a65313b9702cf6767d2936852e09f04c5">reference</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#abe0289ad45158397b6950afc920f34ef">CoreBitVectorIterator</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#abe0289ad45158397b6950afc920f34ef">CoreBitVectorIterator</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> *<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>, <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a93cdd9890522cc9fee2451567e0b1f0d">end</a>=<span class="keyword">false</span>);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#abe0289ad45158397b6950afc920f34ef">CoreBitVectorIterator</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#abe0289ad45158397b6950afc920f34ef">CoreBitVectorIterator</a>(<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &&<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#adb5a17e5916052f49390d6e99ff47b22">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#adb5a17e5916052f49390d6e99ff47b22">operator=</a>(<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &&<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0afff5162af357634e7213e85b5371c7">operator++</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0afff5162af357634e7213e85b5371c7">operator++</a>(<span class="keywordtype">int</span>);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a86bc0a10874af0d43c23cc073d65da07">operator*</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a7278c27a0ab2096b29a537a8afe0be5e">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#aebdb5ddb9b50704f83dc924b7bfac74c">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#ad3af46dcfb0e2846587eb5a71f38161f">atEnd</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590"> 188</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> *<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a1afa1cb9e8377d3dab767aa4bfc713dc"> 190</a></span>  std::vector<Word>::const_iterator <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a1afa1cb9e8377d3dab767aa4bfc713dc">wordIt</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a853b685cf022839c183df46f1cafe638"> 193</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a853b685cf022839c183df46f1cafe638">bit</a>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  };</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd"> 198</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd">offset</a>;</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b"> 200</a></span>  std::vector<Word> <a class="code" href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b">words</a>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> };</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">template</span> <></div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="structSVF_1_1Hash_3_01CoreBitVector_01_4.html"> 204</a></span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1Hash.html">Hash</a><<a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a>></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> {</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="structSVF_1_1Hash_3_01CoreBitVector_01_4.html#ad54ea05fd0e03af862a5d72f8c4db411"> 206</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structSVF_1_1Hash_3_01CoreBitVector_01_4.html#ad54ea05fd0e03af862a5d72f8c4db411">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>)<span class="keyword"> const </span>{</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> cbv.<a class="code" href="classSVF_1_1CoreBitVector.html#af979ecb48d3d5296bce5bd0b4676e359">hash</a>();</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> };</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> };</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor">#endif // COREBITVECTOR_H_</span></div><div class="ttc" id="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator_html_a853b685cf022839c183df46f1cafe638"><div class="ttname"><a href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a853b685cf022839c183df46f1cafe638">SVF::CoreBitVector::CoreBitVectorIterator::bit</a></div><div class="ttdeci">u32_t bit</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00193">CoreBitVector.h:193</a></div></div>
|
|
69
|
+
<a href="CoreBitVector_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- CoreBitVector.h -- Dynamically sized bit vector data structure ------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * CoreBitVector.h</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * Contiguous bit vector which resizes as required by common operations.</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * Created on: Jan 31, 2021</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * Author: Mohamad Barbar</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> */</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef COREBITVECTOR_H_</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define COREBITVECTOR_H_</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <assert.h></span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <vector></span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>"</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> {</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html"> 30</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#aaee26ffc13d05cd57f0fd7e4c2ea875c"> 33</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="classSVF_1_1CoreBitVector.html#aaee26ffc13d05cd57f0fd7e4c2ea875c">Word</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a63f5e4a36359ae62401e5f8dfecb86a3"> 34</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a63f5e4a36359ae62401e5f8dfecb86a3">WordSize</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a45a3bf8465e63f723c0a551f0b0f37ff"> 36</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a>;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> <a class="code" href="classSVF_1_1CoreBitVector.html#a45a3bf8465e63f723c0a551f0b0f37ff">const_iterator</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6"> 38</a></span>  <span class="keyword">typedef</span> const_iterator <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">iterator</a>;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="classSVF_1_1CoreBitVector.html#adb5b13df8bc76f00ceb145711cfb77e1">CoreBitVector</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="classSVF_1_1CoreBitVector.html#adb5b13df8bc76f00ceb145711cfb77e1">CoreBitVector</a>(<span class="keywordtype">size_t</span> n);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="classSVF_1_1CoreBitVector.html#adb5b13df8bc76f00ceb145711cfb77e1">CoreBitVector</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &cbv);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="classSVF_1_1CoreBitVector.html#adb5b13df8bc76f00ceb145711cfb77e1">CoreBitVector</a>(<a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &&cbv);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &<a class="code" href="classSVF_1_1CoreBitVector.html#a3594d997fba0aa6201855199a884d98d">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &<a class="code" href="classSVF_1_1CoreBitVector.html#a3594d997fba0aa6201855199a884d98d">operator=</a>(<a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &&rhs);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a98b9795b4fdc74d9d2efa9a3f2ecb62f">empty</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector.html#abfed2e7daf2407e11cade625ac19a6ce">count</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a1e523bab1013a9f3e9eaea56e53afa58">clear</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a7b20ffd3cd4a0ffc48a1348f657deaa0">test</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit) <span class="keyword">const</span>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a3299b296d20d2b76c6538ba51a684972">test_and_set</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a42fc777d574db4ef23b02308b944a85b">reset</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#af08c16aed45dfa65472f0b5ae518add2">contains</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a15be4ce7e9a07d9b01da0c60d51b22de">intersects</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a0ddd7fc5e043d36f3c62c2fb93b22684">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#af142d3bb07e77c28bba6ece5b5b13f51">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#af8e63360242a49fb63c3ef3d7071503d">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#ae84257a1544b94c9abf5c8d0f6cfaec9">operator&=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a5b87ae9d4a713483522666c893d7eac9">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a8ba857b68282055e485c441892e39b9b">intersectWithComplement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a8ba857b68282055e485c441892e39b9b">intersectWithComplement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CoreBitVector.html#af979ecb48d3d5296bce5bd0b4676e359">hash</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  const_iterator <a class="code" href="classSVF_1_1CoreBitVector.html#a835bf11a1f698942db8e6bdadbbfd1f3">begin</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  const_iterator <a class="code" href="classSVF_1_1CoreBitVector.html#a93cdd9890522cc9fee2451567e0b1f0d">end</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#ab6d789e3c68390a9026fd4f8c4cf344a">extendBackward</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a5d3f1eb85bc388cb76c588b8d8b3c181">extendForward</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a73e5b15854f4f56f50992ed0d0cc7349">extendTo</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CoreBitVector.html#ad73fca28bd4882eaa70817023a632d35">indexForBit</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit) <span class="keyword">const</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a3c85fd2084e52df869cb8fcf2dab6486">canHold</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit) <span class="keyword">const</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector.html#a8825e54f584be8aa0ff627335064244e">finalBit</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector.html#a1ca118240e4c7f678d52a6ca4b3e6b2f">firstCommonBit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a087f69adea5e9e83bd908a1ab0ee1383">nextSetIndex</a>(<span class="keyword">const</span> <span class="keywordtype">size_t</span> start) <span class="keyword">const</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html"> 147</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a3b33f7857169d26e1b90fbaa593e79ef"> 150</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a3b33f7857169d26e1b90fbaa593e79ef">iterator_category</a> = std::forward_iterator_tag;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a6a59f0e97fc9cf278ed22b0a4c109ae1"> 151</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a6a59f0e97fc9cf278ed22b0a4c109ae1">value_type</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#aeabc3acd9ce15b8beff0db8a49d8781f"> 152</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#aeabc3acd9ce15b8beff0db8a49d8781f">difference_type</a> = std::ptrdiff_t;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a6d8d22b1c8b4405a8e3caddacae6f8f5"> 153</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a6d8d22b1c8b4405a8e3caddacae6f8f5">pointer</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> *;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a65313b9702cf6767d2936852e09f04c5"> 154</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a65313b9702cf6767d2936852e09f04c5">reference</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#abe0289ad45158397b6950afc920f34ef">CoreBitVectorIterator</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#abe0289ad45158397b6950afc920f34ef">CoreBitVectorIterator</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> *<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>, <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector.html#a93cdd9890522cc9fee2451567e0b1f0d">end</a>=<span class="keyword">false</span>);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#abe0289ad45158397b6950afc920f34ef">CoreBitVectorIterator</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#abe0289ad45158397b6950afc920f34ef">CoreBitVectorIterator</a>(<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &&<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#adb5a17e5916052f49390d6e99ff47b22">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#adb5a17e5916052f49390d6e99ff47b22">operator=</a>(<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &&<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0afff5162af357634e7213e85b5371c7">operator++</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0afff5162af357634e7213e85b5371c7">operator++</a>(<span class="keywordtype">int</span>);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#aec0b2c6ebcf16734a69a54613a18b33e">operator*</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a7278c27a0ab2096b29a537a8afe0be5e">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#aebdb5ddb9b50704f83dc924b7bfac74c">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVectorIterator</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#ad3af46dcfb0e2846587eb5a71f38161f">atEnd</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590"> 188</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> *<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a1afa1cb9e8377d3dab767aa4bfc713dc"> 190</a></span>  std::vector<Word>::const_iterator <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a1afa1cb9e8377d3dab767aa4bfc713dc">wordIt</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a853b685cf022839c183df46f1cafe638"> 193</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a853b685cf022839c183df46f1cafe638">bit</a>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  };</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd"> 198</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd">offset</a>;</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b"> 200</a></span>  std::vector<Word> <a class="code" href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b">words</a>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> };</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">template</span> <></div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="structSVF_1_1Hash_3_01CoreBitVector_01_4.html"> 204</a></span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1Hash.html">Hash</a><<a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a>></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> {</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="structSVF_1_1Hash_3_01CoreBitVector_01_4.html#ad54ea05fd0e03af862a5d72f8c4db411"> 206</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structSVF_1_1Hash_3_01CoreBitVector_01_4.html#ad54ea05fd0e03af862a5d72f8c4db411">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> &<a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">cbv</a>)<span class="keyword"> const </span>{</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> cbv.<a class="code" href="classSVF_1_1CoreBitVector.html#af979ecb48d3d5296bce5bd0b4676e359">hash</a>();</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> };</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> };</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor">#endif // COREBITVECTOR_H_</span></div><div class="ttc" id="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator_html_a853b685cf022839c183df46f1cafe638"><div class="ttname"><a href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a853b685cf022839c183df46f1cafe638">SVF::CoreBitVector::CoreBitVectorIterator::bit</a></div><div class="ttdeci">u32_t bit</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00193">CoreBitVector.h:193</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator_html_aeabc3acd9ce15b8beff0db8a49d8781f"><div class="ttname"><a href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#aeabc3acd9ce15b8beff0db8a49d8781f">SVF::CoreBitVector::CoreBitVectorIterator::difference_type</a></div><div class="ttdeci">std::ptrdiff_t difference_type</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00152">CoreBitVector.h:152</a></div></div>
|
|
71
71
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a5b87ae9d4a713483522666c893d7eac9"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a5b87ae9d4a713483522666c893d7eac9">SVF::CoreBitVector::operator-=</a></div><div class="ttdeci">bool operator-=(const CoreBitVector &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00261">CoreBitVector.cpp:261</a></div></div>
|
|
72
72
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a42fc777d574db4ef23b02308b944a85b"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a42fc777d574db4ef23b02308b944a85b">SVF::CoreBitVector::reset</a></div><div class="ttdeci">void reset(u32_t bit)</div><div class="ttdoc">Resets bit in the CBV. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00095">CoreBitVector.cpp:95</a></div></div>
|
|
@@ -116,8 +116,8 @@ $(function() {
|
|
|
116
116
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a8ba857b68282055e485c441892e39b9b"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a8ba857b68282055e485c441892e39b9b">SVF::CoreBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const CoreBitVector &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00284">CoreBitVector.cpp:284</a></div></div>
|
|
117
117
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_af979ecb48d3d5296bce5bd0b4676e359"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#af979ecb48d3d5296bce5bd0b4676e359">SVF::CoreBitVector::hash</a></div><div class="ttdeci">size_t hash(void) const</div><div class="ttdoc">Hash for this CBV. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00296">CoreBitVector.cpp:296</a></div></div>
|
|
118
118
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a3594d997fba0aa6201855199a884d98d"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a3594d997fba0aa6201855199a884d98d">SVF::CoreBitVector::operator=</a></div><div class="ttdeci">CoreBitVector & operator=(const CoreBitVector &rhs)</div><div class="ttdoc">Copy assignment. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00036">CoreBitVector.cpp:36</a></div></div>
|
|
119
|
-
<div class="ttc" id="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator_html_a86bc0a10874af0d43c23cc073d65da07"><div class="ttname"><a href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a86bc0a10874af0d43c23cc073d65da07">SVF::CoreBitVector::CoreBitVectorIterator::operator*</a></div><div class="ttdeci">const u32_t operator*(void) const</div><div class="ttdoc">Dereference: *it. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00425">CoreBitVector.cpp:425</a></div></div>
|
|
120
119
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a98b9795b4fdc74d9d2efa9a3f2ecb62f"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a98b9795b4fdc74d9d2efa9a3f2ecb62f">SVF::CoreBitVector::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if no bits are set. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00050">CoreBitVector.cpp:50</a></div></div>
|
|
120
|
+
<div class="ttc" id="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator_html_aec0b2c6ebcf16734a69a54613a18b33e"><div class="ttname"><a href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#aec0b2c6ebcf16734a69a54613a18b33e">SVF::CoreBitVector::CoreBitVectorIterator::operator*</a></div><div class="ttdeci">u32_t operator*(void) const</div><div class="ttdoc">Dereference: *it. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00425">CoreBitVector.cpp:425</a></div></div>
|
|
121
121
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a807283a917e845ef19c4962b1744e98b"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b">SVF::CoreBitVector::words</a></div><div class="ttdeci">std::vector< Word > words</div><div class="ttdoc">Our actual bit vector. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00200">CoreBitVector.h:200</a></div></div>
|
|
122
122
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a087f69adea5e9e83bd908a1ab0ee1383"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a087f69adea5e9e83bd908a1ab0ee1383">SVF::CoreBitVector::nextSetIndex</a></div><div class="ttdeci">size_t nextSetIndex(const size_t start) const</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00374">CoreBitVector.cpp:374</a></div></div>
|
|
123
123
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a3c85fd2084e52df869cb8fcf2dab6486"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a3c85fd2084e52df869cb8fcf2dab6486">SVF::CoreBitVector::canHold</a></div><div class="ttdeci">bool canHold(u32_t bit) const</div><div class="ttdoc">Returns true if bit can fit in this CBV without resizing. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00364">CoreBitVector.cpp:364</a></div></div>
|