svf-tools 1.0.289 → 1.0.293

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.
Files changed (275) hide show
  1. package/README.md +1 -0
  2. package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -2
  5. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
  7. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
  8. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/AndersenWaveDiffWithType_8cpp_source.html +5 -5
  10. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +45 -29
  12. package/SVF-doxygen/html/html/Andersen_8h_source.html +50 -50
  13. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +9 -9
  15. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  19. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +5 -5
  23. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +22 -22
  28. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +52 -32
  29. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +58 -55
  30. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  34. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  37. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +64 -11
  38. package/SVF-doxygen/html/html/NodeIDAllocator_8h.html +5 -1
  39. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +52 -15
  40. package/SVF-doxygen/html/html/PAG_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
  44. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +34 -33
  46. package/SVF-doxygen/html/html/PointsTo_8h_source.html +32 -32
  47. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -12
  48. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +33 -35
  49. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +31 -36
  51. package/SVF-doxygen/html/html/SVFG_8h_source.html +19 -19
  52. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +15 -7
  53. package/SVF-doxygen/html/html/SVFUtil_8h.html +3 -0
  54. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +10 -8
  55. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +2 -2
  56. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  57. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  60. package/SVF-doxygen/html/html/VFG_8cpp_source.html +17 -11
  61. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  62. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +51 -43
  63. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +34 -33
  64. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
  65. package/SVF-doxygen/html/html/annotated.html +2 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
  68. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +3 -3
  69. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +213 -212
  70. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +124 -72
  71. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  72. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +223 -222
  73. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +36 -34
  74. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +232 -231
  75. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +21 -19
  76. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +220 -219
  77. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +38 -36
  78. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +221 -220
  79. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +11 -9
  80. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +232 -231
  81. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -4
  82. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +220 -219
  84. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +21 -19
  85. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +227 -226
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +26 -24
  87. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -3
  88. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  89. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -4
  91. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  94. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -4
  95. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
  96. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  97. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +3 -3
  99. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  101. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
  102. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +110 -107
  104. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +12 -4
  105. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +2 -2
  106. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  107. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +109 -106
  108. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +286 -157
  109. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +30 -30
  110. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +121 -118
  111. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +36 -28
  112. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  113. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +3 -3
  114. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +3 -3
  118. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +2 -2
  123. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +3 -3
  126. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
  128. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
  131. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  132. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +11 -10
  133. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +74 -34
  134. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer-members.html +109 -0
  135. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1188 -0
  136. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -4
  139. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
  141. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +77 -66
  142. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +32 -26
  143. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice-members.html +36 -37
  144. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +121 -153
  145. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  148. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +49 -49
  149. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  150. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
  151. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +2 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +6 -6
  153. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode-members.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +8 -9
  156. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +3 -3
  159. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +4 -4
  163. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +132 -129
  169. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +171 -116
  170. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +37 -37
  171. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +5 -5
  172. package/SVF-doxygen/html/html/classes.html +62 -62
  173. package/SVF-doxygen/html/html/functions_b.html +10 -5
  174. package/SVF-doxygen/html/html/functions_c.html +36 -22
  175. package/SVF-doxygen/html/html/functions_d.html +12 -0
  176. package/SVF-doxygen/html/html/functions_e.html +9 -3
  177. package/SVF-doxygen/html/html/functions_f.html +21 -18
  178. package/SVF-doxygen/html/html/functions_func_c.html +19 -10
  179. package/SVF-doxygen/html/html/functions_func_d.html +3 -0
  180. package/SVF-doxygen/html/html/functions_func_e.html +3 -0
  181. package/SVF-doxygen/html/html/functions_func_g.html +16 -10
  182. package/SVF-doxygen/html/html/functions_func_p.html +6 -2
  183. package/SVF-doxygen/html/html/functions_func_r.html +7 -1
  184. package/SVF-doxygen/html/html/functions_func_t.html +3 -0
  185. package/SVF-doxygen/html/html/functions_g.html +15 -9
  186. package/SVF-doxygen/html/html/functions_l.html +10 -7
  187. package/SVF-doxygen/html/html/functions_n.html +21 -3
  188. package/SVF-doxygen/html/html/functions_o.html +16 -8
  189. package/SVF-doxygen/html/html/functions_p.html +23 -17
  190. package/SVF-doxygen/html/html/functions_r.html +13 -6
  191. package/SVF-doxygen/html/html/functions_s.html +9 -9
  192. package/SVF-doxygen/html/html/functions_t.html +18 -9
  193. package/SVF-doxygen/html/html/functions_type_d.html +3 -0
  194. package/SVF-doxygen/html/html/functions_v.html +3 -3
  195. package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
  196. package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
  197. package/SVF-doxygen/html/html/functions_vars_d.html +6 -0
  198. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  199. package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
  200. package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
  201. package/SVF-doxygen/html/html/functions_vars_n.html +18 -0
  202. package/SVF-doxygen/html/html/functions_vars_o.html +6 -0
  203. package/SVF-doxygen/html/html/functions_vars_r.html +3 -0
  204. package/SVF-doxygen/html/html/functions_vars_t.html +6 -0
  205. package/SVF-doxygen/html/html/functions_w.html +8 -6
  206. package/SVF-doxygen/html/html/globals_f.html +3 -3
  207. package/SVF-doxygen/html/html/hierarchy.html +413 -412
  208. package/SVF-doxygen/html/html/menudata.js +2 -0
  209. package/SVF-doxygen/html/html/namespaceSVF.html +8 -8
  210. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +47 -16
  211. package/SVF-doxygen/html/html/namespacemembers_func.html +17 -10
  212. package/SVF-doxygen/html/html/namespacemembers_h.html +76 -0
  213. package/SVF-doxygen/html/html/search/all_10.js +9 -8
  214. package/SVF-doxygen/html/html/search/all_12.js +5 -2
  215. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  216. package/SVF-doxygen/html/html/search/all_14.js +8 -5
  217. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  218. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  219. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  220. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  221. package/SVF-doxygen/html/html/search/all_3.js +4 -0
  222. package/SVF-doxygen/html/html/search/all_4.js +4 -0
  223. package/SVF-doxygen/html/html/search/all_5.js +2 -0
  224. package/SVF-doxygen/html/html/search/all_6.js +4 -3
  225. package/SVF-doxygen/html/html/search/all_7.js +4 -2
  226. package/SVF-doxygen/html/html/search/all_8.js +1 -0
  227. package/SVF-doxygen/html/html/search/all_c.js +4 -3
  228. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  229. package/SVF-doxygen/html/html/search/all_e.js +9 -4
  230. package/SVF-doxygen/html/html/search/all_f.js +4 -2
  231. package/SVF-doxygen/html/html/search/classes_2.js +1 -0
  232. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  233. package/SVF-doxygen/html/html/search/functions_11.js +1 -0
  234. package/SVF-doxygen/html/html/search/functions_2.js +2 -0
  235. package/SVF-doxygen/html/html/search/functions_3.js +1 -0
  236. package/SVF-doxygen/html/html/search/functions_4.js +1 -0
  237. package/SVF-doxygen/html/html/search/functions_6.js +4 -2
  238. package/SVF-doxygen/html/html/search/functions_7.js +1 -0
  239. package/SVF-doxygen/html/html/search/functions_e.js +3 -2
  240. package/SVF-doxygen/html/html/search/functions_f.js +2 -0
  241. package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
  242. package/SVF-doxygen/html/html/search/variables_12.js +1 -0
  243. package/SVF-doxygen/html/html/search/variables_14.js +3 -1
  244. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  245. package/SVF-doxygen/html/html/search/variables_2.js +1 -0
  246. package/SVF-doxygen/html/html/search/variables_3.js +1 -0
  247. package/SVF-doxygen/html/html/search/variables_4.js +2 -0
  248. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  249. package/SVF-doxygen/html/html/search/variables_6.js +1 -0
  250. package/SVF-doxygen/html/html/search/variables_c.js +1 -0
  251. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  252. package/SVF-doxygen/html/html/search/variables_e.js +7 -2
  253. package/SVF-doxygen/html/html/search/variables_f.js +2 -0
  254. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  255. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  256. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +20 -20
  257. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +18 -18
  258. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html +1 -1
  259. package/include/SABER/ProgSlice.h +0 -3
  260. package/include/Util/NodeIDAllocator.h +94 -0
  261. package/include/Util/SVFUtil.h +3 -0
  262. package/include/WPA/Andersen.h +4 -0
  263. package/include/WPA/FlowSensitive.h +9 -0
  264. package/include/WPA/VersionedFlowSensitive.h +3 -0
  265. package/lib/Graphs/SVFG.cpp +0 -20
  266. package/lib/Graphs/VFG.cpp +18 -0
  267. package/lib/MemoryModel/PointsTo.cpp +76 -19
  268. package/lib/SABER/ProgSlice.cpp +0 -37
  269. package/lib/SABER/SaberAnnotator.cpp +1 -1
  270. package/lib/Util/NodeIDAllocator.cpp +548 -1
  271. package/lib/Util/SVFUtil.cpp +19 -0
  272. package/lib/WPA/Andersen.cpp +34 -0
  273. package/lib/WPA/FlowSensitive.cpp +70 -0
  274. package/lib/WPA/VersionedFlowSensitive.cpp +20 -0
  275. package/package.json +1 -1
