svf-tools 1.0.782 → 1.0.783

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 (300) hide show
  1. package/SVF-doxygen/html/html/CDG_8h.html +2 -2
  2. package/SVF-doxygen/html/html/CDG_8h_source.html +2 -2
  3. package/SVF-doxygen/html/html/CFBasicBlockG_8cpp_source.html +152 -90
  4. package/SVF-doxygen/html/html/CFBasicBlockG_8h.html +3 -1
  5. package/SVF-doxygen/html/html/CFBasicBlockG_8h_source.html +601 -260
  6. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +4 -4
  7. package/SVF-doxygen/html/html/WTO_8h_source.html +6 -6
  8. package/SVF-doxygen/html/html/annotated.html +325 -333
  9. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockEdge-members.html +19 -12
  10. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockEdge.html +219 -30
  11. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGBuilder-members.html +4 -3
  12. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGBuilder.html +147 -39
  13. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
  14. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTONode.html +1 -1
  15. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGraph-members.html +32 -28
  16. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGraph.html +382 -184
  17. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode-members.html +51 -41
  18. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode.html +1244 -159
  19. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +34 -34
  20. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +65 -25
  21. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +4 -5
  22. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  23. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +3 -4
  24. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.png +0 -0
  25. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +10 -10
  26. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  27. package/SVF-doxygen/html/html/classes.html +266 -276
  28. package/SVF-doxygen/html/html/dir_a10fe8a299b5f0831d187a9a2e1308ef.html +0 -2
  29. package/SVF-doxygen/html/html/dir_fc0329f850c815763e0c5b05933e8d55.html +0 -2
  30. package/SVF-doxygen/html/html/files.html +19 -21
  31. package/SVF-doxygen/html/html/functions.html +2 -33
  32. package/SVF-doxygen/html/html/functions_a.html +14 -16
  33. package/SVF-doxygen/html/html/functions_b.html +8 -9
  34. package/SVF-doxygen/html/html/functions_c.html +34 -31
  35. package/SVF-doxygen/html/html/functions_d.html +11 -13
  36. package/SVF-doxygen/html/html/functions_e.html +1 -1
  37. package/SVF-doxygen/html/html/functions_func.html +16 -18
  38. package/SVF-doxygen/html/html/functions_func_b.html +2 -3
  39. package/SVF-doxygen/html/html/functions_func_c.html +31 -31
  40. package/SVF-doxygen/html/html/functions_func_d.html +10 -12
  41. package/SVF-doxygen/html/html/functions_func_g.html +22 -59
  42. package/SVF-doxygen/html/html/functions_func_h.html +9 -12
  43. package/SVF-doxygen/html/html/functions_func_i.html +13 -26
  44. package/SVF-doxygen/html/html/functions_func_o.html +9 -9
  45. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  46. package/SVF-doxygen/html/html/functions_func_r.html +15 -15
  47. package/SVF-doxygen/html/html/functions_func_s.html +19 -28
  48. package/SVF-doxygen/html/html/functions_func_t.html +0 -2
  49. package/SVF-doxygen/html/html/functions_func_v.html +2 -3
  50. package/SVF-doxygen/html/html/functions_func_~.html +0 -12
  51. package/SVF-doxygen/html/html/functions_g.html +23 -60
  52. package/SVF-doxygen/html/html/functions_h.html +9 -12
  53. package/SVF-doxygen/html/html/functions_i.html +16 -44
  54. package/SVF-doxygen/html/html/functions_n.html +6 -8
  55. package/SVF-doxygen/html/html/functions_o.html +23 -27
  56. package/SVF-doxygen/html/html/functions_p.html +8 -12
  57. package/SVF-doxygen/html/html/functions_r.html +17 -17
  58. package/SVF-doxygen/html/html/functions_s.html +15 -32
  59. package/SVF-doxygen/html/html/functions_t.html +5 -7
  60. package/SVF-doxygen/html/html/functions_type_c.html +6 -3
  61. package/SVF-doxygen/html/html/functions_type_e.html +1 -1
  62. package/SVF-doxygen/html/html/functions_type_i.html +3 -18
  63. package/SVF-doxygen/html/html/functions_type_n.html +0 -2
  64. package/SVF-doxygen/html/html/functions_type_s.html +0 -6
  65. package/SVF-doxygen/html/html/functions_v.html +4 -5
  66. package/SVF-doxygen/html/html/functions_vars.html +2 -33
  67. package/SVF-doxygen/html/html/functions_vars_i.html +2 -2
  68. package/SVF-doxygen/html/html/functions_vars_o.html +2 -2
  69. package/SVF-doxygen/html/html/functions_w.html +8 -8
  70. package/SVF-doxygen/html/html/functions_~.html +0 -12
  71. package/SVF-doxygen/html/html/hierarchy.html +458 -469
  72. package/SVF-doxygen/html/html/namespaceSVF.html +7 -78
  73. package/SVF-doxygen/html/html/namespacemembers_g.html +3 -12
  74. package/SVF-doxygen/html/html/namespacemembers_n.html +1 -1
  75. package/SVF-doxygen/html/html/namespacemembers_type_g.html +0 -9
  76. package/SVF-doxygen/html/html/namespacemembers_type_n.html +1 -1
  77. package/SVF-doxygen/html/html/search/all_0.js +137 -147
  78. package/SVF-doxygen/html/html/search/all_1.js +484 -485
  79. package/SVF-doxygen/html/html/search/all_10.js +324 -324
  80. package/SVF-doxygen/html/html/search/all_11.js +224 -224
  81. package/SVF-doxygen/html/html/search/all_12.js +541 -546
  82. package/SVF-doxygen/html/html/search/all_13.js +190 -190
  83. package/SVF-doxygen/html/html/search/all_14.js +67 -67
  84. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  85. package/SVF-doxygen/html/html/search/all_16.js +63 -63
  86. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  87. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  88. package/SVF-doxygen/html/html/search/all_19.js +11 -11
  89. package/SVF-doxygen/html/html/search/all_1a.js +172 -176
  90. package/SVF-doxygen/html/html/search/all_2.js +167 -167
  91. package/SVF-doxygen/html/html/search/all_3.js +640 -639
  92. package/SVF-doxygen/html/html/search/all_4.js +233 -234
  93. package/SVF-doxygen/html/html/search/all_5.js +121 -120
  94. package/SVF-doxygen/html/html/search/all_6.js +225 -225
  95. package/SVF-doxygen/html/html/search/all_7.js +1037 -1056
  96. package/SVF-doxygen/html/html/search/all_8.js +194 -195
  97. package/SVF-doxygen/html/html/search/all_9.js +607 -617
  98. package/SVF-doxygen/html/html/search/all_a.js +46 -46
  99. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  100. package/SVF-doxygen/html/html/search/all_c.js +116 -116
  101. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  102. package/SVF-doxygen/html/html/search/all_e.js +207 -207
  103. package/SVF-doxygen/html/html/search/all_f.js +116 -116
  104. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  105. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  106. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  107. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  108. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  109. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  110. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  111. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  112. package/SVF-doxygen/html/html/search/classes_2.js +80 -80
  113. package/SVF-doxygen/html/html/search/classes_3.js +37 -38
  114. package/SVF-doxygen/html/html/search/classes_4.js +9 -9
  115. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  116. package/SVF-doxygen/html/html/search/classes_6.js +104 -110
  117. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  118. package/SVF-doxygen/html/html/search/classes_8.js +56 -60
  119. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  120. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  121. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  122. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  123. package/SVF-doxygen/html/html/search/classes_d.js +18 -18
  124. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  125. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  126. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  127. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  128. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  129. package/SVF-doxygen/html/html/search/defines_3.js +21 -21
  130. package/SVF-doxygen/html/html/search/defines_4.js +2 -2
  131. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  132. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  133. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  134. package/SVF-doxygen/html/html/search/defines_8.js +11 -11
  135. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  136. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  137. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  138. package/SVF-doxygen/html/html/search/defines_c.js +3 -3
  139. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  140. package/SVF-doxygen/html/html/search/defines_e.js +7 -7
  141. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  142. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  143. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  144. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  145. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  146. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  147. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  148. package/SVF-doxygen/html/html/search/enums_4.js +3 -3
  149. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  150. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  151. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  152. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  153. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  154. package/SVF-doxygen/html/html/search/enums_a.js +1 -1
  155. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  156. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  157. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  158. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  159. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  160. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  161. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  162. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  163. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  164. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  165. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  166. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  167. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  168. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
  169. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  170. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
  171. package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
  172. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  173. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  174. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  175. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  176. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
  177. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  178. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
  179. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  180. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
  181. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  182. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  183. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  184. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  185. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  186. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  187. package/SVF-doxygen/html/html/search/files_2.js +53 -53
  188. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  189. package/SVF-doxygen/html/html/search/files_4.js +5 -5
  190. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  191. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  192. package/SVF-doxygen/html/html/search/files_7.js +14 -16
  193. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  194. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  195. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  196. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  197. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  198. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  199. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  200. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  201. package/SVF-doxygen/html/html/search/functions_0.js +12 -12
  202. package/SVF-doxygen/html/html/search/functions_1.js +356 -357
  203. package/SVF-doxygen/html/html/search/functions_10.js +140 -140
  204. package/SVF-doxygen/html/html/search/functions_11.js +138 -138
  205. package/SVF-doxygen/html/html/search/functions_12.js +276 -279
  206. package/SVF-doxygen/html/html/search/functions_13.js +58 -58
  207. package/SVF-doxygen/html/html/search/functions_14.js +39 -39
  208. package/SVF-doxygen/html/html/search/functions_15.js +71 -71
  209. package/SVF-doxygen/html/html/search/functions_16.js +32 -32
  210. package/SVF-doxygen/html/html/search/functions_17.js +3 -3
  211. package/SVF-doxygen/html/html/search/functions_18.js +172 -176
  212. package/SVF-doxygen/html/html/search/functions_2.js +86 -86
  213. package/SVF-doxygen/html/html/search/functions_3.js +257 -257
  214. package/SVF-doxygen/html/html/search/functions_4.js +75 -75
  215. package/SVF-doxygen/html/html/search/functions_5.js +53 -53
  216. package/SVF-doxygen/html/html/search/functions_6.js +59 -59
  217. package/SVF-doxygen/html/html/search/functions_7.js +848 -858
  218. package/SVF-doxygen/html/html/search/functions_8.js +146 -147
  219. package/SVF-doxygen/html/html/search/functions_9.js +425 -429
  220. package/SVF-doxygen/html/html/search/functions_a.js +30 -30
  221. package/SVF-doxygen/html/html/search/functions_b.js +2 -2
  222. package/SVF-doxygen/html/html/search/functions_c.js +26 -26
  223. package/SVF-doxygen/html/html/search/functions_d.js +77 -77
  224. package/SVF-doxygen/html/html/search/functions_e.js +35 -35
  225. package/SVF-doxygen/html/html/search/functions_f.js +56 -56
  226. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  227. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  228. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  229. package/SVF-doxygen/html/html/search/related_1.js +2 -2
  230. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  231. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  232. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  233. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  234. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  235. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  236. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  237. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  238. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  239. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  240. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  241. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  242. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  243. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  244. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  245. package/SVF-doxygen/html/html/search/typedefs_1.js +26 -26
  246. package/SVF-doxygen/html/html/search/typedefs_10.js +61 -63
  247. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  248. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  249. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  250. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  251. package/SVF-doxygen/html/html/search/typedefs_2.js +129 -128
  252. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  253. package/SVF-doxygen/html/html/search/typedefs_4.js +17 -17
  254. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  255. package/SVF-doxygen/html/html/search/typedefs_6.js +55 -58
  256. package/SVF-doxygen/html/html/search/typedefs_7.js +42 -46
  257. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  258. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  259. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  260. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  261. package/SVF-doxygen/html/html/search/typedefs_c.js +41 -41
  262. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  263. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  264. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  265. package/SVF-doxygen/html/html/search/variables_0.js +152 -162
  266. package/SVF-doxygen/html/html/search/variables_1.js +75 -75
  267. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  268. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  269. package/SVF-doxygen/html/html/search/variables_12.js +92 -92
  270. package/SVF-doxygen/html/html/search/variables_13.js +75 -75
  271. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  272. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  273. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  274. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  275. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  276. package/SVF-doxygen/html/html/search/variables_2.js +37 -37
  277. package/SVF-doxygen/html/html/search/variables_3.js +142 -142
  278. package/SVF-doxygen/html/html/search/variables_4.js +55 -55
  279. package/SVF-doxygen/html/html/search/variables_5.js +39 -39
  280. package/SVF-doxygen/html/html/search/variables_6.js +66 -66
  281. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  282. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  283. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  284. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  285. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  286. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  287. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  288. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  289. package/SVF-doxygen/html/html/search/variables_f.js +30 -30
  290. package/SVF-doxygen/html/html/structSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge-members.html +84 -0
  291. package/SVF-doxygen/html/html/structSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge.html +144 -0
  292. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +40 -40
  293. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
  294. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
  295. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
  296. package/package.json +1 -1
  297. package/svf/include/Graphs/CFBasicBlockG.h +342 -32
  298. package/svf/lib/Graphs/CFBasicBlockG.cpp +97 -36
  299. package/svf/include/Graphs/ICFGWrapper.h +0 -728
  300. package/svf/lib/Graphs/ICFGWrapper.cpp +0 -97
