svf-tools 1.0.587 → 1.0.589

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 (592) hide show
  1. package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +6 -6
  3. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +7 -7
  4. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +8 -8
  5. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +20 -20
  6. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
  7. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +25 -25
  8. package/SVF-doxygen/html/html/Andersen_8h_source.html +17 -17
  9. package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
  10. package/SVF-doxygen/html/html/BasicTypes_8cpp_source.html +5 -5
  11. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +2 -2
  12. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +5 -5
  13. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +4 -4
  14. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +5 -5
  15. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +3 -3
  16. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +12 -12
  17. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +11 -11
  18. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +4 -4
  20. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +7 -7
  21. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +7 -7
  22. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +6 -6
  23. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +3 -3
  25. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +27 -27
  28. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
  29. package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
  30. package/SVF-doxygen/html/html/CHG_8cpp_source.html +13 -13
  31. package/SVF-doxygen/html/html/CHG_8h_source.html +8 -8
  32. package/SVF-doxygen/html/html/CPPUtil_8cpp.html +2 -2
  33. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +26 -26
  34. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +4 -4
  35. package/SVF-doxygen/html/html/CSC_8cpp_source.html +7 -7
  36. package/SVF-doxygen/html/html/CSC_8h_source.html +4 -4
  37. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +6 -6
  38. package/SVF-doxygen/html/html/Casting_8h.html +1 -0
  39. package/SVF-doxygen/html/html/Casting_8h_source.html +42 -42
  40. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +8 -8
  41. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +21 -21
  43. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +38 -38
  44. package/SVF-doxygen/html/html/ConsG_8h_source.html +28 -28
  45. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +25 -23
  46. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +11 -11
  47. package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
  48. package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +5 -5
  50. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +36 -36
  51. package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -15
  52. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +13 -13
  53. package/SVF-doxygen/html/html/DDAClient_8h_source.html +4 -4
  54. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +12 -12
  55. package/SVF-doxygen/html/html/DDAPass_8h_source.html +4 -4
  56. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +8 -8
  57. package/SVF-doxygen/html/html/DDAStat_8h_source.html +3 -3
  58. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +16 -16
  59. package/SVF-doxygen/html/html/DPItem_8h_source.html +5 -5
  60. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
  61. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +11 -11
  62. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  64. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +6 -6
  65. package/SVF-doxygen/html/html/ExeState_8h_source.html +4 -4
  66. package/SVF-doxygen/html/html/ExtAPI_8cpp.html +1 -1
  67. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +8 -8
  68. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +16 -16
  70. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +7 -7
  71. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +7 -7
  73. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +13 -13
  74. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +13 -13
  75. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +19 -19
  76. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +8 -8
  77. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
  78. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +61 -61
  79. package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +1 -1
  80. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
  81. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +12 -12
  83. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
  84. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
  85. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +5 -5
  86. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  87. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +37 -34
  88. package/SVF-doxygen/html/html/ICFG_8h_source.html +30 -30
  89. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +28 -28
  90. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
  91. package/SVF-doxygen/html/html/IRGraph_8h_source.html +10 -10
  92. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +8 -8
  93. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +28 -28
  94. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +7 -7
  95. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +26 -26
  96. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +18 -18
  97. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +5 -5
  98. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
  99. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +12 -12
  100. package/SVF-doxygen/html/html/LocationSet_8h_source.html +7 -7
  101. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +16 -16
  102. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +11 -11
  103. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +15 -15
  104. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
  105. package/SVF-doxygen/html/html/MHP_8cpp.html +3 -3
  106. package/SVF-doxygen/html/html/MHP_8cpp_source.html +35 -36
  107. package/SVF-doxygen/html/html/MHP_8h_source.html +15 -15
  108. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +5 -5
  109. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +13 -13
  110. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +8 -8
  111. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +28 -28
  112. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +11 -11
  113. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
  114. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  115. package/SVF-doxygen/html/html/MTA_8cpp_source.html +14 -14
  116. package/SVF-doxygen/html/html/MTA_8h_source.html +7 -7
  117. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +11 -11
  118. package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
  119. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +41 -41
  120. package/SVF-doxygen/html/html/MemRegion_8h_source.html +14 -14
  121. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +17 -17
  122. package/SVF-doxygen/html/html/MemSSA_8h_source.html +8 -8
  123. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +7 -7
  124. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  125. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +3 -3
  126. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  127. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
  128. package/SVF-doxygen/html/html/PCG_8cpp_source.html +11 -11
  129. package/SVF-doxygen/html/html/PCG_8h_source.html +7 -7
  130. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +8 -8
  131. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +9 -9
  132. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +9 -9
  133. package/SVF-doxygen/html/html/PTAStat_8h_source.html +1 -1
  134. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +3 -3
  135. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +3 -3
  136. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +34 -34
  137. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +31 -31
  138. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +63 -63
  139. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +83 -84
  140. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +15 -15
  141. package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
  142. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +10 -10
  143. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +10 -10
  144. package/SVF-doxygen/html/html/SCC_8h_source.html +6 -6
  145. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +5 -1
  146. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +85 -85
  147. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +23 -27
  148. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +73 -74
  149. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  150. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
  151. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  152. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +5 -5
  153. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +8 -8
  154. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +14 -14
  155. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +8 -8
  156. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  157. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +4 -4
  158. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +25 -25
  159. package/SVF-doxygen/html/html/SVFG_8h_source.html +12 -12
  160. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +58 -58
  161. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +75 -75
  162. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +11 -11
  163. package/SVF-doxygen/html/html/SVFIR_8h_source.html +34 -34
  164. package/SVF-doxygen/html/html/SVFLoop_8h_source.html +2 -2
  165. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +3 -3
  166. package/SVF-doxygen/html/html/SVFModule_8h_source.html +13 -13
  167. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +8 -8
  168. package/SVF-doxygen/html/html/SVFStat_8h_source.html +1 -1
  169. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +5 -5
  170. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +10 -10
  171. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +18 -18
  172. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +23 -23
  173. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
  174. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +8 -8
  175. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +4 -4
  176. package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
  177. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +4 -4
  178. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +34 -34
  179. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +47 -47
  180. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +14 -14
  181. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +3 -3
  182. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +59 -59
  183. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +10 -10
  184. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +4 -4
  185. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -2
  186. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +3 -3
  187. package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
  188. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +40 -40
  189. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +6 -6
  190. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +16 -16
  191. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +13 -13
  192. package/SVF-doxygen/html/html/TCT_8cpp_source.html +22 -23
  193. package/SVF-doxygen/html/html/TCT_8h_source.html +21 -21
  194. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  195. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +8 -8
  196. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +14 -14
  197. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
  198. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +15 -15
  199. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +6 -6
  200. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -14
  201. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +97 -97
  202. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
  203. package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
  204. package/SVF-doxygen/html/html/VFG_8cpp_source.html +72 -69
  205. package/SVF-doxygen/html/html/VFG_8h_source.html +57 -57
  206. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +9 -9
  207. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +24 -24
  208. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +7 -7
  209. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +5 -5
  210. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +13 -13
  211. package/SVF-doxygen/html/html/WPAPass_8h_source.html +6 -6
  212. package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -3
  213. package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
  214. package/SVF-doxygen/html/html/WorkList_8h_source.html +2 -2
  215. package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
  216. package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
  218. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
  219. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
  220. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  222. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  223. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +3 -3
  224. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +2 -2
  225. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +249 -250
  227. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +64 -66
  228. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +216 -217
  229. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +15 -17
  230. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +259 -260
  231. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +16 -18
  232. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +271 -272
  233. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +12 -14
  234. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +35 -35
  235. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +257 -258
  236. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +6 -8
  237. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +3 -3
  239. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +164 -165
  240. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +67 -69
  241. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  242. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +5 -5
  243. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  244. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
  245. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +4 -4
  246. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +6 -6
  247. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +191 -192
  248. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +20 -22
  249. package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +185 -186
  250. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +9 -11
  251. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
  253. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +3 -3
  254. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +2 -2
  255. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
  256. package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +189 -190
  257. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +2 -4
  258. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +57 -57
  259. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +11 -11
  260. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +9 -9
  261. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  262. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
  263. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
  264. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +2 -2
  265. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
  266. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  267. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +36 -36
  268. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  269. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +5 -5
  270. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +153 -154
  271. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +19 -21
  272. package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
  273. package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
  274. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +80 -80
  275. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +12 -12
  276. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +120 -120
  277. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +255 -256
  279. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +52 -52
  280. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  281. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +3 -3
  282. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
  283. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +2 -2
  284. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  285. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  286. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  287. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +88 -88
  288. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +9 -9
  289. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +21 -21
  290. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +10 -10
  291. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +35 -35
  292. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
  293. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +12 -12
  294. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +3 -3
  295. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +2 -2
  298. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +9 -9
  299. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +12 -12
  300. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  301. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +283 -284
  302. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -5
  303. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +249 -250
  304. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +28 -30
  305. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +274 -275
  306. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +88 -90
  307. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +31 -31
  308. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +41 -42
  309. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  310. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  311. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +4 -4
  312. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +4 -4
  313. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
  314. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
  315. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
  316. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
  317. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +7 -7
  318. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  319. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  320. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +3 -3
  321. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  322. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  323. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +4 -4
  324. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +1 -1
  325. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +71 -67
  326. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +22 -22
  327. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
  328. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  329. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +5 -5
  330. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  331. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +60 -60
  332. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +8 -8
  333. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
  334. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +3 -3
  335. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
  336. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  337. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
  338. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
  339. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +9 -9
  340. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +2 -2
  341. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
  342. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  343. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  344. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
  345. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +8 -8
  346. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +51 -51
  347. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
  348. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  349. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +3 -3
  350. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +15 -15
  351. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +67 -67
  352. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +19 -19
  353. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +70 -71
  354. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +108 -108
  355. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  356. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
  357. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +16 -16
  358. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +19 -19
  359. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +55 -55
  360. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +40 -40
  361. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
  362. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  363. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +4 -4
  364. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +52 -52
  365. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
  366. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
  367. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +3 -3
  368. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +9 -9
  369. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
  370. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
  371. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  372. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +6 -6
  373. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +26 -26
  374. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +5 -5
  375. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
  376. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +10 -10
  377. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  378. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +5 -5
  379. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +13 -13
  380. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +4 -4
  381. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
  382. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +6 -6
  383. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +6 -6
  384. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  385. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +120 -121
  386. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +258 -276
  387. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +14 -14
  388. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +8 -8
  389. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +23 -23
  390. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +11 -11
  391. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  392. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
  393. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +2 -2
  394. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
  395. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  396. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
  397. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +3 -3
  398. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html +1 -1
  399. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +4 -4
  400. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +97 -97
  401. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +52 -52
  402. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
  403. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +23 -23
  404. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +12 -12
  405. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +4 -4
  406. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +79 -79
  407. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +255 -255
  408. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  409. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
  410. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +8 -8
  411. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  412. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
  413. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
  414. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +132 -132
  415. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +20 -20
  416. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  417. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +103 -103
  418. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +45 -45
  419. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +11 -11
  420. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +1 -1
  421. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +228 -229
  422. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -7
  423. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +3 -3
  424. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  425. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  426. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +71 -71
  427. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +29 -29
  428. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +59 -60
  429. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  430. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  431. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
  432. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +26 -26
  433. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +4 -4
  434. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
  435. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
  436. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
  437. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +221 -222
  438. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +24 -26
  439. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  440. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
  441. package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
  442. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +168 -165
  443. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  444. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  445. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  446. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
  447. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +324 -325
  448. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +70 -72
  449. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +17 -17
  450. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
  451. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +3 -3
  452. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +5 -5
  453. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +15 -15
  454. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +3 -3
  455. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
  456. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1 -1
  457. package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
  458. package/SVF-doxygen/html/html/functions_a.html +9 -12
  459. package/SVF-doxygen/html/html/functions_func.html +4 -4
  460. package/SVF-doxygen/html/html/functions_func_i.html +3 -3
  461. package/SVF-doxygen/html/html/functions_func_r.html +8 -8
  462. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  463. package/SVF-doxygen/html/html/functions_i.html +2 -2
  464. package/SVF-doxygen/html/html/functions_l.html +8 -8
  465. package/SVF-doxygen/html/html/functions_n.html +4 -4
  466. package/SVF-doxygen/html/html/functions_o.html +8 -8
  467. package/SVF-doxygen/html/html/functions_p.html +14 -16
  468. package/SVF-doxygen/html/html/functions_r.html +10 -12
  469. package/SVF-doxygen/html/html/functions_s.html +7 -7
  470. package/SVF-doxygen/html/html/functions_type.html +0 -3
  471. package/SVF-doxygen/html/html/functions_v.html +6 -6
  472. package/SVF-doxygen/html/html/functions_w.html +11 -11
  473. package/SVF-doxygen/html/html/namespaceSVF.html +175 -193
  474. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +55 -55
  475. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +44 -44
  476. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +46 -46
  477. package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
  478. package/SVF-doxygen/html/html/namespacemembers_type_s.html +0 -3
  479. package/SVF-doxygen/html/html/search/all_1.js +4 -5
  480. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  481. package/SVF-doxygen/html/html/search/all_11.js +10 -10
  482. package/SVF-doxygen/html/html/search/all_12.js +5 -6
  483. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  484. package/SVF-doxygen/html/html/search/all_15.js +3 -3
  485. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  486. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  487. package/SVF-doxygen/html/html/search/all_c.js +5 -5
  488. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  489. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  490. package/SVF-doxygen/html/html/search/functions_0.js +4 -4
  491. package/SVF-doxygen/html/html/search/functions_10.js +8 -8
  492. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  493. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  494. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  495. package/SVF-doxygen/html/html/search/typedefs_0.js +0 -1
  496. package/SVF-doxygen/html/html/search/typedefs_10.js +0 -1
  497. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  498. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  499. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +4 -4
  500. package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
  501. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
  502. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +5 -5
  503. package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter.html +1 -1
  504. package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter_3_01T_00_018_01_4.html +1 -1
  505. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val.html +5 -5
  506. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
  507. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty.html +2 -2
  508. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl.html +2 -2
  509. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01From_01_5_01_4.html +2 -2
  510. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_4.html +2 -2
  511. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5_01_4.html +2 -2
  512. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5const_01_4.html +2 -2
  513. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01std_1_1unique__ptr_3_01From_01_4_01_4.html +4 -4
  514. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap.html +2 -2
  515. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +2 -2
  516. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__simple__type.html +2 -2
  517. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl.html +3 -3
  518. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl_3_01To_00_01From_00_01typename_01std_1_1enable__if_3_01std_1_1101a002941fb8432b76e90258f1ec6b7.html +3 -3
  519. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl.html +3 -3
  520. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5_01_4.html +3 -3
  521. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5const_01_4.html +3 -3
  522. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_4.html +3 -3
  523. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5_01_4.html +3 -3
  524. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5const_01_4.html +3 -3
  525. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01std_1_1unique__ptr_3_01From_01_4_01_4.html +3 -3
  526. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap.html +5 -5
  527. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
  528. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type.html +4 -4
  529. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type_3_01const_01From_01_4.html +6 -6
  530. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +15 -15
  531. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
  532. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +17 -17
  533. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +17 -17
  534. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  535. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
  536. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +4 -4
  537. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
  538. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +21 -21
  539. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
  540. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +1 -1
  541. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +1 -1
  542. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
  543. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
  544. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +1 -1
  545. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +2 -2
  546. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +1 -1
  547. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +2 -2
  548. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  549. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
  550. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
  551. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  552. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  553. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  554. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +1 -1
  555. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +1 -1
  556. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  557. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +6 -6
  558. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  559. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
  560. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  561. package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -8
  562. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +9 -9
  563. package/include/Graphs/ConsGNode.h +48 -24
  564. package/include/Graphs/GenericGraph.h +4 -2
  565. package/include/Graphs/ICFG.h +3 -2
  566. package/include/Graphs/SVFGOPT.h +7 -7
  567. package/include/Graphs/VFG.h +3 -2
  568. package/include/MSSA/MemSSA.h +6 -6
  569. package/include/MemoryModel/PersistentPointsToDS.h +1 -1
  570. package/include/MemoryModel/PointerAnalysis.h +0 -1
  571. package/include/MemoryModel/SVFIR.h +3 -1
  572. package/include/SABER/SaberCondAllocator.h +7 -2
  573. package/include/SVF-FE/BasicTypes.h +7 -1
  574. package/include/SVF-FE/IRAnnotator.h +3 -1
  575. package/include/Util/BasicTypes.h +1 -22
  576. package/include/Util/Casting.h +1 -0
  577. package/include/Util/SVFBasicTypes.h +0 -5
  578. package/include/Util/SparseBitVector.h +2 -0
  579. package/lib/DDA/ContextDDA.cpp +8 -5
  580. package/lib/Graphs/ConsG.cpp +46 -23
  581. package/lib/Graphs/ICFG.cpp +8 -4
  582. package/lib/Graphs/VFG.cpp +6 -3
  583. package/lib/MSSA/MemRegion.cpp +1 -0
  584. package/lib/MTA/MHP.cpp +4 -4
  585. package/lib/MTA/TCT.cpp +2 -1
  586. package/lib/MemoryModel/PointerAnalysisImpl.cpp +3 -1
  587. package/lib/SABER/SaberCondAllocator.cpp +3 -1
  588. package/lib/SVF-FE/CHGBuilder.cpp +2 -2
  589. package/lib/SVF-FE/SVFIRBuilder.cpp +4 -1
  590. package/lib/WPA/AndersenSFR.cpp +3 -0
  591. package/lib/WPA/TypeAnalysis.cpp +1 -0
  592. package/package.json +1 -1
