svf-tools 1.0.528 → 1.0.531
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/CMakeLists.txt +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +10 -10
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/DCHG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h.html +4 -4
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +10 -10
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +157 -1351
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +76 -75
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +24 -24
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +34 -34
- package/SVF-doxygen/html/html/SVFLoop_8h_source.html +32 -32
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TCT_8h_source.html +2 -2
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +149 -149
- package/SVF-doxygen/html/html/classSVF_1_1DCHNode.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTASCEV.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +88 -88
- package/SVF-doxygen/html/html/classSVF_1_1SVFLoop.html +57 -57
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +2 -2
- package/SVF-doxygen/html/html/globals_a.html +0 -9
- package/SVF-doxygen/html/html/globals_b.html +4 -19
- package/SVF-doxygen/html/html/globals_c.html +8 -50
- package/SVF-doxygen/html/html/globals_d.html +0 -33
- package/SVF-doxygen/html/html/globals_e.html +0 -6
- package/SVF-doxygen/html/html/globals_f.html +2 -8
- package/SVF-doxygen/html/html/globals_g.html +0 -9
- package/SVF-doxygen/html/html/globals_i.html +4 -22
- package/SVF-doxygen/html/html/globals_l.html +2 -8
- package/SVF-doxygen/html/html/globals_m.html +1 -13
- package/SVF-doxygen/html/html/globals_p.html +0 -3
- package/SVF-doxygen/html/html/globals_r.html +4 -10
- package/SVF-doxygen/html/html/globals_s.html +0 -30
- package/SVF-doxygen/html/html/globals_type.html +1 -284
- package/SVF-doxygen/html/html/globals_u.html +0 -15
- package/SVF-doxygen/html/html/globals_v.html +2 -17
- package/SVF-doxygen/html/html/menudata.js +19 -34
- package/SVF-doxygen/html/html/namespaceSVF.html +1825 -475
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +45 -45
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +10 -10
- package/SVF-doxygen/html/html/namespacellvm.html +4 -8
- package/SVF-doxygen/html/html/namespacemembers.html +9 -0
- package/SVF-doxygen/html/html/namespacemembers_b.html +13 -0
- package/SVF-doxygen/html/html/namespacemembers_c.html +43 -1
- package/SVF-doxygen/html/html/namespacemembers_d.html +34 -1
- package/SVF-doxygen/html/html/namespacemembers_e.html +6 -0
- package/SVF-doxygen/html/html/namespacemembers_f.html +6 -0
- package/SVF-doxygen/html/html/namespacemembers_g.html +13 -4
- package/SVF-doxygen/html/html/namespacemembers_i.html +26 -8
- package/SVF-doxygen/html/html/namespacemembers_l.html +6 -0
- package/SVF-doxygen/html/html/namespacemembers_m.html +12 -0
- package/SVF-doxygen/html/html/namespacemembers_p.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_r.html +6 -0
- package/SVF-doxygen/html/html/namespacemembers_s.html +30 -0
- package/SVF-doxygen/html/html/namespacemembers_type.html +7 -436
- package/SVF-doxygen/html/html/namespacemembers_type_b.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_c.html +8 -8
- package/SVF-doxygen/html/html/namespacemembers_type_e.html +6 -0
- package/SVF-doxygen/html/html/namespacemembers_type_g.html +9 -0
- package/SVF-doxygen/html/html/namespacemembers_type_l.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_type_m.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_n.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_type_p.html +0 -6
- package/SVF-doxygen/html/html/namespacemembers_type_s.html +3 -18
- package/SVF-doxygen/html/html/namespacemembers_type_t.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_type_v.html +0 -6
- package/SVF-doxygen/html/html/namespacemembers_u.html +15 -0
- package/SVF-doxygen/html/html/namespacemembers_v.html +15 -0
- package/SVF-doxygen/html/html/search/all_1.js +3 -3
- package/SVF-doxygen/html/html/search/all_10.js +1 -1
- package/SVF-doxygen/html/html/search/all_11.js +2 -2
- package/SVF-doxygen/html/html/search/all_12.js +10 -10
- package/SVF-doxygen/html/html/search/all_14.js +5 -5
- package/SVF-doxygen/html/html/search/all_15.js +5 -5
- package/SVF-doxygen/html/html/search/all_2.js +5 -5
- package/SVF-doxygen/html/html/search/all_3.js +14 -14
- package/SVF-doxygen/html/html/search/all_4.js +11 -11
- package/SVF-doxygen/html/html/search/all_5.js +2 -2
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +3 -3
- package/SVF-doxygen/html/html/search/all_9.js +6 -6
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_0.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_1.js +5 -5
- package/SVF-doxygen/html/html/search/typedefs_10.js +10 -10
- package/SVF-doxygen/html/html/search/typedefs_12.js +5 -5
- package/SVF-doxygen/html/html/search/typedefs_13.js +5 -5
- package/SVF-doxygen/html/html/search/typedefs_2.js +14 -14
- package/SVF-doxygen/html/html/search/typedefs_3.js +11 -11
- package/SVF-doxygen/html/html/search/typedefs_4.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_5.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_7.js +6 -6
- package/SVF-doxygen/html/html/search/typedefs_a.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_b.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_e.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_f.js +2 -2
- package/include/MemoryModel/PointsTo.h +1 -1
- package/include/MemoryModel/SVFLoop.h +2 -1
- package/include/SVF-FE/BasicTypes.h +5 -0
- package/include/SVF-FE/CHGBuilder.h +2 -1
- package/include/SVF-FE/LLVMLoopAnalysis.h +1 -1
- package/include/SVF-FE/SymbolTableBuilder.h +1 -1
- package/include/Util/CoreBitVector.h +1 -1
- package/include/Util/DPItem.h +1 -1
- package/include/Util/ExeState.h +1 -1
- package/include/Util/SparseBitVector.h +1 -1
- package/include/Util/SymState.h +1 -1
- package/include/Util/Z3Expr.h +3 -2
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
- package/package.json +1 -1
|
@@ -66,7 +66,7 @@ $(function() {
|
|
|
66
66
|
<div class="title">PointsTo.h</div> </div>
|
|
67
67
|
</div><!--header-->
|
|
68
68
|
<div class="contents">
|
|
69
|
-
<a href="PointsTo_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">//===- PointsTo.h -- Wrapper of set-like data structures ------------//</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"> * PointsTo.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"> * Abstracts away data structures to be used as points-to sets.</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: Feb 01, 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 POINTSTO_H_</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define POINTSTO_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 <vector></span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>"</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="BitVector_8h.html">Util/BitVector.h</a>"</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="CoreBitVector_8h.html">Util/CoreBitVector.h</a>"</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="SparseBitVector_8h.html">Util/SparseBitVector.h</a>"</span></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> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> {</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html"> 28</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e"> 31</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e">Type</a></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  {</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a"> 33</a></span>  <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SBV</a>,</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb"> 34</a></span>  <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">CBV</a>,</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892"> 35</a></span>  <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">BV</a>,</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  };</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#ad37fe6c7bb8b509a837348a12cab80c1"> 38</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a>;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> <a class="code" href="classSVF_1_1PointsTo.html#ad37fe6c7bb8b509a837348a12cab80c1">const_iterator</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f"> 40</a></span>  <span class="keyword">typedef</span> const_iterator <a class="code" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">iterator</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7"> 42</a></span>  <span class="keyword">typedef</span> std::shared_ptr<std::vector<NodeID>> <a class="code" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">MappingPtr</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &pt);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &&pt);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classSVF_1_1PointsTo.html#a2a12ab349a01314b0d7b4074a0c28677">~PointsTo</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &<a class="code" href="classSVF_1_1PointsTo.html#a269d334618e4acc7e739317fd58d7fe7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &<a class="code" href="classSVF_1_1PointsTo.html#a269d334618e4acc7e739317fd58d7fe7">operator=</a>(<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &&rhs);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointsTo.html#acb5af4139d42dcd19c6327520f074e91">clear</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) <span class="keyword">const</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a1161d97df5ffc8f11d1a34df9a4d5bdf">test_and_set</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointsTo.html#a1ef805e714cfc29f0f3fa56c5ee964f6">reset</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#ab31a53693fe070767b8de74e88091cd8">contains</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#ad78e4109c839914c4f7e37ca78046f1d">intersects</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordtype">int</span> <a class="code" href="classSVF_1_1PointsTo.html#a12883234179873d279e72e5947aad836">find_first</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a6b29626e4e4298943d2ad839f06db83e">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a888f05fe8da4b95c44226f3c69469c75">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#aa8644057ec182382e3c34e90d7d61ade">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#aa8644057ec182382e3c34e90d7d61ade">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> &rhs);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a164aced0d6a19dd7ba8124ec2e77674c">operator&=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a21244b7b04d6aa01787a11d116bc9952">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#af81f9e91eec4bf82ccfb867c2415f9bd">intersectWithComplement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointsTo.html#af81f9e91eec4bf82ccfb867c2415f9bd">intersectWithComplement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1PointsTo.html#ae4749cf6dc43645e2479cefbcc246637">toNodeBS</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1PointsTo.html#afe275b31ea93a3ecea4e19660ceef0ae">hash</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</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_1PointsTo.html#ac630a1bfa028240f9128e3b60d9413a4">checkAndRemap</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6"> 128</a></span>  const_iterator <a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6"> 132</a></span>  const_iterator <a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a>(<span class="keyword">this</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a06b981a2b7b04549f494dffde974c56d">getNodeMapping</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a6c1885ddfcc72604463f7c4ea94d2f74">getCurrentBestNodeMapping</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a40759008e0cf6f790d48727f7b0ca38b">getCurrentBestReverseNodeMapping</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointsTo.html#a84eca4c7fc833f8ca4d119cd4da08ca8">setCurrentBestNodeMapping</a>(MappingPtr newCurrentBestNodeMapping,</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  MappingPtr newCurrentBestReverseNodeMapping);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointsTo.html#aeda7466cdd9f77978981e2a518baa863">getInternalNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) <span class="keyword">const</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointsTo.html#a80a3caf74c138b3833c79622fef7b626">getExternalNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> n) <span class="keyword">const</span>;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#aa1e773b7abda97441d6ffe39c668d4ec">metaSame</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &pt) <span class="keyword">const</span>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d"> 157</a></span>  <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d">currentBestNodeMapping</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a53e1230c87912d26604990eb8b0cbc0c"> 159</a></span>  <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a53e1230c87912d26604990eb8b0cbc0c">currentBestReverseNodeMapping</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">union</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  {</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084"> 166</a></span>  <a class="code" href="classSVF_1_1SparseBitVector.html">SparseBitVector<></a> <a class="code" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">sbv</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605"> 168</a></span>  <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> <a class="code" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">cbv</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587"> 170</a></span>  <a class="code" href="classSVF_1_1BitVector.html">BitVector</a> <a class="code" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587">bv</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  };</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f"> 174</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e">Type</a> <a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda"> 176</a></span>  MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a>;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1"> 178</a></span>  MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">reverseNodeMapping</a>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html"> 181</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a></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">public</span>:</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac99c635e1057f19a495808be84221385"> 184</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac99c635e1057f19a495808be84221385">iterator_category</a> = std::forward_iterator_tag;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab81cda692bb6ad451276f571a25c0751"> 185</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab81cda692bb6ad451276f571a25c0751">value_type</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a79da80a016d68d70b63bcaa884cf53cb"> 186</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a79da80a016d68d70b63bcaa884cf53cb">difference_type</a> = std::ptrdiff_t;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aff5a4ee71f88ab9b0e1851d6e41e294f"> 187</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aff5a4ee71f88ab9b0e1851d6e41e294f">pointer</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> *;</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a28e12df86b7514e119e2b4f7bffd29c9"> 188</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a28e12df86b7514e119e2b4f7bffd29c9">reference</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16">PointsToIterator</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16">PointsToIterator</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &pt);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16">PointsToIterator</a>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &&pt);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16">PointsToIterator</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> *pt, <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>=<span class="keyword">false</span>);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#acbbcff746f7f0dc37815e688e9172f21">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &rhs);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#acbbcff746f7f0dc37815e688e9172f21">operator=</a>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &&rhs);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a754d85d463ebdbecfaab41aac106f14f">operator++</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a754d85d463ebdbecfaab41aac106f14f">operator++</a>(<span class="keywordtype">int</span>);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a06c8e8c242c5de90c307665f589e3180">operator*</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aef4e1b40faa327f8bbf42a82df29c7b4">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa90476b4c0e75a256f8ff855f99ca970">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a049cecdc3aa76a31eacdbe48f6a820e7">atEnd</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5"> 222</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> *<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keyword">union</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  {</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a735a2a9f0c3f4bc3997edf11b133c0f9"> 227</a></span>  <a class="code" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">SparseBitVector<>::iterator</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a735a2a9f0c3f4bc3997edf11b133c0f9">sbvIt</a>;</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2"> 228</a></span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVector::iterator</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">cbvIt</a>;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699"> 229</a></span>  <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">BitVector::iterator</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">bvIt</a>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  };</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  };</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> };</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> <a class="code" href="namespaceSVF.html#aa01b96d5bc6c3930b0bfca789acf75c4">operator|</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> <a class="code" href="namespaceSVF.html#aaa21ff095e66a18937f29246e213f69d">operator&</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> <a class="code" href="namespaceSVF.html#a6c2f7ce4908d39a17b29830a2e4bd781">operator-</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> };</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">template</span> <></div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html"> 246</a></span> <span class="keyword">struct </span>std::hash<<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html#a34dcd2ff517e67b98ec26e4957931367"> 248</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html#a34dcd2ff517e67b98ec26e4957931367">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">SVF::PointsTo</a> &<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> pt.<a class="code" href="classSVF_1_1PointsTo.html#afe275b31ea93a3ecea4e19660ceef0ae">hash</a>();</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> };</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor">#endif // POINTSTO_H_</span></div><div class="ttc" id="classSVF_1_1PointsTo_html_a1161d97df5ffc8f11d1a34df9a4d5bdf"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a1161d97df5ffc8f11d1a34df9a4d5bdf">SVF::PointsTo::test_and_set</a></div><div class="ttdeci">bool test_and_set(u32_t n)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00140">PointsTo.cpp:140</a></div></div>
|
|
69
|
+
<a href="PointsTo_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">//===- PointsTo.h -- Wrapper of set-like data structures ------------//</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"> * PointsTo.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"> * Abstracts away data structures to be used as points-to sets.</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: Feb 01, 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 POINTSTO_H_</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define POINTSTO_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 <vector></span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>"</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="BitVector_8h.html">Util/BitVector.h</a>"</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="CoreBitVector_8h.html">Util/CoreBitVector.h</a>"</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="SparseBitVector_8h.html">Util/SparseBitVector.h</a>"</span></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> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> {</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html"> 28</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e"> 31</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e">Type</a></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  {</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a"> 33</a></span>  <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SBV</a>,</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb"> 34</a></span>  <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">CBV</a>,</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892"> 35</a></span>  <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">BV</a>,</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  };</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#ad37fe6c7bb8b509a837348a12cab80c1"> 38</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a>;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> <a class="code" href="classSVF_1_1PointsTo.html#ad37fe6c7bb8b509a837348a12cab80c1">const_iterator</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f"> 40</a></span>  <span class="keyword">typedef</span> const_iterator <a class="code" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">iterator</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7"> 42</a></span>  <span class="keyword">typedef</span> std::shared_ptr<std::vector<NodeID>> <a class="code" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">MappingPtr</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &pt);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &&pt);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classSVF_1_1PointsTo.html#a2a12ab349a01314b0d7b4074a0c28677">~PointsTo</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &<a class="code" href="classSVF_1_1PointsTo.html#a269d334618e4acc7e739317fd58d7fe7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &<a class="code" href="classSVF_1_1PointsTo.html#a269d334618e4acc7e739317fd58d7fe7">operator=</a>(<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &&rhs);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointsTo.html#acb5af4139d42dcd19c6327520f074e91">clear</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) <span class="keyword">const</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a1161d97df5ffc8f11d1a34df9a4d5bdf">test_and_set</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointsTo.html#a1ef805e714cfc29f0f3fa56c5ee964f6">reset</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#ab31a53693fe070767b8de74e88091cd8">contains</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#ad78e4109c839914c4f7e37ca78046f1d">intersects</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordtype">int</span> <a class="code" href="classSVF_1_1PointsTo.html#a12883234179873d279e72e5947aad836">find_first</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a6b29626e4e4298943d2ad839f06db83e">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a888f05fe8da4b95c44226f3c69469c75">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#aa8644057ec182382e3c34e90d7d61ade">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#aa8644057ec182382e3c34e90d7d61ade">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> &rhs);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a164aced0d6a19dd7ba8124ec2e77674c">operator&=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a21244b7b04d6aa01787a11d116bc9952">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#af81f9e91eec4bf82ccfb867c2415f9bd">intersectWithComplement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointsTo.html#af81f9e91eec4bf82ccfb867c2415f9bd">intersectWithComplement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1PointsTo.html#ae4749cf6dc43645e2479cefbcc246637">toNodeBS</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1PointsTo.html#afe275b31ea93a3ecea4e19660ceef0ae">hash</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</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_1PointsTo.html#ac630a1bfa028240f9128e3b60d9413a4">checkAndRemap</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6"> 128</a></span>  const_iterator <a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6"> 132</a></span>  const_iterator <a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a>(<span class="keyword">this</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a06b981a2b7b04549f494dffde974c56d">getNodeMapping</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a6c1885ddfcc72604463f7c4ea94d2f74">getCurrentBestNodeMapping</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a40759008e0cf6f790d48727f7b0ca38b">getCurrentBestReverseNodeMapping</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointsTo.html#a84eca4c7fc833f8ca4d119cd4da08ca8">setCurrentBestNodeMapping</a>(MappingPtr newCurrentBestNodeMapping,</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  MappingPtr newCurrentBestReverseNodeMapping);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointsTo.html#aeda7466cdd9f77978981e2a518baa863">getInternalNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) <span class="keyword">const</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointsTo.html#a80a3caf74c138b3833c79622fef7b626">getExternalNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> n) <span class="keyword">const</span>;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#aa1e773b7abda97441d6ffe39c668d4ec">metaSame</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &pt) <span class="keyword">const</span>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d"> 157</a></span>  <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d">currentBestNodeMapping</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a53e1230c87912d26604990eb8b0cbc0c"> 159</a></span>  <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a53e1230c87912d26604990eb8b0cbc0c">currentBestReverseNodeMapping</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">union</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  {</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084"> 166</a></span>  <a class="code" href="classSVF_1_1SparseBitVector.html">SparseBitVector<></a> <a class="code" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">sbv</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605"> 168</a></span>  <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> <a class="code" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">cbv</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587"> 170</a></span>  <a class="code" href="classSVF_1_1BitVector.html">BitVector</a> <a class="code" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587">bv</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  };</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f"> 174</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e">Type</a> <a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda"> 176</a></span>  MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a>;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1"> 178</a></span>  MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">reverseNodeMapping</a>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html"> 181</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a></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">public</span>:</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac99c635e1057f19a495808be84221385"> 184</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac99c635e1057f19a495808be84221385">iterator_category</a> = std::forward_iterator_tag;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab81cda692bb6ad451276f571a25c0751"> 185</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab81cda692bb6ad451276f571a25c0751">value_type</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a79da80a016d68d70b63bcaa884cf53cb"> 186</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a79da80a016d68d70b63bcaa884cf53cb">difference_type</a> = std::ptrdiff_t;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aff5a4ee71f88ab9b0e1851d6e41e294f"> 187</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aff5a4ee71f88ab9b0e1851d6e41e294f">pointer</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> *;</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a28e12df86b7514e119e2b4f7bffd29c9"> 188</a></span>  <span class="keyword">using</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a28e12df86b7514e119e2b4f7bffd29c9">reference</a> = <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16">PointsToIterator</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16">PointsToIterator</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &pt);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16">PointsToIterator</a>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &&pt);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16">PointsToIterator</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> *pt, <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>=<span class="keyword">false</span>);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#acbbcff746f7f0dc37815e688e9172f21">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &rhs);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#acbbcff746f7f0dc37815e688e9172f21">operator=</a>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &&rhs);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a754d85d463ebdbecfaab41aac106f14f">operator++</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a754d85d463ebdbecfaab41aac106f14f">operator++</a>(<span class="keywordtype">int</span>);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a06c8e8c242c5de90c307665f589e3180">operator*</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aef4e1b40faa327f8bbf42a82df29c7b4">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa90476b4c0e75a256f8ff855f99ca970">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a049cecdc3aa76a31eacdbe48f6a820e7">atEnd</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5"> 222</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> *<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keyword">union</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  {</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a735a2a9f0c3f4bc3997edf11b133c0f9"> 227</a></span>  <a class="code" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">SparseBitVector<>::iterator</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a735a2a9f0c3f4bc3997edf11b133c0f9">sbvIt</a>;</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2"> 228</a></span>  <a class="code" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">CoreBitVector::iterator</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">cbvIt</a>;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699"> 229</a></span>  <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">BitVector::iterator</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">bvIt</a>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  };</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  };</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> };</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> <a class="code" href="namespaceSVF.html#aa01b96d5bc6c3930b0bfca789acf75c4">operator|</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> <a class="code" href="namespaceSVF.html#aaa21ff095e66a18937f29246e213f69d">operator&</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> <a class="code" href="namespaceSVF.html#a6c2f7ce4908d39a17b29830a2e4bd781">operator-</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &rhs);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">template</span> <></div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html"> 246</a></span> <span class="keyword">struct </span>std::hash<<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html#a34dcd2ff517e67b98ec26e4957931367"> 248</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html#a34dcd2ff517e67b98ec26e4957931367">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">SVF::PointsTo</a> &<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> pt.<a class="code" href="classSVF_1_1PointsTo.html#afe275b31ea93a3ecea4e19660ceef0ae">hash</a>();</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> };</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor">#endif // POINTSTO_H_</span></div><div class="ttc" id="classSVF_1_1PointsTo_html_a1161d97df5ffc8f11d1a34df9a4d5bdf"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a1161d97df5ffc8f11d1a34df9a4d5bdf">SVF::PointsTo::test_and_set</a></div><div class="ttdeci">bool test_and_set(u32_t n)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00140">PointsTo.cpp:140</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1PointsTo_html_ae4749cf6dc43645e2479cefbcc246637"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ae4749cf6dc43645e2479cefbcc246637">SVF::PointsTo::toNodeBS</a></div><div class="ttdeci">NodeBS toNodeBS(void) const</div><div class="ttdoc">Returns this points-to set as a NodeBS. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00309">PointsTo.cpp:309</a></div></div>
|
|
71
71
|
<div class="ttc" id="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">SVF::SparseBitVector::SparseBitVectorIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00534">SparseBitVector.h:534</a></div></div>
|
|
72
72
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SVF::PointsTo::SBV</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00033">PointsTo.h:33</a></div></div>
|