@@ -66,6 +66,7 @@ $(function() {
66
66
  </div><!-- top -->
67
67
  <div class="header">
68
68
  <div class="summary">
69
+ <a href="#pub-types">Public Types</a> &#124;
69
70
  <a href="#pub-methods">Public Member Functions</a> &#124;
70
71
  <a href="#pri-attribs">Private Attributes</a> &#124;
71
72
  <a href="#friends">Friends</a> &#124;
@@ -86,11 +87,35 @@ Inheritance diagram for SVF::CFBasicBlockNode:</div>
86
87
  </map>
87
88
  </div></div>
88
89
  <table class="memberdecls">
90
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
91
+ Public Types</h2></td></tr>
92
+ <tr class="memitem:aefd060ec49a9e2146a7aebdc5e8dfbf6"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1CFBasicBlockEdge.html#a91416cbac7ad797a9b4ee67f93fbd8f4">CFBasicBlockEdge::CFBBEdgeSetTy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">CFBBEdgeSetTy</a></td></tr>
93
+ <tr class="separator:aefd060ec49a9e2146a7aebdc5e8dfbf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
+ <tr class="memitem:ad33fdf14d9334bd468d9eb541e0e8a31"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1CFBasicBlockEdge.html#a91416cbac7ad797a9b4ee67f93fbd8f4">CFBasicBlockEdge::CFBBEdgeSetTy</a> ::<a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a></td></tr>
95
+ <tr class="separator:ad33fdf14d9334bd468d9eb541e0e8a31"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
+ <tr class="memitem:a145051f43e03acd6ce9923a5c06150bc"><td class="memItemLeft" align="right" valign="top">typedef CFBasicBlockEdge::CFBBEdgeSetTy::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a></td></tr>
97
+ <tr class="separator:a145051f43e03acd6ce9923a5c06150bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
98
+ <tr class="inherit_header pub_types_classSVF_1_1GenericNode"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1GenericNode')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td></tr>
99
+ <tr class="memitem:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef NodeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#ad63e862eb1d1369bd69318fe698e4a22">NodeType</a></td></tr>
100
+ <tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
101
+ <tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
102
+ <tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
+ <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
104
+ <tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
105
+ <tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
+ <tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
107
+ <tr class="separator:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
+ <tr class="memitem:a2f5471985dfe62bc9ded830a693ab153 inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef GEdgeSetTy::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a2f5471985dfe62bc9ded830a693ab153">iterator</a></td></tr>
109
+ <tr class="separator:a2f5471985dfe62bc9ded830a693ab153 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
+ <tr class="memitem:ab6dc1ae41ae23b383f8add474caa7429 inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef GEdgeSetTy::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a></td></tr>
111
+ <tr class="separator:ab6dc1ae41ae23b383f8add474caa7429 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
112
+ </table><table class="memberdecls">
89
113
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
90
114
  Public Member Functions</h2></td></tr>
91
- <tr class="memitem:a23b45345db53640e342c28778d44c38e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a23b45345db53640e342c28778d44c38e">CFBasicBlockNode</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="el" href="classSVF_1_1GenericNode.html#aaa53457604fe4cf4cb97ca85d33907b0">id</a>, const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *svfBasicBlock)</td></tr>
92
- <tr class="memdesc:a23b45345db53640e342c28778d44c38e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Every CBFGNode holds a vector of ICFGNodes. <a href="classSVF_1_1CFBasicBlockNode.html#a23b45345db53640e342c28778d44c38e">More...</a><br /></td></tr>
93
- <tr class="separator:a23b45345db53640e342c28778d44c38e"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+ <tr class="memitem:a34ef44c3ffad24255a72c8ecf2f2919e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a34ef44c3ffad24255a72c8ecf2f2919e">CFBasicBlockNode</a> (std::vector&lt; const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * &gt; icfgNodes)</td></tr>
116
+ <tr class="separator:a34ef44c3ffad24255a72c8ecf2f2919e"><td class="memSeparator" colspan="2">&#160;</td></tr>
117
+ <tr class="memitem:ac5a07bfd7ac54249100317760c94331d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ac5a07bfd7ac54249100317760c94331d">CFBasicBlockNode</a> (const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *bb)</td></tr>
118
+ <tr class="separator:ac5a07bfd7ac54249100317760c94331d"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
119
  <tr class="memitem:a727f0ef59605adf99af4babee90eb8a8"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a727f0ef59605adf99af4babee90eb8a8">toString</a> () const</td></tr>
95
120
  <tr class="separator:a727f0ef59605adf99af4babee90eb8a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
121
  <tr class="memitem:a4ed32455eaafc3bd1a06ed9b417b329d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a4ed32455eaafc3bd1a06ed9b417b329d">getName</a> () const</td></tr>
@@ -99,10 +124,75 @@ Public Member Functions</h2></td></tr>
99
124
  <tr class="separator:a11c91dcc91d3c6ae18a67b5e1d6af376"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
125
  <tr class="memitem:ad8afed175964dc0b90f98dbf68fdf1c8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad8afed175964dc0b90f98dbf68fdf1c8">getFunction</a> () const</td></tr>
101
126
  <tr class="separator:ad8afed175964dc0b90f98dbf68fdf1c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
- <tr class="memitem:a439a84d7181616f62d8ebac945dbbd59"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * &gt;::<a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a439a84d7181616f62d8ebac945dbbd59">begin</a> () const</td></tr>
127
+ <tr class="memitem:a439a84d7181616f62d8ebac945dbbd59"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * &gt;::<a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a439a84d7181616f62d8ebac945dbbd59">begin</a> () const</td></tr>
103
128
  <tr class="separator:a439a84d7181616f62d8ebac945dbbd59"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
- <tr class="memitem:a4eb0886ab2538dbe2a3dcf8ab7fc615e"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * &gt;::<a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a4eb0886ab2538dbe2a3dcf8ab7fc615e">end</a> () const</td></tr>
129
+ <tr class="memitem:a4eb0886ab2538dbe2a3dcf8ab7fc615e"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * &gt;::<a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a4eb0886ab2538dbe2a3dcf8ab7fc615e">end</a> () const</td></tr>
105
130
  <tr class="separator:a4eb0886ab2538dbe2a3dcf8ab7fc615e"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
+ <tr class="memitem:a772a7259fa9ef0eae1ec2ba30b17587f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a772a7259fa9ef0eae1ec2ba30b17587f">removeNode</a> (const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</td></tr>
132
+ <tr class="separator:a772a7259fa9ef0eae1ec2ba30b17587f"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
+ <tr class="memitem:a5374f4567cee38325f61940f4edbb142"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a5374f4567cee38325f61940f4edbb142">addNode</a> (const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</td></tr>
134
+ <tr class="separator:a5374f4567cee38325f61940f4edbb142"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
+ <tr class="memitem:afbf1bb58613f86e4761db3ccc16a9401"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#afbf1bb58613f86e4761db3ccc16a9401">getICFGNodeNum</a> () const</td></tr>
136
+ <tr class="separator:afbf1bb58613f86e4761db3ccc16a9401"><td class="memSeparator" colspan="2">&#160;</td></tr>
137
+ <tr class="memitem:ac468c52cc443f1137f6d5fb510a8ac46"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ac468c52cc443f1137f6d5fb510a8ac46">hasIncomingEdge</a> () const</td></tr>
138
+ <tr class="memdesc:ac468c52cc443f1137f6d5fb510a8ac46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has incoming/outgoing edge set. <a href="classSVF_1_1CFBasicBlockNode.html#ac468c52cc443f1137f6d5fb510a8ac46">More...</a><br /></td></tr>
139
+ <tr class="separator:ac468c52cc443f1137f6d5fb510a8ac46"><td class="memSeparator" colspan="2">&#160;</td></tr>
140
+ <tr class="memitem:a1b02680eb7b603ffaed3eecd2f09455e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a1b02680eb7b603ffaed3eecd2f09455e">hasOutgoingEdge</a> () const</td></tr>
141
+ <tr class="separator:a1b02680eb7b603ffaed3eecd2f09455e"><td class="memSeparator" colspan="2">&#160;</td></tr>
142
+ <tr class="memitem:a93c5de88097d130a8ba06c7254f96510"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a93c5de88097d130a8ba06c7254f96510">OutEdgeBegin</a> ()</td></tr>
143
+ <tr class="memdesc:a93c5de88097d130a8ba06c7254f96510"><td class="mdescLeft">&#160;</td><td class="mdescRight">iterators <a href="classSVF_1_1CFBasicBlockNode.html#a93c5de88097d130a8ba06c7254f96510">More...</a><br /></td></tr>
144
+ <tr class="separator:a93c5de88097d130a8ba06c7254f96510"><td class="memSeparator" colspan="2">&#160;</td></tr>
145
+ <tr class="memitem:a358586d95a6027da09b97a3c35128a35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a358586d95a6027da09b97a3c35128a35">OutEdgeEnd</a> ()</td></tr>
146
+ <tr class="separator:a358586d95a6027da09b97a3c35128a35"><td class="memSeparator" colspan="2">&#160;</td></tr>
147
+ <tr class="memitem:a36e13381f80af68ba51a038314ae8b39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a36e13381f80af68ba51a038314ae8b39">InEdgeBegin</a> ()</td></tr>
148
+ <tr class="separator:a36e13381f80af68ba51a038314ae8b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
149
+ <tr class="memitem:a8a9df60ba644f5387506c8bec1fea61d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a8a9df60ba644f5387506c8bec1fea61d">InEdgeEnd</a> ()</td></tr>
150
+ <tr class="separator:a8a9df60ba644f5387506c8bec1fea61d"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
+ <tr class="memitem:ad37525807d9c8d7c12e7166af068134e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad37525807d9c8d7c12e7166af068134e">OutEdgeBegin</a> () const</td></tr>
152
+ <tr class="separator:ad37525807d9c8d7c12e7166af068134e"><td class="memSeparator" colspan="2">&#160;</td></tr>
153
+ <tr class="memitem:aad38e58364301dafed7a3ee46f812cd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#aad38e58364301dafed7a3ee46f812cd9">OutEdgeEnd</a> () const</td></tr>
154
+ <tr class="separator:aad38e58364301dafed7a3ee46f812cd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
155
+ <tr class="memitem:ad3c5860db2e113dd4142ae3b352cece3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad3c5860db2e113dd4142ae3b352cece3">InEdgeBegin</a> () const</td></tr>
156
+ <tr class="separator:ad3c5860db2e113dd4142ae3b352cece3"><td class="memSeparator" colspan="2">&#160;</td></tr>
157
+ <tr class="memitem:a61b196ea7066522bac602b16c1862905"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a61b196ea7066522bac602b16c1862905">InEdgeEnd</a> () const</td></tr>
158
+ <tr class="separator:a61b196ea7066522bac602b16c1862905"><td class="memSeparator" colspan="2">&#160;</td></tr>
159
+ <tr class="memitem:abea5a96ff067636ae8d3766329695055"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#abea5a96ff067636ae8d3766329695055">directOutEdgeBegin</a> ()</td></tr>
160
+ <tr class="memdesc:abea5a96ff067636ae8d3766329695055"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterators used for SCC detection, overwrite it in child class if necessory. <a href="classSVF_1_1CFBasicBlockNode.html#abea5a96ff067636ae8d3766329695055">More...</a><br /></td></tr>
161
+ <tr class="separator:abea5a96ff067636ae8d3766329695055"><td class="memSeparator" colspan="2">&#160;</td></tr>
162
+ <tr class="memitem:a77bac962599c92286edee26a1d430624"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a77bac962599c92286edee26a1d430624">directOutEdgeEnd</a> ()</td></tr>
163
+ <tr class="separator:a77bac962599c92286edee26a1d430624"><td class="memSeparator" colspan="2">&#160;</td></tr>
164
+ <tr class="memitem:accc815b1ebcf66eb596d17a2e7e75403"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#accc815b1ebcf66eb596d17a2e7e75403">directInEdgeBegin</a> ()</td></tr>
165
+ <tr class="separator:accc815b1ebcf66eb596d17a2e7e75403"><td class="memSeparator" colspan="2">&#160;</td></tr>
166
+ <tr class="memitem:a29971b81bdf81bb079718ac15b387ead"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a29971b81bdf81bb079718ac15b387ead">directInEdgeEnd</a> ()</td></tr>
167
+ <tr class="separator:a29971b81bdf81bb079718ac15b387ead"><td class="memSeparator" colspan="2">&#160;</td></tr>
168
+ <tr class="memitem:ace9c6976879aaa8c1609a3773de6eec7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ace9c6976879aaa8c1609a3773de6eec7">directOutEdgeBegin</a> () const</td></tr>
169
+ <tr class="separator:ace9c6976879aaa8c1609a3773de6eec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
170
+ <tr class="memitem:aeb06f080cd085dbae0d23315311ff952"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#aeb06f080cd085dbae0d23315311ff952">directOutEdgeEnd</a> () const</td></tr>
171
+ <tr class="separator:aeb06f080cd085dbae0d23315311ff952"><td class="memSeparator" colspan="2">&#160;</td></tr>
172
+ <tr class="memitem:a63bfa2866dac843cf8a177055676ffff"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a63bfa2866dac843cf8a177055676ffff">directInEdgeBegin</a> () const</td></tr>
173
+ <tr class="separator:a63bfa2866dac843cf8a177055676ffff"><td class="memSeparator" colspan="2">&#160;</td></tr>
174
+ <tr class="memitem:a9c989d41ad6b2a92422b1cce15121ec2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a9c989d41ad6b2a92422b1cce15121ec2">directInEdgeEnd</a> () const</td></tr>
175
+ <tr class="separator:a9c989d41ad6b2a92422b1cce15121ec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
176
+ <tr class="memitem:abb240b6d11fb9fb08a2ea3d093cf800f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#abb240b6d11fb9fb08a2ea3d093cf800f">addIncomingEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *inEdge)</td></tr>
177
+ <tr class="memdesc:abb240b6d11fb9fb08a2ea3d093cf800f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add incoming and outgoing edges. <a href="classSVF_1_1CFBasicBlockNode.html#abb240b6d11fb9fb08a2ea3d093cf800f">More...</a><br /></td></tr>
178
+ <tr class="separator:abb240b6d11fb9fb08a2ea3d093cf800f"><td class="memSeparator" colspan="2">&#160;</td></tr>
179
+ <tr class="memitem:a59dc0f5017e4f1949e1cbf0b4f4b3a0b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a59dc0f5017e4f1949e1cbf0b4f4b3a0b">addOutgoingEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *outEdge)</td></tr>
180
+ <tr class="separator:a59dc0f5017e4f1949e1cbf0b4f4b3a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
181
+ <tr class="memitem:a039e122b9bceabeb0b3e687b6ee14d5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a039e122b9bceabeb0b3e687b6ee14d5c">hasIncomingEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge) const</td></tr>
182
+ <tr class="memdesc:a039e122b9bceabeb0b3e687b6ee14d5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find incoming and outgoing edges. <a href="classSVF_1_1CFBasicBlockNode.html#a039e122b9bceabeb0b3e687b6ee14d5c">More...</a><br /></td></tr>
183
+ <tr class="separator:a039e122b9bceabeb0b3e687b6ee14d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
184
+ <tr class="memitem:a802b138a587dae6eaf2787eb2fd30f21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a802b138a587dae6eaf2787eb2fd30f21">hasOutgoingEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge) const</td></tr>
185
+ <tr class="separator:a802b138a587dae6eaf2787eb2fd30f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
186
+ <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
187
+ <tr class="memitem:a48c0b6643c481afb15d4c4f89d00eecb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">CFBBEdgeSetTy</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a> () const</td></tr>
188
+ <tr class="separator:a48c0b6643c481afb15d4c4f89d00eecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
189
+ <tr class="memitem:a6bfafe540f83e097370ca0dc66422214"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">CFBBEdgeSetTy</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a6bfafe540f83e097370ca0dc66422214">getInEdges</a> () const</td></tr>
190
+ <tr class="separator:a6bfafe540f83e097370ca0dc66422214"><td class="memSeparator" colspan="2">&#160;</td></tr>
191
+ <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
192
+ <tr class="memitem:a1595d3b9c142ae3bfeb144b3deb88935"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a1595d3b9c142ae3bfeb144b3deb88935">removeIncomingEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)</td></tr>
193
+ <tr class="separator:a1595d3b9c142ae3bfeb144b3deb88935"><td class="memSeparator" colspan="2">&#160;</td></tr>
194
+ <tr class="memitem:a2e09d431bbe6a9a70c04db17d89eda2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a2e09d431bbe6a9a70c04db17d89eda2c">removeOutgoingEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)</td></tr>
195
+ <tr class="separator:a2e09d431bbe6a9a70c04db17d89eda2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
196
  <tr class="inherit_header pub_methods_classSVF_1_1GenericNode"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1GenericNode')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td></tr>