@@ -177,7 +177,7 @@ Private Attributes</h2></td></tr>
177
177
  class SVF::SparseBitVector&lt; ElementSize &gt;</h3>
178
178
 
179
179
 
180
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00460">460</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
180
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00462">462</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
181
181
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
182
182
  <a id="a74ab73c1674200bb4560070c8b10346d"></a>
183
183
  <h2 class="memtitle"><span class="permalink"><a href="#a74ab73c1674200bb4560070c8b10346d">&#9670;&nbsp;</a></span>ElementList</h2>
@@ -201,7 +201,7 @@ template&lt;unsigned ElementSize = 128&gt; </div>
201
201
  </table>
202
202
  </div><div class="memdoc">
203
203
 
204
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00462">462</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
204
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00464">464</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
205
205
 
206
206
  </div>
207
207
  </div>
@@ -227,7 +227,7 @@ template&lt;unsigned ElementSize = 128&gt; </div>
227
227
  </table>
228
228
  </div><div class="memdoc">
229
229
 
230
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00464">464</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
230
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00466">466</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
231
231
 
232
232
  </div>
233
233
  </div>
@@ -253,7 +253,7 @@ template&lt;unsigned ElementSize = 128&gt; </div>
253
253
  </table>
254
254
  </div><div class="memdoc">