@@ -66,85 +66,85 @@ $(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>&#160;<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>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * PointsTo.h</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<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>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * Created on: Feb 01, 2021</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * Author: Mohamad Barbar</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#ifndef POINTSTO_H_</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#define POINTSTO_H_</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="BitVector_8h.html">Util/BitVector.h</a>&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CoreBitVector_8h.html">Util/CoreBitVector.h</a>&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;{</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html"> 27</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;{</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e"> 30</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e">Type</a></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; {</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a"> 32</a></span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SBV</a>,</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb"> 33</a></span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">CBV</a>,</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892"> 34</a></span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">BV</a>,</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; };</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#ad37fe6c7bb8b509a837348a12cab80c1"> 37</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <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="l00039"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f"> 39</a></span>&#160; <span class="keyword">typedef</span> const_iterator <a class="code" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">iterator</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7"> 41</a></span>&#160; <span class="keyword">typedef</span> std::shared_ptr&lt;std::vector&lt;NodeID&gt;&gt; <a class="code" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">MappingPtr</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <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> &amp;pt);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;&amp;pt);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a2a12ab349a01314b0d7b4074a0c28677">~PointsTo</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;<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> &amp;rhs);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;<a class="code" href="classSVF_1_1PointsTo.html#a269d334618e4acc7e739317fd58d7fe7">operator=</a>(<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;&amp;rhs);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <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="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <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="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <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="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <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> n) <span class="keyword">const</span>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <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> n);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> n);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <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> n);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <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="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <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> &amp;rhs);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <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="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;rhs);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a164aced0d6a19dd7ba8124ec2e77674c">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <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> &amp;rhs);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <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> &amp;rhs);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <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> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">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="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <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="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <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="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6"> 127</a></span>&#160; const_iterator <a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </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="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6"> 128</a></span>&#160; const_iterator <a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </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="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; 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="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <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="l00133"></a><span class="lineno"> 133</span>&#160; <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="l00134"></a><span class="lineno"> 134</span>&#160; <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="l00135"></a><span class="lineno"> 135</span>&#160; MappingPtr newCurrentBestReverseNodeMapping);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <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> n) <span class="keyword">const</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <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="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <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> &amp;pt) <span class="keyword">const</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d"> 150</a></span>&#160; <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d">currentBestNodeMapping</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a53e1230c87912d26604990eb8b0cbc0c"> 152</a></span>&#160; <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a53e1230c87912d26604990eb8b0cbc0c">currentBestReverseNodeMapping</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">union</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084"> 159</a></span>&#160; <a class="code" href="namespaceSVF.html#ab6cf2115b54ef7135b031efc2f112b54">SparseBitVector</a> <a class="code" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">sbv</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605"> 161</a></span>&#160; <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="l00163"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587"> 163</a></span>&#160; <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="l00164"></a><span class="lineno"> 164</span>&#160; };</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f"> 167</a></span>&#160; <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="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda"> 169</a></span>&#160; MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1"> 171</a></span>&#160; MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">reverseNodeMapping</a>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html"> 174</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac99c635e1057f19a495808be84221385"> 177</a></span>&#160; <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="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab81cda692bb6ad451276f571a25c0751"> 178</a></span>&#160; <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="l00179"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a79da80a016d68d70b63bcaa884cf53cb"> 179</a></span>&#160; <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="l00180"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aff5a4ee71f88ab9b0e1851d6e41e294f"> 180</a></span>&#160; <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="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a28e12df86b7514e119e2b4f7bffd29c9"> 181</a></span>&#160; <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> &amp;;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <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="l00185"></a><span class="lineno"> 185</span>&#160; <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> &amp;pt);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <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> &amp;&amp;pt);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <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="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &amp;<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> &amp;rhs);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &amp;<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> &amp;&amp;rhs);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &amp;<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a754d85d463ebdbecfaab41aac106f14f">operator++</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <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="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab294d3378c283fff63e481db1bea3b4d">operator*</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <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="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5"> 215</a></span>&#160; <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="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">union</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4"> 220</a></span>&#160; SparseBitVector::iterator <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4">sbvIt</a>;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2"> 221</a></span>&#160; <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="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699"> 222</a></span>&#160; <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="l00223"></a><span class="lineno"> 223</span>&#160; };</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; };</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;};</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<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> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> <a class="code" href="namespaceSVF.html#aaa21ff095e66a18937f29246e213f69d">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<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> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;};</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html"> 239</a></span>&#160;<span class="keyword">struct </span>std::hash&lt;<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>&gt;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;{</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html#a34dcd2ff517e67b98ec26e4957931367"> 241</a></span>&#160; <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> &amp;<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> pt.<a class="code" href="classSVF_1_1PointsTo.html#afe275b31ea93a3ecea4e19660ceef0ae">hash</a>();</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;};</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<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#l00128">PointsTo.cpp:128</a></div></div>
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#l00263">PointsTo.cpp:263</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>&#160;<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>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * PointsTo.h</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<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>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * Created on: Feb 01, 2021</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * Author: Mohamad Barbar</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#ifndef POINTSTO_H_</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#define POINTSTO_H_</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="BitVector_8h.html">Util/BitVector.h</a>&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CoreBitVector_8h.html">Util/CoreBitVector.h</a>&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;{</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html"> 27</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;{</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e"> 30</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e">Type</a></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; {</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a"> 32</a></span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SBV</a>,</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb"> 33</a></span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">CBV</a>,</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892"> 34</a></span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">BV</a>,</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; };</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#ad37fe6c7bb8b509a837348a12cab80c1"> 37</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <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="l00039"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f"> 39</a></span>&#160; <span class="keyword">typedef</span> const_iterator <a class="code" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">iterator</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7"> 41</a></span>&#160; <span class="keyword">typedef</span> std::shared_ptr&lt;std::vector&lt;NodeID&gt;&gt; <a class="code" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">MappingPtr</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <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> &amp;pt);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>(<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;&amp;pt);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a2a12ab349a01314b0d7b4074a0c28677">~PointsTo</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;<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> &amp;rhs);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;<a class="code" href="classSVF_1_1PointsTo.html#a269d334618e4acc7e739317fd58d7fe7">operator=</a>(<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;&amp;rhs);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <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="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <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="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <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="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <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> n) <span class="keyword">const</span>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <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> n);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> n);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <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> n);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <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="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <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> &amp;rhs);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <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="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;rhs);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointsTo.html#a164aced0d6a19dd7ba8124ec2e77674c">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <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> &amp;rhs);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <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> &amp;rhs);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <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> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">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="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <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="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <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="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6"> 127</a></span>&#160; const_iterator <a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </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="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6"> 128</a></span>&#160; const_iterator <a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </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="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; 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="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <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="l00133"></a><span class="lineno"> 133</span>&#160; <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="l00134"></a><span class="lineno"> 134</span>&#160; <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="l00135"></a><span class="lineno"> 135</span>&#160; MappingPtr newCurrentBestReverseNodeMapping);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <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> n) <span class="keyword">const</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <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="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <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> &amp;pt) <span class="keyword">const</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d"> 150</a></span>&#160; <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d">currentBestNodeMapping</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a53e1230c87912d26604990eb8b0cbc0c"> 152</a></span>&#160; <span class="keyword">static</span> MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a53e1230c87912d26604990eb8b0cbc0c">currentBestReverseNodeMapping</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">union</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084"> 159</a></span>&#160; <a class="code" href="namespaceSVF.html#ab6cf2115b54ef7135b031efc2f112b54">SparseBitVector</a> <a class="code" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">sbv</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605"> 161</a></span>&#160; <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="l00163"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587"> 163</a></span>&#160; <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="l00164"></a><span class="lineno"> 164</span>&#160; };</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f"> 167</a></span>&#160; <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="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda"> 169</a></span>&#160; MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1"> 171</a></span>&#160; MappingPtr <a class="code" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">reverseNodeMapping</a>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html"> 174</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac99c635e1057f19a495808be84221385"> 177</a></span>&#160; <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="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab81cda692bb6ad451276f571a25c0751"> 178</a></span>&#160; <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="l00179"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a79da80a016d68d70b63bcaa884cf53cb"> 179</a></span>&#160; <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="l00180"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aff5a4ee71f88ab9b0e1851d6e41e294f"> 180</a></span>&#160; <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="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a28e12df86b7514e119e2b4f7bffd29c9"> 181</a></span>&#160; <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> &amp;;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <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="l00185"></a><span class="lineno"> 185</span>&#160; <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> &amp;pt);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <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> &amp;&amp;pt);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <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="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &amp;<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> &amp;rhs);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &amp;<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> &amp;&amp;rhs);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsToIterator</a> &amp;<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a754d85d463ebdbecfaab41aac106f14f">operator++</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <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="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab294d3378c283fff63e481db1bea3b4d">operator*</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <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> &amp;rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <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="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5"> 215</a></span>&#160; <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="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">union</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4"> 220</a></span>&#160; SparseBitVector::iterator <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4">sbvIt</a>;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2"> 221</a></span>&#160; <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="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699"> 222</a></span>&#160; <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="l00223"></a><span class="lineno"> 223</span>&#160; };</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; };</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;};</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<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> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> <a class="code" href="namespaceSVF.html#aaa21ff095e66a18937f29246e213f69d">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<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> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;};</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html"> 239</a></span>&#160;<span class="keyword">struct </span>std::hash&lt;<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a>&gt;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;{</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html#a34dcd2ff517e67b98ec26e4957931367"> 241</a></span>&#160; <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> &amp;<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> pt.<a class="code" href="classSVF_1_1PointsTo.html#afe275b31ea93a3ecea4e19660ceef0ae">hash</a>();</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;};</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<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#l00137">PointsTo.cpp:137</a></div></div>
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#l00298">PointsTo.cpp:298</a></div></div>
71
71
  <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#l00032">PointsTo.h:32</a></div></div>
72
- <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_ab294d3378c283fff63e481db1bea3b4d"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab294d3378c283fff63e481db1bea3b4d">SVF::PointsTo::PointsToIterator::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="PointsTo_8cpp_source.html#l00450">PointsTo.cpp:450</a></div></div>
73
- <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_aef4e1b40faa327f8bbf42a82df29c7b4"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aef4e1b40faa327f8bbf42a82df29c7b4">SVF::PointsTo::PointsToIterator::operator==</a></div><div class="ttdeci">bool operator==(const PointsToIterator &amp;rhs) const</div><div class="ttdoc">Equality: *this == rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00459">PointsTo.cpp:459</a></div></div>
74
- <div class="ttc" id="classSVF_1_1PointsTo_html_a06b981a2b7b04549f494dffde974c56d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a06b981a2b7b04549f494dffde974c56d">SVF::PointsTo::getNodeMapping</a></div><div class="ttdeci">MappingPtr getNodeMapping(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00283">PointsTo.cpp:283</a></div></div>
72
+ <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_ab294d3378c283fff63e481db1bea3b4d"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab294d3378c283fff63e481db1bea3b4d">SVF::PointsTo::PointsToIterator::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="PointsTo_8cpp_source.html#l00498">PointsTo.cpp:498</a></div></div>
73
+ <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_aef4e1b40faa327f8bbf42a82df29c7b4"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aef4e1b40faa327f8bbf42a82df29c7b4">SVF::PointsTo::PointsToIterator::operator==</a></div><div class="ttdeci">bool operator==(const PointsToIterator &amp;rhs) const</div><div class="ttdoc">Equality: *this == rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00510">PointsTo.cpp:510</a></div></div>
74
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a06b981a2b7b04549f494dffde974c56d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a06b981a2b7b04549f494dffde974c56d">SVF::PointsTo::getNodeMapping</a></div><div class="ttdeci">MappingPtr getNodeMapping(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00321">PointsTo.cpp:321</a></div></div>
75
75
  <div class="ttc" id="namespaceSVF_html_ab6cf2115b54ef7135b031efc2f112b54"><div class="ttname"><a href="namespaceSVF.html#ab6cf2115b54ef7135b031efc2f112b54">SVF::SparseBitVector</a></div><div class="ttdeci">llvm::SparseBitVector SparseBitVector</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1PointsTo_html_aecd6b98c0687de59aebb297ec38a7084"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">SVF::PointsTo::sbv</a></div><div class="ttdeci">SparseBitVector sbv</div><div class="ttdoc">Sparse bit vector backing. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00159">PointsTo.h:159</a></div></div>
77
- <div class="ttc" id="classSVF_1_1PointsTo_html_a12883234179873d279e72e5947aad836"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a12883234179873d279e72e5947aad836">SVF::PointsTo::find_first</a></div><div class="ttdeci">int find_first(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00175">PointsTo.cpp:175</a></div></div>
78
- <div class="ttc" id="classSVF_1_1PointsTo_html_af81f9e91eec4bf82ccfb867c2415f9bd"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af81f9e91eec4bf82ccfb867c2415f9bd">SVF::PointsTo::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const PointsTo &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00242">PointsTo.cpp:242</a></div></div>
77
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a12883234179873d279e72e5947aad836"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a12883234179873d279e72e5947aad836">SVF::PointsTo::find_first</a></div><div class="ttdeci">int find_first(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00193">PointsTo.cpp:193</a></div></div>
78
+ <div class="ttc" id="classSVF_1_1PointsTo_html_af81f9e91eec4bf82ccfb867c2415f9bd"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af81f9e91eec4bf82ccfb867c2415f9bd">SVF::PointsTo::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const PointsTo &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00272">PointsTo.cpp:272</a></div></div>
79
79
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
80
80
  <div class="ttc" id="classSVF_1_1PointsTo_html_a1ae4abe690d21eb5aaf2154243b604c1"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">SVF::PointsTo::reverseNodeMapping</a></div><div class="ttdeci">MappingPtr reverseNodeMapping</div><div class="ttdoc">Internal nodes -&gt; external nodes. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00171">PointsTo.h:171</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1CoreBitVector_html_a624ebc80d138fbf2b015bf557d2891a6"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">SVF::CoreBitVector::iterator</a></div><div class="ttdeci">const_iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00038">CoreBitVector.h:38</a></div></div>
82
- <div class="ttc" id="classSVF_1_1PointsTo_html_a40759008e0cf6f790d48727f7b0ca38b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a40759008e0cf6f790d48727f7b0ca38b">SVF::PointsTo::getCurrentBestReverseNodeMapping</a></div><div class="ttdeci">static MappingPtr getCurrentBestReverseNodeMapping(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00312">PointsTo.cpp:312</a></div></div>
83
- <div class="ttc" id="namespaceSVF_html_aa01b96d5bc6c3930b0bfca789acf75c4"><div class="ttname"><a href="namespaceSVF.html#aa01b96d5bc6c3930b0bfca789acf75c4">SVF::operator|</a></div><div class="ttdeci">PointsTo operator|(const PointsTo &amp;lhs, const PointsTo &amp;rhs)</div><div class="ttdoc">Returns a new lhs | rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00487">PointsTo.cpp:487</a></div></div>
82
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a40759008e0cf6f790d48727f7b0ca38b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a40759008e0cf6f790d48727f7b0ca38b">SVF::PointsTo::getCurrentBestReverseNodeMapping</a></div><div class="ttdeci">static MappingPtr getCurrentBestReverseNodeMapping(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00350">PointsTo.cpp:350</a></div></div>
83
+ <div class="ttc" id="namespaceSVF_html_aa01b96d5bc6c3930b0bfca789acf75c4"><div class="ttname"><a href="namespaceSVF.html#aa01b96d5bc6c3930b0bfca789acf75c4">SVF::operator|</a></div><div class="ttdeci">PointsTo operator|(const PointsTo &amp;lhs, const PointsTo &amp;rhs)</div><div class="ttdoc">Returns a new lhs | rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00544">PointsTo.cpp:544</a></div></div>
84
84
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00174">PointsTo.h:174</a></div></div>
85
85
  <div class="ttc" id="CoreBitVector_8h_html"><div class="ttname"><a href="CoreBitVector_8h.html">CoreBitVector.h</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a8be3dd8b1e66eac8577bf16b7403c9c5"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">SVF::PointsTo::PointsToIterator::pt</a></div><div class="ttdeci">const PointsTo * pt</div><div class="ttdoc">PointsTo we are iterating over. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00215">PointsTo.h:215</a></div></div>
87
- <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a049cecdc3aa76a31eacdbe48f6a820e7"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a049cecdc3aa76a31eacdbe48f6a820e7">SVF::PointsTo::PointsToIterator::atEnd</a></div><div class="ttdeci">bool atEnd(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00478">PointsTo.cpp:478</a></div></div>
87
+ <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a049cecdc3aa76a31eacdbe48f6a820e7"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a049cecdc3aa76a31eacdbe48f6a820e7">SVF::PointsTo::PointsToIterator::atEnd</a></div><div class="ttdeci">bool atEnd(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00532">PointsTo.cpp:532</a></div></div>
88
88
  <div class="ttc" id="classSVF_1_1PointsTo_html_acd7eab32125de90020c55c757d6adfda"><div class="ttname"><a href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">SVF::PointsTo::nodeMapping</a></div><div class="ttdeci">MappingPtr nodeMapping</div><div class="ttdoc">External nodes -&gt; internal nodes. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00169">PointsTo.h:169</a></div></div>
89
89
  <div class="ttc" id="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator_html"><div class="ttname"><a href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html">SVF::CoreBitVector::CoreBitVectorIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00147">CoreBitVector.h:147</a></div></div>
90
- <div class="ttc" id="classSVF_1_1PointsTo_html_acb5af4139d42dcd19c6327520f074e91"><div class="ttname"><a href="classSVF_1_1PointsTo.html#acb5af4139d42dcd19c6327520f074e91">SVF::PointsTo::clear</a></div><div class="ttdeci">void clear(void)</div><div class="ttdoc">Empty the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00111">PointsTo.cpp:111</a></div></div>
91
- <div class="ttc" id="classSVF_1_1PointsTo_html_ac630a1bfa028240f9128e3b60d9413a4"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac630a1bfa028240f9128e3b60d9413a4">SVF::PointsTo::checkAndRemap</a></div><div class="ttdeci">void checkAndRemap(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00324">PointsTo.cpp:324</a></div></div>
92
- <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_aa90476b4c0e75a256f8ff855f99ca970"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa90476b4c0e75a256f8ff855f99ca970">SVF::PointsTo::PointsToIterator::operator!=</a></div><div class="ttdeci">bool operator!=(const PointsToIterator &amp;rhs) const</div><div class="ttdoc">Inequality: *this != rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00471">PointsTo.cpp:471</a></div></div>
90
+ <div class="ttc" id="classSVF_1_1PointsTo_html_acb5af4139d42dcd19c6327520f074e91"><div class="ttname"><a href="classSVF_1_1PointsTo.html#acb5af4139d42dcd19c6327520f074e91">SVF::PointsTo::clear</a></div><div class="ttdeci">void clear(void)</div><div class="ttdoc">Empty the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00117">PointsTo.cpp:117</a></div></div>
91
+ <div class="ttc" id="classSVF_1_1PointsTo_html_ac630a1bfa028240f9128e3b60d9413a4"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac630a1bfa028240f9128e3b60d9413a4">SVF::PointsTo::checkAndRemap</a></div><div class="ttdeci">void checkAndRemap(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00362">PointsTo.cpp:362</a></div></div>
92
+ <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_aa90476b4c0e75a256f8ff855f99ca970"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa90476b4c0e75a256f8ff855f99ca970">SVF::PointsTo::PointsToIterator::operator!=</a></div><div class="ttdeci">bool operator!=(const PointsToIterator &amp;rhs) const</div><div class="ttdoc">Inequality: *this != rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00525">PointsTo.cpp:525</a></div></div>
93
93
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a79da80a016d68d70b63bcaa884cf53cb"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a79da80a016d68d70b63bcaa884cf53cb">SVF::PointsTo::PointsToIterator::difference_type</a></div><div class="ttdeci">std::ptrdiff_t difference_type</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00179">PointsTo.h:179</a></div></div>
94
94
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_ab81cda692bb6ad451276f571a25c0751"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ab81cda692bb6ad451276f571a25c0751">SVF::PointsTo::PointsToIterator::value_type</a></div><div class="ttdeci">u32_t value_type</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00178">PointsTo.h:178</a></div></div>
95
95
  <div class="ttc" id="BitVector_8h_html"><div class="ttname"><a href="BitVector_8h.html">BitVector.h</a></div></div>
96
- <div class="ttc" id="classSVF_1_1PointsTo_html_aa1e773b7abda97441d6ffe39c668d4ec"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa1e773b7abda97441d6ffe39c668d4ec">SVF::PointsTo::metaSame</a></div><div class="ttdeci">bool metaSame(const PointsTo &amp;pt) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00302">PointsTo.cpp:302</a></div></div>
96
+ <div class="ttc" id="classSVF_1_1PointsTo_html_aa1e773b7abda97441d6ffe39c668d4ec"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa1e773b7abda97441d6ffe39c668d4ec">SVF::PointsTo::metaSame</a></div><div class="ttdeci">bool metaSame(const PointsTo &amp;pt) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00340">PointsTo.cpp:340</a></div></div>
97
97
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
98
- <div class="ttc" id="classSVF_1_1PointsTo_html_a888f05fe8da4b95c44226f3c69469c75"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a888f05fe8da4b95c44226f3c69469c75">SVF::PointsTo::operator!=</a></div><div class="ttdeci">bool operator!=(const PointsTo &amp;rhs) const</div><div class="ttdoc">Returns true if either this set or rhs has an element not in the other. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00191">PointsTo.cpp:191</a></div></div>
99
- <div class="ttc" id="classSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00119">PointsTo.cpp:119</a></div></div>
98
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a888f05fe8da4b95c44226f3c69469c75"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a888f05fe8da4b95c44226f3c69469c75">SVF::PointsTo::operator!=</a></div><div class="ttdeci">bool operator!=(const PointsTo &amp;rhs) const</div><div class="ttdoc">Returns true if either this set or rhs has an element not in the other. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00212">PointsTo.cpp:212</a></div></div>
99
+ <div class="ttc" id="classSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00125">PointsTo.cpp:125</a></div></div>
100
100
  <div class="ttc" id="SVFBasicTypes_8h_html"><div class="ttname"><a href="SVFBasicTypes_8h.html">SVFBasicTypes.h</a></div></div>
101
101
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_ac13245e140ab7c488c776b8dd97facf4"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4">SVF::PointsTo::PointsToIterator::sbvIt</a></div><div class="ttdeci">SparseBitVector::iterator sbvIt</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00220">PointsTo.h:220</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_aa420a44769d1c25e083975e3cd04d699"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">SVF::PointsTo::PointsToIterator::bvIt</a></div><div class="ttdeci">BitVector::iterator bvIt</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00222">PointsTo.h:222</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1CoreBitVector_html"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html">SVF::CoreBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00030">CoreBitVector.h:30</a></div></div>
104
- <div class="ttc" id="classSVF_1_1PointsTo_html_a6b29626e4e4298943d2ad839f06db83e"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a6b29626e4e4298943d2ad839f06db83e">SVF::PointsTo::operator==</a></div><div class="ttdeci">bool operator==(const PointsTo &amp;rhs) const</div><div class="ttdoc">Returns true if this set and rhs contain exactly the same elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00181">PointsTo.cpp:181</a></div></div>
104
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a6b29626e4e4298943d2ad839f06db83e"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a6b29626e4e4298943d2ad839f06db83e">SVF::PointsTo::operator==</a></div><div class="ttdeci">bool operator==(const PointsTo &amp;rhs) const</div><div class="ttdoc">Returns true if this set and rhs contain exactly the same elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00199">PointsTo.cpp:199</a></div></div>
105
105
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a28e12df86b7514e119e2b4f7bffd29c9"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a28e12df86b7514e119e2b4f7bffd29c9">SVF::PointsTo::PointsToIterator::reference</a></div><div class="ttdeci">u32_t &amp; reference</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
106
106
  <div class="ttc" id="classSVF_1_1PointsTo_html_a849f670b38cb6f65fc23707a212591c7"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">SVF::PointsTo::MappingPtr</a></div><div class="ttdeci">std::shared_ptr&lt; std::vector&lt; NodeID &gt; &gt; MappingPtr</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00041">PointsTo.h:41</a></div></div>
107
- <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_acbbcff746f7f0dc37815e688e9172f21"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#acbbcff746f7f0dc37815e688e9172f21">SVF::PointsTo::PointsToIterator::operator=</a></div><div class="ttdeci">PointsToIterator &amp; operator=(const PointsToIterator &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00389">PointsTo.cpp:389</a></div></div>
107
+ <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_acbbcff746f7f0dc37815e688e9172f21"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#acbbcff746f7f0dc37815e688e9172f21">SVF::PointsTo::PointsToIterator::operator=</a></div><div class="ttdeci">PointsToIterator &amp; operator=(const PointsToIterator &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00437">PointsTo.cpp:437</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00127">PointsTo.h:127</a></div></div>
109
- <div class="ttc" id="namespaceSVF_html_a6c2f7ce4908d39a17b29830a2e4bd781"><div class="ttname"><a href="namespaceSVF.html#a6c2f7ce4908d39a17b29830a2e4bd781">SVF::operator-</a></div><div class="ttdeci">PointsTo operator-(const PointsTo &amp;lhs, const PointsTo &amp;rhs)</div><div class="ttdoc">Returns a new lhs - rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00503">PointsTo.cpp:503</a></div></div>
110
- <div class="ttc" id="classSVF_1_1PointsTo_html_a879783ba6629e500af9aa7dfcda2563d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count(void) const</div><div class="ttdoc">Returns number of elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00103">PointsTo.cpp:103</a></div></div>
109
+ <div class="ttc" id="namespaceSVF_html_a6c2f7ce4908d39a17b29830a2e4bd781"><div class="ttname"><a href="namespaceSVF.html#a6c2f7ce4908d39a17b29830a2e4bd781">SVF::operator-</a></div><div class="ttdeci">PointsTo operator-(const PointsTo &amp;lhs, const PointsTo &amp;rhs)</div><div class="ttdoc">Returns a new lhs - rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00560">PointsTo.cpp:560</a></div></div>
110
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a879783ba6629e500af9aa7dfcda2563d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count(void) const</div><div class="ttdoc">Returns number of elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00106">PointsTo.cpp:106</a></div></div>
111
111
  <div class="ttc" id="classSVF_1_1PointsTo_html_a668be9270539fdfc5dbf3efb9cc17587"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587">SVF::PointsTo::bv</a></div><div class="ttdeci">BitVector bv</div><div class="ttdoc">Bit vector backing. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00163">PointsTo.h:163</a></div></div>
112
112
  <div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
113
113
  <div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">SVF::PointsTo::BV</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00034">PointsTo.h:34</a></div></div>
114
- <div class="ttc" id="classSVF_1_1PointsTo_html_ad78e4109c839914c4f7e37ca78046f1d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ad78e4109c839914c4f7e37ca78046f1d">SVF::PointsTo::intersects</a></div><div class="ttdeci">bool intersects(const PointsTo &amp;rhs) const</div><div class="ttdoc">Returns true if this set and rhs share any elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00165">PointsTo.cpp:165</a></div></div>
115
- <div class="ttc" id="classSVF_1_1PointsTo_html_a1ef805e714cfc29f0f3fa56c5ee964f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a1ef805e714cfc29f0f3fa56c5ee964f6">SVF::PointsTo::reset</a></div><div class="ttdeci">void reset(u32_t n)</div><div class="ttdoc">Removes n from the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00146">PointsTo.cpp:146</a></div></div>
114
+ <div class="ttc" id="classSVF_1_1PointsTo_html_ad78e4109c839914c4f7e37ca78046f1d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ad78e4109c839914c4f7e37ca78046f1d">SVF::PointsTo::intersects</a></div><div class="ttdeci">bool intersects(const PointsTo &amp;rhs) const</div><div class="ttdoc">Returns true if this set and rhs share any elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00180">PointsTo.cpp:180</a></div></div>
115
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a1ef805e714cfc29f0f3fa56c5ee964f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a1ef805e714cfc29f0f3fa56c5ee964f6">SVF::PointsTo::reset</a></div><div class="ttdeci">void reset(u32_t n)</div><div class="ttdoc">Removes n from the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00158">PointsTo.cpp:158</a></div></div>
116
116
  <div class="ttc" id="classSVF_1_1PointsTo_html_a269d334618e4acc7e739317fd58d7fe7"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a269d334618e4acc7e739317fd58d7fe7">SVF::PointsTo::operator=</a></div><div class="ttdeci">PointsTo &amp; operator=(const PointsTo &amp;rhs)</div><div class="ttdoc">Copy assignment. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00065">PointsTo.cpp:65</a></div></div>
117
- <div class="ttc" id="classSVF_1_1PointsTo_html_a6c1885ddfcc72604463f7c4ea94d2f74"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a6c1885ddfcc72604463f7c4ea94d2f74">SVF::PointsTo::getCurrentBestNodeMapping</a></div><div class="ttdeci">static MappingPtr getCurrentBestNodeMapping(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00307">PointsTo.cpp:307</a></div></div>
117
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a6c1885ddfcc72604463f7c4ea94d2f74"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a6c1885ddfcc72604463f7c4ea94d2f74">SVF::PointsTo::getCurrentBestNodeMapping</a></div><div class="ttdeci">static MappingPtr getCurrentBestNodeMapping(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00345">PointsTo.cpp:345</a></div></div>
118
118
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_ac99c635e1057f19a495808be84221385"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac99c635e1057f19a495808be84221385">SVF::PointsTo::PointsToIterator::iterator_category</a></div><div class="ttdeci">std::forward_iterator_tag iterator_category</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00177">PointsTo.h:177</a></div></div>
119
119
  <div class="ttc" id="classSVF_1_1PointsTo_html_a05aa807f21f311eb50ff11dde98b8d22"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">SVF::PointsTo::PointsTo</a></div><div class="ttdeci">PointsTo(void)</div><div class="ttdoc">Construct empty points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00024">PointsTo.cpp:24</a></div></div>
120
120
  <div class="ttc" id="classSVF_1_1PointsTo_html_a79333c4ae5c002d9632fa589956b3605"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">SVF::PointsTo::cbv</a></div><div class="ttdeci">CoreBitVector cbv</div><div class="ttdoc">Core bit vector backing. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00161">PointsTo.h:161</a></div></div>
121
121
  <div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">SVF::PointsTo::CBV</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00033">PointsTo.h:33</a></div></div>
122
122
  <div class="ttc" id="classSVF_1_1PointsTo_html_ab0493cc85f97abeea5b86dee488e5a7f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">SVF::PointsTo::iterator</a></div><div class="ttdeci">const_iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00039">PointsTo.h:39</a></div></div>
123
- <div class="ttc" id="classSVF_1_1PointsTo_html_a80a3caf74c138b3833c79622fef7b626"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a80a3caf74c138b3833c79622fef7b626">SVF::PointsTo::getExternalNode</a></div><div class="ttdeci">NodeID getExternalNode(NodeID n) const</div><div class="ttdoc">Returns reverseNodeMapping[n], checking for nullptr and size. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00295">PointsTo.cpp:295</a></div></div>
123
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a80a3caf74c138b3833c79622fef7b626"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a80a3caf74c138b3833c79622fef7b626">SVF::PointsTo::getExternalNode</a></div><div class="ttdeci">NodeID getExternalNode(NodeID n) const</div><div class="ttdoc">Returns reverseNodeMapping[n], checking for nullptr and size. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00333">PointsTo.cpp:333</a></div></div>
124
124
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a3974dee7680da3a43b58932766e77a16"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16">SVF::PointsTo::PointsToIterator::PointsToIterator</a></div><div class="ttdeci">PointsToIterator(void)=delete</div><div class="ttdoc">Deleted because we don&amp;#39;t want iterators with null pt. </div></div>
125
- <div class="ttc" id="classSVF_1_1PointsTo_html_ab31a53693fe070767b8de74e88091cd8"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab31a53693fe070767b8de74e88091cd8">SVF::PointsTo::contains</a></div><div class="ttdeci">bool contains(const PointsTo &amp;rhs) const</div><div class="ttdoc">Returns true if this set is a superset of rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00155">PointsTo.cpp:155</a></div></div>
125
+ <div class="ttc" id="classSVF_1_1PointsTo_html_ab31a53693fe070767b8de74e88091cd8"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab31a53693fe070767b8de74e88091cd8">SVF::PointsTo::contains</a></div><div class="ttdeci">bool contains(const PointsTo &amp;rhs) const</div><div class="ttdoc">Returns true if this set is a superset of rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00167">PointsTo.cpp:167</a></div></div>
126
126
  <div class="ttc" id="classSVF_1_1PointsTo_html_a2a12ab349a01314b0d7b4074a0c28677"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a2a12ab349a01314b0d7b4074a0c28677">SVF::PointsTo::~PointsTo</a></div><div class="ttdeci">~PointsTo(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00054">PointsTo.cpp:54</a></div></div>
127
127
  <div class="ttc" id="classSVF_1_1PointsTo_html_aaa9c956187f2c04a7a242ce440d1416f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">SVF::PointsTo::type</a></div><div class="ttdeci">enum Type type</div><div class="ttdoc">Type of this points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00167">PointsTo.h:167</a></div></div>
128
128
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_aff5a4ee71f88ab9b0e1851d6e41e294f"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aff5a4ee71f88ab9b0e1851d6e41e294f">SVF::PointsTo::PointsToIterator::pointer</a></div><div class="ttdeci">u32_t * pointer</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00180">PointsTo.h:180</a></div></div>
129
- <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a754d85d463ebdbecfaab41aac106f14f"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a754d85d463ebdbecfaab41aac106f14f">SVF::PointsTo::PointsToIterator::operator++</a></div><div class="ttdeci">const PointsToIterator &amp; operator++(void)</div><div class="ttdoc">Pre-increment: ++it. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00431">PointsTo.cpp:431</a></div></div>
129
+ <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a754d85d463ebdbecfaab41aac106f14f"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a754d85d463ebdbecfaab41aac106f14f">SVF::PointsTo::PointsToIterator::operator++</a></div><div class="ttdeci">const PointsToIterator &amp; operator++(void)</div><div class="ttdoc">Pre-increment: ++it. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00479">PointsTo.cpp:479</a></div></div>
130
130
  <div class="ttc" id="classSVF_1_1PointsTo_html_a98781dd444ada40af7eef9aefe76123d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d">SVF::PointsTo::currentBestNodeMapping</a></div><div class="ttdeci">static MappingPtr currentBestNodeMapping</div><div class="ttdoc">Best node mapping we know of the for the analyses at hand. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00150">PointsTo.h:150</a></div></div>
131
131
  <div class="ttc" id="classSVF_1_1BitVector_html"><div class="ttname"><a href="classSVF_1_1BitVector.html">SVF::BitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="BitVector_8h_source.html#l00031">BitVector.h:31</a></div></div>
132
- <div class="ttc" id="classSVF_1_1PointsTo_html_a21244b7b04d6aa01787a11d116bc9952"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a21244b7b04d6aa01787a11d116bc9952">SVF::PointsTo::operator-=</a></div><div class="ttdeci">bool operator-=(const PointsTo &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00232">PointsTo.cpp:232</a></div></div>
132
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a21244b7b04d6aa01787a11d116bc9952"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a21244b7b04d6aa01787a11d116bc9952">SVF::PointsTo::operator-=</a></div><div class="ttdeci">bool operator-=(const PointsTo &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00259">PointsTo.cpp:259</a></div></div>
133
133
  <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
134
134
  <div class="ttc" id="classSVF_1_1PointsTo_html_a164aced0d6a19dd7ba8124ec2e77674c"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a164aced0d6a19dd7ba8124ec2e77674c">SVF::PointsTo::operator &amp;=</a></div><div class="ttdeci">bool operator &amp;=(const PointsTo &amp;rhs)</div></div>
135
135
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00087">SVFBasicTypes.h:87</a></div></div>
136
- <div class="ttc" id="classSVF_1_1PointsTo_html_aa8644057ec182382e3c34e90d7d61ade"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa8644057ec182382e3c34e90d7d61ade">SVF::PointsTo::operator|=</a></div><div class="ttdeci">bool operator|=(const PointsTo &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00199">PointsTo.cpp:199</a></div></div>
136
+ <div class="ttc" id="classSVF_1_1PointsTo_html_aa8644057ec182382e3c34e90d7d61ade"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa8644057ec182382e3c34e90d7d61ade">SVF::PointsTo::operator|=</a></div><div class="ttdeci">bool operator|=(const PointsTo &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00220">PointsTo.cpp:220</a></div></div>
137
137
  <div class="ttc" id="classSVF_1_1PointsTo_html_a53e1230c87912d26604990eb8b0cbc0c"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a53e1230c87912d26604990eb8b0cbc0c">SVF::PointsTo::currentBestReverseNodeMapping</a></div><div class="ttdeci">static MappingPtr currentBestReverseNodeMapping</div><div class="ttdoc">Likewise, but reversed. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00152">PointsTo.h:152</a></div></div>
138
138
  <div class="ttc" id="classSVF_1_1PointsTo_html_ad37fe6c7bb8b509a837348a12cab80c1"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ad37fe6c7bb8b509a837348a12cab80c1">SVF::PointsTo::const_iterator</a></div><div class="ttdeci">PointsToIterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00037">PointsTo.h:37</a></div></div>
139
139
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a4db2c62eb3ad789ab7aaf7506cd340b2"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">SVF::PointsTo::PointsToIterator::cbvIt</a></div><div class="ttdeci">CoreBitVector::iterator cbvIt</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00221">PointsTo.h:221</a></div></div>
140
- <div class="ttc" id="classSVF_1_1PointsTo_html_aeda7466cdd9f77978981e2a518baa863"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aeda7466cdd9f77978981e2a518baa863">SVF::PointsTo::getInternalNode</a></div><div class="ttdeci">NodeID getInternalNode(NodeID n) const</div><div class="ttdoc">Returns nodeMapping[n], checking for nullptr and size. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00288">PointsTo.cpp:288</a></div></div>
140
+ <div class="ttc" id="classSVF_1_1PointsTo_html_aeda7466cdd9f77978981e2a518baa863"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aeda7466cdd9f77978981e2a518baa863">SVF::PointsTo::getInternalNode</a></div><div class="ttdeci">NodeID getInternalNode(NodeID n) const</div><div class="ttdoc">Returns nodeMapping[n], checking for nullptr and size. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00326">PointsTo.cpp:326</a></div></div>
141
141
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
142
- <div class="ttc" id="classSVF_1_1PointsTo_html_afe275b31ea93a3ecea4e19660ceef0ae"><div class="ttname"><a href="classSVF_1_1PointsTo.html#afe275b31ea93a3ecea4e19660ceef0ae">SVF::PointsTo::hash</a></div><div class="ttdeci">size_t hash(void) const</div><div class="ttdoc">Return a hash of this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00270">PointsTo.cpp:270</a></div></div>
143
- <div class="ttc" id="classSVF_1_1PointsTo_html_a84eca4c7fc833f8ca4d119cd4da08ca8"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a84eca4c7fc833f8ca4d119cd4da08ca8">SVF::PointsTo::setCurrentBestNodeMapping</a></div><div class="ttdeci">static void setCurrentBestNodeMapping(MappingPtr newCurrentBestNodeMapping, MappingPtr newCurrentBestReverseNodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00317">PointsTo.cpp:317</a></div></div>
142
+ <div class="ttc" id="classSVF_1_1PointsTo_html_afe275b31ea93a3ecea4e19660ceef0ae"><div class="ttname"><a href="classSVF_1_1PointsTo.html#afe275b31ea93a3ecea4e19660ceef0ae">SVF::PointsTo::hash</a></div><div class="ttdeci">size_t hash(void) const</div><div class="ttdoc">Return a hash of this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00305">PointsTo.cpp:305</a></div></div>
143
+ <div class="ttc" id="classSVF_1_1PointsTo_html_a84eca4c7fc833f8ca4d119cd4da08ca8"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a84eca4c7fc833f8ca4d119cd4da08ca8">SVF::PointsTo::setCurrentBestNodeMapping</a></div><div class="ttdeci">static void setCurrentBestNodeMapping(MappingPtr newCurrentBestNodeMapping, MappingPtr newCurrentBestReverseNodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00355">PointsTo.cpp:355</a></div></div>
144
144
  <div class="ttc" id="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4_html_a34dcd2ff517e67b98ec26e4957931367"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html#a34dcd2ff517e67b98ec26e4957931367">std::hash&lt; SVF::PointsTo &gt;::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::PointsTo &amp;pt) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00241">PointsTo.h:241</a></div></div>
145
145
  <div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
146
146
  <div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923e"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923e">SVF::PointsTo::Type</a></div><div class="ttdeci">Type</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00030">PointsTo.h:30</a></div></div>
147
- <div class="ttc" id="namespaceSVF_html_aaa21ff095e66a18937f29246e213f69d"><div class="ttname"><a href="namespaceSVF.html#aaa21ff095e66a18937f29246e213f69d">SVF::operator &amp;</a></div><div class="ttdeci">PointsTo operator &amp;(const PointsTo &amp;lhs, const PointsTo &amp;rhs)</div><div class="ttdoc">Returns a new lhs &amp; rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00495">PointsTo.cpp:495</a></div></div>
147
+ <div class="ttc" id="namespaceSVF_html_aaa21ff095e66a18937f29246e213f69d"><div class="ttname"><a href="namespaceSVF.html#aaa21ff095e66a18937f29246e213f69d">SVF::operator &amp;</a></div><div class="ttdeci">PointsTo operator &amp;(const PointsTo &amp;lhs, const PointsTo &amp;rhs)</div><div class="ttdoc">Returns a new lhs &amp; rhs. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00552">PointsTo.cpp:552</a></div></div>
148
148
  </div><!-- fragment --></div><!-- contents -->
149
149
  <!-- start footer part -->
150
150
  <hr class="footer"/><address class="footer"><small>