107
197
  <tr class="memitem:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#acdca5baae3e9e4208a60322fec9c9d3f">GenericNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> i, <a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> k)</td></tr>
108
198
  <tr class="memdesc:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classSVF_1_1GenericNode.html#acdca5baae3e9e4208a60322fec9c9d3f">More...</a><br /></td></tr>
@@ -138,23 +228,6 @@ Public Member Functions</h2></td></tr>
138
228
  <tr class="separator:a7c0ff80b1c0ae8b76fc620f21495ca39 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
229
  <tr class="memitem:a0118fbeb2b314dcdcb53c56a2a13ab07 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a0118fbeb2b314dcdcb53c56a2a13ab07">InEdgeEnd</a> () const</td></tr>
140
230
  <tr class="separator:a0118fbeb2b314dcdcb53c56a2a13ab07 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
141
- <tr class="memitem:aa0e258d3a92dae367f2809a6f16c80db inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1GenericNode.html#a2f5471985dfe62bc9ded830a693ab153">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#aa0e258d3a92dae367f2809a6f16c80db">directOutEdgeBegin</a> ()</td></tr>
142
- <tr class="memdesc:aa0e258d3a92dae367f2809a6f16c80db inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterators used for SCC detection, overwrite it in child class if necessary. <a href="classSVF_1_1GenericNode.html#aa0e258d3a92dae367f2809a6f16c80db">More...</a><br /></td></tr>
143
- <tr class="separator:aa0e258d3a92dae367f2809a6f16c80db inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
144
- <tr class="memitem:a5950d69d4ba6c2122dd06b93911e4992 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1GenericNode.html#a2f5471985dfe62bc9ded830a693ab153">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a5950d69d4ba6c2122dd06b93911e4992">directOutEdgeEnd</a> ()</td></tr>
145
- <tr class="separator:a5950d69d4ba6c2122dd06b93911e4992 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
146
- <tr class="memitem:a4ab1f2e5db301e4a37215905a22e6476 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1GenericNode.html#a2f5471985dfe62bc9ded830a693ab153">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a4ab1f2e5db301e4a37215905a22e6476">directInEdgeBegin</a> ()</td></tr>
147
- <tr class="separator:a4ab1f2e5db301e4a37215905a22e6476 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
148
- <tr class="memitem:a19599627ba095b5452373284deab7f6c inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1GenericNode.html#a2f5471985dfe62bc9ded830a693ab153">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a19599627ba095b5452373284deab7f6c">directInEdgeEnd</a> ()</td></tr>
149
- <tr class="separator:a19599627ba095b5452373284deab7f6c inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
150
- <tr class="memitem:acfae7a2809931cbd62b6f47c4813510d inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#acfae7a2809931cbd62b6f47c4813510d">directOutEdgeBegin</a> () const</td></tr>
151
- <tr class="separator:acfae7a2809931cbd62b6f47c4813510d inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
152
- <tr class="memitem:a7f914b128f7839483efc9ad56834e7c2 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a7f914b128f7839483efc9ad56834e7c2">directOutEdgeEnd</a> () const</td></tr>
153
- <tr class="separator:a7f914b128f7839483efc9ad56834e7c2 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
- <tr class="memitem:ab331402aed245c33bad841df2bc21f7b inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#ab331402aed245c33bad841df2bc21f7b">directInEdgeBegin</a> () const</td></tr>
155
- <tr class="separator:ab331402aed245c33bad841df2bc21f7b inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
156
- <tr class="memitem:aa7be9ff204bf85bc3bf2fa4e078fcab2 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#aa7be9ff204bf85bc3bf2fa4e078fcab2">directInEdgeEnd</a> () const</td></tr>
157
- <tr class="separator:aa7be9ff204bf85bc3bf2fa4e078fcab2 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
158
231
  <tr class="memitem:a93d217b0c9fd8008a2989ca2b4f3fbfb inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a93d217b0c9fd8008a2989ca2b4f3fbfb">addIncomingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *inEdge)</td></tr>
159
232
  <tr class="memdesc:a93d217b0c9fd8008a2989ca2b4f3fbfb inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add incoming and outgoing edges. <a href="classSVF_1_1GenericNode.html#a93d217b0c9fd8008a2989ca2b4f3fbfb">More...</a><br /></td></tr>
160
233
  <tr class="separator:a93d217b0c9fd8008a2989ca2b4f3fbfb inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -176,83 +249,175 @@ Public Member Functions</h2></td></tr>
176
249
  </table><table class="memberdecls">
177
250
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
178
251
  Private Attributes</h2></td></tr>
179
- <tr class="memitem:a5cc563d66215225affbdd71d49e4a5c8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a5cc563d66215225affbdd71d49e4a5c8">_svfBasicBlock</a></td></tr>
180
- <tr class="separator:a5cc563d66215225affbdd71d49e4a5c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
181
252
  <tr class="memitem:a72e47a6254620d0b65a8d1182777440a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a></td></tr>
182
- <tr class="memdesc:a72e47a6254620d0b65a8d1182777440a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Every <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> holds a <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>. <a href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">More...</a><br /></td></tr>
183
253
  <tr class="separator:a72e47a6254620d0b65a8d1182777440a"><td class="memSeparator" colspan="2">&#160;</td></tr>
254
+ <tr class="memitem:a7b1db0644849e066137c162e24026b67"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">CFBBEdgeSetTy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a></td></tr>
255
+ <tr class="memdesc:a7b1db0644849e066137c162e24026b67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Every CBFGNode holds a vector of ICFGNodes. <a href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">More...</a><br /></td></tr>
256
+ <tr class="separator:a7b1db0644849e066137c162e24026b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
257
+ <tr class="memitem:a046a15f230ab41d50b04f0390df179f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">CFBBEdgeSetTy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a></td></tr>
258
+ <tr class="memdesc:a046a15f230ab41d50b04f0390df179f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">all outgoing edge of this node <a href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">More...</a><br /></td></tr>
259
+ <tr class="separator:a046a15f230ab41d50b04f0390df179f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
184
260
  </table><table class="memberdecls">
185
261
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
186
262
  Friends</h2></td></tr>
187
263
  <tr class="memitem:a1c88d2e9723ae23fb5afb3d3374c3ebe"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a1c88d2e9723ae23fb5afb3d3374c3ebe">operator&lt;&lt;</a> (std::ostream &amp;o, const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> &amp;node)</td></tr>
188
264
  <tr class="separator:a1c88d2e9723ae23fb5afb3d3374c3ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
189
- </table><table class="memberdecls">
190
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
191
- Additional Inherited Members</h2></td></tr>
192
- <tr class="inherit_header pub_types_classSVF_1_1GenericNode"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1GenericNode')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td></tr>
193
- <tr class="memitem:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef NodeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#ad63e862eb1d1369bd69318fe698e4a22">NodeType</a></td></tr>
194
- <tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
195
- <tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
196
- <tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
197
- <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
198
- <tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
199
- <tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
200
- <tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
201
- <tr class="separator:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
202
- <tr class="memitem:a2f5471985dfe62bc9ded830a693ab153 inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef GEdgeSetTy::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a2f5471985dfe62bc9ded830a693ab153">iterator</a></td></tr>
203
- <tr class="separator:a2f5471985dfe62bc9ded830a693ab153 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
204
- <tr class="memitem:ab6dc1ae41ae23b383f8add474caa7429 inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef GEdgeSetTy::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a></td></tr>
205
- <tr class="separator:ab6dc1ae41ae23b383f8add474caa7429 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
206
265
  </table>
207
266
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
208
267
  <div class="textblock">
209
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00063">63</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
210
- </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
211
- <a id="a23b45345db53640e342c28778d44c38e"></a>
212
- <h2 class="memtitle"><span class="permalink"><a href="#a23b45345db53640e342c28778d44c38e">&#9670;&nbsp;</a></span>CFBasicBlockNode()</h2>
268
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00106">106</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
269
+ </div><h2 class="groupheader">Member Typedef Documentation</h2>
270
+ <a id="aefd060ec49a9e2146a7aebdc5e8dfbf6"></a>
271
+ <h2 class="memtitle"><span class="permalink"><a href="#aefd060ec49a9e2146a7aebdc5e8dfbf6">&#9670;&nbsp;</a></span>CFBBEdgeSetTy</h2>
272
+
273
+ <div class="memitem">
274
+ <div class="memproto">
275
+ <table class="memname">
276
+ <tr>
277
+ <td class="memname">typedef <a class="el" href="classSVF_1_1CFBasicBlockEdge.html#a91416cbac7ad797a9b4ee67f93fbd8f4">CFBasicBlockEdge::CFBBEdgeSetTy</a> <a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">SVF::CFBasicBlockNode::CFBBEdgeSetTy</a></td>
278
+ </tr>
279
+ </table>
280
+ </div><div class="memdoc">
281
+
282
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00109">109</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
283
+
284
+ </div>
285
+ </div>
286
+ <a id="a145051f43e03acd6ce9923a5c06150bc"></a>
287
+ <h2 class="memtitle"><span class="permalink"><a href="#a145051f43e03acd6ce9923a5c06150bc">&#9670;&nbsp;</a></span>const_iterator</h2>
288
+
289
+ <div class="memitem">
290
+ <div class="memproto">
291
+ <table class="memname">
292
+ <tr>
293
+ <td class="memname">typedef CFBasicBlockEdge::CFBBEdgeSetTy::const_iterator <a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">SVF::CFBasicBlockNode::const_iterator</a></td>
294
+ </tr>
295
+ </table>
296
+ </div><div class="memdoc">
297
+
298
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00111">111</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
299
+
300
+ </div>
301
+ </div>
302
+ <a id="ad33fdf14d9334bd468d9eb541e0e8a31"></a>
303
+ <h2 class="memtitle"><span class="permalink"><a href="#ad33fdf14d9334bd468d9eb541e0e8a31">&#9670;&nbsp;</a></span>iterator</h2>
304
+
305
+ <div class="memitem">
306
+ <div class="memproto">
307
+ <table class="memname">
308
+ <tr>
309
+ <td class="memname">typedef <a class="el" href="classSVF_1_1CFBasicBlockEdge.html#a91416cbac7ad797a9b4ee67f93fbd8f4">CFBasicBlockEdge::CFBBEdgeSetTy</a> ::<a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> <a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">SVF::CFBasicBlockNode::iterator</a></td>
310
+ </tr>
311
+ </table>
312
+ </div><div class="memdoc">
313
+
314
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00110">110</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
315
+
316
+ </div>
317
+ </div>
318
+ <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
319
+ <a id="a34ef44c3ffad24255a72c8ecf2f2919e"></a>
320
+ <h2 class="memtitle"><span class="permalink"><a href="#a34ef44c3ffad24255a72c8ecf2f2919e">&#9670;&nbsp;</a></span>CFBasicBlockNode() <span class="overload">[1/2]</span></h2>
213
321
 