255
255
 
256
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00463">463</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
256
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00465">465</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
257
257
 
258
258
  </div>
259
259
  </div>
@@ -271,7 +271,7 @@ template&lt;unsigned ElementSize = 128&gt; </div>
271
271
  </table>
272
272
  </div><div class="memdoc">
273
273
 
274
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00673">673</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
274
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00675">675</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
275
275
 
276
276
  </div>
277
277
  </div>
@@ -301,9 +301,9 @@ template&lt;unsigned ElementSize = 128&gt; </div>
301
301
  <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae6cdfbedeb260d7fc91d83f7c1523be8a887a4856f51078b02a23348b7331453e"></a>BITWORD_SIZE&#160;</td><td class="fielddoc"></td></tr>
302
302
  </table>
303
303
 
304
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00465">465</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
305
- <div class="fragment"><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; {</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ae6cdfbedeb260d7fc91d83f7c1523be8a887a4856f51078b02a23348b7331453e">BITWORD_SIZE</a> = <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">SparseBitVectorElement&lt;ElementSize&gt;::BITWORD_SIZE</a></div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; };</div><div class="ttc" id="structSVF_1_1SparseBitVectorElement_html_a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4"><div class="ttname"><a href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">SVF::SparseBitVectorElement::BITWORD_SIZE</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00224">SparseBitVector.h:224</a></div></div>
306
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ae6cdfbedeb260d7fc91d83f7c1523be8a887a4856f51078b02a23348b7331453e"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ae6cdfbedeb260d7fc91d83f7c1523be8a887a4856f51078b02a23348b7331453e">SVF::SparseBitVector::BITWORD_SIZE</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00467">SparseBitVector.h:467</a></div></div>
304
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00467">467</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
305
+ <div class="fragment"><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; {</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ae6cdfbedeb260d7fc91d83f7c1523be8a887a4856f51078b02a23348b7331453e">BITWORD_SIZE</a> = <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">SparseBitVectorElement&lt;ElementSize&gt;::BITWORD_SIZE</a></div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; };</div><div class="ttc" id="structSVF_1_1SparseBitVectorElement_html_a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4"><div class="ttname"><a href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">SVF::SparseBitVectorElement::BITWORD_SIZE</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00224">SparseBitVector.h:224</a></div></div>
306
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ae6cdfbedeb260d7fc91d83f7c1523be8a887a4856f51078b02a23348b7331453e"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ae6cdfbedeb260d7fc91d83f7c1523be8a887a4856f51078b02a23348b7331453e">SVF::SparseBitVector::BITWORD_SIZE</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00469">SparseBitVector.h:469</a></div></div>
307
307
  </div><!-- fragment -->
308
308
  </div>
309
309
  </div>
@@ -333,9 +333,9 @@ template&lt;unsigned ElementSize = 128&gt; </div>
333
333
  </table>
334
334
  </div><div class="memdoc">
335
335
 
336
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00675">675</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
337
- <div class="fragment"><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;: <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>(), <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin()) {}</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
338
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
336
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00677">677</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
337
+ <div class="fragment"><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;: <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>(), <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin()) {}</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
338
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
339
339
  </div><!-- fragment -->
340
340
  </div>
341
341
  </div>