214
322
  <div class="memitem">
215
323
  <div class="memproto">
324
+ <table class="mlabels">
325
+ <tr>
326
+ <td class="mlabels-left">
216
327
  <table class="memname">
217
328
  <tr>
218
329
  <td class="memname">SVF::CFBasicBlockNode::CFBasicBlockNode </td>
219
330
  <td>(</td>
220
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
221
- <td class="paramname"><em>id</em>, </td>
331
+ <td class="paramtype">std::vector&lt; const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * &gt;&#160;</td>
332
+ <td class="paramname"><em>icfgNodes</em></td><td>)</td>
333
+ <td></td>
222
334
  </tr>
335
+ </table>
336
+ </td>
337
+ <td class="mlabels-right">
338
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
339
+ </tr>
340
+ </table>
341
+ </div><div class="memdoc">
342
+
343
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00119">119</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
344
+ <div class="fragment"><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; : <a class="code" href="namespaceSVF.html#a81d6a1e9cc52fde4f828cead0ca40bab">GenericCFBasicBlockNodeTy</a>((*icfgNodes.begin())-&gt;getId(), 0),</div>
345
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(icfgNodes))</div>
346
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div>
347
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
348
+ </div><!-- fragment -->
349
+ </div>
350
+ </div>
351
+ <a id="ac5a07bfd7ac54249100317760c94331d"></a>
352
+ <h2 class="memtitle"><span class="permalink"><a href="#ac5a07bfd7ac54249100317760c94331d">&#9670;&nbsp;</a></span>CFBasicBlockNode() <span class="overload">[2/2]</span></h2>
353
+
354
+ <div class="memitem">
355
+ <div class="memproto">
356
+ <table class="memname">
223
357
  <tr>
224
- <td class="paramkey"></td>
225
- <td></td>
358
+ <td class="memname">SVF::CFBasicBlockNode::CFBasicBlockNode </td>
359
+ <td>(</td>
226
360
  <td class="paramtype">const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *&#160;</td>
227
- <td class="paramname"><em>svfBasicBlock</em>&#160;</td>
361
+ <td class="paramname"><em>bb</em></td><td>)</td>
362
+ <td></td>
228
363
  </tr>
364
+ </table>
365
+ </div><div class="memdoc">
366
+
367
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00035">35</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
368
+ <div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; : <a class="code" href="namespaceSVF.html#a81d6a1e9cc52fde4f828cead0ca40bab">GenericCFBasicBlockNodeTy</a>(</div>
369
+ <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()</div>
370
+ <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; -&gt;getICFG()</div>
371
+ <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; -&gt;getICFGNode(*svfBasicBlock-&gt;getInstructionList().begin())</div>
372
+ <div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; -&gt;getId(),</div>
373
+ <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; 0)</div>
374
+ <div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div>
375
+ <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = svfBasicBlock-&gt;begin(); it != svfBasicBlock-&gt;end(); ++it)</div>
376
+ <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div>
377
+ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">const</span> SVFInstruction* ins = *it;</div>
378
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; ICFGNode* icfgNode = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(ins);</div>
379
+ <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.push_back(icfgNode);</div>
380
+ <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; }</div>
381
+ <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div>
382
+ </div><!-- fragment -->
383
+ </div>
384
+ </div>
385
+ <h2 class="groupheader">Member Function Documentation</h2>
386
+ <a id="abb240b6d11fb9fb08a2ea3d093cf800f"></a>
387
+ <h2 class="memtitle"><span class="permalink"><a href="#abb240b6d11fb9fb08a2ea3d093cf800f">&#9670;&nbsp;</a></span>addIncomingEdge()</h2>
388
+
389
+ <div class="memitem">
390
+ <div class="memproto">
391
+ <table class="mlabels">
392
+ <tr>
393
+ <td class="mlabels-left">
394
+ <table class="memname">
229
395
  <tr>
396
+ <td class="memname">bool SVF::CFBasicBlockNode::addIncomingEdge </td>
397
+ <td>(</td>
398
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td>
399
+ <td class="paramname"><em>inEdge</em></td><td>)</td>
230
400
  <td></td>
231
- <td>)</td>
232
- <td></td><td></td>
233
401
  </tr>
234
402
  </table>
403
+ </td>
404
+ <td class="mlabels-right">
405
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
406
+ </tr>
407
+ </table>
235
408
  </div><div class="memdoc">
236
409
 
237
- <p>Every CBFGNode holds a vector of ICFGNodes. </p>
410
+ <p>Add incoming and outgoing edges. </p>
238
411
 
239
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00035">35</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
240
- <div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; : <a class="code" href="namespaceSVF.html#a81d6a1e9cc52fde4f828cead0ca40bab">GenericCFBasicBlockNodeTy</a>(<span class="keywordtype">id</span>, 0),</div>
241
- <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a5cc563d66215225affbdd71d49e4a5c8">_svfBasicBlock</a>(svfBasicBlock)</div>
242
- <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div>
243
- <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = svfBasicBlock-&gt;begin(); it != svfBasicBlock-&gt;end(); ++it)</div>
244
- <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; {</div>
245
- <div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">const</span> SVFInstruction *ins = *it;</div>
246
- <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; ICFGNode *icfgNode = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(ins);</div>
247
- <div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.push_back(icfgNode);</div>
248
- <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; }</div>
249
- <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;}</div>
412
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00295">295</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
413
+ <div class="fragment"><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; {</div>
414
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.insert(inEdge).second;</div>
415
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div>
250
416
  </div><!-- fragment -->
251
417
  </div>
252
418
  </div>
253
- <h2 class="groupheader">Member Function Documentation</h2>
254
- <a id="a439a84d7181616f62d8ebac945dbbd59"></a>
255
- <h2 class="memtitle"><span class="permalink"><a href="#a439a84d7181616f62d8ebac945dbbd59">&#9670;&nbsp;</a></span>begin()</h2>
419
+ <a id="a5374f4567cee38325f61940f4edbb142"></a>
420
+ <h2 class="memtitle"><span class="permalink"><a href="#a5374f4567cee38325f61940f4edbb142">&#9670;&nbsp;</a></span>addNode()</h2>
256
421
 
257
422
  <div class="memitem">
258
423
  <div class="memproto">
@@ -261,10 +426,11 @@ Additional Inherited Members</h2></td></tr>
261
426
  <td class="mlabels-left">
262
427
  <table class="memname">
263
428
  <tr>
264
- <td class="memname">std::vector&lt;const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&gt;::<a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a> SVF::CFBasicBlockNode::begin </td>
429
+ <td class="memname">void SVF::CFBasicBlockNode::addNode </td>
265
430
  <td>(</td>
266
- <td class="paramname"></td><td>)</td>
267
- <td> const</td>
431
+ <td class="paramtype">const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&#160;</td>
432
+ <td class="paramname"><em>node</em></td><td>)</td>
433
+ <td></td>
268
434
  </tr>
269
435
  </table>
270
436
  </td>
@@ -274,15 +440,15 @@ Additional Inherited Members</h2></td></tr>
274
440
  </table>
275
441
  </div><div class="memdoc">
276
442
 
277
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00095">95</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
278
- <div class="fragment"><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
279
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.cbegin();</div>
280
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
443
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00170">170</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
444
+ <div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div>
445
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.push_back(node);</div>
446
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div>
281
447
  </div><!-- fragment -->
282
448
  </div>
283
449
  </div>
284
- <a id="a4eb0886ab2538dbe2a3dcf8ab7fc615e"></a>
285
- <h2 class="memtitle"><span class="permalink"><a href="#a4eb0886ab2538dbe2a3dcf8ab7fc615e">&#9670;&nbsp;</a></span>end()</h2>
450
+ <a id="a59dc0f5017e4f1949e1cbf0b4f4b3a0b"></a>
451
+ <h2 class="memtitle"><span class="permalink"><a href="#a59dc0f5017e4f1949e1cbf0b4f4b3a0b">&#9670;&nbsp;</a></span>addOutgoingEdge()</h2>
286
452
 
287
453
  <div class="memitem">
288
454
  <div class="memproto">
@@ -291,10 +457,11 @@ Additional Inherited Members</h2></td></tr>
291
457
  <td class="mlabels-left">
292
458
  <table class="memname">
293
459
  <tr>
294
- <td class="memname">std::vector&lt;const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&gt;::<a class="el" href="classSVF_1_1GenericNode.html#ab6dc1ae41ae23b383f8add474caa7429">const_iterator</a> SVF::CFBasicBlockNode::end </td>
460
+ <td class="memname">bool SVF::CFBasicBlockNode::addOutgoingEdge </td>
295
461
  <td>(</td>
296
- <td class="paramname"></td><td>)</td>
297
- <td> const</td>
462
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td>
463
+ <td class="paramname"><em>outEdge</em></td><td>)</td>
464
+ <td></td>
298
465
  </tr>
299
466
  </table>
300
467
  </td>
@@ -304,15 +471,15 @@ Additional Inherited Members</h2></td></tr>
304
471
  </table>
305
472
  </div><div class="memdoc">
306
473
 
307
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00100">100</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
308
- <div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
309
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.cend();</div>
310
- <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
474
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00300">300</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
475
+ <div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; {</div>
476
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.insert(outEdge).second;</div>
477
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div>
311
478
  </div><!-- fragment -->
312
479
  </div>
313
480
  </div>
314
- <a id="ad8afed175964dc0b90f98dbf68fdf1c8"></a>
315
- <h2 class="memtitle"><span class="permalink"><a href="#ad8afed175964dc0b90f98dbf68fdf1c8">&#9670;&nbsp;</a></span>getFunction()</h2>
481
+ <a id="a439a84d7181616f62d8ebac945dbbd59"></a>
482
+ <h2 class="memtitle"><span class="permalink"><a href="#a439a84d7181616f62d8ebac945dbbd59">&#9670;&nbsp;</a></span>begin()</h2>
316
483
 
317
484
  <div class="memitem">
318
485
  <div class="memproto">
@@ -321,7 +488,7 @@ Additional Inherited Members</h2></td></tr>
321
488
  <td class="mlabels-left">
322
489
  <table class="memname">
323
490
  <tr>
324
- <td class="memname">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* SVF::CFBasicBlockNode::getFunction </td>
491
+ <td class="memname">std::vector&lt;const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&gt;::<a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::begin </td>
325
492
  <td>(</td>
326
493
  <td class="paramname"></td><td>)</td>
327
494
  <td> const</td>
@@ -334,15 +501,15 @@ Additional Inherited Members</h2></td></tr>
334
501
  </table>
335
502
  </div><div class="memdoc">
336
503
 
337
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00090">90</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
338
- <div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
339
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a5cc563d66215225affbdd71d49e4a5c8">_svfBasicBlock</a>-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#aeaa9b2b4e802d9e6bed138eaf3186d09">getFunction</a>();</div>
340
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
504
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00153">153</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
505
+ <div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {</div>
506
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.cbegin();</div>
507
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div>
341
508
  </div><!-- fragment -->
342
509
  </div>
343
510
  </div>
344
- <a id="a4ed32455eaafc3bd1a06ed9b417b329d"></a>
345
- <h2 class="memtitle"><span class="permalink"><a href="#a4ed32455eaafc3bd1a06ed9b417b329d">&#9670;&nbsp;</a></span>getName()</h2>
511
+ <a id="accc815b1ebcf66eb596d17a2e7e75403"></a>
512
+ <h2 class="memtitle"><span class="permalink"><a href="#accc815b1ebcf66eb596d17a2e7e75403">&#9670;&nbsp;</a></span>directInEdgeBegin() <span class="overload">[1/2]</span></h2>
346
513
 
347
514
  <div class="memitem">
348
515
  <div class="memproto">
@@ -351,28 +518,30 @@ Additional Inherited Members</h2></td></tr>
351
518
  <td class="mlabels-left">
352
519
  <table class="memname">
353
520
  <tr>
354
- <td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> SVF::CFBasicBlockNode::getName </td>
521
+ <td class="memname">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> SVF::CFBasicBlockNode::directInEdgeBegin </td>
355
522
  <td>(</td>
356
523
  <td class="paramname"></td><td>)</td>
357
- <td> const</td>
524
+ <td></td>
358
525
  </tr>
359
526
  </table>
360
527
  </td>
361
528
  <td class="mlabels-right">
362
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
529
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
363
530
  </tr>
364
531
  </table>
365
532
  </div><div class="memdoc">
366
533
 
367
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00080">80</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
368
- <div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
369
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a5cc563d66215225affbdd71d49e4a5c8">_svfBasicBlock</a>-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>();</div>
370
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
534
+ <p>Reimplemented from <a class="el" href="classSVF_1_1GenericNode.html#a4ab1f2e5db301e4a37215905a22e6476">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>.</p>
535
+
536
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00262">262</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
537
+ <div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div>
538
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.begin();</div>
539
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div>
371
540
  </div><!-- fragment -->
372
541
  </div>
373
542
  </div>
374
- <a id="a11c91dcc91d3c6ae18a67b5e1d6af376"></a>
375
- <h2 class="memtitle"><span class="permalink"><a href="#a11c91dcc91d3c6ae18a67b5e1d6af376">&#9670;&nbsp;</a></span>getSVFBasicBlock()</h2>
543
+ <a id="a63bfa2866dac843cf8a177055676ffff"></a>
544
+ <h2 class="memtitle"><span class="permalink"><a href="#a63bfa2866dac843cf8a177055676ffff">&#9670;&nbsp;</a></span>directInEdgeBegin() <span class="overload">[2/2]</span></h2>
376
545
 
377
546
  <div class="memitem">
378
547
  <div class="memproto">
@@ -381,7 +550,7 @@ Additional Inherited Members</h2></td></tr>
381
550
  <td class="mlabels-left">
382
551
  <table class="memname">
383
552
  <tr>
384
- <td class="memname">const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* SVF::CFBasicBlockNode::getSVFBasicBlock </td>
553
+ <td class="memname">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::directInEdgeBegin </td>
385
554
  <td>(</td>
386
555
  <td class="paramname"></td><td>)</td>
387
556
  <td> const</td>
@@ -389,20 +558,22 @@ Additional Inherited Members</h2></td></tr>
389
558
  </table>
390
559
  </td>
391
560
  <td class="mlabels-right">
392
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
561
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
393
562
  </tr>
394
563
  </table>
395
564
  </div><div class="memdoc">
396
565
 
397
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00085">85</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
398
- <div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
399
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a5cc563d66215225affbdd71d49e4a5c8">_svfBasicBlock</a>;</div>
400
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
566
+ <p>Reimplemented from <a class="el" href="classSVF_1_1GenericNode.html#ab331402aed245c33bad841df2bc21f7b">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>.</p>
567
+
568
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00282">282</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
569
+ <div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; {</div>
570
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.begin();</div>
571
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div>
401
572
  </div><!-- fragment -->
402
573
  </div>
403
574
  </div>
404
- <a id="a727f0ef59605adf99af4babee90eb8a8"></a>
405
- <h2 class="memtitle"><span class="permalink"><a href="#a727f0ef59605adf99af4babee90eb8a8">&#9670;&nbsp;</a></span>toString()</h2>
575
+ <a id="a29971b81bdf81bb079718ac15b387ead"></a>
576
+ <h2 class="memtitle"><span class="permalink"><a href="#a29971b81bdf81bb079718ac15b387ead">&#9670;&nbsp;</a></span>directInEdgeEnd() <span class="overload">[1/2]</span></h2>
406
577
 
407
578
  <div class="memitem">
408
579
  <div class="memproto">
@@ -411,36 +582,30 @@ Additional Inherited Members</h2></td></tr>
411
582
  <td class="mlabels-left">
412
583
  <table class="memname">
413
584
  <tr>
414
- <td class="memname">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> SVF::CFBasicBlockNode::toString </td>
585
+ <td class="memname">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> SVF::CFBasicBlockNode::directInEdgeEnd </td>
415
586
  <td>(</td>
416
587
  <td class="paramname"></td><td>)</td>
417
- <td> const</td>
588
+ <td></td>
418
589
  </tr>
419
590
  </table>
420
591
  </td>
421
592
  <td class="mlabels-right">
422
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
593
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
423
594
  </tr>
424
595
  </table>
425
596
  </div><div class="memdoc">
426
597
 
427
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00046">46</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
428
- <div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{</div>
429
- <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> rawStr;</div>
430
- <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; std::stringstream stringstream(rawStr);</div>
431
- <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; stringstream &lt;&lt; <span class="stringliteral">&quot;Block Name: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a5cc563d66215225affbdd71d49e4a5c8">_svfBasicBlock</a>-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
432
- <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;icfgNode: <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>)</div>
433
- <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div>
434
- <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; stringstream &lt;&lt; icfgNode-&gt;toString() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
435
- <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
436
- <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> stringstream.str();</div>
437
- <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;}</div>
598
+ <p>Reimplemented from <a class="el" href="classSVF_1_1GenericNode.html#a19599627ba095b5452373284deab7f6c">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>.</p>
599
+
600
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00267">267</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
601
+ <div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; {</div>
602
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.end();</div>
603
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div>
438
604
  </div><!-- fragment -->
439
605
  </div>
440
606
  </div>
441
- <h2 class="groupheader">Friends And Related Function Documentation</h2>
442
- <a id="a1c88d2e9723ae23fb5afb3d3374c3ebe"></a>
443
- <h2 class="memtitle"><span class="permalink"><a href="#a1c88d2e9723ae23fb5afb3d3374c3ebe">&#9670;&nbsp;</a></span>operator&lt;&lt;</h2>
607
+ <a id="a9c989d41ad6b2a92422b1cce15121ec2"></a>
608
+ <h2 class="memtitle"><span class="permalink"><a href="#a9c989d41ad6b2a92422b1cce15121ec2">&#9670;&nbsp;</a></span>directInEdgeEnd() <span class="overload">[2/2]</span></h2>
444
609
 
445
610
  <div class="memitem">
446
611
  <div class="memproto">
@@ -449,41 +614,128 @@ Additional Inherited Members</h2></td></tr>
449
614
  <td class="mlabels-left">
450
615
  <table class="memname">
451
616
  <tr>
452
- <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
617
+ <td class="memname">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::directInEdgeEnd </td>
453
618
  <td>(</td>
454
- <td class="paramtype">std::ostream &amp;&#160;</td>
455
- <td class="paramname"><em>o</em>, </td>
619
+ <td class="paramname"></td><td>)</td>
620
+ <td> const</td>
456
621
  </tr>
622
+ </table>
623
+ </td>
624
+ <td class="mlabels-right">
625
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
626
+ </tr>
627
+ </table>
628
+ </div><div class="memdoc">
629
+
630
+ <p>Reimplemented from <a class="el" href="classSVF_1_1GenericNode.html#aa7be9ff204bf85bc3bf2fa4e078fcab2">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>.</p>
631
+
632
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00287">287</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
633
+ <div class="fragment"><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div>
634
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.end();</div>
635
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
636
+ </div><!-- fragment -->
637
+ </div>
638
+ </div>
639
+ <a id="abea5a96ff067636ae8d3766329695055"></a>
640
+ <h2 class="memtitle"><span class="permalink"><a href="#abea5a96ff067636ae8d3766329695055">&#9670;&nbsp;</a></span>directOutEdgeBegin() <span class="overload">[1/2]</span></h2>
641
+
642
+ <div class="memitem">
643
+ <div class="memproto">
644
+ <table class="mlabels">
645
+ <tr>
646
+ <td class="mlabels-left">
647
+ <table class="memname">
457
648
  <tr>
458
- <td class="paramkey"></td>
649
+ <td class="memname">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> SVF::CFBasicBlockNode::directOutEdgeBegin </td>
650
+ <td>(</td>
651
+ <td class="paramname"></td><td>)</td>
459
652
  <td></td>
460
- <td class="paramtype">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> &amp;&#160;</td>
461
- <td class="paramname"><em>node</em>&#160;</td>
462
653
  </tr>
654
+ </table>
655
+ </td>
656
+ <td class="mlabels-right">
657
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
658
+ </tr>
659
+ </table>
660
+ </div><div class="memdoc">
661
+
662
+ <p>Iterators used for SCC detection, overwrite it in child class if necessory. </p>
663
+
664
+ <p>Reimplemented from <a class="el" href="classSVF_1_1GenericNode.html#aa0e258d3a92dae367f2809a6f16c80db">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>.</p>
665
+
666
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00252">252</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
667
+ <div class="fragment"><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div>
668
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.begin();</div>
669
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div>
670
+ </div><!-- fragment -->
671
+ </div>
672
+ </div>
673
+ <a id="ace9c6976879aaa8c1609a3773de6eec7"></a>
674
+ <h2 class="memtitle"><span class="permalink"><a href="#ace9c6976879aaa8c1609a3773de6eec7">&#9670;&nbsp;</a></span>directOutEdgeBegin() <span class="overload">[2/2]</span></h2>
675
+
676
+ <div class="memitem">
677
+ <div class="memproto">
678
+ <table class="mlabels">
679
+ <tr>
680
+ <td class="mlabels-left">
681
+ <table class="memname">
682
+ <tr>
683
+ <td class="memname">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::directOutEdgeBegin </td>
684
+ <td>(</td>
685
+ <td class="paramname"></td><td>)</td>
686
+ <td> const</td>
687
+ </tr>
688
+ </table>
689
+ </td>
690
+ <td class="mlabels-right">
691
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
692
+ </tr>
693
+ </table>
694
+ </div><div class="memdoc">
695
+
696
+ <p>Reimplemented from <a class="el" href="classSVF_1_1GenericNode.html#acfae7a2809931cbd62b6f47c4813510d">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>.</p>
697
+
698
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00272">272</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
699
+ <div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
700
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.begin();</div>
701
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; }</div>
702
+ </div><!-- fragment -->
703
+ </div>
704
+ </div>
705
+ <a id="a77bac962599c92286edee26a1d430624"></a>
706
+ <h2 class="memtitle"><span class="permalink"><a href="#a77bac962599c92286edee26a1d430624">&#9670;&nbsp;</a></span>directOutEdgeEnd() <span class="overload">[1/2]</span></h2>
707
+
708
+ <div class="memitem">
709
+ <div class="memproto">
710
+ <table class="mlabels">
711
+ <tr>
712
+ <td class="mlabels-left">
713
+ <table class="memname">
463
714
  <tr>
715
+ <td class="memname">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> SVF::CFBasicBlockNode::directOutEdgeEnd </td>
716
+ <td>(</td>
717
+ <td class="paramname"></td><td>)</td>
464
718
  <td></td>
465
- <td>)</td>
466
- <td></td><td></td>
467
719
  </tr>
468
720
  </table>
469
721
  </td>
470
722
  <td class="mlabels-right">
471
- <span class="mlabels"><span class="mlabel">friend</span></span> </td>
723
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
472
724
  </tr>
473
725
  </table>
474
726
  </div><div class="memdoc">
475
727
 
476
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00072">72</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
477
- <div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div>
478
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; o &lt;&lt; node.toString();</div>
479
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> o;</div>
480
- <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
728
+ <p>Reimplemented from <a class="el" href="classSVF_1_1GenericNode.html#a5950d69d4ba6c2122dd06b93911e4992">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>.</p>
729
+
730
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00257">257</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
731
+ <div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div>
732
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.end();</div>
733
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
481
734
  </div><!-- fragment -->
482
735
  </div>
483
736
  </div>
484
- <h2 class="groupheader">Member Data Documentation</h2>
485
- <a id="a72e47a6254620d0b65a8d1182777440a"></a>
486
- <h2 class="memtitle"><span class="permalink"><a href="#a72e47a6254620d0b65a8d1182777440a">&#9670;&nbsp;</a></span>_icfgNodes</h2>
737
+ <a id="aeb06f080cd085dbae0d23315311ff952"></a>
738
+ <h2 class="memtitle"><span class="permalink"><a href="#aeb06f080cd085dbae0d23315311ff952">&#9670;&nbsp;</a></span>directOutEdgeEnd() <span class="overload">[2/2]</span></h2>
487
739
 
488
740
  <div class="memitem">
489
741
  <div class="memproto">
@@ -492,24 +744,30 @@ Additional Inherited Members</h2></td></tr>
492
744
  <td class="mlabels-left">
493
745
  <table class="memname">
494
746
  <tr>
495
- <td class="memname">std::vector&lt;const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&gt; SVF::CFBasicBlockNode::_icfgNodes</td>
747
+ <td class="memname">virtual <a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::directOutEdgeEnd </td>
748
+ <td>(</td>
749
+ <td class="paramname"></td><td>)</td>
750
+ <td> const</td>
496
751
  </tr>
497
752
  </table>
498
753
  </td>
499
754
  <td class="mlabels-right">
500
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
755
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
501
756
  </tr>
502
757
  </table>
503
758
  </div><div class="memdoc">
504
759
 
505
- <p>Every <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> holds a <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>. </p>
506
-
507
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00067">67</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
760
+ <p>Reimplemented from <a class="el" href="classSVF_1_1GenericNode.html#a7f914b128f7839483efc9ad56834e7c2">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>.</p>
508
761
 
762
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00277">277</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
763
+ <div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div>
764
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.end();</div>
765
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; }</div>
766
+ </div><!-- fragment -->
509
767
  </div>