@@ -365,9 +365,9 @@ template&lt;unsigned ElementSize = 128&gt; </div>
365
365
  </table>
366
366
  </div><div class="memdoc">
367
367
 
368
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00677">677</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
369
- <div class="fragment"><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; : <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>(RHS.Elements), <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin()) {}</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
370
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
368
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00679">679</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
369
+ <div class="fragment"><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; : <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>(RHS.Elements), <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin()) {}</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
370
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
371
371
  </div><!-- fragment -->
372
372
  </div>
373
373
  </div>
@@ -397,10 +397,10 @@ template&lt;unsigned ElementSize = 128&gt; </div>
397
397
  </table>
398
398
  </div><div class="memdoc">
399
399
 
400
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00679">679</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
401
- <div class="fragment"><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; : <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(RHS.Elements)), <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin()) {}</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
400
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00681">681</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
401
+ <div class="fragment"><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; : <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(RHS.Elements)), <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin()) {}</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
402
402
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference&lt; T &gt;::type &amp;&amp; move(T &amp;&amp;t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00717">SVFUtil.h:717</a></div></div>
403
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
403
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
404
404
  </div><!-- fragment -->
405
405
  </div>
406
406
  </div>
@@ -431,8 +431,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
431
431
  </table>
432
432
  </div><div class="memdoc">
433
433
 
434
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01113">1113</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
435
- <div class="fragment"><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160; {</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">iterator</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00673">SparseBitVector.h:673</a></div></div>
434
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01115">1115</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
435
+ <div class="fragment"><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; {</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">iterator</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00675">SparseBitVector.h:675</a></div></div>
436
436
  </div><!-- fragment -->
437
437
  </div>
438
438
  </div>
@@ -462,8 +462,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
462
462
  </table>
463
463
  </div><div class="memdoc">
464
464
 
465
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00683">683</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
466
- <div class="fragment"><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; {</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.clear();</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
465
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00685">685</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
466
+ <div class="fragment"><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; {</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.clear();</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
467
467
  </div><!-- fragment -->
468
468
  </div>
469
469
  </div>
@@ -493,8 +493,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
493
493
  </table>
494
494
  </div><div class="memdoc">
495
495
 
496
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01071">1071</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
497
- <div class="fragment"><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; {</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; SparseBitVector&lt;ElementSize&gt; Result(*<span class="keyword">this</span>);</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; Result &amp;= RHS;</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; <span class="keywordflow">return</span> (Result == RHS);</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; }</div></div><!-- fragment -->
496
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01073">1073</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
497
+ <div class="fragment"><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; {</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; SparseBitVector&lt;ElementSize&gt; Result(*<span class="keyword">this</span>);</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; Result &amp;= RHS;</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; <span class="keywordflow">return</span> (Result == RHS);</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; }</div></div><!-- fragment -->
498
498
  </div>
499
499
  </div>
500
500
  <a id="a9f96e6a886fa69e07cda5dbfaed8b7c9"></a>
@@ -523,9 +523,9 @@ template&lt;unsigned ElementSize = 128&gt; </div>
523
523
  </table>
524
524
  </div><div class="memdoc">
525
525
 
526
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01102">1102</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
527
- <div class="fragment"><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; {</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; <span class="keywordtype">unsigned</span> BitCount = 0;</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; Iter != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end();</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; ++Iter)</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; BitCount += Iter-&gt;count();</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; <span class="keywordflow">return</span> BitCount;</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
528
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
526
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01104">1104</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
527
+ <div class="fragment"><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; {</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; <span class="keywordtype">unsigned</span> BitCount = 0;</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; Iter != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end();</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; ++Iter)</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; BitCount += Iter-&gt;count();</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; <span class="keywordflow">return</span> BitCount;</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
528
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00466">SparseBitVector.h:466</a></div></div>
529
529
  </div><!-- fragment -->
530
530
  </div>
531
531
  </div>
@@ -555,8 +555,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
555
555
  </table>
556
556
  </div><div class="memdoc">
557
557
 
558
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01097">1097</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
559
- <div class="fragment"><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; {</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty();</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
558
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01099">1099</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
559
+ <div class="fragment"><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; {</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty();</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
560
560
  </div><!-- fragment -->
561
561
  </div>
562
562
  </div>
@@ -586,8 +586,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
586
586
  </table>
587
587
  </div><div class="memdoc">
588
588
 
589
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01118">1118</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
590
- <div class="fragment"><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; {</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">iterator</a>(<span class="keyword">this</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00673">SparseBitVector.h:673</a></div></div>
589
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01120">1120</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
590
+ <div class="fragment"><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; {</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">iterator</a>(<span class="keyword">this</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00675">SparseBitVector.h:675</a></div></div>
591
591
  </div><!-- fragment -->
592
592
  </div>
593
593
  </div>
@@ -617,8 +617,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
617
617
  </table>
618
618
  </div><div class="memdoc">
619
619
 
620
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01079">1079</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
621
- <div class="fragment"><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; {</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; <span class="keyword">const</span> SparseBitVectorElement&lt;ElementSize&gt; &amp;First = *(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin());</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <span class="keywordflow">return</span> (First.index() * ElementSize) + First.find_first();</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
620
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01081">1081</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
621
+ <div class="fragment"><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; {</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; <span class="keyword">const</span> SparseBitVectorElement&lt;ElementSize&gt; &amp;First = *(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin());</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; <span class="keywordflow">return</span> (First.index() * ElementSize) + First.find_first();</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
622
622
  </div><!-- fragment -->
623
623
  </div>
624
624
  </div>
@@ -647,8 +647,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
647
647
  </table>
648
648
  </div><div class="memdoc">
649
649
 
650
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01088">1088</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
651
- <div class="fragment"><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; {</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; <span class="keyword">const</span> SparseBitVectorElement&lt;ElementSize&gt; &amp;Last = *(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.rbegin());</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; <span class="keywordflow">return</span> (Last.index() * ElementSize) + Last.find_last();</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
650
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01090">1090</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
651
+ <div class="fragment"><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; {</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; <span class="keyword">const</span> SparseBitVectorElement&lt;ElementSize&gt; &amp;Last = *(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.rbegin());</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; <span class="keywordflow">return</span> (Last.index() * ElementSize) + Last.find_last();</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
652
652
  </div><!-- fragment -->
653
653
  </div>
654
654
  </div>
@@ -678,8 +678,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
678
678
  </table>
679
679
  </div><div class="memdoc">
680
680
 
681
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00527">527</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
682
- <div class="fragment"><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; {</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">FindLowerBoundImpl</a>(ElementIndex);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ad53d20775e5445a438f579743aa77cf3"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">SVF::SparseBitVector::FindLowerBoundImpl</a></div><div class="ttdeci">ElementListIter FindLowerBoundImpl(unsigned ElementIndex) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00478">SparseBitVector.h:478</a></div></div>
681
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00529">529</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
682
+ <div class="fragment"><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; {</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">FindLowerBoundImpl</a>(ElementIndex);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ad53d20775e5445a438f579743aa77cf3"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">SVF::SparseBitVector::FindLowerBoundImpl</a></div><div class="ttdeci">ElementListIter FindLowerBoundImpl(unsigned ElementIndex) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00480">SparseBitVector.h:480</a></div></div>
683
683
  </div><!-- fragment -->
684
684
  </div>
685
685
  </div>
@@ -709,8 +709,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
709
709
  </table>
710
710
  </div><div class="memdoc">
711
711
 
712
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00523">523</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
713
- <div class="fragment"><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; {</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">FindLowerBoundImpl</a>(ElementIndex);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ad53d20775e5445a438f579743aa77cf3"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">SVF::SparseBitVector::FindLowerBoundImpl</a></div><div class="ttdeci">ElementListIter FindLowerBoundImpl(unsigned ElementIndex) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00478">SparseBitVector.h:478</a></div></div>
712
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00525">525</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
713
+ <div class="fragment"><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; {</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">FindLowerBoundImpl</a>(ElementIndex);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ad53d20775e5445a438f579743aa77cf3"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">SVF::SparseBitVector::FindLowerBoundImpl</a></div><div class="ttdeci">ElementListIter FindLowerBoundImpl(unsigned ElementIndex) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00480">SparseBitVector.h:480</a></div></div>
714
714
  </div><!-- fragment -->
715
715
  </div>
716
716
  </div>
@@ -740,10 +740,10 @@ template&lt;unsigned ElementSize = 128&gt; </div>
740
740
  </table>
741
741
  </div><div class="memdoc">
742
742
 
743
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00478">478</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
744
- <div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="comment">// We cache a non-const iterator so we&#39;re forced to resort to const_cast to</span></div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="comment">// get the begin/end in the case where &#39;this&#39; is const. To avoid duplication</span></div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="comment">// of code with the only difference being whether the const cast is present</span></div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="comment">// &#39;this&#39; is always const in this particular function and we sort out the</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="comment">// difference in FindLowerBound and FindLowerBoundConst.</span></div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Begin =</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keyword">const_cast&lt;</span>SparseBitVector&lt;ElementSize&gt; *<span class="keyword">&gt;</span>(<span class="keyword">this</span>)-&gt;<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> End =</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keyword">const_cast&lt;</span>SparseBitVector&lt;ElementSize&gt; *<span class="keyword">&gt;</span>(<span class="keyword">this</span>)-&gt;<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end();</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = Begin;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="comment">// Make sure our current iterator is valid.</span></div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> == End)</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; --<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="comment">// Search from our current iterator, either backwards or forwards,</span></div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="comment">// depending on what element we are looking for.</span></div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>-&gt;index() == ElementIndex)</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> ElementIter;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>-&gt;index() &gt; ElementIndex)</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">while</span> (ElementIter != Begin</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; &amp;&amp; ElementIter-&gt;index() &gt; ElementIndex)</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; --ElementIter;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; }</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">while</span> (ElementIter != End &amp;&amp;</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; ElementIter-&gt;index() &lt; ElementIndex)</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; ++ElementIter;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; }</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = ElementIter;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">return</span> ElementIter;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
745
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
746
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00463">SparseBitVector.h:463</a></div></div>
743
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00480">480</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
744
+ <div class="fragment"><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="comment">// We cache a non-const iterator so we&#39;re forced to resort to const_cast to</span></div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="comment">// get the begin/end in the case where &#39;this&#39; is const. To avoid duplication</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="comment">// of code with the only difference being whether the const cast is present</span></div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="comment">// &#39;this&#39; is always const in this particular function and we sort out the</span></div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="comment">// difference in FindLowerBound and FindLowerBoundConst.</span></div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Begin =</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keyword">const_cast&lt;</span>SparseBitVector&lt;ElementSize&gt; *<span class="keyword">&gt;</span>(<span class="keyword">this</span>)-&gt;<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> End =</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keyword">const_cast&lt;</span>SparseBitVector&lt;ElementSize&gt; *<span class="keyword">&gt;</span>(<span class="keyword">this</span>)-&gt;<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end();</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = Begin;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; }</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="comment">// Make sure our current iterator is valid.</span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> == End)</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; --<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="comment">// Search from our current iterator, either backwards or forwards,</span></div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="comment">// depending on what element we are looking for.</span></div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>-&gt;index() == ElementIndex)</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; {</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">return</span> ElementIter;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>-&gt;index() &gt; ElementIndex)</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; {</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">while</span> (ElementIter != Begin</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; &amp;&amp; ElementIter-&gt;index() &gt; ElementIndex)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; --ElementIter;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; }</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">while</span> (ElementIter != End &amp;&amp;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; ElementIter-&gt;index() &lt; ElementIndex)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; ++ElementIter;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = ElementIter;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> ElementIter;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
745
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
746
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00465">SparseBitVector.h:465</a></div></div>
747
747
  </div><!-- fragment -->
748
748
  </div>
749
749
  </div>
@@ -773,8 +773,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
773
773
  </table>
774
774
  </div><div class="memdoc">
775
775
 
776
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01029">1029</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
777
- <div class="fragment"><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; {</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(*RHS);</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector&lt; ElementSize &gt; *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01029">SparseBitVector.h:1029</a></div></div>
776
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01031">1031</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
777
+ <div class="fragment"><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; {</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(*RHS);</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector&lt; ElementSize &gt; *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01031">SparseBitVector.h:1031</a></div></div>
778
778
  </div><!-- fragment -->
779
779
  </div>
780
780
  </div>
@@ -804,9 +804,9 @@ template&lt;unsigned ElementSize = 128&gt; </div>
804
804
  </table>
805
805
  </div><div class="memdoc">
806
806
 
807
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01035">1035</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
808
- <div class="fragment"><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; {</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; <span class="comment">// Check if both bitmaps are empty.</span></div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty() &amp;&amp; RHS.Elements.empty())</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="comment">// Loop through, intersecting stopping when we hit bits in common.</span></div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; {</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; {</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; ++Iter2;</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; }</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; {</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;intersects(*Iter2))</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; ++Iter1;</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; ++Iter2;</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; }</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; {</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; ++Iter1;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; }</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; }</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
809
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
807
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01037">1037</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
808
+ <div class="fragment"><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; {</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; <span class="comment">// Check if both bitmaps are empty.</span></div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty() &amp;&amp; RHS.Elements.empty())</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; <span class="comment">// Loop through, intersecting stopping when we hit bits in common.</span></div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; {</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; {</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; ++Iter2;</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; }</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; {</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;intersects(*Iter2))</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; ++Iter1;</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; ++Iter2;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; }</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; {</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; ++Iter1;</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; }</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; }</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
809
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00466">SparseBitVector.h:466</a></div></div>
810
810
  </div><!-- fragment -->
811
811
  </div>
812
812
  </div>
@@ -836,13 +836,13 @@ template&lt;unsigned ElementSize = 128&gt; </div>
836
836
  </table>
837
837
  </div><div class="memdoc">
838
838
 
839
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00903">903</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
840
- <div class="fragment"><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; {</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS)</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; {</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">empty</a>())</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; {</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a5afe3e74412a1f3f728d7e0eaae70c13">clear</a>();</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; }</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; }</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="comment">// If either our bitmap or RHS is empty, we are done</span></div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty() || RHS.Elements.empty())</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160;</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="comment">// Loop through, intersecting as we go, erasing elements when necessary.</span></div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; {</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; {</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; }</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; {</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; ++Iter2;</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; }</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; {</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="keywordtype">bool</span> BecameZero;</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; changed |= Iter1-&gt;intersectWithComplement(*Iter2, BecameZero);</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">if</span> (BecameZero)</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; {</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> IterTmp = Iter1;</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; ++Iter1;</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(IterTmp);</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; }</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; {</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; ++Iter1;</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; }</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; ++Iter2;</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; }</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; {</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; ++Iter1;</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; }</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; }</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
841
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
842
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a5afe3e74412a1f3f728d7e0eaae70c13"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a5afe3e74412a1f3f728d7e0eaae70c13">SVF::SparseBitVector::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00683">SparseBitVector.h:683</a></div></div>
843
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
844
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00463">SparseBitVector.h:463</a></div></div>
845
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_aea5389ad7e5fe4c8bef686940a1a6056"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">SVF::SparseBitVector::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01097">SparseBitVector.h:1097</a></div></div>
839
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00905">905</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
840
+ <div class="fragment"><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; {</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS)</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; {</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">empty</a>())</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; {</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a5afe3e74412a1f3f728d7e0eaae70c13">clear</a>();</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; }</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; }</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160;</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="comment">// If either our bitmap or RHS is empty, we are done</span></div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty() || RHS.Elements.empty())</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160;</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="comment">// Loop through, intersecting as we go, erasing elements when necessary.</span></div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; {</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; {</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; }</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; {</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; ++Iter2;</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; }</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; {</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordtype">bool</span> BecameZero;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; changed |= Iter1-&gt;intersectWithComplement(*Iter2, BecameZero);</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordflow">if</span> (BecameZero)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; {</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> IterTmp = Iter1;</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; ++Iter1;</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(IterTmp);</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; }</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; {</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; ++Iter1;</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; }</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; ++Iter2;</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; }</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; ++Iter1;</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; }</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; }</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
841
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
842
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a5afe3e74412a1f3f728d7e0eaae70c13"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a5afe3e74412a1f3f728d7e0eaae70c13">SVF::SparseBitVector::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00685">SparseBitVector.h:685</a></div></div>
843
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00466">SparseBitVector.h:466</a></div></div>
844
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00465">SparseBitVector.h:465</a></div></div>
845
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_aea5389ad7e5fe4c8bef686940a1a6056"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">SVF::SparseBitVector::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01099">SparseBitVector.h:1099</a></div></div>
846
846
  </div><!-- fragment -->
847
847
  </div>
848
848
  </div>
@@ -872,8 +872,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
872
872
  </table>
873
873
  </div><div class="memdoc">
874
874
 
875
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00961">961</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
876
- <div class="fragment"><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; {</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(*RHS);</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &amp;RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00903">SparseBitVector.h:903</a></div></div>
875
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00963">963</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
876
+ <div class="fragment"><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; {</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(*RHS);</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &amp;RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00905">SparseBitVector.h:905</a></div></div>
877
877
  </div><!-- fragment -->
878
878
  </div>
879
879
  </div>
@@ -913,13 +913,13 @@ template&lt;unsigned ElementSize = 128&gt; </div>
913
913
  </table>
914
914
  </div><div class="memdoc">
915
915
 
916
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00968">968</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
917
- <div class="fragment"><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; {</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS1)</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; {</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(RHS2);</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; }</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS2)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; {</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a4f618377a31eba119de672b0be4936bc">SparseBitVector</a> RHS2Copy(RHS2);</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(RHS1, RHS2Copy);</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; }</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.clear();</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter1 = RHS1.Elements.begin();</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS2.Elements.begin();</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <span class="comment">// If RHS1 is empty, we are done</span></div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <span class="comment">// If RHS2 is empty, we still have to copy RHS1</span></div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; <span class="keywordflow">if</span> (RHS1.Elements.empty())</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160;</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; <span class="comment">// Loop through, intersecting as we go, erasing elements when necessary.</span></div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS2.Elements.end())</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; {</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; <span class="keywordflow">if</span> (Iter1 == RHS1.Elements.end())</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160;</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; {</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; ++Iter2;</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; }</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; {</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keywordtype">bool</span> BecameZero = <span class="keyword">false</span>;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.emplace_back(Iter1-&gt;index());</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.back().intersectWithComplement(*Iter1, *Iter2, BecameZero);</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="keywordflow">if</span> (BecameZero)</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.pop_back();</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; ++Iter1;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; ++Iter2;</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; }</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; {</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.push_back(*Iter1++);</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; }</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; }</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="comment">// copy the remaining elements</span></div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">std::copy</a>(Iter1, RHS1.Elements.end(), std::back_inserter(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>));</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
918
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &amp;RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00903">SparseBitVector.h:903</a></div></div>
919
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
920
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a4f618377a31eba119de672b0be4936bc"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a4f618377a31eba119de672b0be4936bc">SVF::SparseBitVector::SparseBitVector</a></div><div class="ttdeci">SparseBitVector()</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00675">SparseBitVector.h:675</a></div></div>
916
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00970">970</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
917
+ <div class="fragment"><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; {</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS1)</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; {</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(RHS2);</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; }</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS2)</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; {</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a4f618377a31eba119de672b0be4936bc">SparseBitVector</a> RHS2Copy(RHS2);</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(RHS1, RHS2Copy);</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; }</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.clear();</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter1 = RHS1.Elements.begin();</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS2.Elements.begin();</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160;</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; <span class="comment">// If RHS1 is empty, we are done</span></div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="comment">// If RHS2 is empty, we still have to copy RHS1</span></div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; <span class="keywordflow">if</span> (RHS1.Elements.empty())</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160;</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; <span class="comment">// Loop through, intersecting as we go, erasing elements when necessary.</span></div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS2.Elements.end())</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; {</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; <span class="keywordflow">if</span> (Iter1 == RHS1.Elements.end())</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; {</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; ++Iter2;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; }</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; {</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; <span class="keywordtype">bool</span> BecameZero = <span class="keyword">false</span>;</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.emplace_back(Iter1-&gt;index());</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.back().intersectWithComplement(*Iter1, *Iter2, BecameZero);</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; <span class="keywordflow">if</span> (BecameZero)</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.pop_back();</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; ++Iter1;</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; ++Iter2;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; }</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; {</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.push_back(*Iter1++);</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; }</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; }</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <span class="comment">// copy the remaining elements</span></div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">std::copy</a>(Iter1, RHS1.Elements.end(), std::back_inserter(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>));</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
918
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &amp;RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00905">SparseBitVector.h:905</a></div></div>
919
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
920
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a4f618377a31eba119de672b0be4936bc"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a4f618377a31eba119de672b0be4936bc">SVF::SparseBitVector::SparseBitVector</a></div><div class="ttdeci">SparseBitVector()</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00677">SparseBitVector.h:677</a></div></div>
921
921
  <div class="ttc" id="cJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
922
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
922
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00466">SparseBitVector.h:466</a></div></div>
923
923
  </div><!-- fragment -->
924
924
  </div>
925
925
  </div>
@@ -959,8 +959,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
959
959
  </table>
960
960
  </div><div class="memdoc">
961
961
 
962
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01023">1023</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
963
- <div class="fragment"><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; {</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(*RHS1, *RHS2);</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &amp;RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00903">SparseBitVector.h:903</a></div></div>
962
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01025">1025</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
963
+ <div class="fragment"><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; {</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(*RHS1, *RHS2);</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &amp;RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00905">SparseBitVector.h:905</a></div></div>
964
964
  </div><!-- fragment -->
965
965
  </div>
966
966
  </div>
@@ -990,11 +990,11 @@ template&lt;unsigned ElementSize = 128&gt; </div>
990
990
  </table>
991
991
  </div><div class="memdoc">
992
992
 
993
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00842">842</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
994
- <div class="fragment"><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; {</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS)</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160;</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="comment">// Check if both bitmaps are empty.</span></div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty() &amp;&amp; RHS.Elements.empty())</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="comment">// Loop through, intersecting as we go, erasing elements when necessary.</span></div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; {</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; {</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; }</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; {</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; ++Iter2;</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; }</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; {</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keywordtype">bool</span> BecameZero;</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; changed |= Iter1-&gt;intersectWith(*Iter2, BecameZero);</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="keywordflow">if</span> (BecameZero)</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; {</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> IterTmp = Iter1;</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; ++Iter1;</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(IterTmp);</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; }</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; {</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; ++Iter1;</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; }</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; ++Iter2;</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; }</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; {</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> IterTmp = Iter1;</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; ++Iter1;</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(IterTmp);</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; }</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; }</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordflow">if</span> (Iter1 != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; {</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(Iter1, <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end());</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; }</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
995
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
996
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
997
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00463">SparseBitVector.h:463</a></div></div>
993
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00844">844</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
994
+ <div class="fragment"><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; {</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS)</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <span class="comment">// Check if both bitmaps are empty.</span></div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty() &amp;&amp; RHS.Elements.empty())</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160;</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <span class="comment">// Loop through, intersecting as we go, erasing elements when necessary.</span></div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; {</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; {</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; }</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="keywordflow">if</span> (Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; {</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; ++Iter2;</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; }</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; {</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="keywordtype">bool</span> BecameZero;</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; changed |= Iter1-&gt;intersectWith(*Iter2, BecameZero);</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordflow">if</span> (BecameZero)</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; {</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> IterTmp = Iter1;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; ++Iter1;</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(IterTmp);</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; }</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; {</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; ++Iter1;</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; }</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; ++Iter2;</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; }</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; {</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> IterTmp = Iter1;</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; ++Iter1;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(IterTmp);</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; }</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; }</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordflow">if</span> (Iter1 != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; {</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(Iter1, <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end());</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; }</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
995
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
996
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00466">SparseBitVector.h:466</a></div></div>
997
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00465">SparseBitVector.h:465</a></div></div>
998
998
  </div><!-- fragment -->
999
999
  </div>
1000
1000
  </div>
@@ -1024,8 +1024,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1024
1024
  </table>
1025
1025
  </div><div class="memdoc">
1026
1026
 
1027
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00785">785</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1028
- <div class="fragment"><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; {</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == RHS);</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; }</div></div><!-- fragment -->
1027
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00787">787</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1028
+ <div class="fragment"><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; {</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == RHS);</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; }</div></div><!-- fragment -->
1029
1029
  </div>
1030
1030
  </div>
1031
1031
  <a id="adeed46c25650bdbccdef0519906d1030"></a>
@@ -1054,9 +1054,9 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1054
1054
  </table>
1055
1055
  </div><div class="memdoc">
1056
1056
 
1057
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00689">689</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1058
- <div class="fragment"><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; {</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS)</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a> = RHS.Elements;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
1059
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
1057
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00691">691</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1058
+ <div class="fragment"><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS)</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a> = RHS.Elements;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
1059
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
1060
1060
  </div><!-- fragment -->
1061
1061
  </div>
1062
1062
  </div>
@@ -1086,10 +1086,10 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1086
1086
  </table>
1087
1087
  </div><div class="memdoc">
1088
1088
 
1089
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00698">698</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1090
- <div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; {</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(RHS.Elements);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
1089
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00700">700</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1090
+ <div class="fragment"><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(RHS.Elements);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
1091
1091
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference&lt; T &gt;::type &amp;&amp; move(T &amp;&amp;t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00717">SVFUtil.h:717</a></div></div>
1092
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
1092
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
1093
1093
  </div><!-- fragment -->
1094
1094
  </div>
1095
1095
  </div>
@@ -1119,9 +1119,9 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1119
1119
  </table>
1120
1120
  </div><div class="memdoc">
1121
1121
 
1122
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00790">790</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1123
- <div class="fragment"><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; {</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">for</span> (; Iter1 != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() &amp;&amp; Iter2 != RHS.Elements.end();</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; ++Iter1, ++Iter2)</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; {</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">if</span> (*Iter1 != *Iter2)</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; }</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">return</span> Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() &amp;&amp; Iter2 == RHS.Elements.end();</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
1124
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
1122
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00792">792</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1123
+ <div class="fragment"><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; {</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">for</span> (; Iter1 != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() &amp;&amp; Iter2 != RHS.Elements.end();</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; ++Iter1, ++Iter2)</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; {</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">if</span> (*Iter1 != *Iter2)</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; }</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">return</span> Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() &amp;&amp; Iter2 == RHS.Elements.end();</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
1124
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00466">SparseBitVector.h:466</a></div></div>
1125
1125
  </div><!-- fragment -->
1126
1126
  </div>
1127
1127
  </div>
@@ -1151,11 +1151,11 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1151
1151
  </table>
1152
1152
  </div><div class="memdoc">
1153
1153
 
1154
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00805">805</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1155
- <div class="fragment"><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; {</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS)</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="comment">// If RHS is empty, we are done</span></div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">if</span> (RHS.Elements.empty())</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; {</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() || Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; {</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.insert(Iter1, *Iter2);</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; ++Iter2;</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; }</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; {</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; changed |= Iter1-&gt;unionWith(*Iter2);</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; ++Iter1;</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; ++Iter2;</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; {</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; ++Iter1;</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; }</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; }</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
1156
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
1157
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
1158
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00463">SparseBitVector.h:463</a></div></div>
1154
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00807">807</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1155
+ <div class="fragment"><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; {</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> == &amp;RHS)</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="comment">// If RHS is empty, we are done</span></div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <span class="keywordflow">if</span> (RHS.Elements.empty())</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; {</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() || Iter1-&gt;index() &gt; Iter2-&gt;index())</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; {</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.insert(Iter1, *Iter2);</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; ++Iter2;</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; }</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1-&gt;index() == Iter2-&gt;index())</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; {</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; changed |= Iter1-&gt;unionWith(*Iter2);</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; ++Iter1;</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; ++Iter2;</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; }</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; {</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; ++Iter1;</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; }</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; }</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
1156
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
1157
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00466">SparseBitVector.h:466</a></div></div>
1158
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00465">SparseBitVector.h:465</a></div></div>
1159
1159
  </div><!-- fragment -->
1160
1160
  </div>
1161
1161
  </div>
@@ -1185,11 +1185,11 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1185
1185
  </table>
1186
1186
  </div><div class="memdoc">
1187
1187
 
1188
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00722">722</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1189
- <div class="fragment"><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; {</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordtype">unsigned</span> ElementIndex = Idx / ElementSize;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">FindLowerBound</a>(ElementIndex);</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="comment">// If we can&#39;t find an element that is supposed to contain this bit, there</span></div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="comment">// is nothing more to do.</span></div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">if</span> (ElementIter == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() ||</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; ElementIter-&gt;index() != ElementIndex)</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; ElementIter-&gt;reset(Idx % ElementSize);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="comment">// When the element is zeroed out, delete it.</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">if</span> (ElementIter-&gt;empty())</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; {</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; ++<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(ElementIter);</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; }</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
1190
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_aaac61c8dd5477ecc6e76c664bf45c0b0"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">SVF::SparseBitVector::FindLowerBound</a></div><div class="ttdeci">ElementListIter FindLowerBound(unsigned ElementIndex)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00527">SparseBitVector.h:527</a></div></div>
1191
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
1192
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00463">SparseBitVector.h:463</a></div></div>
1188
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00724">724</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1189
+ <div class="fragment"><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; {</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordtype">unsigned</span> ElementIndex = Idx / ElementSize;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">FindLowerBound</a>(ElementIndex);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="comment">// If we can&#39;t find an element that is supposed to contain this bit, there</span></div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="comment">// is nothing more to do.</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">if</span> (ElementIter == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() ||</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; ElementIter-&gt;index() != ElementIndex)</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; ElementIter-&gt;reset(Idx % ElementSize);</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="comment">// When the element is zeroed out, delete it.</span></div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">if</span> (ElementIter-&gt;empty())</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; {</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; ++<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(ElementIter);</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; }</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
1190
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_aaac61c8dd5477ecc6e76c664bf45c0b0"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">SVF::SparseBitVector::FindLowerBound</a></div><div class="ttdeci">ElementListIter FindLowerBound(unsigned ElementIndex)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00529">SparseBitVector.h:529</a></div></div>
1191
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
1192
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00465">SparseBitVector.h:465</a></div></div>
1193
1193
  </div><!-- fragment -->
1194
1194
  </div>
1195
1195
  </div>
@@ -1219,11 +1219,11 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1219
1219
  </table>
1220
1220
  </div><div class="memdoc">
1221
1221
 
1222
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00745">745</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1223
- <div class="fragment"><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; {</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordtype">unsigned</span> ElementIndex = Idx / ElementSize;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> ElementIter;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; {</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.emplace(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end(), ElementIndex);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; }</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; {</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">FindLowerBound</a>(ElementIndex);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">if</span> (ElementIter == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() ||</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; ElementIter-&gt;index() != ElementIndex)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; {</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="comment">// We may have hit the beginning of our SparseBitVector, in which case,</span></div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="comment">// we may need to insert right after this element, which requires moving</span></div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="comment">// the current iterator forward one, because insert does insert before.</span></div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keywordflow">if</span> (ElementIter != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() &amp;&amp;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; ElementIter-&gt;index() &lt; ElementIndex)</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; ++ElementIter;</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.emplace(ElementIter, ElementIndex);</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; }</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; }</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = ElementIter;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; ElementIter-&gt;set(Idx % ElementSize);</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00474">SparseBitVector.h:474</a></div></div>
1224
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_aaac61c8dd5477ecc6e76c664bf45c0b0"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">SVF::SparseBitVector::FindLowerBound</a></div><div class="ttdeci">ElementListIter FindLowerBound(unsigned ElementIndex)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00527">SparseBitVector.h:527</a></div></div>
1225
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
1226
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00463">SparseBitVector.h:463</a></div></div>
1222
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00747">747</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1223
+ <div class="fragment"><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; {</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordtype">unsigned</span> ElementIndex = Idx / ElementSize;</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> ElementIter;</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; {</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.emplace(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end(), ElementIndex);</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; {</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">FindLowerBound</a>(ElementIndex);</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">if</span> (ElementIter == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() ||</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; ElementIter-&gt;index() != ElementIndex)</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; {</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="comment">// We may have hit the beginning of our SparseBitVector, in which case,</span></div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="comment">// we may need to insert right after this element, which requires moving</span></div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="comment">// the current iterator forward one, because insert does insert before.</span></div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">if</span> (ElementIter != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() &amp;&amp;</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; ElementIter-&gt;index() &lt; ElementIndex)</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; ++ElementIter;</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.emplace(ElementIter, ElementIndex);</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; }</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; }</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = ElementIter;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; ElementIter-&gt;set(Idx % ElementSize);</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00476">SparseBitVector.h:476</a></div></div>
1224
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_aaac61c8dd5477ecc6e76c664bf45c0b0"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">SVF::SparseBitVector::FindLowerBound</a></div><div class="ttdeci">ElementListIter FindLowerBound(unsigned ElementIndex)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00529">SparseBitVector.h:529</a></div></div>
1225
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
1226
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00465">SparseBitVector.h:465</a></div></div>
1227
1227
  </div><!-- fragment -->
1228
1228
  </div>
1229
1229
  </div>
@@ -1253,10 +1253,10 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1253
1253
  </table>
1254
1254
  </div><div class="memdoc">
1255
1255
 
1256
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00706">706</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1257
- <div class="fragment"><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; {</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordtype">unsigned</span> ElementIndex = Idx / ElementSize;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab4787f96a5f7cab926f9c7426aa92fc1">FindLowerBoundConst</a>(ElementIndex);</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="comment">// If we can&#39;t find an element that is supposed to contain this bit, there</span></div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="comment">// is nothing more to do.</span></div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">if</span> (ElementIter == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() ||</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; ElementIter-&gt;index() != ElementIndex)</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">return</span> ElementIter-&gt;test(Idx % ElementSize);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab4787f96a5f7cab926f9c7426aa92fc1"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab4787f96a5f7cab926f9c7426aa92fc1">SVF::SparseBitVector::FindLowerBoundConst</a></div><div class="ttdeci">ElementListConstIter FindLowerBoundConst(unsigned ElementIndex) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00523">SparseBitVector.h:523</a></div></div>
1258
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00470">SparseBitVector.h:470</a></div></div>
1259
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
1256
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00708">708</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1257
+ <div class="fragment"><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordtype">unsigned</span> ElementIndex = Idx / ElementSize;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab4787f96a5f7cab926f9c7426aa92fc1">FindLowerBoundConst</a>(ElementIndex);</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="comment">// If we can&#39;t find an element that is supposed to contain this bit, there</span></div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="comment">// is nothing more to do.</span></div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">if</span> (ElementIter == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() ||</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; ElementIter-&gt;index() != ElementIndex)</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keywordflow">return</span> ElementIter-&gt;test(Idx % ElementSize);</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab4787f96a5f7cab926f9c7426aa92fc1"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab4787f96a5f7cab926f9c7426aa92fc1">SVF::SparseBitVector::FindLowerBoundConst</a></div><div class="ttdeci">ElementListConstIter FindLowerBoundConst(unsigned ElementIndex) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00525">SparseBitVector.h:525</a></div></div>
1258
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
1259
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00466">SparseBitVector.h:466</a></div></div>
1260
1260
  </div><!-- fragment -->
1261
1261
  </div>
1262
1262
  </div>
@@ -1286,8 +1286,8 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1286
1286
  </table>
1287
1287
  </div><div class="memdoc">
1288
1288
 
1289
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00774">774</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1290
- <div class="fragment"><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; {</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordtype">bool</span> old = <a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(Idx);</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">if</span> (!old)</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; {</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keyword">set</span>(Idx);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; }</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00706">SparseBitVector.h:706</a></div></div>
1289
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00776">776</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1290
+ <div class="fragment"><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; {</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="keywordtype">bool</span> old = <a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(Idx);</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">if</span> (!old)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; {</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keyword">set</span>(Idx);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; }</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00708">SparseBitVector.h:708</a></div></div>
1291
1291
  </div><!-- fragment -->
1292
1292
  </div>
1293
1293
  </div>
@@ -1314,7 +1314,7 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1314
1314
  </table>
1315
1315
  </div><div class="memdoc">
1316
1316
 
1317
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00474">474</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1317
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00476">476</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1318
1318
 
1319
1319
  </div>
1320
1320
  </div>
@@ -1340,7 +1340,7 @@ template&lt;unsigned ElementSize = 128&gt; </div>
1340
1340
  </table>
1341
1341
  </div><div class="memdoc">
1342
1342
 
1343
- <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00470">470</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1343
+ <p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00472">472</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
1344
1344
 
1345
1345
  </div>
1346
1346
  </div>