510
768
  </div>
511
- <a id="a5cc563d66215225affbdd71d49e4a5c8"></a>
512
- <h2 class="memtitle"><span class="permalink"><a href="#a5cc563d66215225affbdd71d49e4a5c8">&#9670;&nbsp;</a></span>_svfBasicBlock</h2>
769
+ <a id="a4eb0886ab2538dbe2a3dcf8ab7fc615e"></a>
770
+ <h2 class="memtitle"><span class="permalink"><a href="#a4eb0886ab2538dbe2a3dcf8ab7fc615e">&#9670;&nbsp;</a></span>end()</h2>
513
771
 
514
772
  <div class="memitem">
515
773
  <div class="memproto">
@@ -518,17 +776,841 @@ Additional Inherited Members</h2></td></tr>
518
776
  <td class="mlabels-left">
519
777
  <table class="memname">
520
778
  <tr>
521
- <td class="memname">const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* SVF::CFBasicBlockNode::_svfBasicBlock</td>
779
+ <td class="memname">std::vector&lt;const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&gt;::<a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::end </td>
780
+ <td>(</td>
781
+ <td class="paramname"></td><td>)</td>
782
+ <td> const</td>
522
783
  </tr>
523
784
  </table>
524
785
  </td>
525
786
  <td class="mlabels-right">
526
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
787
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
527
788
  </tr>
528
789
  </table>
529
790
  </div><div class="memdoc">
530
791
 
531
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00066">66</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
792
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00158">158</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
793
+ <div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div>
794
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.cend();</div>
795
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
796
+ </div><!-- fragment -->
797
+ </div>
798
+ </div>
799
+ <a id="ad8afed175964dc0b90f98dbf68fdf1c8"></a>
800
+ <h2 class="memtitle"><span class="permalink"><a href="#ad8afed175964dc0b90f98dbf68fdf1c8">&#9670;&nbsp;</a></span>getFunction()</h2>
801
+
802
+ <div class="memitem">
803
+ <div class="memproto">
804
+ <table class="mlabels">
805
+ <tr>
806
+ <td class="mlabels-left">
807
+ <table class="memname">
808
+ <tr>
809
+ <td class="memname">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* SVF::CFBasicBlockNode::getFunction </td>
810
+ <td>(</td>
811
+ <td class="paramname"></td><td>)</td>
812
+ <td> const</td>
813
+ </tr>
814
+ </table>
815
+ </td>
816
+ <td class="mlabels-right">
817
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
818
+ </tr>
819
+ </table>
820
+ </div><div class="memdoc">
821
+
822
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00147">147</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
823
+ <div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div>
824
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; assert(!<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.empty() &amp;&amp; <span class="stringliteral">&quot;no ICFG nodes in CFBB&quot;</span>);</div>
825
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> (*<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.begin())-&gt;getFun();</div>
826
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
827
+ </div><!-- fragment -->
828
+ </div>
829
+ </div>
830
+ <a id="afbf1bb58613f86e4761db3ccc16a9401"></a>
831
+ <h2 class="memtitle"><span class="permalink"><a href="#afbf1bb58613f86e4761db3ccc16a9401">&#9670;&nbsp;</a></span>getICFGNodeNum()</h2>
832
+
833
+ <div class="memitem">
834
+ <div class="memproto">
835
+ <table class="mlabels">
836
+ <tr>
837
+ <td class="mlabels-left">
838
+ <table class="memname">
839
+ <tr>
840
+ <td class="memname"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> SVF::CFBasicBlockNode::getICFGNodeNum </td>
841
+ <td>(</td>
842
+ <td class="paramname"></td><td>)</td>
843
+ <td> const</td>
844
+ </tr>
845
+ </table>
846
+ </td>
847
+ <td class="mlabels-right">
848
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
849
+ </tr>
850
+ </table>
851
+ </div><div class="memdoc">
852
+
853
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00175">175</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
854
+ <div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div>
855
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.size();</div>
856
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
857
+ </div><!-- fragment -->
858
+ </div>
859
+ </div>
860
+ <a id="a6bfafe540f83e097370ca0dc66422214"></a>
861
+ <h2 class="memtitle"><span class="permalink"><a href="#a6bfafe540f83e097370ca0dc66422214">&#9670;&nbsp;</a></span>getInEdges()</h2>
862
+
863
+ <div class="memitem">
864
+ <div class="memproto">
865
+ <table class="mlabels">
866
+ <tr>
867
+ <td class="mlabels-left">
868
+ <table class="memname">
869
+ <tr>
870
+ <td class="memname">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">CFBBEdgeSetTy</a>&amp; SVF::CFBasicBlockNode::getInEdges </td>
871
+ <td>(</td>
872
+ <td class="paramname"></td><td>)</td>
873
+ <td> const</td>
874
+ </tr>
875
+ </table>
876
+ </td>
877
+ <td class="mlabels-right">
878
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
879
+ </tr>
880
+ </table>
881
+ </div><div class="memdoc">
882
+
883
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00188">188</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
884
+ <div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; {</div>
885
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>;</div>
886
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div>
887
+ </div><!-- fragment -->
888
+ </div>
889
+ </div>
890
+ <a id="a4ed32455eaafc3bd1a06ed9b417b329d"></a>
891
+ <h2 class="memtitle"><span class="permalink"><a href="#a4ed32455eaafc3bd1a06ed9b417b329d">&#9670;&nbsp;</a></span>getName()</h2>
892
+
893
+ <div class="memitem">
894
+ <div class="memproto">
895
+ <table class="mlabels">
896
+ <tr>
897
+ <td class="mlabels-left">
898
+ <table class="memname">
899
+ <tr>
900
+ <td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> SVF::CFBasicBlockNode::getName </td>
901
+ <td>(</td>
902
+ <td class="paramname"></td><td>)</td>
903
+ <td> const</td>
904
+ </tr>
905
+ </table>
906
+ </td>
907
+ <td class="mlabels-right">
908
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
909
+ </tr>
910
+ </table>
911
+ </div><div class="memdoc">
912
+
913
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00135">135</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
914
+ <div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
915
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; assert(!<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.empty() &amp;&amp; <span class="stringliteral">&quot;no ICFG nodes in CFBB&quot;</span>);</div>
916
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> (*<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.begin())-&gt;getBB()-&gt;getName();</div>
917
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div>
918
+ </div><!-- fragment -->
919
+ </div>
920
+ </div>
921
+ <a id="a48c0b6643c481afb15d4c4f89d00eecb"></a>
922
+ <h2 class="memtitle"><span class="permalink"><a href="#a48c0b6643c481afb15d4c4f89d00eecb">&#9670;&nbsp;</a></span>getOutEdges()</h2>
923
+
924
+ <div class="memitem">
925
+ <div class="memproto">
926
+ <table class="mlabels">
927
+ <tr>
928
+ <td class="mlabels-left">
929
+ <table class="memname">
930
+ <tr>
931
+ <td class="memname">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">CFBBEdgeSetTy</a>&amp; SVF::CFBasicBlockNode::getOutEdges </td>
932
+ <td>(</td>
933
+ <td class="paramname"></td><td>)</td>
934
+ <td> const</td>
935
+ </tr>
936
+ </table>
937
+ </td>
938
+ <td class="mlabels-right">
939
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
940
+ </tr>
941
+ </table>
942
+ </div><div class="memdoc">
943
+ <p>Get incoming/outgoing edge set </p>
944
+
945
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00183">183</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
946
+ <div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div>
947
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>;</div>
948
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div>
949
+ </div><!-- fragment -->
950
+ </div>
951
+ </div>
952
+ <a id="a11c91dcc91d3c6ae18a67b5e1d6af376"></a>
953
+ <h2 class="memtitle"><span class="permalink"><a href="#a11c91dcc91d3c6ae18a67b5e1d6af376">&#9670;&nbsp;</a></span>getSVFBasicBlock()</h2>
954
+
955
+ <div class="memitem">
956
+ <div class="memproto">
957
+ <table class="mlabels">
958
+ <tr>
959
+ <td class="mlabels-left">
960
+ <table class="memname">
961
+ <tr>
962
+ <td class="memname">const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* SVF::CFBasicBlockNode::getSVFBasicBlock </td>
963
+ <td>(</td>
964
+ <td class="paramname"></td><td>)</td>
965
+ <td> const</td>
966
+ </tr>
967
+ </table>
968
+ </td>
969
+ <td class="mlabels-right">
970
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
971
+ </tr>
972
+ </table>
973
+ </div><div class="memdoc">
974
+
975
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00141">141</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
976
+ <div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div>
977
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; assert(!<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.empty() &amp;&amp; <span class="stringliteral">&quot;no ICFG nodes in CFBB&quot;</span>);</div>
978
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> (*<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.begin())-&gt;getBB();</div>
979
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
980
+ </div><!-- fragment -->
981
+ </div>
982
+ </div>
983
+ <a id="ac468c52cc443f1137f6d5fb510a8ac46"></a>
984
+ <h2 class="memtitle"><span class="permalink"><a href="#ac468c52cc443f1137f6d5fb510a8ac46">&#9670;&nbsp;</a></span>hasIncomingEdge() <span class="overload">[1/2]</span></h2>
985
+
986
+ <div class="memitem">
987
+ <div class="memproto">
988
+ <table class="mlabels">
989
+ <tr>
990
+ <td class="mlabels-left">
991
+ <table class="memname">
992
+ <tr>
993
+ <td class="memname">bool SVF::CFBasicBlockNode::hasIncomingEdge </td>
994
+ <td>(</td>
995
+ <td class="paramname"></td><td>)</td>
996
+ <td> const</td>
997
+ </tr>
998
+ </table>
999
+ </td>
1000
+ <td class="mlabels-right">
1001
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1002
+ </tr>
1003
+ </table>
1004
+ </div><div class="memdoc">
1005
+
1006
+ <p>Has incoming/outgoing edge set. </p>
1007
+
1008
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00196">196</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1009
+ <div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div>
1010
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.empty() == <span class="keyword">false</span>);</div>
1011
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div>
1012
+ </div><!-- fragment -->
1013
+ </div>
1014
+ </div>
1015
+ <a id="a039e122b9bceabeb0b3e687b6ee14d5c"></a>
1016
+ <h2 class="memtitle"><span class="permalink"><a href="#a039e122b9bceabeb0b3e687b6ee14d5c">&#9670;&nbsp;</a></span>hasIncomingEdge() <span class="overload">[2/2]</span></h2>
1017
+
1018
+ <div class="memitem">
1019
+ <div class="memproto">
1020
+ <table class="mlabels">
1021
+ <tr>
1022
+ <td class="mlabels-left">
1023
+ <table class="memname">
1024
+ <tr>
1025
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* SVF::CFBasicBlockNode::hasIncomingEdge </td>
1026
+ <td>(</td>
1027
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td>
1028
+ <td class="paramname"><em>edge</em></td><td>)</td>
1029
+ <td> const</td>
1030
+ </tr>
1031
+ </table>
1032
+ </td>
1033
+ <td class="mlabels-right">
1034
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1035
+ </tr>
1036
+ </table>
1037
+ </div><div class="memdoc">
1038
+
1039
+ <p>Find incoming and outgoing edges. </p>
1040
+
1041
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00325">325</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1042
+ <div class="fragment"><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; {</div>
1043
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> it = <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.find(edge);</div>
1044
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.end())</div>
1045
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">return</span> *it;</div>
1046
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">else</span></div>
1047
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1048
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; }</div>
1049
+ </div><!-- fragment -->
1050
+ </div>
1051
+ </div>
1052
+ <a id="a1b02680eb7b603ffaed3eecd2f09455e"></a>
1053
+ <h2 class="memtitle"><span class="permalink"><a href="#a1b02680eb7b603ffaed3eecd2f09455e">&#9670;&nbsp;</a></span>hasOutgoingEdge() <span class="overload">[1/2]</span></h2>
1054
+
1055
+ <div class="memitem">
1056
+ <div class="memproto">
1057
+ <table class="mlabels">
1058
+ <tr>
1059
+ <td class="mlabels-left">
1060
+ <table class="memname">
1061
+ <tr>
1062
+ <td class="memname">bool SVF::CFBasicBlockNode::hasOutgoingEdge </td>
1063
+ <td>(</td>
1064
+ <td class="paramname"></td><td>)</td>
1065
+ <td> const</td>
1066
+ </tr>
1067
+ </table>
1068
+ </td>
1069
+ <td class="mlabels-right">
1070
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1071
+ </tr>
1072
+ </table>
1073
+ </div><div class="memdoc">
1074
+
1075
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00201">201</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1076
+ <div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; {</div>
1077
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.empty() == <span class="keyword">false</span>);</div>
1078
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
1079
+ </div><!-- fragment -->
1080
+ </div>
1081
+ </div>
1082
+ <a id="a802b138a587dae6eaf2787eb2fd30f21"></a>
1083
+ <h2 class="memtitle"><span class="permalink"><a href="#a802b138a587dae6eaf2787eb2fd30f21">&#9670;&nbsp;</a></span>hasOutgoingEdge() <span class="overload">[2/2]</span></h2>
1084
+
1085
+ <div class="memitem">
1086
+ <div class="memproto">
1087
+ <table class="mlabels">
1088
+ <tr>
1089
+ <td class="mlabels-left">
1090
+ <table class="memname">
1091
+ <tr>
1092
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* SVF::CFBasicBlockNode::hasOutgoingEdge </td>
1093
+ <td>(</td>
1094
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td>
1095
+ <td class="paramname"><em>edge</em></td><td>)</td>
1096
+ <td> const</td>
1097
+ </tr>
1098
+ </table>
1099
+ </td>
1100
+ <td class="mlabels-right">
1101
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1102
+ </tr>
1103
+ </table>
1104
+ </div><div class="memdoc">
1105
+
1106
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00334">334</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1107
+ <div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {</div>
1108
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> it = <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.find(edge);</div>
1109
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.end())</div>
1110
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">return</span> *it;</div>
1111
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">else</span></div>
1112
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1113
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div>
1114
+ </div><!-- fragment -->
1115
+ </div>
1116
+ </div>
1117
+ <a id="a36e13381f80af68ba51a038314ae8b39"></a>
1118
+ <h2 class="memtitle"><span class="permalink"><a href="#a36e13381f80af68ba51a038314ae8b39">&#9670;&nbsp;</a></span>InEdgeBegin() <span class="overload">[1/2]</span></h2>
1119
+
1120
+ <div class="memitem">
1121
+ <div class="memproto">
1122
+ <table class="mlabels">
1123
+ <tr>
1124
+ <td class="mlabels-left">
1125
+ <table class="memname">
1126
+ <tr>
1127
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> SVF::CFBasicBlockNode::InEdgeBegin </td>
1128
+ <td>(</td>
1129
+ <td class="paramname"></td><td>)</td>
1130
+ <td></td>
1131
+ </tr>
1132
+ </table>
1133
+ </td>
1134
+ <td class="mlabels-right">
1135
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1136
+ </tr>
1137
+ </table>
1138
+ </div><div class="memdoc">
1139
+
1140
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00219">219</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1141
+ <div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; {</div>
1142
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.begin();</div>
1143
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div>
1144
+ </div><!-- fragment -->
1145
+ </div>
1146
+ </div>
1147
+ <a id="ad3c5860db2e113dd4142ae3b352cece3"></a>
1148
+ <h2 class="memtitle"><span class="permalink"><a href="#ad3c5860db2e113dd4142ae3b352cece3">&#9670;&nbsp;</a></span>InEdgeBegin() <span class="overload">[2/2]</span></h2>
1149
+
1150
+ <div class="memitem">
1151
+ <div class="memproto">
1152
+ <table class="mlabels">
1153
+ <tr>
1154
+ <td class="mlabels-left">
1155
+ <table class="memname">
1156
+ <tr>
1157
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::InEdgeBegin </td>
1158
+ <td>(</td>
1159
+ <td class="paramname"></td><td>)</td>
1160
+ <td> const</td>
1161
+ </tr>
1162
+ </table>
1163
+ </td>
1164
+ <td class="mlabels-right">
1165
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1166
+ </tr>
1167
+ </table>
1168
+ </div><div class="memdoc">
1169
+
1170
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00239">239</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1171
+ <div class="fragment"><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div>
1172
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.begin();</div>
1173
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div>
1174
+ </div><!-- fragment -->
1175
+ </div>
1176
+ </div>
1177
+ <a id="a8a9df60ba644f5387506c8bec1fea61d"></a>
1178
+ <h2 class="memtitle"><span class="permalink"><a href="#a8a9df60ba644f5387506c8bec1fea61d">&#9670;&nbsp;</a></span>InEdgeEnd() <span class="overload">[1/2]</span></h2>
1179
+
1180
+ <div class="memitem">
1181
+ <div class="memproto">
1182
+ <table class="mlabels">
1183
+ <tr>
1184
+ <td class="mlabels-left">
1185
+ <table class="memname">
1186
+ <tr>
1187
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> SVF::CFBasicBlockNode::InEdgeEnd </td>
1188
+ <td>(</td>
1189
+ <td class="paramname"></td><td>)</td>
1190
+ <td></td>
1191
+ </tr>
1192
+ </table>
1193
+ </td>
1194
+ <td class="mlabels-right">
1195
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1196
+ </tr>
1197
+ </table>
1198
+ </div><div class="memdoc">
1199
+
1200
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00224">224</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1201
+ <div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div>
1202
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.end();</div>
1203
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div>
1204
+ </div><!-- fragment -->
1205
+ </div>
1206
+ </div>
1207
+ <a id="a61b196ea7066522bac602b16c1862905"></a>
1208
+ <h2 class="memtitle"><span class="permalink"><a href="#a61b196ea7066522bac602b16c1862905">&#9670;&nbsp;</a></span>InEdgeEnd() <span class="overload">[2/2]</span></h2>
1209
+
1210
+ <div class="memitem">
1211
+ <div class="memproto">
1212
+ <table class="mlabels">
1213
+ <tr>
1214
+ <td class="mlabels-left">
1215
+ <table class="memname">
1216
+ <tr>
1217
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::InEdgeEnd </td>
1218
+ <td>(</td>
1219
+ <td class="paramname"></td><td>)</td>
1220
+ <td> const</td>
1221
+ </tr>
1222
+ </table>
1223
+ </td>
1224
+ <td class="mlabels-right">
1225
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1226
+ </tr>
1227
+ </table>
1228
+ </div><div class="memdoc">
1229
+
1230
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00244">244</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1231
+ <div class="fragment"><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div>
1232
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.end();</div>
1233
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div>
1234
+ </div><!-- fragment -->
1235
+ </div>
1236
+ </div>
1237
+ <a id="a93c5de88097d130a8ba06c7254f96510"></a>
1238
+ <h2 class="memtitle"><span class="permalink"><a href="#a93c5de88097d130a8ba06c7254f96510">&#9670;&nbsp;</a></span>OutEdgeBegin() <span class="overload">[1/2]</span></h2>
1239
+
1240
+ <div class="memitem">
1241
+ <div class="memproto">
1242
+ <table class="mlabels">
1243
+ <tr>
1244
+ <td class="mlabels-left">
1245
+ <table class="memname">
1246
+ <tr>
1247
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> SVF::CFBasicBlockNode::OutEdgeBegin </td>
1248
+ <td>(</td>
1249
+ <td class="paramname"></td><td>)</td>
1250
+ <td></td>
1251
+ </tr>
1252
+ </table>
1253
+ </td>
1254
+ <td class="mlabels-right">
1255
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1256
+ </tr>
1257
+ </table>
1258
+ </div><div class="memdoc">
1259
+
1260
+ <p>iterators </p>
1261
+
1262
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00209">209</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1263
+ <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div>
1264
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.begin();</div>
1265
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div>
1266
+ </div><!-- fragment -->
1267
+ </div>
1268
+ </div>
1269
+ <a id="ad37525807d9c8d7c12e7166af068134e"></a>
1270
+ <h2 class="memtitle"><span class="permalink"><a href="#ad37525807d9c8d7c12e7166af068134e">&#9670;&nbsp;</a></span>OutEdgeBegin() <span class="overload">[2/2]</span></h2>
1271
+
1272
+ <div class="memitem">
1273
+ <div class="memproto">
1274
+ <table class="mlabels">
1275
+ <tr>
1276
+ <td class="mlabels-left">
1277
+ <table class="memname">
1278
+ <tr>
1279
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::OutEdgeBegin </td>
1280
+ <td>(</td>
1281
+ <td class="paramname"></td><td>)</td>
1282
+ <td> const</td>
1283
+ </tr>
1284
+ </table>
1285
+ </td>
1286
+ <td class="mlabels-right">
1287
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1288
+ </tr>
1289
+ </table>
1290
+ </div><div class="memdoc">
1291
+
1292
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00229">229</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1293
+ <div class="fragment"><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div>
1294
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.begin();</div>
1295
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
1296
+ </div><!-- fragment -->
1297
+ </div>
1298
+ </div>
1299
+ <a id="a358586d95a6027da09b97a3c35128a35"></a>
1300
+ <h2 class="memtitle"><span class="permalink"><a href="#a358586d95a6027da09b97a3c35128a35">&#9670;&nbsp;</a></span>OutEdgeEnd() <span class="overload">[1/2]</span></h2>
1301
+
1302
+ <div class="memitem">
1303
+ <div class="memproto">
1304
+ <table class="mlabels">
1305
+ <tr>
1306
+ <td class="mlabels-left">
1307
+ <table class="memname">
1308
+ <tr>
1309
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> SVF::CFBasicBlockNode::OutEdgeEnd </td>
1310
+ <td>(</td>
1311
+ <td class="paramname"></td><td>)</td>
1312
+ <td></td>
1313
+ </tr>
1314
+ </table>
1315
+ </td>
1316
+ <td class="mlabels-right">
1317
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1318
+ </tr>
1319
+ </table>
1320
+ </div><div class="memdoc">
1321
+
1322
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00214">214</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1323
+ <div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div>
1324
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.end();</div>
1325
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div>
1326
+ </div><!-- fragment -->
1327
+ </div>
1328
+ </div>
1329
+ <a id="aad38e58364301dafed7a3ee46f812cd9"></a>
1330
+ <h2 class="memtitle"><span class="permalink"><a href="#aad38e58364301dafed7a3ee46f812cd9">&#9670;&nbsp;</a></span>OutEdgeEnd() <span class="overload">[2/2]</span></h2>
1331
+
1332
+ <div class="memitem">
1333
+ <div class="memproto">
1334
+ <table class="mlabels">
1335
+ <tr>
1336
+ <td class="mlabels-left">
1337
+ <table class="memname">
1338
+ <tr>
1339
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> SVF::CFBasicBlockNode::OutEdgeEnd </td>
1340
+ <td>(</td>
1341
+ <td class="paramname"></td><td>)</td>
1342
+ <td> const</td>
1343
+ </tr>
1344
+ </table>
1345
+ </td>
1346
+ <td class="mlabels-right">
1347
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1348
+ </tr>
1349
+ </table>
1350
+ </div><div class="memdoc">
1351
+
1352
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00234">234</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1353
+ <div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div>
1354
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.end();</div>
1355
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
1356
+ </div><!-- fragment -->
1357
+ </div>
1358
+ </div>
1359
+ <a id="a1595d3b9c142ae3bfeb144b3deb88935"></a>
1360
+ <h2 class="memtitle"><span class="permalink"><a href="#a1595d3b9c142ae3bfeb144b3deb88935">&#9670;&nbsp;</a></span>removeIncomingEdge()</h2>
1361
+
1362
+ <div class="memitem">
1363
+ <div class="memproto">
1364
+ <table class="mlabels">
1365
+ <tr>
1366
+ <td class="mlabels-left">
1367
+ <table class="memname">
1368
+ <tr>
1369
+ <td class="memname"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> SVF::CFBasicBlockNode::removeIncomingEdge </td>
1370
+ <td>(</td>
1371
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td>
1372
+ <td class="paramname"><em>edge</em></td><td>)</td>
1373
+ <td></td>
1374
+ </tr>
1375
+ </table>
1376
+ </td>
1377
+ <td class="mlabels-right">
1378
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1379
+ </tr>
1380
+ </table>
1381
+ </div><div class="memdoc">
1382
+ <p>Remove incoming and outgoing edges </p>
1383
+
1384
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00308">308</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1385
+ <div class="fragment"><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div>
1386
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> it = <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.find(edge);</div>
1387
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; assert(it != <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.end() &amp;&amp; <span class="stringliteral">&quot;can not find in edge in SVFG node&quot;</span>);</div>
1388
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.erase(edge);</div>
1389
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div>
1390
+ </div><!-- fragment -->
1391
+ </div>
1392
+ </div>
1393
+ <a id="a772a7259fa9ef0eae1ec2ba30b17587f"></a>
1394
+ <h2 class="memtitle"><span class="permalink"><a href="#a772a7259fa9ef0eae1ec2ba30b17587f">&#9670;&nbsp;</a></span>removeNode()</h2>
1395
+
1396
+ <div class="memitem">
1397
+ <div class="memproto">
1398
+ <table class="mlabels">
1399
+ <tr>
1400
+ <td class="mlabels-left">
1401
+ <table class="memname">
1402
+ <tr>
1403
+ <td class="memname">void SVF::CFBasicBlockNode::removeNode </td>
1404
+ <td>(</td>
1405
+ <td class="paramtype">const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&#160;</td>
1406
+ <td class="paramname"><em>node</em></td><td>)</td>
1407
+ <td></td>
1408
+ </tr>
1409
+ </table>
1410
+ </td>
1411
+ <td class="mlabels-right">
1412
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1413
+ </tr>
1414
+ </table>
1415
+ </div><div class="memdoc">
1416
+
1417
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00163">163</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1418
+ <div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div>
1419
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> it = std::find(<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.begin(), <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.end(), node);</div>
1420
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; assert(it != <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.end() &amp;&amp; <span class="stringliteral">&quot;icfg node not in BB?&quot;</span>);</div>
1421
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.erase(it);</div>
1422
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
1423
+ </div><!-- fragment -->
1424
+ </div>
1425
+ </div>
1426
+ <a id="a2e09d431bbe6a9a70c04db17d89eda2c"></a>
1427
+ <h2 class="memtitle"><span class="permalink"><a href="#a2e09d431bbe6a9a70c04db17d89eda2c">&#9670;&nbsp;</a></span>removeOutgoingEdge()</h2>
1428
+
1429
+ <div class="memitem">
1430
+ <div class="memproto">
1431
+ <table class="mlabels">
1432
+ <tr>
1433
+ <td class="mlabels-left">
1434
+ <table class="memname">
1435
+ <tr>
1436
+ <td class="memname"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> SVF::CFBasicBlockNode::removeOutgoingEdge </td>
1437
+ <td>(</td>
1438
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td>
1439
+ <td class="paramname"><em>edge</em></td><td>)</td>
1440
+ <td></td>
1441
+ </tr>
1442
+ </table>
1443
+ </td>
1444
+ <td class="mlabels-right">
1445
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1446
+ </tr>
1447
+ </table>
1448
+ </div><div class="memdoc">
1449
+
1450
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00315">315</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1451
+ <div class="fragment"><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; {</div>
1452
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">iterator</a> it = <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.find(edge);</div>
1453
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; assert(it != <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.end() &amp;&amp; <span class="stringliteral">&quot;can not find out edge in SVFG node&quot;</span>);</div>
1454
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.erase(edge);</div>
1455
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
1456
+ </div><!-- fragment -->
1457
+ </div>
1458
+ </div>
1459
+ <a id="a727f0ef59605adf99af4babee90eb8a8"></a>
1460
+ <h2 class="memtitle"><span class="permalink"><a href="#a727f0ef59605adf99af4babee90eb8a8">&#9670;&nbsp;</a></span>toString()</h2>
1461
+
1462
+ <div class="memitem">
1463
+ <div class="memproto">
1464
+ <table class="mlabels">
1465
+ <tr>
1466
+ <td class="mlabels-left">
1467
+ <table class="memname">
1468
+ <tr>
1469
+ <td class="memname">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> SVF::CFBasicBlockNode::toString </td>
1470
+ <td>(</td>
1471
+ <td class="paramname"></td><td>)</td>
1472
+ <td> const</td>
1473
+ </tr>
1474
+ </table>
1475
+ </td>
1476
+ <td class="mlabels-right">
1477
+ <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
1478
+ </tr>
1479
+ </table>
1480
+ </div><div class="memdoc">
1481
+
1482
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00051">51</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
1483
+ <div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div>
1484
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> rawStr;</div>
1485
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; std::stringstream stringstream(rawStr);</div>
1486
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; stringstream &lt;&lt; <span class="stringliteral">&quot;Block Name: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a4ed32455eaafc3bd1a06ed9b417b329d">getName</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1487
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;icfgNode: <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>)</div>
1488
+ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div>
1489
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; stringstream &lt;&lt; icfgNode-&gt;toString() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1490
+ <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
1491
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> stringstream.str();</div>
1492
+ <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
1493
+ </div><!-- fragment -->
1494
+ </div>
1495
+ </div>
1496
+ <h2 class="groupheader">Friends And Related Function Documentation</h2>
1497
+ <a id="a1c88d2e9723ae23fb5afb3d3374c3ebe"></a>
1498
+ <h2 class="memtitle"><span class="permalink"><a href="#a1c88d2e9723ae23fb5afb3d3374c3ebe">&#9670;&nbsp;</a></span>operator&lt;&lt;</h2>
1499
+
1500
+ <div class="memitem">
1501
+ <div class="memproto">
1502
+ <table class="mlabels">
1503
+ <tr>
1504
+ <td class="mlabels-left">
1505
+ <table class="memname">
1506
+ <tr>
1507
+ <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
1508
+ <td>(</td>
1509
+ <td class="paramtype">std::ostream &amp;&#160;</td>
1510
+ <td class="paramname"><em>o</em>, </td>
1511
+ </tr>
1512
+ <tr>
1513
+ <td class="paramkey"></td>
1514
+ <td></td>
1515
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> &amp;&#160;</td>
1516
+ <td class="paramname"><em>node</em>&#160;</td>
1517
+ </tr>
1518
+ <tr>
1519
+ <td></td>
1520
+ <td>)</td>
1521
+ <td></td><td></td>
1522
+ </tr>
1523
+ </table>
1524
+ </td>
1525
+ <td class="mlabels-right">
1526
+ <span class="mlabels"><span class="mlabel">friend</span></span> </td>
1527
+ </tr>
1528
+ </table>
1529
+ </div><div class="memdoc">
1530
+
1531
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00127">127</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1532
+ <div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div>
1533
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; o &lt;&lt; node.toString();</div>
1534
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> o;</div>
1535
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
1536
+ </div><!-- fragment -->
1537
+ </div>
1538
+ </div>
1539
+ <h2 class="groupheader">Member Data Documentation</h2>
1540
+ <a id="a72e47a6254620d0b65a8d1182777440a"></a>
1541
+ <h2 class="memtitle"><span class="permalink"><a href="#a72e47a6254620d0b65a8d1182777440a">&#9670;&nbsp;</a></span>_icfgNodes</h2>
1542
+
1543
+ <div class="memitem">
1544
+ <div class="memproto">
1545
+ <table class="mlabels">
1546
+ <tr>
1547
+ <td class="mlabels-left">
1548
+ <table class="memname">
1549
+ <tr>
1550
+ <td class="memname">std::vector&lt;const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&gt; SVF::CFBasicBlockNode::_icfgNodes</td>
1551
+ </tr>
1552
+ </table>
1553
+ </td>
1554
+ <td class="mlabels-right">
1555
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
1556
+ </tr>
1557
+ </table>
1558
+ </div><div class="memdoc">
1559
+
1560
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00114">114</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1561
+
1562
+ </div>
1563
+ </div>
1564
+ <a id="a7b1db0644849e066137c162e24026b67"></a>
1565
+ <h2 class="memtitle"><span class="permalink"><a href="#a7b1db0644849e066137c162e24026b67">&#9670;&nbsp;</a></span>InEdges</h2>
1566
+
1567
+ <div class="memitem">
1568
+ <div class="memproto">
1569
+ <table class="mlabels">
1570
+ <tr>
1571
+ <td class="mlabels-left">
1572
+ <table class="memname">
1573
+ <tr>
1574
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">CFBBEdgeSetTy</a> SVF::CFBasicBlockNode::InEdges</td>
1575
+ </tr>
1576
+ </table>
1577
+ </td>
1578
+ <td class="mlabels-right">
1579
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
1580
+ </tr>
1581
+ </table>
1582
+ </div><div class="memdoc">
1583
+
1584
+ <p>Every CBFGNode holds a vector of ICFGNodes. </p>
1585
+ <p>all incoming edge of this node </p>
1586
+
1587
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00115">115</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
1588
+
1589
+ </div>
1590
+ </div>
1591
+ <a id="a046a15f230ab41d50b04f0390df179f1"></a>
1592
+ <h2 class="memtitle"><span class="permalink"><a href="#a046a15f230ab41d50b04f0390df179f1">&#9670;&nbsp;</a></span>OutEdges</h2>
1593
+
1594
+ <div class="memitem">
1595
+ <div class="memproto">
1596
+ <table class="mlabels">
1597
+ <tr>
1598
+ <td class="mlabels-left">
1599
+ <table class="memname">
1600
+ <tr>
1601
+ <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">CFBBEdgeSetTy</a> SVF::CFBasicBlockNode::OutEdges</td>
1602
+ </tr>
1603
+ </table>
1604
+ </td>
1605
+ <td class="mlabels-right">
1606
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
1607
+ </tr>
1608
+ </table>
1609
+ </div><div class="memdoc">
1610
+
1611
+ <p>all outgoing edge of this node </p>
1612
+
1613
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00116">116</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
532
1614
 
533
1615
  </div>
534
1616
  </div>
@@ -537,15 +1619,18 @@ Additional Inherited Members</h2></td></tr>
537
1619
  <li>/home/runner/work/SVF/SVF/svf/lib/Graphs/<a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a></li>
538
1620
  </ul>
539
1621
  </div><!-- contents -->
540
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a2401b022638769f59f86ab424a189b6e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string &amp; getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00243">SVFValue.h:243</a></div></div>
541
- <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_aeaa9b2b4e802d9e6bed138eaf3186d09"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#aeaa9b2b4e802d9e6bed138eaf3186d09">SVF::SVFBasicBlock::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00582">SVFValue.h:582</a></div></div>
542
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a72e47a6254620d0b65a8d1182777440a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">SVF::CFBasicBlockNode::_icfgNodes</a></div><div class="ttdeci">std::vector&lt; const ICFGNode * &gt; _icfgNodes</div><div class="ttdoc">Every CFBasicBlockNode holds a SVFBasicBlock.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00067">CFBasicBlockG.h:67</a></div></div>
543
- <div class="ttc" id="anamespaceSVF_html_a81d6a1e9cc52fde4f828cead0ca40bab"><div class="ttname"><a href="namespaceSVF.html#a81d6a1e9cc52fde4f828cead0ca40bab">SVF::GenericCFBasicBlockNodeTy</a></div><div class="ttdeci">GenericNode&lt; CFBasicBlockNode, CFBasicBlockEdge &gt; GenericCFBasicBlockNodeTy</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00061">CFBasicBlockG.h:61</a></div></div>
1622
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a72e47a6254620d0b65a8d1182777440a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">SVF::CFBasicBlockNode::_icfgNodes</a></div><div class="ttdeci">std::vector&lt; const ICFGNode * &gt; _icfgNodes</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00114">CFBasicBlockG.h:114</a></div></div>
1623
+ <div class="ttc" id="anamespaceSVF_html_a81d6a1e9cc52fde4f828cead0ca40bab"><div class="ttname"><a href="namespaceSVF.html#a81d6a1e9cc52fde4f828cead0ca40bab">SVF::GenericCFBasicBlockNodeTy</a></div><div class="ttdeci">GenericNode&lt; CFBasicBlockNode, CFBasicBlockEdge &gt; GenericCFBasicBlockNodeTy</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00104">CFBasicBlockG.h:104</a></div></div>
544
1624
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
1625
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a145051f43e03acd6ce9923a5c06150bc"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">SVF::CFBasicBlockNode::const_iterator</a></div><div class="ttdeci">CFBasicBlockEdge::CFBBEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00111">CFBasicBlockG.h:111</a></div></div>
545
1626
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00114">SVFIR.h:114</a></div></div>
1627
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_ad33fdf14d9334bd468d9eb541e0e8a31"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">SVF::CFBasicBlockNode::iterator</a></div><div class="ttdeci">CFBasicBlockEdge::CFBBEdgeSetTy ::iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00110">CFBasicBlockG.h:110</a></div></div>
546
1628
  <div class="ttc" id="aclassSVF_1_1ICFG_html_a5f2c0aaba07d6fdd63058da0fb60ca8b"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">SVF::ICFG::getICFGNode</a></div><div class="ttdeci">ICFGNode * getICFGNode(NodeID id) const</div><div class="ttdoc">Get a ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00088">ICFG.h:88</a></div></div>
547
1629
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_abda052b73e869ed6d7c139ad1528da11"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00170">SVFIR.h:170</a></div></div>
548
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a5cc563d66215225affbdd71d49e4a5c8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a5cc563d66215225affbdd71d49e4a5c8">SVF::CFBasicBlockNode::_svfBasicBlock</a></div><div class="ttdeci">const SVFBasicBlock * _svfBasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00066">CFBasicBlockG.h:66</a></div></div>
1630
+ <div class="ttc" id="anamespaceSVF_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#l00621">SVFUtil.h:621</a></div></div>
1631
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a046a15f230ab41d50b04f0390df179f1"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">SVF::CFBasicBlockNode::OutEdges</a></div><div class="ttdeci">CFBBEdgeSetTy OutEdges</div><div class="ttdoc">all outgoing edge of this node</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00116">CFBasicBlockG.h:116</a></div></div>
1632
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a4ed32455eaafc3bd1a06ed9b417b329d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a4ed32455eaafc3bd1a06ed9b417b329d">SVF::CFBasicBlockNode::getName</a></div><div class="ttdeci">std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00135">CFBasicBlockG.h:135</a></div></div>
1633
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a7b1db0644849e066137c162e24026b67"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">SVF::CFBasicBlockNode::InEdges</a></div><div class="ttdeci">CFBBEdgeSetTy InEdges</div><div class="ttdoc">Every CBFGNode holds a vector of ICFGNodes.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00115">CFBasicBlockG.h:115</a></div></div>
549
1634
  <!-- start footer part -->
550
1635
  <hr class="footer"/><address class="footer"><small>
551
1636
  Generated by &#160;<a href="http://www.doxygen.org/index.html">