svf-tools 1.0.849 → 1.0.850

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 (284) hide show
  1. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +293 -217
  2. package/SVF-doxygen/html/IntervalExeState_8h.html +2 -0
  3. package/SVF-doxygen/html/IntervalExeState_8h_source.html +622 -435
  4. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +60 -60
  5. package/SVF-doxygen/html/RelationSolver_8h_source.html +16 -16
  6. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +10 -10
  7. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +8 -8
  8. package/SVF-doxygen/html/annotated.html +215 -214
  9. package/SVF-doxygen/html/classSVF_1_1ExeState.html +9 -8
  10. package/SVF-doxygen/html/classSVF_1_1ExeState.png +0 -0
  11. package/SVF-doxygen/html/classSVF_1_1IntervalESBase-members.html +168 -0
  12. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +2331 -0
  13. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.png +0 -0
  14. package/SVF-doxygen/html/classSVF_1_1IntervalExeState-members.html +79 -62
  15. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.html +497 -1381
  16. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.png +0 -0
  17. package/SVF-doxygen/html/classSVF_1_1RelationSolver-members.html +8 -8
  18. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +100 -100
  19. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +29 -29
  20. package/SVF-doxygen/html/classes.html +232 -231
  21. package/SVF-doxygen/html/functions.html +2 -2
  22. package/SVF-doxygen/html/functions_a.html +1 -1
  23. package/SVF-doxygen/html/functions_b.html +4 -4
  24. package/SVF-doxygen/html/functions_c.html +2 -2
  25. package/SVF-doxygen/html/functions_e.html +4 -3
  26. package/SVF-doxygen/html/functions_f.html +3 -3
  27. package/SVF-doxygen/html/functions_func.html +1 -1
  28. package/SVF-doxygen/html/functions_func_b.html +4 -4
  29. package/SVF-doxygen/html/functions_func_c.html +2 -2
  30. package/SVF-doxygen/html/functions_func_e.html +3 -2
  31. package/SVF-doxygen/html/functions_func_g.html +27 -24
  32. package/SVF-doxygen/html/functions_func_h.html +4 -3
  33. package/SVF-doxygen/html/functions_func_i.html +16 -9
  34. package/SVF-doxygen/html/functions_func_j.html +1 -0
  35. package/SVF-doxygen/html/functions_func_l.html +6 -4
  36. package/SVF-doxygen/html/functions_func_m.html +1 -0
  37. package/SVF-doxygen/html/functions_func_n.html +6 -4
  38. package/SVF-doxygen/html/functions_func_o.html +17 -11
  39. package/SVF-doxygen/html/functions_func_p.html +3 -3
  40. package/SVF-doxygen/html/functions_func_r.html +1 -1
  41. package/SVF-doxygen/html/functions_func_s.html +2 -2
  42. package/SVF-doxygen/html/functions_func_t.html +2 -2
  43. package/SVF-doxygen/html/functions_func_w.html +4 -2
  44. package/SVF-doxygen/html/functions_func_~.html +3 -0
  45. package/SVF-doxygen/html/functions_g.html +24 -21
  46. package/SVF-doxygen/html/functions_h.html +6 -5
  47. package/SVF-doxygen/html/functions_i.html +21 -14
  48. package/SVF-doxygen/html/functions_j.html +1 -0
  49. package/SVF-doxygen/html/functions_l.html +10 -8
  50. package/SVF-doxygen/html/functions_m.html +1 -0
  51. package/SVF-doxygen/html/functions_n.html +5 -3
  52. package/SVF-doxygen/html/functions_o.html +18 -12
  53. package/SVF-doxygen/html/functions_p.html +17 -13
  54. package/SVF-doxygen/html/functions_r.html +7 -8
  55. package/SVF-doxygen/html/functions_rela_r.html +2 -1
  56. package/SVF-doxygen/html/functions_rela_s.html +1 -0
  57. package/SVF-doxygen/html/functions_s.html +15 -14
  58. package/SVF-doxygen/html/functions_t.html +5 -5
  59. package/SVF-doxygen/html/functions_type_l.html +1 -1
  60. package/SVF-doxygen/html/functions_type_v.html +1 -1
  61. package/SVF-doxygen/html/functions_v.html +7 -5
  62. package/SVF-doxygen/html/functions_vars.html +2 -2
  63. package/SVF-doxygen/html/functions_w.html +13 -9
  64. package/SVF-doxygen/html/functions_~.html +3 -0
  65. package/SVF-doxygen/html/hierarchy.html +2 -1
  66. package/SVF-doxygen/html/namespaceSVF.html +2 -0
  67. package/SVF-doxygen/html/search/all_0.js +2 -2
  68. package/SVF-doxygen/html/search/all_1.js +1 -1
  69. package/SVF-doxygen/html/search/all_10.js +325 -325
  70. package/SVF-doxygen/html/search/all_11.js +224 -224
  71. package/SVF-doxygen/html/search/all_12.js +552 -552
  72. package/SVF-doxygen/html/search/all_13.js +190 -190
  73. package/SVF-doxygen/html/search/all_14.js +67 -67
  74. package/SVF-doxygen/html/search/all_15.js +168 -168
  75. package/SVF-doxygen/html/search/all_16.js +63 -63
  76. package/SVF-doxygen/html/search/all_17.js +1 -1
  77. package/SVF-doxygen/html/search/all_18.js +1 -1
  78. package/SVF-doxygen/html/search/all_19.js +11 -11
  79. package/SVF-doxygen/html/search/all_1a.js +174 -173
  80. package/SVF-doxygen/html/search/all_2.js +4 -4
  81. package/SVF-doxygen/html/search/all_3.js +2 -2
  82. package/SVF-doxygen/html/search/all_5.js +2 -2
  83. package/SVF-doxygen/html/search/all_6.js +1 -1
  84. package/SVF-doxygen/html/search/all_7.js +6 -6
  85. package/SVF-doxygen/html/search/all_8.js +2 -2
  86. package/SVF-doxygen/html/search/all_9.js +406 -405
  87. package/SVF-doxygen/html/search/all_a.js +46 -46
  88. package/SVF-doxygen/html/search/all_b.js +26 -26
  89. package/SVF-doxygen/html/search/all_c.js +115 -115
  90. package/SVF-doxygen/html/search/all_d.js +197 -197
  91. package/SVF-doxygen/html/search/all_e.js +207 -207
  92. package/SVF-doxygen/html/search/all_f.js +116 -116
  93. package/SVF-doxygen/html/search/classes_0.js +26 -26
  94. package/SVF-doxygen/html/search/classes_1.js +9 -9
  95. package/SVF-doxygen/html/search/classes_10.js +73 -73
  96. package/SVF-doxygen/html/search/classes_11.js +15 -15
  97. package/SVF-doxygen/html/search/classes_12.js +2 -2
  98. package/SVF-doxygen/html/search/classes_13.js +10 -10
  99. package/SVF-doxygen/html/search/classes_14.js +14 -14
  100. package/SVF-doxygen/html/search/classes_15.js +1 -1
  101. package/SVF-doxygen/html/search/classes_2.js +81 -81
  102. package/SVF-doxygen/html/search/classes_3.js +37 -37
  103. package/SVF-doxygen/html/search/classes_4.js +9 -9
  104. package/SVF-doxygen/html/search/classes_5.js +28 -28
  105. package/SVF-doxygen/html/search/classes_6.js +104 -104
  106. package/SVF-doxygen/html/search/classes_7.js +34 -34
  107. package/SVF-doxygen/html/search/classes_8.js +57 -56
  108. package/SVF-doxygen/html/search/classes_9.js +1 -1
  109. package/SVF-doxygen/html/search/classes_a.js +12 -12
  110. package/SVF-doxygen/html/search/classes_b.js +29 -29
  111. package/SVF-doxygen/html/search/classes_c.js +6 -6
  112. package/SVF-doxygen/html/search/classes_d.js +18 -18
  113. package/SVF-doxygen/html/search/classes_e.js +36 -36
  114. package/SVF-doxygen/html/search/classes_f.js +25 -25
  115. package/SVF-doxygen/html/search/defines_0.js +3 -3
  116. package/SVF-doxygen/html/search/defines_1.js +2 -2
  117. package/SVF-doxygen/html/search/defines_2.js +30 -30
  118. package/SVF-doxygen/html/search/defines_3.js +20 -20
  119. package/SVF-doxygen/html/search/defines_4.js +2 -2
  120. package/SVF-doxygen/html/search/defines_5.js +4 -4
  121. package/SVF-doxygen/html/search/defines_6.js +2 -2
  122. package/SVF-doxygen/html/search/defines_7.js +5 -5
  123. package/SVF-doxygen/html/search/defines_8.js +11 -11
  124. package/SVF-doxygen/html/search/defines_9.js +9 -9
  125. package/SVF-doxygen/html/search/defines_a.js +2 -2
  126. package/SVF-doxygen/html/search/defines_b.js +1 -1
  127. package/SVF-doxygen/html/search/defines_c.js +3 -3
  128. package/SVF-doxygen/html/search/defines_d.js +2 -2
  129. package/SVF-doxygen/html/search/defines_e.js +7 -7
  130. package/SVF-doxygen/html/search/defines_f.js +3 -3
  131. package/SVF-doxygen/html/search/enums_0.js +3 -3
  132. package/SVF-doxygen/html/search/enums_1.js +2 -2
  133. package/SVF-doxygen/html/search/enums_10.js +1 -1
  134. package/SVF-doxygen/html/search/enums_11.js +1 -1
  135. package/SVF-doxygen/html/search/enums_2.js +8 -8
  136. package/SVF-doxygen/html/search/enums_3.js +1 -1
  137. package/SVF-doxygen/html/search/enums_4.js +3 -3
  138. package/SVF-doxygen/html/search/enums_5.js +1 -1
  139. package/SVF-doxygen/html/search/enums_6.js +2 -2
  140. package/SVF-doxygen/html/search/enums_7.js +2 -2
  141. package/SVF-doxygen/html/search/enums_8.js +4 -4
  142. package/SVF-doxygen/html/search/enums_9.js +1 -1
  143. package/SVF-doxygen/html/search/enums_a.js +1 -1
  144. package/SVF-doxygen/html/search/enums_b.js +7 -7
  145. package/SVF-doxygen/html/search/enums_c.js +1 -1
  146. package/SVF-doxygen/html/search/enums_d.js +4 -4
  147. package/SVF-doxygen/html/search/enums_e.js +2 -2
  148. package/SVF-doxygen/html/search/enums_f.js +4 -4
  149. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  150. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  151. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  152. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  153. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  154. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  155. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  156. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  157. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  158. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  159. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  160. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  161. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  162. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  163. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  164. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  165. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  166. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  167. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  168. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  169. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  170. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  171. package/SVF-doxygen/html/search/files_0.js +13 -13
  172. package/SVF-doxygen/html/search/files_1.js +7 -7
  173. package/SVF-doxygen/html/search/files_10.js +8 -8
  174. package/SVF-doxygen/html/search/files_11.js +8 -8
  175. package/SVF-doxygen/html/search/files_12.js +2 -2
  176. package/SVF-doxygen/html/search/files_2.js +57 -57
  177. package/SVF-doxygen/html/search/files_3.js +14 -14
  178. package/SVF-doxygen/html/search/files_4.js +5 -5
  179. package/SVF-doxygen/html/search/files_5.js +13 -13
  180. package/SVF-doxygen/html/search/files_6.js +9 -9
  181. package/SVF-doxygen/html/search/files_7.js +14 -14
  182. package/SVF-doxygen/html/search/files_8.js +13 -13
  183. package/SVF-doxygen/html/search/files_9.js +18 -18
  184. package/SVF-doxygen/html/search/files_a.js +3 -3
  185. package/SVF-doxygen/html/search/files_b.js +2 -2
  186. package/SVF-doxygen/html/search/files_c.js +20 -20
  187. package/SVF-doxygen/html/search/files_d.js +4 -4
  188. package/SVF-doxygen/html/search/files_e.js +62 -62
  189. package/SVF-doxygen/html/search/files_f.js +8 -8
  190. package/SVF-doxygen/html/search/functions_0.js +13 -13
  191. package/SVF-doxygen/html/search/functions_1.js +362 -362
  192. package/SVF-doxygen/html/search/functions_10.js +140 -140
  193. package/SVF-doxygen/html/search/functions_11.js +139 -139
  194. package/SVF-doxygen/html/search/functions_12.js +288 -288
  195. package/SVF-doxygen/html/search/functions_13.js +59 -59
  196. package/SVF-doxygen/html/search/functions_14.js +39 -39
  197. package/SVF-doxygen/html/search/functions_15.js +71 -71
  198. package/SVF-doxygen/html/search/functions_16.js +32 -32
  199. package/SVF-doxygen/html/search/functions_17.js +3 -3
  200. package/SVF-doxygen/html/search/functions_18.js +174 -173
  201. package/SVF-doxygen/html/search/functions_2.js +89 -89
  202. package/SVF-doxygen/html/search/functions_3.js +261 -261
  203. package/SVF-doxygen/html/search/functions_4.js +78 -78
  204. package/SVF-doxygen/html/search/functions_5.js +53 -53
  205. package/SVF-doxygen/html/search/functions_6.js +60 -60
  206. package/SVF-doxygen/html/search/functions_7.js +855 -855
  207. package/SVF-doxygen/html/search/functions_8.js +148 -148
  208. package/SVF-doxygen/html/search/functions_9.js +421 -420
  209. package/SVF-doxygen/html/search/functions_a.js +30 -30
  210. package/SVF-doxygen/html/search/functions_b.js +2 -2
  211. package/SVF-doxygen/html/search/functions_c.js +25 -25
  212. package/SVF-doxygen/html/search/functions_d.js +79 -79
  213. package/SVF-doxygen/html/search/functions_e.js +35 -35
  214. package/SVF-doxygen/html/search/functions_f.js +56 -56
  215. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  216. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  217. package/SVF-doxygen/html/search/related_0.js +2 -2
  218. package/SVF-doxygen/html/search/related_1.js +2 -2
  219. package/SVF-doxygen/html/search/related_2.js +3 -3
  220. package/SVF-doxygen/html/search/related_3.js +2 -2
  221. package/SVF-doxygen/html/search/related_4.js +2 -2
  222. package/SVF-doxygen/html/search/related_5.js +1 -1
  223. package/SVF-doxygen/html/search/related_6.js +2 -2
  224. package/SVF-doxygen/html/search/related_7.js +4 -4
  225. package/SVF-doxygen/html/search/related_8.js +2 -2
  226. package/SVF-doxygen/html/search/related_9.js +4 -4
  227. package/SVF-doxygen/html/search/related_a.js +19 -19
  228. package/SVF-doxygen/html/search/related_b.js +4 -4
  229. package/SVF-doxygen/html/search/related_c.js +2 -2
  230. package/SVF-doxygen/html/search/related_d.js +12 -12
  231. package/SVF-doxygen/html/search/related_e.js +2 -2
  232. package/SVF-doxygen/html/search/related_f.js +2 -2
  233. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  234. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  235. package/SVF-doxygen/html/search/typedefs_10.js +62 -62
  236. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  237. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  238. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  239. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  240. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  241. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  242. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  243. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  244. package/SVF-doxygen/html/search/typedefs_6.js +56 -56
  245. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  246. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  247. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  248. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  249. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  250. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  251. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  252. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  253. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  254. package/SVF-doxygen/html/search/variables_0.js +151 -151
  255. package/SVF-doxygen/html/search/variables_1.js +75 -75
  256. package/SVF-doxygen/html/search/variables_10.js +98 -98
  257. package/SVF-doxygen/html/search/variables_11.js +45 -45
  258. package/SVF-doxygen/html/search/variables_12.js +90 -90
  259. package/SVF-doxygen/html/search/variables_13.js +74 -74
  260. package/SVF-doxygen/html/search/variables_14.js +14 -14
  261. package/SVF-doxygen/html/search/variables_15.js +49 -49
  262. package/SVF-doxygen/html/search/variables_16.js +9 -9
  263. package/SVF-doxygen/html/search/variables_17.js +1 -1
  264. package/SVF-doxygen/html/search/variables_18.js +2 -2
  265. package/SVF-doxygen/html/search/variables_2.js +38 -38
  266. package/SVF-doxygen/html/search/variables_3.js +142 -142
  267. package/SVF-doxygen/html/search/variables_4.js +50 -50
  268. package/SVF-doxygen/html/search/variables_5.js +37 -37
  269. package/SVF-doxygen/html/search/variables_6.js +66 -66
  270. package/SVF-doxygen/html/search/variables_7.js +34 -34
  271. package/SVF-doxygen/html/search/variables_8.js +7 -7
  272. package/SVF-doxygen/html/search/variables_9.js +78 -78
  273. package/SVF-doxygen/html/search/variables_a.js +4 -4
  274. package/SVF-doxygen/html/search/variables_b.js +10 -10
  275. package/SVF-doxygen/html/search/variables_c.js +45 -45
  276. package/SVF-doxygen/html/search/variables_d.js +55 -55
  277. package/SVF-doxygen/html/search/variables_e.js +123 -123
  278. package/SVF-doxygen/html/search/variables_f.js +30 -30
  279. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html +6 -6
  280. package/package.json +1 -1
  281. package/svf/include/AbstractExecution/IntervalExeState.h +274 -102
  282. package/svf/include/AbstractExecution/RelationSolver.h +9 -9
  283. package/svf/lib/AbstractExecution/IntervalExeState.cpp +85 -14
  284. package/svf/lib/AbstractExecution/RelationSolver.cpp +22 -22
@@ -0,0 +1,2331 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.17"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: SVF::IntervalESBase Class Reference</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.17 -->
33
+ <script type="text/javascript">
34
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
35
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
36
+ /* @license-end */
37
+ </script>
38
+ <script type="text/javascript" src="menudata.js"></script>
39
+ <script type="text/javascript" src="menu.js"></script>
40
+ <script type="text/javascript">
41
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
42
+ $(function() {
43
+ initMenu('',true,false,'search.php','Search');
44
+ $(document).ready(function() { init_search(); });
45
+ });
46
+ /* @license-end */</script>
47
+ <div id="main-nav"></div>
48
+ <!-- window showing the filter options -->
49
+ <div id="MSearchSelectWindow"
50
+ onmouseover="return searchBox.OnSearchSelectShow()"
51
+ onmouseout="return searchBox.OnSearchSelectHide()"
52
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
53
+ </div>
54
+
55
+ <!-- iframe showing the search results (closed by default) -->
56
+ <div id="MSearchResultsWindow">
57
+ <iframe src="javascript:void(0)" frameborder="0"
58
+ name="MSearchResults" id="MSearchResults">
59
+ </iframe>
60
+ </div>
61
+
62
+ <div id="nav-path" class="navpath">
63
+ <ul>
64
+ <li class="navelem"><a class="el" href="namespaceSVF.html">SVF</a></li><li class="navelem"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a></li> </ul>
65
+ </div>
66
+ </div><!-- top -->
67
+ <div class="header">
68
+ <div class="summary">
69
+ <a href="#pub-types">Public Types</a> &#124;
70
+ <a href="#pub-methods">Public Member Functions</a> &#124;
71
+ <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
72
+ <a href="#pro-methods">Protected Member Functions</a> &#124;
73
+ <a href="#pro-attribs">Protected Attributes</a> &#124;
74
+ <a href="#friends">Friends</a> &#124;
75
+ <a href="classSVF_1_1IntervalESBase-members.html">List of all members</a> </div>
76
+ <div class="headertitle">
77
+ <div class="title">SVF::IntervalESBase Class Reference</div> </div>
78
+ </div><!--header-->
79
+ <div class="contents">
80
+
81
+ <p><code>#include &lt;<a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>&gt;</code></p>
82
+ <div class="dynheader">
83
+ Inheritance diagram for SVF::IntervalESBase:</div>
84
+ <div class="dyncontent">
85
+ <div class="center">
86
+ <img src="classSVF_1_1IntervalESBase.png" usemap="#SVF::IntervalESBase_map" alt=""/>
87
+ <map id="SVF::IntervalESBase_map" name="SVF::IntervalESBase_map">
88
+ <area href="classSVF_1_1ExeState.html" alt="SVF::ExeState" shape="rect" coords="0,0,134,24"/>
89
+ <area href="classSVF_1_1IntervalExeState.html" alt="SVF::IntervalExeState" shape="rect" coords="0,112,134,136"/>
90
+ </map>
91
+ </div></div>
92
+ <table class="memberdecls">
93
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
94
+ Public Types</h2></td></tr>
95
+ <tr class="memitem:a02e3d5f7074c4f77338edc9a7add95d8"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>, <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a></td></tr>
96
+ <tr class="separator:a02e3d5f7074c4f77338edc9a7add95d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
97
+ <tr class="memitem:a2c8cf00ffaa36fed2e634adbaff7b412"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a></td></tr>
98
+ <tr class="separator:a2c8cf00ffaa36fed2e634adbaff7b412"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
+ <tr class="inherit_header pub_types_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
100
+ <tr class="memitem:a259b93247e06141077b2c1ae15efcbb8 inherit pub_types_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8">ExeState_TYPE</a> { <a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">IntervalK</a>,
101
+ <a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8acb163848414937d2331958216330a20e">SingleValueK</a>
102
+ }</td></tr>
103
+ <tr class="memdesc:a259b93247e06141077b2c1ae15efcbb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execution state type. <a href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8">More...</a><br /></td></tr>
104
+ <tr class="separator:a259b93247e06141077b2c1ae15efcbb8 inherit pub_types_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
+ <tr class="memitem:a78038dd4884a501cfc94f073021eac96 inherit pub_types_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1AddressValue.html">AddressValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a></td></tr>
106
+ <tr class="separator:a78038dd4884a501cfc94f073021eac96 inherit pub_types_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ <tr class="memitem:a09f34aca79479221305769cae307feef inherit pub_types_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>, <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a></td></tr>
108
+ <tr class="separator:a09f34aca79479221305769cae307feef inherit pub_types_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
+ </table><table class="memberdecls">
110
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
111
+ Public Member Functions</h2></td></tr>
112
+ <tr class="memitem:a2da3f0da084f66f5b82c86e6650fd903"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a> ()</td></tr>
113
+ <tr class="memdesc:a2da3f0da084f66f5b82c86e6650fd903"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor <a href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">More...</a><br /></td></tr>
114
+ <tr class="separator:a2da3f0da084f66f5b82c86e6650fd903"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+ <tr class="memitem:a989bf2c55925d29790c4272aa31c3bb6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a989bf2c55925d29790c4272aa31c3bb6">IntervalESBase</a> (<a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;_varToValMap, <a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;_locToValMap)</td></tr>
116
+ <tr class="separator:a989bf2c55925d29790c4272aa31c3bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
117
+ <tr class="memitem:a317d19f98d43b05963b5649fc402eed4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a317d19f98d43b05963b5649fc402eed4">IntervalESBase</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs)</td></tr>
118
+ <tr class="memdesc:a317d19f98d43b05963b5649fc402eed4"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor <a href="classSVF_1_1IntervalESBase.html#a317d19f98d43b05963b5649fc402eed4">More...</a><br /></td></tr>
119
+ <tr class="separator:a317d19f98d43b05963b5649fc402eed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
120
+ <tr class="memitem:a765e98325842f6df15255af9a8036e8c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a765e98325842f6df15255af9a8036e8c">~IntervalESBase</a> ()=default</td></tr>
121
+ <tr class="separator:a765e98325842f6df15255af9a8036e8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
122
+ <tr class="memitem:a926025a01239d163e59582824ceb0580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a926025a01239d163e59582824ceb0580">operator=</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs)</td></tr>
123
+ <tr class="separator:a926025a01239d163e59582824ceb0580"><td class="memSeparator" colspan="2">&#160;</td></tr>
124
+ <tr class="memitem:a2906309f1b7691be20b8d3a3968dfe91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2906309f1b7691be20b8d3a3968dfe91">IntervalESBase</a> (<a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&amp;rhs)</td></tr>
125
+ <tr class="memdesc:a2906309f1b7691be20b8d3a3968dfe91"><td class="mdescLeft">&#160;</td><td class="mdescRight">move constructor <a href="classSVF_1_1IntervalESBase.html#a2906309f1b7691be20b8d3a3968dfe91">More...</a><br /></td></tr>
126
+ <tr class="separator:a2906309f1b7691be20b8d3a3968dfe91"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
+ <tr class="memitem:ab4d2297eb82611a3198ba3befeda5e54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#ab4d2297eb82611a3198ba3befeda5e54">operator=</a> (<a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&amp;rhs)</td></tr>
128
+ <tr class="memdesc:ab4d2297eb82611a3198ba3befeda5e54"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator= move constructor <a href="classSVF_1_1IntervalESBase.html#ab4d2297eb82611a3198ba3befeda5e54">More...</a><br /></td></tr>
129
+ <tr class="separator:ab4d2297eb82611a3198ba3befeda5e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
130
+ <tr class="memitem:a839e8ee927c1cad86aef3059b41ba2eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">bottom</a> () const</td></tr>
131
+ <tr class="memdesc:a839e8ee927c1cad86aef3059b41ba2eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all value bottom. <a href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">More...</a><br /></td></tr>
132
+ <tr class="separator:a839e8ee927c1cad86aef3059b41ba2eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
+ <tr class="memitem:a33fd0e4a654dd4f5b7762b0088e11674"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">top</a> () const</td></tr>
134
+ <tr class="memdesc:a33fd0e4a654dd4f5b7762b0088e11674"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all value top. <a href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">More...</a><br /></td></tr>
135
+ <tr class="separator:a33fd0e4a654dd4f5b7762b0088e11674"><td class="memSeparator" colspan="2">&#160;</td></tr>
136
+ <tr class="memitem:a2c15de9b10a74fbcb171ff2f328ce7f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2c15de9b10a74fbcb171ff2f328ce7f2">sliceState</a> (<a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &gt; &amp;sl)</td></tr>
137
+ <tr class="memdesc:a2c15de9b10a74fbcb171ff2f328ce7f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy some values and return a new <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>. <a href="classSVF_1_1IntervalESBase.html#a2c15de9b10a74fbcb171ff2f328ce7f2">More...</a><br /></td></tr>
138
+ <tr class="separator:a2c15de9b10a74fbcb171ff2f328ce7f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
+ <tr class="memitem:a5b199cda24038f6f60fe4fa6b6d6bb76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a5b199cda24038f6f60fe4fa6b6d6bb76">getAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) override</td></tr>
140
+ <tr class="memdesc:a5b199cda24038f6f60fe4fa6b6d6bb76"><td class="mdescLeft">&#160;</td><td class="mdescRight">get memory addresses of variable <a href="classSVF_1_1IntervalESBase.html#a5b199cda24038f6f60fe4fa6b6d6bb76">More...</a><br /></td></tr>
141
+ <tr class="separator:a5b199cda24038f6f60fe4fa6b6d6bb76"><td class="memSeparator" colspan="2">&#160;</td></tr>
142
+ <tr class="memitem:af00c9267eb35bf16c88e321ca3009151"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#af00c9267eb35bf16c88e321ca3009151">operator[]</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</td></tr>
143
+ <tr class="memdesc:af00c9267eb35bf16c88e321ca3009151"><td class="mdescLeft">&#160;</td><td class="mdescRight">get interval value of variable <a href="classSVF_1_1IntervalESBase.html#af00c9267eb35bf16c88e321ca3009151">More...</a><br /></td></tr>
144
+ <tr class="separator:af00c9267eb35bf16c88e321ca3009151"><td class="memSeparator" colspan="2">&#160;</td></tr>
145
+ <tr class="memitem:a551d07983a89971d4e2422e6be850d4f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a551d07983a89971d4e2422e6be850d4f">inVarToAddrsTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const override</td></tr>
146
+ <tr class="memdesc:a551d07983a89971d4e2422e6be850d4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the variable is in varToAddrs table <a href="classSVF_1_1IntervalESBase.html#a551d07983a89971d4e2422e6be850d4f">More...</a><br /></td></tr>
147
+ <tr class="separator:a551d07983a89971d4e2422e6be850d4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
148
+ <tr class="memitem:aa240089b9af05b9a0406451b94ed41e0"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#aa240089b9af05b9a0406451b94ed41e0">inVarToValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
149
+ <tr class="memdesc:aa240089b9af05b9a0406451b94ed41e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the variable is in varToVal table <a href="classSVF_1_1IntervalESBase.html#aa240089b9af05b9a0406451b94ed41e0">More...</a><br /></td></tr>
150
+ <tr class="separator:aa240089b9af05b9a0406451b94ed41e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
+ <tr class="memitem:a6c517028bddfa9f4617950a02f347ce8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a6c517028bddfa9f4617950a02f347ce8">inLocToAddrsTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const override</td></tr>
152
+ <tr class="memdesc:a6c517028bddfa9f4617950a02f347ce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the memory address stores memory addresses <a href="classSVF_1_1IntervalESBase.html#a6c517028bddfa9f4617950a02f347ce8">More...</a><br /></td></tr>
153
+ <tr class="separator:a6c517028bddfa9f4617950a02f347ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
+ <tr class="memitem:a8926e8fe328e3a3596fee42e06130da7"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a8926e8fe328e3a3596fee42e06130da7">inLocToValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
155
+ <tr class="memdesc:a8926e8fe328e3a3596fee42e06130da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the memory address stores interval value <a href="classSVF_1_1IntervalESBase.html#a8926e8fe328e3a3596fee42e06130da7">More...</a><br /></td></tr>
156
+ <tr class="separator:a8926e8fe328e3a3596fee42e06130da7"><td class="memSeparator" colspan="2">&#160;</td></tr>
157
+ <tr class="memitem:a903797577ba99ef57879774a3849bbfe"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a> () const</td></tr>
158
+ <tr class="memdesc:a903797577ba99ef57879774a3849bbfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">get var2val map <a href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">More...</a><br /></td></tr>
159
+ <tr class="separator:a903797577ba99ef57879774a3849bbfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
160
+ <tr class="memitem:af7451ea87d5117a90b5912a1e6f34e10"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">getLocToVal</a> () const</td></tr>
161
+ <tr class="memdesc:af7451ea87d5117a90b5912a1e6f34e10"><td class="mdescLeft">&#160;</td><td class="mdescRight">get loc2val map <a href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">More...</a><br /></td></tr>
162
+ <tr class="separator:af7451ea87d5117a90b5912a1e6f34e10"><td class="memSeparator" colspan="2">&#160;</td></tr>
163
+ <tr class="memitem:a9a167f67476d2e080cc6e31d127ee715"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a9a167f67476d2e080cc6e31d127ee715">widening</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
164
+ <tr class="memdesc:a9a167f67476d2e080cc6e31d127ee715"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain widen with other, and return the widened domain <a href="classSVF_1_1IntervalESBase.html#a9a167f67476d2e080cc6e31d127ee715">More...</a><br /></td></tr>
165
+ <tr class="separator:a9a167f67476d2e080cc6e31d127ee715"><td class="memSeparator" colspan="2">&#160;</td></tr>
166
+ <tr class="memitem:a3f8da19a79bfdc37c38e659a94371aba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a3f8da19a79bfdc37c38e659a94371aba">narrowing</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
167
+ <tr class="memdesc:a3f8da19a79bfdc37c38e659a94371aba"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain narrow with other, and return the narrowed domain <a href="classSVF_1_1IntervalESBase.html#a3f8da19a79bfdc37c38e659a94371aba">More...</a><br /></td></tr>
168
+ <tr class="separator:a3f8da19a79bfdc37c38e659a94371aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
169
+ <tr class="memitem:a2db6b5360cf8e90dbd4174ad0382ec56"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2db6b5360cf8e90dbd4174ad0382ec56">widenWith</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
170
+ <tr class="memdesc:a2db6b5360cf8e90dbd4174ad0382ec56"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain widen with other, important! other widen this. <a href="classSVF_1_1IntervalESBase.html#a2db6b5360cf8e90dbd4174ad0382ec56">More...</a><br /></td></tr>
171
+ <tr class="separator:a2db6b5360cf8e90dbd4174ad0382ec56"><td class="memSeparator" colspan="2">&#160;</td></tr>
172
+ <tr class="memitem:adc0db607e4c0f117760535df67b91fbd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">joinWith</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
173
+ <tr class="memdesc:adc0db607e4c0f117760535df67b91fbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain join with other, important! other widen this. <a href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">More...</a><br /></td></tr>
174
+ <tr class="separator:adc0db607e4c0f117760535df67b91fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
175
+ <tr class="memitem:a52b590dc437bc01ce116255e699c3c55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a52b590dc437bc01ce116255e699c3c55">narrowWith</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
176
+ <tr class="memdesc:a52b590dc437bc01ce116255e699c3c55"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain narrow with other, important! other widen this. <a href="classSVF_1_1IntervalESBase.html#a52b590dc437bc01ce116255e699c3c55">More...</a><br /></td></tr>
177
+ <tr class="separator:a52b590dc437bc01ce116255e699c3c55"><td class="memSeparator" colspan="2">&#160;</td></tr>
178
+ <tr class="memitem:a92a8531c7f12cc6f9117596aa5e534b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">meetWith</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
179
+ <tr class="memdesc:a92a8531c7f12cc6f9117596aa5e534b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain meet with other, important! other widen this. <a href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">More...</a><br /></td></tr>
180
+ <tr class="separator:a92a8531c7f12cc6f9117596aa5e534b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
181
+ <tr class="memitem:a2ff42e1ba569614cc86f8a3af65b7c41"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41">Interval2NumValue</a> (const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;e) const</td></tr>
182
+ <tr class="memdesc:a2ff42e1ba569614cc86f8a3af65b7c41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return int value from an expression if it is a numeral, otherwise return an approximate value. <a href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41">More...</a><br /></td></tr>
183
+ <tr class="separator:a2ff42e1ba569614cc86f8a3af65b7c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
184
+ <tr class="memitem:a080484bdcd9287e95d0ced0fa474fd05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a080484bdcd9287e95d0ced0fa474fd05">createIntervalValue</a> (double lb, double ub, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
185
+ <tr class="memdesc:a080484bdcd9287e95d0ced0fa474fd05"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: Create new interval value. <a href="classSVF_1_1IntervalESBase.html#a080484bdcd9287e95d0ced0fa474fd05">More...</a><br /></td></tr>
186
+ <tr class="separator:a080484bdcd9287e95d0ced0fa474fd05"><td class="memSeparator" colspan="2">&#160;</td></tr>
187
+ <tr class="memitem:a2387b671954d5c1fdd4b08b71ffa0e6c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2387b671954d5c1fdd4b08b71ffa0e6c">has_bottom</a> ()</td></tr>
188
+ <tr class="memdesc:a2387b671954d5c1fdd4b08b71ffa0e6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if map has bottom value. <a href="classSVF_1_1IntervalESBase.html#a2387b671954d5c1fdd4b08b71ffa0e6c">More...</a><br /></td></tr>
189
+ <tr class="separator:a2387b671954d5c1fdd4b08b71ffa0e6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
190
+ <tr class="memitem:a2ecbba4a55776562262b6ddc9f0d9101"><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_1IntervalESBase.html#a2ecbba4a55776562262b6ddc9f0d9101">hash</a> () const override</td></tr>
191
+ <tr class="separator:a2ecbba4a55776562262b6ddc9f0d9101"><td class="memSeparator" colspan="2">&#160;</td></tr>
192
+ <tr class="memitem:adb26b186ee31bce7449a7b36faa24cc2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">store</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr, const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;val)</td></tr>
193
+ <tr class="separator:adb26b186ee31bce7449a7b36faa24cc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
194
+ <tr class="memitem:a93c2088eacb3859d5e54899d3fa6b45f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a93c2088eacb3859d5e54899d3fa6b45f">load</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)</td></tr>
195
+ <tr class="separator:a93c2088eacb3859d5e54899d3fa6b45f"><td class="memSeparator" colspan="2">&#160;</td></tr>
196
+ <tr class="memitem:a1a012a83e3c2808e24ba8d5da4fbd85b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a1a012a83e3c2808e24ba8d5da4fbd85b">loadAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr) override</td></tr>
197
+ <tr class="separator:a1a012a83e3c2808e24ba8d5da4fbd85b"><td class="memSeparator" colspan="2">&#160;</td></tr>
198
+ <tr class="memitem:a46a305a70ec53c6bda50caafec38791a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a46a305a70ec53c6bda50caafec38791a">getLocToVal</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id)</td></tr>
199
+ <tr class="separator:a46a305a70ec53c6bda50caafec38791a"><td class="memSeparator" colspan="2">&#160;</td></tr>
200
+ <tr class="memitem:a04145be14d0b0f60eb0f357e0ec7a92c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a04145be14d0b0f60eb0f357e0ec7a92c">getLocAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id)</td></tr>
201
+ <tr class="separator:a04145be14d0b0f60eb0f357e0ec7a92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
202
+ <tr class="memitem:a4c0ede557a333bfea3f5d4a9a4dc8a9e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a4c0ede557a333bfea3f5d4a9a4dc8a9e">printExprValues</a> (std::ostream &amp;oss) const override</td></tr>
203
+ <tr class="memdesc:a4c0ede557a333bfea3f5d4a9a4dc8a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print values of all expressions. <a href="classSVF_1_1IntervalESBase.html#a4c0ede557a333bfea3f5d4a9a4dc8a9e">More...</a><br /></td></tr>
204
+ <tr class="separator:a4c0ede557a333bfea3f5d4a9a4dc8a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
205
+ <tr class="memitem:ab5d7ac23f8334fa32ae0a78c8f1d9fa9"><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_1IntervalESBase.html#ab5d7ac23f8334fa32ae0a78c8f1d9fa9">toString</a> () const override</td></tr>
206
+ <tr class="separator:ab5d7ac23f8334fa32ae0a78c8f1d9fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
207
+ <tr class="memitem:a9133df5ab00e7c2918a8047fd0bdfb08"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a9133df5ab00e7c2918a8047fd0bdfb08">equals</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other) const</td></tr>
208
+ <tr class="separator:a9133df5ab00e7c2918a8047fd0bdfb08"><td class="memSeparator" colspan="2">&#160;</td></tr>
209
+ <tr class="memitem:a6f6ba2a615f1227cf8397345d1d0f25d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a6f6ba2a615f1227cf8397345d1d0f25d">operator==</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs) const</td></tr>
210
+ <tr class="separator:a6f6ba2a615f1227cf8397345d1d0f25d"><td class="memSeparator" colspan="2">&#160;</td></tr>
211
+ <tr class="memitem:ab3d0a23befaf69fac553e6e3ae3a42e0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#ab3d0a23befaf69fac553e6e3ae3a42e0">operator!=</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs) const</td></tr>
212
+ <tr class="separator:ab3d0a23befaf69fac553e6e3ae3a42e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
213
+ <tr class="memitem:aaafb882ca79738d39697d1461bd2032f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#aaafb882ca79738d39697d1461bd2032f">operator&lt;</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs) const</td></tr>
214
+ <tr class="separator:aaafb882ca79738d39697d1461bd2032f"><td class="memSeparator" colspan="2">&#160;</td></tr>
215
+ <tr class="memitem:a8722234ba6bea5223e79174ff1d095c7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a8722234ba6bea5223e79174ff1d095c7">operator&gt;=</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs) const</td></tr>
216
+ <tr class="separator:a8722234ba6bea5223e79174ff1d095c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
217
+ <tr class="memitem:a4849103f97f0c03e434882c32e8d695b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a4849103f97f0c03e434882c32e8d695b">clear</a> ()</td></tr>
218
+ <tr class="separator:a4849103f97f0c03e434882c32e8d695b"><td class="memSeparator" colspan="2">&#160;</td></tr>
219
+ <tr class="memitem:a0e4c8a41aa861ff2862d8b620c902f21"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a0e4c8a41aa861ff2862d8b620c902f21">operator==</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs) const</td></tr>
220
+ <tr class="separator:a0e4c8a41aa861ff2862d8b620c902f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
221
+ <tr class="memitem:ab828094e1026046814c1e3d44d3f084c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#ab828094e1026046814c1e3d44d3f084c">operator!=</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs) const</td></tr>
222
+ <tr class="separator:ab828094e1026046814c1e3d44d3f084c"><td class="memSeparator" colspan="2">&#160;</td></tr>
223
+ <tr class="inherit_header pub_methods_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
224
+ <tr class="memitem:af1b6335e3ca95d491b0d8dfb95cf3c9b inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a> (<a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8">ExeState_TYPE</a> kind)</td></tr>
225
+ <tr class="separator:af1b6335e3ca95d491b0d8dfb95cf3c9b inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
226
+ <tr class="memitem:a56dc11162e701d8d48ea354f9d380167 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a56dc11162e701d8d48ea354f9d380167">~ExeState</a> ()=default</td></tr>
227
+ <tr class="separator:a56dc11162e701d8d48ea354f9d380167 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
228
+ <tr class="memitem:a62bef487b31f2a4ca27b4e9b183bdef5 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a62bef487b31f2a4ca27b4e9b183bdef5">ExeState</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs)</td></tr>
229
+ <tr class="separator:a62bef487b31f2a4ca27b4e9b183bdef5 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
230
+ <tr class="memitem:a2e79702693c4fce03ab9fc03d1ceb2b8 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a2e79702693c4fce03ab9fc03d1ceb2b8">ExeState</a> (<a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;&amp;rhs) noexcept</td></tr>
231
+ <tr class="separator:a2e79702693c4fce03ab9fc03d1ceb2b8 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
232
+ <tr class="memitem:aebeb2054a8118fd33df9fef31bacda03 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#aebeb2054a8118fd33df9fef31bacda03">operator=</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs)</td></tr>
233
+ <tr class="separator:aebeb2054a8118fd33df9fef31bacda03 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
234
+ <tr class="memitem:ad706a7c5d1e4b198a74a0b5a8a89be8f inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#ad706a7c5d1e4b198a74a0b5a8a89be8f">operator=</a> (<a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;&amp;rhs) noexcept</td></tr>
235
+ <tr class="separator:ad706a7c5d1e4b198a74a0b5a8a89be8f inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
236
+ <tr class="memitem:a0710c9cc1a3c40c95cd362d49bea459b inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a0710c9cc1a3c40c95cd362d49bea459b">getVarToAddrs</a> () const</td></tr>
237
+ <tr class="separator:a0710c9cc1a3c40c95cd362d49bea459b inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
238
+ <tr class="memitem:aa7b897b107d722909f9de9dcbabad7cf inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#aa7b897b107d722909f9de9dcbabad7cf">getLocToAddrs</a> () const</td></tr>
239
+ <tr class="separator:aa7b897b107d722909f9de9dcbabad7cf inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
240
+ <tr class="memitem:a60464bebe5f257bbe1356eee149524c0 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a60464bebe5f257bbe1356eee149524c0">joinWith</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;other)</td></tr>
241
+ <tr class="memdesc:a60464bebe5f257bbe1356eee149524c0 inherit pub_methods_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make all value join with the other. <a href="classSVF_1_1ExeState.html#a60464bebe5f257bbe1356eee149524c0">More...</a><br /></td></tr>
242
+ <tr class="separator:a60464bebe5f257bbe1356eee149524c0 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
243
+ <tr class="memitem:a80bcce9b4303d651b27332c2fc0d3bdc inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a80bcce9b4303d651b27332c2fc0d3bdc">meetWith</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;other)</td></tr>
244
+ <tr class="memdesc:a80bcce9b4303d651b27332c2fc0d3bdc inherit pub_methods_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make all value meet with the other. <a href="classSVF_1_1ExeState.html#a80bcce9b4303d651b27332c2fc0d3bdc">More...</a><br /></td></tr>
245
+ <tr class="separator:a80bcce9b4303d651b27332c2fc0d3bdc inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
246
+ <tr class="memitem:ab7f7de02202838bb9e3da5410983cfb1 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8">ExeState_TYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#ab7f7de02202838bb9e3da5410983cfb1">getExeStateKind</a> () const</td></tr>
247
+ <tr class="separator:ab7f7de02202838bb9e3da5410983cfb1 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
248
+ <tr class="memitem:a99f4437a7e350fec131d48f52082d672 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a99f4437a7e350fec131d48f52082d672">storeAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr, const <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &amp;vaddrs)</td></tr>
249
+ <tr class="separator:a99f4437a7e350fec131d48f52082d672 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
250
+ <tr class="memitem:a8edd5f30ab971ce893ffdb39d8b6a265 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a8edd5f30ab971ce893ffdb39d8b6a265">isNullPtr</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)</td></tr>
251
+ <tr class="separator:a8edd5f30ab971ce893ffdb39d8b6a265 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
252
+ <tr class="memitem:a0e4c8a41aa861ff2862d8b620c902f21 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a0e4c8a41aa861ff2862d8b620c902f21">operator==</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs) const</td></tr>
253
+ <tr class="separator:a0e4c8a41aa861ff2862d8b620c902f21 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
254
+ <tr class="memitem:ab828094e1026046814c1e3d44d3f084c inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#ab828094e1026046814c1e3d44d3f084c">operator!=</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs) const</td></tr>
255
+ <tr class="separator:ab828094e1026046814c1e3d44d3f084c inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
256
+ <tr class="memitem:a45be8c439528b7560024fa51f36a8ffb inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a45be8c439528b7560024fa51f36a8ffb">equals</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> *other) const</td></tr>
257
+ <tr class="separator:a45be8c439528b7560024fa51f36a8ffb inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
258
+ <tr class="memitem:aa01e978f41f4134257b380994e3b8409 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#aa01e978f41f4134257b380994e3b8409">varToAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId) const</td></tr>
259
+ <tr class="separator:aa01e978f41f4134257b380994e3b8409 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
260
+ <tr class="memitem:ad2f921623e41209c6702534c98431403 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#ad2f921623e41209c6702534c98431403">locToAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId) const</td></tr>
261
+ <tr class="separator:ad2f921623e41209c6702534c98431403 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
262
+ </table><table class="memberdecls">
263
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
264
+ Static Public Member Functions</h2></td></tr>
265
+ <tr class="memitem:a5fbb3e0a06cb36f020a6de20ebd04ad1"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1">eqVarToValMap</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;rhs)</td></tr>
266
+ <tr class="separator:a5fbb3e0a06cb36f020a6de20ebd04ad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
267
+ <tr class="memitem:af1837e907961eb3594b817b62b9ea9a3"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#af1837e907961eb3594b817b62b9ea9a3">lessThanVarToValMap</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;rhs)</td></tr>
268
+ <tr class="separator:af1837e907961eb3594b817b62b9ea9a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
269
+ <tr class="memitem:a7f8254581235c03a3fad17e51d00db0c"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c">geqVarToValMap</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;rhs)</td></tr>
270
+ <tr class="separator:a7f8254581235c03a3fad17e51d00db0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
271
+ <tr class="inherit_header pub_static_methods_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
272
+ <tr class="memitem:a35a28ef0a8acd14f44e6755eff424d9d inherit pub_static_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">static z3::context &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a35a28ef0a8acd14f44e6755eff424d9d">getContext</a> ()</td></tr>
273
+ <tr class="separator:a35a28ef0a8acd14f44e6755eff424d9d inherit pub_static_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
274
+ <tr class="memitem:a2f01e583abcdeb236a11e85c7a8aafdc inherit pub_static_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">getVirtualMemAddress</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx)</td></tr>
275
+ <tr class="memdesc:a2f01e583abcdeb236a11e85c7a8aafdc inherit pub_static_methods_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">The physical address starts with 0x7f...... + idx. <a href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">More...</a><br /></td></tr>
276
+ <tr class="separator:a2f01e583abcdeb236a11e85c7a8aafdc inherit pub_static_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
277
+ <tr class="memitem:abfaad70395d9f4416f297887c84f7df4 inherit pub_static_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> val)</td></tr>
278
+ <tr class="memdesc:abfaad70395d9f4416f297887c84f7df4 inherit pub_static_methods_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check bit value of val start with 0x7F000000, filter by 0xFF000000. <a href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">More...</a><br /></td></tr>
279
+ <tr class="separator:abfaad70395d9f4416f297887c84f7df4 inherit pub_static_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
280
+ <tr class="memitem:ab72f3bc855feeda75e11768ab03ad84e inherit pub_static_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx)</td></tr>
281
+ <tr class="memdesc:ab72f3bc855feeda75e11768ab03ad84e inherit pub_static_methods_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the internal index if idx is an address otherwise return the value of idx. <a href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">More...</a><br /></td></tr>
282
+ <tr class="separator:ab72f3bc855feeda75e11768ab03ad84e inherit pub_static_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
283
+ </table><table class="memberdecls">
284
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
285
+ Protected Member Functions</h2></td></tr>
286
+ <tr class="memitem:a14e210bd24b2104afb36ad50a0899c09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">printTable</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;table, std::ostream &amp;oss) const</td></tr>
287
+ <tr class="separator:a14e210bd24b2104afb36ad50a0899c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
288
+ <tr class="memitem:a2b5821a3dd16e98687768b51cf05b789"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2b5821a3dd16e98687768b51cf05b789">printTable</a> (const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;table, std::ostream &amp;oss) const</td></tr>
289
+ <tr class="separator:a2b5821a3dd16e98687768b51cf05b789"><td class="memSeparator" colspan="2">&#160;</td></tr>
290
+ </table><table class="memberdecls">
291
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
292
+ Protected Attributes</h2></td></tr>
293
+ <tr class="memitem:ad2288306aed7301ccd30e55410c7b428"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a></td></tr>
294
+ <tr class="memdesc:ad2288306aed7301ccd30e55410c7b428"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a variable (symbol) to its interval value. <a href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">More...</a><br /></td></tr>
295
+ <tr class="separator:ad2288306aed7301ccd30e55410c7b428"><td class="memSeparator" colspan="2">&#160;</td></tr>
296
+ <tr class="memitem:acba74693030fca248521412c552e3dcc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a></td></tr>
297
+ <tr class="memdesc:acba74693030fca248521412c552e3dcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a memory address to its stored interval value. <a href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">More...</a><br /></td></tr>
298
+ <tr class="separator:acba74693030fca248521412c552e3dcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
299
+ <tr class="inherit_header pro_attribs_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
300
+ <tr class="memitem:ad317f2ae2e599a131a6fd9f415f5d712 inherit pro_attribs_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a> {{0, <a class="el" href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">getVirtualMemAddress</a>(0)}}</td></tr>
301
+ <tr class="memdesc:ad317f2ae2e599a131a6fd9f415f5d712 inherit pro_attribs_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a variable (symbol) to its memory addresses. <a href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">More...</a><br /></td></tr>
302
+ <tr class="separator:ad317f2ae2e599a131a6fd9f415f5d712 inherit pro_attribs_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
303
+ <tr class="memitem:a79866a547dc4805d3fefdfd528d2df2a inherit pro_attribs_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a></td></tr>
304
+ <tr class="memdesc:a79866a547dc4805d3fefdfd528d2df2a inherit pro_attribs_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a memory address to its stored memory addresses. <a href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">More...</a><br /></td></tr>
305
+ <tr class="separator:a79866a547dc4805d3fefdfd528d2df2a inherit pro_attribs_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
306
+ </table><table class="memberdecls">
307
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
308
+ Friends</h2></td></tr>
309
+ <tr class="memitem:af1ac478aba3f3858d5f6f4b15a9f73a6"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#af1ac478aba3f3858d5f6f4b15a9f73a6">SVFIR2ItvExeState</a></td></tr>
310
+ <tr class="separator:af1ac478aba3f3858d5f6f4b15a9f73a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
311
+ <tr class="memitem:a44841fb4ad23542383ea77bf1ffda65f"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a44841fb4ad23542383ea77bf1ffda65f">RelationSolver</a></td></tr>
312
+ <tr class="separator:a44841fb4ad23542383ea77bf1ffda65f"><td class="memSeparator" colspan="2">&#160;</td></tr>
313
+ </table><table class="memberdecls">
314
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
315
+ Additional Inherited Members</h2></td></tr>
316
+ <tr class="inherit_header pro_static_methods_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
317
+ <tr class="memitem:a0a24ad3ced48b6755b7fc917d0f0fbb9 inherit pro_static_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a0a24ad3ced48b6755b7fc917d0f0fbb9">eqVarToAddrs</a> (const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;lhs, const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;rhs)</td></tr>
318
+ <tr class="separator:a0a24ad3ced48b6755b7fc917d0f0fbb9 inherit pro_static_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
319
+ </table>
320
+ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
321
+ <div class="textblock">
322
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00054">54</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
323
+ </div><h2 class="groupheader">Member Typedef Documentation</h2>
324
+ <a id="a2c8cf00ffaa36fed2e634adbaff7b412"></a>
325
+ <h2 class="memtitle"><span class="permalink"><a href="#a2c8cf00ffaa36fed2e634adbaff7b412">&#9670;&nbsp;</a></span>LocToValMap</h2>
326
+
327
+ <div class="memitem">
328
+ <div class="memproto">
329
+ <table class="memname">
330
+ <tr>
331
+ <td class="memname">typedef <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> <a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">SVF::IntervalESBase::LocToValMap</a></td>
332
+ </tr>
333
+ </table>
334
+ </div><div class="memdoc">
335
+
336
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00061">61</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
337
+
338
+ </div>
339
+ </div>
340
+ <a id="a02e3d5f7074c4f77338edc9a7add95d8"></a>
341
+ <h2 class="memtitle"><span class="permalink"><a href="#a02e3d5f7074c4f77338edc9a7add95d8">&#9670;&nbsp;</a></span>VarToValMap</h2>
342
+
343
+ <div class="memitem">
344
+ <div class="memproto">
345
+ <table class="memname">
346
+ <tr>
347
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>, <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&gt; <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">SVF::IntervalESBase::VarToValMap</a></td>
348
+ </tr>
349
+ </table>
350
+ </div><div class="memdoc">
351
+
352
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00059">59</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
353
+
354
+ </div>
355
+ </div>
356
+ <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
357
+ <a id="a2da3f0da084f66f5b82c86e6650fd903"></a>
358
+ <h2 class="memtitle"><span class="permalink"><a href="#a2da3f0da084f66f5b82c86e6650fd903">&#9670;&nbsp;</a></span>IntervalESBase() <span class="overload">[1/4]</span></h2>
359
+
360
+ <div class="memitem">
361
+ <div class="memproto">
362
+ <table class="mlabels">
363
+ <tr>
364
+ <td class="mlabels-left">
365
+ <table class="memname">
366
+ <tr>
367
+ <td class="memname">SVF::IntervalESBase::IntervalESBase </td>
368
+ <td>(</td>
369
+ <td class="paramname"></td><td>)</td>
370
+ <td></td>
371
+ </tr>
372
+ </table>
373
+ </td>
374
+ <td class="mlabels-right">
375
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
376
+ </tr>
377
+ </table>
378
+ </div><div class="memdoc">
379
+
380
+ <p>default constructor </p>
381
+
382
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00065">65</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
383
+ <div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;: <a class="code" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">ExeState::IntervalK</a>) {}</div>
384
+ </div><!-- fragment -->
385
+ </div>
386
+ </div>
387
+ <a id="a989bf2c55925d29790c4272aa31c3bb6"></a>
388
+ <h2 class="memtitle"><span class="permalink"><a href="#a989bf2c55925d29790c4272aa31c3bb6">&#9670;&nbsp;</a></span>IntervalESBase() <span class="overload">[2/4]</span></h2>
389
+
390
+ <div class="memitem">
391
+ <div class="memproto">
392
+ <table class="mlabels">
393
+ <tr>
394
+ <td class="mlabels-left">
395
+ <table class="memname">
396
+ <tr>
397
+ <td class="memname">SVF::IntervalESBase::IntervalESBase </td>
398
+ <td>(</td>
399
+ <td class="paramtype"><a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td>
400
+ <td class="paramname"><em>_varToValMap</em>, </td>
401
+ </tr>
402
+ <tr>
403
+ <td class="paramkey"></td>
404
+ <td></td>
405
+ <td class="paramtype"><a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;&#160;</td>
406
+ <td class="paramname"><em>_locToValMap</em>&#160;</td>
407
+ </tr>
408
+ <tr>
409
+ <td></td>
410
+ <td>)</td>
411
+ <td></td><td></td>
412
+ </tr>
413
+ </table>
414
+ </td>
415
+ <td class="mlabels-right">
416
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
417
+ </tr>
418
+ </table>
419
+ </div><div class="memdoc">
420
+
421
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00067">67</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
422
+ <div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; : <a class="code" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">ExeState::IntervalK</a>),</div>
423
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>(_varToValMap),</div>
424
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>(_locToValMap) {}</div>
425
+ </div><!-- fragment -->
426
+ </div>
427
+ </div>
428
+ <a id="a317d19f98d43b05963b5649fc402eed4"></a>
429
+ <h2 class="memtitle"><span class="permalink"><a href="#a317d19f98d43b05963b5649fc402eed4">&#9670;&nbsp;</a></span>IntervalESBase() <span class="overload">[3/4]</span></h2>
430
+
431
+ <div class="memitem">
432
+ <div class="memproto">
433
+ <table class="mlabels">
434
+ <tr>
435
+ <td class="mlabels-left">
436
+ <table class="memname">
437
+ <tr>
438
+ <td class="memname">SVF::IntervalESBase::IntervalESBase </td>
439
+ <td>(</td>
440
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
441
+ <td class="paramname"><em>rhs</em></td><td>)</td>
442
+ <td></td>
443
+ </tr>
444
+ </table>
445
+ </td>
446
+ <td class="mlabels-right">
447
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
448
+ </tr>
449
+ </table>
450
+ </div><div class="memdoc">
451
+
452
+ <p>copy constructor </p>
453
+
454
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00072">72</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
455
+ <div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; : <a class="code" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a>(rhs), <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>(rhs.getVarToVal()),</div>
456
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>(rhs.getLocToVal())</div>
457
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div>
458
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
459
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
460
+ </div><!-- fragment -->
461
+ </div>
462
+ </div>
463
+ <a id="a765e98325842f6df15255af9a8036e8c"></a>
464
+ <h2 class="memtitle"><span class="permalink"><a href="#a765e98325842f6df15255af9a8036e8c">&#9670;&nbsp;</a></span>~IntervalESBase()</h2>
465
+
466
+ <div class="memitem">
467
+ <div class="memproto">
468
+ <table class="mlabels">
469
+ <tr>
470
+ <td class="mlabels-left">
471
+ <table class="memname">
472
+ <tr>
473
+ <td class="memname">virtual SVF::IntervalESBase::~IntervalESBase </td>
474
+ <td>(</td>
475
+ <td class="paramname"></td><td>)</td>
476
+ <td></td>
477
+ </tr>
478
+ </table>
479
+ </td>
480
+ <td class="mlabels-right">
481
+ <span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span> </td>
482
+ </tr>
483
+ </table>
484
+ </div><div class="memdoc">
485
+
486
+ </div>
487
+ </div>
488
+ <a id="a2906309f1b7691be20b8d3a3968dfe91"></a>
489
+ <h2 class="memtitle"><span class="permalink"><a href="#a2906309f1b7691be20b8d3a3968dfe91">&#9670;&nbsp;</a></span>IntervalESBase() <span class="overload">[4/4]</span></h2>
490
+
491
+ <div class="memitem">
492
+ <div class="memproto">
493
+ <table class="mlabels">
494
+ <tr>
495
+ <td class="mlabels-left">
496
+ <table class="memname">
497
+ <tr>
498
+ <td class="memname">SVF::IntervalESBase::IntervalESBase </td>
499
+ <td>(</td>
500
+ <td class="paramtype"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&amp;&#160;</td>
501
+ <td class="paramname"><em>rhs</em></td><td>)</td>
502
+ <td></td>
503
+ </tr>
504
+ </table>
505
+ </td>
506
+ <td class="mlabels-right">
507
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
508
+ </tr>
509
+ </table>
510
+ </div><div class="memdoc">
511
+
512
+ <p>move constructor </p>
513
+
514
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00093">93</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
515
+ <div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; : <a class="code" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs)),</div>
516
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._varToItvVal)),</div>
517
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._locToItvVal))</div>
518
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
519
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
520
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
521
+ </div><!-- fragment -->
522
+ </div>
523
+ </div>
524
+ <h2 class="groupheader">Member Function Documentation</h2>
525
+ <a id="a839e8ee927c1cad86aef3059b41ba2eb"></a>
526
+ <h2 class="memtitle"><span class="permalink"><a href="#a839e8ee927c1cad86aef3059b41ba2eb">&#9670;&nbsp;</a></span>bottom()</h2>
527
+
528
+ <div class="memitem">
529
+ <div class="memproto">
530
+ <table class="mlabels">
531
+ <tr>
532
+ <td class="mlabels-left">
533
+ <table class="memname">
534
+ <tr>
535
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> SVF::IntervalESBase::bottom </td>
536
+ <td>(</td>
537
+ <td class="paramname"></td><td>)</td>
538
+ <td> const</td>
539
+ </tr>
540
+ </table>
541
+ </td>
542
+ <td class="mlabels-right">
543
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
544
+ </tr>
545
+ </table>
546
+ </div><div class="memdoc">
547
+
548
+ <p>Set all value bottom. </p>
549
+
550
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00113">113</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
551
+ <div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; {</div>
552
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a> inv = *<span class="keyword">this</span>;</div>
553
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv._varToItvVal)</div>
554
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
555
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.set_to_bottom();</div>
556
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
557
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> inv;</div>
558
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
559
+ </div><!-- fragment -->
560
+ </div>
561
+ </div>
562
+ <a id="a4849103f97f0c03e434882c32e8d695b"></a>
563
+ <h2 class="memtitle"><span class="permalink"><a href="#a4849103f97f0c03e434882c32e8d695b">&#9670;&nbsp;</a></span>clear()</h2>
564
+
565
+ <div class="memitem">
566
+ <div class="memproto">
567
+ <table class="mlabels">
568
+ <tr>
569
+ <td class="mlabels-left">
570
+ <table class="memname">
571
+ <tr>
572
+ <td class="memname">void SVF::IntervalESBase::clear </td>
573
+ <td>(</td>
574
+ <td class="paramname"></td><td>)</td>
575
+ <td></td>
576
+ </tr>
577
+ </table>
578
+ </td>
579
+ <td class="mlabels-right">
580
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
581
+ </tr>
582
+ </table>
583
+ </div><div class="memdoc">
584
+
585
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00392">392</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
586
+ <div class="fragment"><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div>
587
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.clear();</div>
588
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.clear();</div>
589
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.clear();</div>
590
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.clear();</div>
591
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div>
592
+ </div><!-- fragment -->
593
+ </div>
594
+ </div>
595
+ <a id="a080484bdcd9287e95d0ced0fa474fd05"></a>
596
+ <h2 class="memtitle"><span class="permalink"><a href="#a080484bdcd9287e95d0ced0fa474fd05">&#9670;&nbsp;</a></span>createIntervalValue()</h2>
597
+
598
+ <div class="memitem">
599
+ <div class="memproto">
600
+ <table class="mlabels">
601
+ <tr>
602
+ <td class="mlabels-left">
603
+ <table class="memname">
604
+ <tr>
605
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVF::IntervalESBase::createIntervalValue </td>
606
+ <td>(</td>
607
+ <td class="paramtype">double&#160;</td>
608
+ <td class="paramname"><em>lb</em>, </td>
609
+ </tr>
610
+ <tr>
611
+ <td class="paramkey"></td>
612
+ <td></td>
613
+ <td class="paramtype">double&#160;</td>
614
+ <td class="paramname"><em>ub</em>, </td>
615
+ </tr>
616
+ <tr>
617
+ <td class="paramkey"></td>
618
+ <td></td>
619
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td>
620
+ <td class="paramname"><em>id</em>&#160;</td>
621
+ </tr>
622
+ <tr>
623
+ <td></td>
624
+ <td>)</td>
625
+ <td></td><td></td>
626
+ </tr>
627
+ </table>
628
+ </td>
629
+ <td class="mlabels-right">
630
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
631
+ </tr>
632
+ </table>
633
+ </div><div class="memdoc">
634
+
635
+ <p>TODO: Create new interval value. </p>
636
+
637
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00229">229</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
638
+ <div class="fragment"><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div>
639
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[id] = IntervalValue(lb, ub);</div>
640
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[id];</div>
641
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
642
+ </div><!-- fragment -->
643
+ </div>
644
+ </div>
645
+ <a id="a9133df5ab00e7c2918a8047fd0bdfb08"></a>
646
+ <h2 class="memtitle"><span class="permalink"><a href="#a9133df5ab00e7c2918a8047fd0bdfb08">&#9670;&nbsp;</a></span>equals()</h2>
647
+
648
+ <div class="memitem">
649
+ <div class="memproto">
650
+ <table class="memname">
651
+ <tr>
652
+ <td class="memname">bool IntervalESBase::equals </td>
653
+ <td>(</td>
654
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
655
+ <td class="paramname"><em>other</em></td><td>)</td>
656
+ <td> const</td>
657
+ </tr>
658
+ </table>
659
+ </div><div class="memdoc">
660
+
661
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00036">36</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
662
+ <div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div>
663
+ <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span> == other;</div>
664
+ <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;}</div>
665
+ </div><!-- fragment -->
666
+ </div>
667
+ </div>
668
+ <a id="a5fbb3e0a06cb36f020a6de20ebd04ad1"></a>
669
+ <h2 class="memtitle"><span class="permalink"><a href="#a5fbb3e0a06cb36f020a6de20ebd04ad1">&#9670;&nbsp;</a></span>eqVarToValMap()</h2>
670
+
671
+ <div class="memitem">
672
+ <div class="memproto">
673
+ <table class="mlabels">
674
+ <tr>
675
+ <td class="mlabels-left">
676
+ <table class="memname">
677
+ <tr>
678
+ <td class="memname">static bool SVF::IntervalESBase::eqVarToValMap </td>
679
+ <td>(</td>
680
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td>
681
+ <td class="paramname"><em>lhs</em>, </td>
682
+ </tr>
683
+ <tr>
684
+ <td class="paramkey"></td>
685
+ <td></td>
686
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td>
687
+ <td class="paramname"><em>rhs</em>&#160;</td>
688
+ </tr>
689
+ <tr>
690
+ <td></td>
691
+ <td>)</td>
692
+ <td></td><td></td>
693
+ </tr>
694
+ </table>
695
+ </td>
696
+ <td class="mlabels-right">
697
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
698
+ </tr>
699
+ </table>
700
+ </div><div class="memdoc">
701
+
702
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00324">324</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
703
+ <div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; {</div>
704
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">if</span> (lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
705
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
706
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; {</div>
707
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
708
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div>
709
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
710
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.equals(it-&gt;second))</div>
711
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div>
712
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
713
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
714
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div>
715
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
716
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div>
717
+ </div><!-- fragment -->
718
+ </div>
719
+ </div>
720
+ <a id="a7f8254581235c03a3fad17e51d00db0c"></a>
721
+ <h2 class="memtitle"><span class="permalink"><a href="#a7f8254581235c03a3fad17e51d00db0c">&#9670;&nbsp;</a></span>geqVarToValMap()</h2>
722
+
723
+ <div class="memitem">
724
+ <div class="memproto">
725
+ <table class="mlabels">
726
+ <tr>
727
+ <td class="mlabels-left">
728
+ <table class="memname">
729
+ <tr>
730
+ <td class="memname">static bool SVF::IntervalESBase::geqVarToValMap </td>
731
+ <td>(</td>
732
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td>
733
+ <td class="paramname"><em>lhs</em>, </td>
734
+ </tr>
735
+ <tr>
736
+ <td class="paramkey"></td>
737
+ <td></td>
738
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td>
739
+ <td class="paramname"><em>rhs</em>&#160;</td>
740
+ </tr>
741
+ <tr>
742
+ <td></td>
743
+ <td>)</td>
744
+ <td></td><td></td>
745
+ </tr>
746
+ </table>
747
+ </td>
748
+ <td class="mlabels-right">
749
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
750
+ </tr>
751
+ </table>
752
+ </div><div class="memdoc">
753
+
754
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00355">355</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
755
+ <div class="fragment"><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
756
+ <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (rhs.empty()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
757
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: rhs)</div>
758
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
759
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keyword">auto</span> it = lhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
760
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span> (it == lhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
761
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="comment">// judge from expr id</span></div>
762
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">if</span> (!it-&gt;second.geq(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
763
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; }</div>
764
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
765
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
766
+ </div><!-- fragment -->
767
+ </div>
768
+ </div>
769
+ <a id="a5b199cda24038f6f60fe4fa6b6d6bb76"></a>
770
+ <h2 class="memtitle"><span class="permalink"><a href="#a5b199cda24038f6f60fe4fa6b6d6bb76">&#9670;&nbsp;</a></span>getAddrs()</h2>
771
+
772
+ <div class="memitem">
773
+ <div class="memproto">
774
+ <table class="mlabels">
775
+ <tr>
776
+ <td class="mlabels-left">
777
+ <table class="memname">
778
+ <tr>
779
+ <td class="memname"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a>&amp; SVF::IntervalESBase::getAddrs </td>
780
+ <td>(</td>
781
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
782
+ <td class="paramname"><em>id</em></td><td>)</td>
783
+ <td></td>
784
+ </tr>
785
+ </table>
786
+ </td>
787
+ <td class="mlabels-right">
788
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
789
+ </tr>
790
+ </table>
791
+ </div><div class="memdoc">
792
+
793
+ <p>get memory addresses of variable </p>
794
+
795
+ <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a3b340ae2aad86f6125d24b42ec8901d0">SVF::ExeState</a>.</p>
796
+
797
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">SVF::IntervalExeState</a>.</p>
798
+
799
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00153">153</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
800
+ <div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {</div>
801
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[id];</div>
802
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div>
803
+ </div><!-- fragment -->
804
+ </div>
805
+ </div>
806
+ <a id="a04145be14d0b0f60eb0f357e0ec7a92c"></a>
807
+ <h2 class="memtitle"><span class="permalink"><a href="#a04145be14d0b0f60eb0f357e0ec7a92c">&#9670;&nbsp;</a></span>getLocAddrs()</h2>
808
+
809
+ <div class="memitem">
810
+ <div class="memproto">
811
+ <table class="mlabels">
812
+ <tr>
813
+ <td class="mlabels-left">
814
+ <table class="memname">
815
+ <tr>
816
+ <td class="memname">virtual <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a>&amp; SVF::IntervalESBase::getLocAddrs </td>
817
+ <td>(</td>
818
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
819
+ <td class="paramname"><em>id</em></td><td>)</td>
820
+ <td></td>
821
+ </tr>
822
+ </table>
823
+ </td>
824
+ <td class="mlabels-right">
825
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
826
+ </tr>
827
+ </table>
828
+ </div><div class="memdoc">
829
+
830
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#a053ad8e95d16e2ec047c64258c2021f2">SVF::IntervalExeState</a>.</p>
831
+
832
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00303">303</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
833
+ <div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
834
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>);</div>
835
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
836
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
837
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">else</span></div>
838
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div>
839
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[id];</div>
840
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div>
841
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div>
842
+ </div><!-- fragment -->
843
+ </div>
844
+ </div>
845
+ <a id="af7451ea87d5117a90b5912a1e6f34e10"></a>
846
+ <h2 class="memtitle"><span class="permalink"><a href="#af7451ea87d5117a90b5912a1e6f34e10">&#9670;&nbsp;</a></span>getLocToVal() <span class="overload">[1/2]</span></h2>
847
+
848
+ <div class="memitem">
849
+ <div class="memproto">
850
+ <table class="mlabels">
851
+ <tr>
852
+ <td class="mlabels-left">
853
+ <table class="memname">
854
+ <tr>
855
+ <td class="memname">const <a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a>&amp; SVF::IntervalESBase::getLocToVal </td>
856
+ <td>(</td>
857
+ <td class="paramname"></td><td>)</td>
858
+ <td> const</td>
859
+ </tr>
860
+ </table>
861
+ </td>
862
+ <td class="mlabels-right">
863
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
864
+ </tr>
865
+ </table>
866
+ </div><div class="memdoc">
867
+
868
+ <p>get loc2val map </p>
869
+
870
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00195">195</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
871
+ <div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
872
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>;</div>
873
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
874
+ </div><!-- fragment -->
875
+ </div>
876
+ </div>
877
+ <a id="a46a305a70ec53c6bda50caafec38791a"></a>
878
+ <h2 class="memtitle"><span class="permalink"><a href="#a46a305a70ec53c6bda50caafec38791a">&#9670;&nbsp;</a></span>getLocToVal() <span class="overload">[2/2]</span></h2>
879
+
880
+ <div class="memitem">
881
+ <div class="memproto">
882
+ <table class="mlabels">
883
+ <tr>
884
+ <td class="mlabels-left">
885
+ <table class="memname">
886
+ <tr>
887
+ <td class="memname">virtual <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&amp; SVF::IntervalESBase::getLocToVal </td>
888
+ <td>(</td>
889
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
890
+ <td class="paramname"><em>id</em></td><td>)</td>
891
+ <td></td>
892
+ </tr>
893
+ </table>
894
+ </td>
895
+ <td class="mlabels-right">
896
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
897
+ </tr>
898
+ </table>
899
+ </div><div class="memdoc">
900
+
901
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#a48247d3ce543a9773d668998f7f58ac3">SVF::IntervalExeState</a>.</p>
902
+
903
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00292">292</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
904
+ <div class="fragment"><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div>
905
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(<span class="keywordtype">id</span>);</div>
906
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
907
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
908
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">else</span></div>
909
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
910
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[id];</div>
911
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div>
912
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div>
913
+ </div><!-- fragment -->
914
+ </div>
915
+ </div>
916
+ <a id="a903797577ba99ef57879774a3849bbfe"></a>
917
+ <h2 class="memtitle"><span class="permalink"><a href="#a903797577ba99ef57879774a3849bbfe">&#9670;&nbsp;</a></span>getVarToVal()</h2>
918
+
919
+ <div class="memitem">
920
+ <div class="memproto">
921
+ <table class="mlabels">
922
+ <tr>
923
+ <td class="mlabels-left">
924
+ <table class="memname">
925
+ <tr>
926
+ <td class="memname">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a>&amp; SVF::IntervalESBase::getVarToVal </td>
927
+ <td>(</td>
928
+ <td class="paramname"></td><td>)</td>
929
+ <td> const</td>
930
+ </tr>
931
+ </table>
932
+ </td>
933
+ <td class="mlabels-right">
934
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
935
+ </tr>
936
+ </table>
937
+ </div><div class="memdoc">
938
+
939
+ <p>get var2val map </p>
940
+
941
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00189">189</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
942
+ <div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div>
943
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>;</div>
944
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
945
+ </div><!-- fragment -->
946
+ </div>
947
+ </div>
948
+ <a id="a2387b671954d5c1fdd4b08b71ffa0e6c"></a>
949
+ <h2 class="memtitle"><span class="permalink"><a href="#a2387b671954d5c1fdd4b08b71ffa0e6c">&#9670;&nbsp;</a></span>has_bottom()</h2>
950
+
951
+ <div class="memitem">
952
+ <div class="memproto">
953
+ <table class="mlabels">
954
+ <tr>
955
+ <td class="mlabels-left">
956
+ <table class="memname">
957
+ <tr>
958
+ <td class="memname">bool SVF::IntervalESBase::has_bottom </td>
959
+ <td>(</td>
960
+ <td class="paramname"></td><td>)</td>
961
+ <td></td>
962
+ </tr>
963
+ </table>
964
+ </td>
965
+ <td class="mlabels-right">
966
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
967
+ </tr>
968
+ </table>
969
+ </div><div class="memdoc">
970
+
971
+ <p>Return true if map has bottom value. </p>
972
+
973
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00236">236</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
974
+ <div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div>
975
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
976
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div>
977
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isBottom())</div>
978
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
979
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
980
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div>
981
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div>
982
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
983
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
984
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isBottom())</div>
985
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div>
986
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
987
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
988
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div>
989
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
990
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div>
991
+ </div><!-- fragment -->
992
+ </div>
993
+ </div>
994
+ <a id="a2ecbba4a55776562262b6ddc9f0d9101"></a>
995
+ <h2 class="memtitle"><span class="permalink"><a href="#a2ecbba4a55776562262b6ddc9f0d9101">&#9670;&nbsp;</a></span>hash()</h2>
996
+
997
+ <div class="memitem">
998
+ <div class="memproto">
999
+ <table class="mlabels">
1000
+ <tr>
1001
+ <td class="mlabels-left">
1002
+ <table class="memname">
1003
+ <tr>
1004
+ <td class="memname"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> IntervalESBase::hash </td>
1005
+ <td>(</td>
1006
+ <td class="paramname"></td><td>)</td>
1007
+ <td> const</td>
1008
+ </tr>
1009
+ </table>
1010
+ </td>
1011
+ <td class="mlabels-right">
1012
+ <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1013
+ </tr>
1014
+ </table>
1015
+ </div><div class="memdoc">
1016
+
1017
+ <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a2e63af0f29d04484c09cca217b799986">SVF::ExeState</a>.</p>
1018
+
1019
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#a85b0e711160d67ea84f426025b980dce">SVF::IntervalExeState</a>.</p>
1020
+
1021
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00041">41</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1022
+ <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div>
1023
+ <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">size_t</span> h = <a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>().size() * 2;</div>
1024
+ <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="structSVF_1_1Hash.html">Hash&lt;u32_t&gt;</a> hf;</div>
1025
+ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;t: <a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>())</div>
1026
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; {</div>
1027
+ <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; h ^= hf(t.first) + 0x9e3779b9 + (h &lt;&lt; 6) + (h &gt;&gt; 2);</div>
1028
+ <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; }</div>
1029
+ <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">size_t</span> h2 = <a class="code" href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">getLocToVal</a>().size() * 2;</div>
1030
+ <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;t: <a class="code" href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">getLocToVal</a>())</div>
1031
+ <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; {</div>
1032
+ <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; h2 ^= hf(t.first) + 0x9e3779b9 + (h2 &lt;&lt; 6) + (h2 &gt;&gt; 2);</div>
1033
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div>
1034
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="structSVF_1_1Hash.html">Hash&lt;std::pair&lt;std::pair&lt;u32_t, u32_t&gt;</a>, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&gt;&gt; pairH;</div>
1035
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> pairH(std::make_pair(std::make_pair(h, h2), (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) <a class="code" href="classSVF_1_1ExeState.html#a2e63af0f29d04484c09cca217b799986">ExeState::hash</a>()));</div>
1036
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;}</div>
1037
+ </div><!-- fragment -->
1038
+ </div>
1039
+ </div>
1040
+ <a id="a6c517028bddfa9f4617950a02f347ce8"></a>
1041
+ <h2 class="memtitle"><span class="permalink"><a href="#a6c517028bddfa9f4617950a02f347ce8">&#9670;&nbsp;</a></span>inLocToAddrsTable()</h2>
1042
+
1043
+ <div class="memitem">
1044
+ <div class="memproto">
1045
+ <table class="mlabels">
1046
+ <tr>
1047
+ <td class="mlabels-left">
1048
+ <table class="memname">
1049
+ <tr>
1050
+ <td class="memname">bool SVF::IntervalESBase::inLocToAddrsTable </td>
1051
+ <td>(</td>
1052
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1053
+ <td class="paramname"><em>id</em></td><td>)</td>
1054
+ <td> const</td>
1055
+ </tr>
1056
+ </table>
1057
+ </td>
1058
+ <td class="mlabels-right">
1059
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1060
+ </tr>
1061
+ </table>
1062
+ </div><div class="memdoc">
1063
+
1064
+ <p>whether the memory address stores memory addresses </p>
1065
+
1066
+ <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a54168f48a6c1fe983d20efce06a35710">SVF::ExeState</a>.</p>
1067
+
1068
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">SVF::IntervalExeState</a>.</p>
1069
+
1070
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00177">177</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1071
+ <div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div>
1072
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end();</div>
1073
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
1074
+ </div><!-- fragment -->
1075
+ </div>
1076
+ </div>
1077
+ <a id="a8926e8fe328e3a3596fee42e06130da7"></a>
1078
+ <h2 class="memtitle"><span class="permalink"><a href="#a8926e8fe328e3a3596fee42e06130da7">&#9670;&nbsp;</a></span>inLocToValTable()</h2>
1079
+
1080
+ <div class="memitem">
1081
+ <div class="memproto">
1082
+ <table class="mlabels">
1083
+ <tr>
1084
+ <td class="mlabels-left">
1085
+ <table class="memname">
1086
+ <tr>
1087
+ <td class="memname">virtual bool SVF::IntervalESBase::inLocToValTable </td>
1088
+ <td>(</td>
1089
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1090
+ <td class="paramname"><em>id</em></td><td>)</td>
1091
+ <td> const</td>
1092
+ </tr>
1093
+ </table>
1094
+ </td>
1095
+ <td class="mlabels-right">
1096
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
1097
+ </tr>
1098
+ </table>
1099
+ </div><div class="memdoc">
1100
+
1101
+ <p>whether the memory address stores interval value </p>
1102
+
1103
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#a50aee49f7f34e05f7e2cb28ae55099f8">SVF::IntervalExeState</a>.</p>
1104
+
1105
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00183">183</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1106
+ <div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div>
1107
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end();</div>
1108
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div>
1109
+ </div><!-- fragment -->
1110
+ </div>
1111
+ </div>
1112
+ <a id="a2ff42e1ba569614cc86f8a3af65b7c41"></a>
1113
+ <h2 class="memtitle"><span class="permalink"><a href="#a2ff42e1ba569614cc86f8a3af65b7c41">&#9670;&nbsp;</a></span>Interval2NumValue()</h2>
1114
+
1115
+ <div class="memitem">
1116
+ <div class="memproto">
1117
+ <table class="mlabels">
1118
+ <tr>
1119
+ <td class="mlabels-left">
1120
+ <table class="memname">
1121
+ <tr>
1122
+ <td class="memname"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> SVF::IntervalESBase::Interval2NumValue </td>
1123
+ <td>(</td>
1124
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td>
1125
+ <td class="paramname"><em>e</em></td><td>)</td>
1126
+ <td> const</td>
1127
+ </tr>
1128
+ </table>
1129
+ </td>
1130
+ <td class="mlabels-right">
1131
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1132
+ </tr>
1133
+ </table>
1134
+ </div><div class="memdoc">
1135
+
1136
+ <p>Return int value from an expression if it is a numeral, otherwise return an approximate value. </p>
1137
+
1138
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00222">222</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1139
+ <div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
1140
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">//TODO: return concrete value;</span></div>
1141
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) e.lb().getNumeral();</div>
1142
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
1143
+ </div><!-- fragment -->
1144
+ </div>
1145
+ </div>
1146
+ <a id="a551d07983a89971d4e2422e6be850d4f"></a>
1147
+ <h2 class="memtitle"><span class="permalink"><a href="#a551d07983a89971d4e2422e6be850d4f">&#9670;&nbsp;</a></span>inVarToAddrsTable()</h2>
1148
+
1149
+ <div class="memitem">
1150
+ <div class="memproto">
1151
+ <table class="mlabels">
1152
+ <tr>
1153
+ <td class="mlabels-left">
1154
+ <table class="memname">
1155
+ <tr>
1156
+ <td class="memname">bool SVF::IntervalESBase::inVarToAddrsTable </td>
1157
+ <td>(</td>
1158
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1159
+ <td class="paramname"><em>id</em></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 class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1166
+ </tr>
1167
+ </table>
1168
+ </div><div class="memdoc">
1169
+
1170
+ <p>whether the variable is in varToAddrs table </p>
1171
+
1172
+ <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a6dfff6d4302faeb80c78a512f32b529f">SVF::ExeState</a>.</p>
1173
+
1174
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">SVF::IntervalExeState</a>.</p>
1175
+
1176
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00165">165</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1177
+ <div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div>
1178
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end();</div>
1179
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
1180
+ </div><!-- fragment -->
1181
+ </div>
1182
+ </div>
1183
+ <a id="aa240089b9af05b9a0406451b94ed41e0"></a>
1184
+ <h2 class="memtitle"><span class="permalink"><a href="#aa240089b9af05b9a0406451b94ed41e0">&#9670;&nbsp;</a></span>inVarToValTable()</h2>
1185
+
1186
+ <div class="memitem">
1187
+ <div class="memproto">
1188
+ <table class="mlabels">
1189
+ <tr>
1190
+ <td class="mlabels-left">
1191
+ <table class="memname">
1192
+ <tr>
1193
+ <td class="memname">virtual bool SVF::IntervalESBase::inVarToValTable </td>
1194
+ <td>(</td>
1195
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1196
+ <td class="paramname"><em>id</em></td><td>)</td>
1197
+ <td> const</td>
1198
+ </tr>
1199
+ </table>
1200
+ </td>
1201
+ <td class="mlabels-right">
1202
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
1203
+ </tr>
1204
+ </table>
1205
+ </div><div class="memdoc">
1206
+
1207
+ <p>whether the variable is in varToVal table </p>
1208
+
1209
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#aab316a63c25483eefc38bed0a86a0e7e">SVF::IntervalExeState</a>.</p>
1210
+
1211
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00171">171</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1212
+ <div class="fragment"><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div>
1213
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end();</div>
1214
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
1215
+ </div><!-- fragment -->
1216
+ </div>
1217
+ </div>
1218
+ <a id="adc0db607e4c0f117760535df67b91fbd"></a>
1219
+ <h2 class="memtitle"><span class="permalink"><a href="#adc0db607e4c0f117760535df67b91fbd">&#9670;&nbsp;</a></span>joinWith()</h2>
1220
+
1221
+ <div class="memitem">
1222
+ <div class="memproto">
1223
+ <table class="memname">
1224
+ <tr>
1225
+ <td class="memname">void IntervalESBase::joinWith </td>
1226
+ <td>(</td>
1227
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
1228
+ <td class="paramname"><em>other</em></td><td>)</td>
1229
+ <td></td>
1230
+ </tr>
1231
+ </table>
1232
+ </div><div class="memdoc">
1233
+
1234
+ <p>domain join with other, important! other widen this. </p>
1235
+
1236
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00113">113</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1237
+ <div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;{</div>
1238
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a60464bebe5f257bbe1356eee149524c0">ExeState::joinWith</a>(other);</div>
1239
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
1240
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
1241
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1242
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keyword">auto</span> oit = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(key);</div>
1243
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span> (oit != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end())</div>
1244
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
1245
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; oit-&gt;second.join_with(it-&gt;second);</div>
1246
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
1247
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">else</span></div>
1248
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div>
1249
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.emplace(key, it-&gt;second);</div>
1250
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div>
1251
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
1252
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
1253
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div>
1254
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1255
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">auto</span> oit = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(key);</div>
1256
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (oit != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
1257
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
1258
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; oit-&gt;second.join_with(it-&gt;second);</div>
1259
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
1260
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">else</span></div>
1261
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; {</div>
1262
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.emplace(key, it-&gt;second);</div>
1263
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
1264
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
1265
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;}</div>
1266
+ </div><!-- fragment -->
1267
+ </div>
1268
+ </div>
1269
+ <a id="af1837e907961eb3594b817b62b9ea9a3"></a>
1270
+ <h2 class="memtitle"><span class="permalink"><a href="#af1837e907961eb3594b817b62b9ea9a3">&#9670;&nbsp;</a></span>lessThanVarToValMap()</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">static bool SVF::IntervalESBase::lessThanVarToValMap </td>
1280
+ <td>(</td>
1281
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td>
1282
+ <td class="paramname"><em>lhs</em>, </td>
1283
+ </tr>
1284
+ <tr>
1285
+ <td class="paramkey"></td>
1286
+ <td></td>
1287
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td>
1288
+ <td class="paramname"><em>rhs</em>&#160;</td>
1289
+ </tr>
1290
+ <tr>
1291
+ <td></td>
1292
+ <td>)</td>
1293
+ <td></td><td></td>
1294
+ </tr>
1295
+ </table>
1296
+ </td>
1297
+ <td class="mlabels-right">
1298
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
1299
+ </tr>
1300
+ </table>
1301
+ </div><div class="memdoc">
1302
+
1303
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00341">341</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1304
+ <div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div>
1305
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">if</span> (lhs.empty()) <span class="keywordflow">return</span> !rhs.empty();</div>
1306
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
1307
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div>
1308
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
1309
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">if</span> (it == rhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1310
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="comment">// judge from expr id</span></div>
1311
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.geq(it-&gt;second)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1312
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div>
1313
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1314
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div>
1315
+ </div><!-- fragment -->
1316
+ </div>
1317
+ </div>
1318
+ <a id="a93c2088eacb3859d5e54899d3fa6b45f"></a>
1319
+ <h2 class="memtitle"><span class="permalink"><a href="#a93c2088eacb3859d5e54899d3fa6b45f">&#9670;&nbsp;</a></span>load()</h2>
1320
+
1321
+ <div class="memitem">
1322
+ <div class="memproto">
1323
+ <table class="mlabels">
1324
+ <tr>
1325
+ <td class="mlabels-left">
1326
+ <table class="memname">
1327
+ <tr>
1328
+ <td class="memname">virtual <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&amp; SVF::IntervalESBase::load </td>
1329
+ <td>(</td>
1330
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1331
+ <td class="paramname"><em>addr</em></td><td>)</td>
1332
+ <td></td>
1333
+ </tr>
1334
+ </table>
1335
+ </td>
1336
+ <td class="mlabels-right">
1337
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
1338
+ </tr>
1339
+ </table>
1340
+ </div><div class="memdoc">
1341
+
1342
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#a960ec3359dfcb5e89fb66120c868ac5e">SVF::IntervalExeState</a>.</p>
1343
+
1344
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00266">266</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1345
+ <div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div>
1346
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; assert(<a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
1347
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
1348
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(objId);</div>
1349
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
1350
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1351
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">else</span></div>
1352
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div>
1353
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[objId];</div>
1354
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
1355
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div>
1356
+ </div><!-- fragment -->
1357
+ </div>
1358
+ </div>
1359
+ <a id="a1a012a83e3c2808e24ba8d5da4fbd85b"></a>
1360
+ <h2 class="memtitle"><span class="permalink"><a href="#a1a012a83e3c2808e24ba8d5da4fbd85b">&#9670;&nbsp;</a></span>loadAddrs()</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">virtual <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a>&amp; SVF::IntervalESBase::loadAddrs </td>
1370
+ <td>(</td>
1371
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1372
+ <td class="paramname"><em>addr</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 class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1379
+ </tr>
1380
+ </table>
1381
+ </div><div class="memdoc">
1382
+
1383
+ <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a9e0fd700bea1ac741d96b4f52fd4756f">SVF::ExeState</a>.</p>
1384
+
1385
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">SVF::IntervalExeState</a>.</p>
1386
+
1387
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00279">279</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1388
+ <div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div>
1389
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; assert(<a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
1390
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
1391
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
1392
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
1393
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1394
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">else</span></div>
1395
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; {</div>
1396
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[objId];</div>
1397
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; }</div>
1398
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
1399
+ </div><!-- fragment -->
1400
+ </div>
1401
+ </div>
1402
+ <a id="a92a8531c7f12cc6f9117596aa5e534b6"></a>
1403
+ <h2 class="memtitle"><span class="permalink"><a href="#a92a8531c7f12cc6f9117596aa5e534b6">&#9670;&nbsp;</a></span>meetWith()</h2>
1404
+
1405
+ <div class="memitem">
1406
+ <div class="memproto">
1407
+ <table class="memname">
1408
+ <tr>
1409
+ <td class="memname">void IntervalESBase::meetWith </td>
1410
+ <td>(</td>
1411
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
1412
+ <td class="paramname"><em>other</em></td><td>)</td>
1413
+ <td></td>
1414
+ </tr>
1415
+ </table>
1416
+ </div><div class="memdoc">
1417
+
1418
+ <p>domain meet with other, important! other widen this. </p>
1419
+
1420
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00164">164</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1421
+ <div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;{</div>
1422
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a80bcce9b4303d651b27332c2fc0d3bdc">ExeState::meetWith</a>(other);</div>
1423
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
1424
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div>
1425
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1426
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">auto</span> oit = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(key);</div>
1427
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">if</span> (oit != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end())</div>
1428
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div>
1429
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; oit-&gt;second.meet_with(it-&gt;second);</div>
1430
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
1431
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
1432
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
1433
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div>
1434
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1435
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">auto</span> oit = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(key);</div>
1436
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">if</span> (oit != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
1437
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div>
1438
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; oit-&gt;second.meet_with(it-&gt;second);</div>
1439
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
1440
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div>
1441
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;}</div>
1442
+ </div><!-- fragment -->
1443
+ </div>
1444
+ </div>
1445
+ <a id="a3f8da19a79bfdc37c38e659a94371aba"></a>
1446
+ <h2 class="memtitle"><span class="permalink"><a href="#a3f8da19a79bfdc37c38e659a94371aba">&#9670;&nbsp;</a></span>narrowing()</h2>
1447
+
1448
+ <div class="memitem">
1449
+ <div class="memproto">
1450
+ <table class="memname">
1451
+ <tr>
1452
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> IntervalESBase::narrowing </td>
1453
+ <td>(</td>
1454
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
1455
+ <td class="paramname"><em>other</em></td><td>)</td>
1456
+ <td></td>
1457
+ </tr>
1458
+ </table>
1459
+ </div><div class="memdoc">
1460
+
1461
+ <p>domain narrow with other, and return the narrowed domain </p>
1462
+
1463
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00076">76</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1464
+ <div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div>
1465
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> es = *<span class="keyword">this</span>;</div>
1466
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
1467
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div>
1468
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1469
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end())</div>
1470
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; it-&gt;second.narrow_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.at(key));</div>
1471
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
1472
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
1473
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
1474
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1475
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
1476
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; it-&gt;second.narrow_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.at(key));</div>
1477
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
1478
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> es;</div>
1479
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
1480
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;}</div>
1481
+ </div><!-- fragment -->
1482
+ </div>
1483
+ </div>
1484
+ <a id="a52b590dc437bc01ce116255e699c3c55"></a>
1485
+ <h2 class="memtitle"><span class="permalink"><a href="#a52b590dc437bc01ce116255e699c3c55">&#9670;&nbsp;</a></span>narrowWith()</h2>
1486
+
1487
+ <div class="memitem">
1488
+ <div class="memproto">
1489
+ <table class="memname">
1490
+ <tr>
1491
+ <td class="memname">void IntervalESBase::narrowWith </td>
1492
+ <td>(</td>
1493
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
1494
+ <td class="paramname"><em>other</em></td><td>)</td>
1495
+ <td></td>
1496
+ </tr>
1497
+ </table>
1498
+ </div><div class="memdoc">
1499
+
1500
+ <p>domain narrow with other, important! other widen this. </p>
1501
+
1502
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00145">145</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1503
+ <div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;{</div>
1504
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
1505
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div>
1506
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1507
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">auto</span> oit = other.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>().find(key);</div>
1508
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">if</span> (oit != other.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>().end())</div>
1509
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; it-&gt;second.narrow_with(oit-&gt;second);</div>
1510
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
1511
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
1512
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div>
1513
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1514
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">auto</span> oit = other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(key);</div>
1515
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (oit != other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
1516
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; it-&gt;second.narrow_with(oit-&gt;second);</div>
1517
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
1518
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</div>
1519
+ </div><!-- fragment -->
1520
+ </div>
1521
+ </div>
1522
+ <a id="ab828094e1026046814c1e3d44d3f084c"></a>
1523
+ <h2 class="memtitle"><span class="permalink"><a href="#ab828094e1026046814c1e3d44d3f084c">&#9670;&nbsp;</a></span>operator!=() <span class="overload">[1/2]</span></h2>
1524
+
1525
+ <div class="memitem">
1526
+ <div class="memproto">
1527
+ <table class="mlabels">
1528
+ <tr>
1529
+ <td class="mlabels-left">
1530
+ <table class="memname">
1531
+ <tr>
1532
+ <td class="memname">virtual bool SVF::ExeState::operator!=</td>
1533
+ </tr>
1534
+ </table>
1535
+ </td>
1536
+ <td class="mlabels-right">
1537
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1538
+ </tr>
1539
+ </table>
1540
+ </div><div class="memdoc">
1541
+
1542
+ <p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00178">178</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
1543
+ <div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; {</div>
1544
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs);</div>
1545
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div>
1546
+ </div><!-- fragment -->
1547
+ </div>
1548
+ </div>
1549
+ <a id="ab3d0a23befaf69fac553e6e3ae3a42e0"></a>
1550
+ <h2 class="memtitle"><span class="permalink"><a href="#ab3d0a23befaf69fac553e6e3ae3a42e0">&#9670;&nbsp;</a></span>operator!=() <span class="overload">[2/2]</span></h2>
1551
+
1552
+ <div class="memitem">
1553
+ <div class="memproto">
1554
+ <table class="mlabels">
1555
+ <tr>
1556
+ <td class="mlabels-left">
1557
+ <table class="memname">
1558
+ <tr>
1559
+ <td class="memname">bool SVF::IntervalESBase::operator!= </td>
1560
+ <td>(</td>
1561
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
1562
+ <td class="paramname"><em>rhs</em></td><td>)</td>
1563
+ <td> const</td>
1564
+ </tr>
1565
+ </table>
1566
+ </td>
1567
+ <td class="mlabels-right">
1568
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1569
+ </tr>
1570
+ </table>
1571
+ </div><div class="memdoc">
1572
+
1573
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00376">376</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1574
+ <div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
1575
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs);</div>
1576
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
1577
+ </div><!-- fragment -->
1578
+ </div>
1579
+ </div>
1580
+ <a id="aaafb882ca79738d39697d1461bd2032f"></a>
1581
+ <h2 class="memtitle"><span class="permalink"><a href="#aaafb882ca79738d39697d1461bd2032f">&#9670;&nbsp;</a></span>operator&lt;()</h2>
1582
+
1583
+ <div class="memitem">
1584
+ <div class="memproto">
1585
+ <table class="mlabels">
1586
+ <tr>
1587
+ <td class="mlabels-left">
1588
+ <table class="memname">
1589
+ <tr>
1590
+ <td class="memname">bool SVF::IntervalESBase::operator&lt; </td>
1591
+ <td>(</td>
1592
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
1593
+ <td class="paramname"><em>rhs</em></td><td>)</td>
1594
+ <td> const</td>
1595
+ </tr>
1596
+ </table>
1597
+ </td>
1598
+ <td class="mlabels-right">
1599
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1600
+ </tr>
1601
+ </table>
1602
+ </div><div class="memdoc">
1603
+
1604
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00381">381</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1605
+ <div class="fragment"><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div>
1606
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> &gt;= rhs);</div>
1607
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
1608
+ </div><!-- fragment -->
1609
+ </div>
1610
+ </div>
1611
+ <a id="a926025a01239d163e59582824ceb0580"></a>
1612
+ <h2 class="memtitle"><span class="permalink"><a href="#a926025a01239d163e59582824ceb0580">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>
1613
+
1614
+ <div class="memitem">
1615
+ <div class="memproto">
1616
+ <table class="mlabels">
1617
+ <tr>
1618
+ <td class="mlabels-left">
1619
+ <table class="memname">
1620
+ <tr>
1621
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; SVF::IntervalESBase::operator= </td>
1622
+ <td>(</td>
1623
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
1624
+ <td class="paramname"><em>rhs</em></td><td>)</td>
1625
+ <td></td>
1626
+ </tr>
1627
+ </table>
1628
+ </td>
1629
+ <td class="mlabels-right">
1630
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1631
+ </tr>
1632
+ </table>
1633
+ </div><div class="memdoc">
1634
+
1635
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00081">81</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1636
+ <div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div>
1637
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (rhs != *<span class="keyword">this</span>)</div>
1638
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div>
1639
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a> = rhs._varToItvVal;</div>
1640
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a> = rhs._locToItvVal;</div>
1641
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#aebeb2054a8118fd33df9fef31bacda03">ExeState::operator=</a>(rhs);</div>
1642
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
1643
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
1644
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
1645
+ </div><!-- fragment -->
1646
+ </div>
1647
+ </div>
1648
+ <a id="ab4d2297eb82611a3198ba3befeda5e54"></a>
1649
+ <h2 class="memtitle"><span class="permalink"><a href="#ab4d2297eb82611a3198ba3befeda5e54">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>
1650
+
1651
+ <div class="memitem">
1652
+ <div class="memproto">
1653
+ <table class="mlabels">
1654
+ <tr>
1655
+ <td class="mlabels-left">
1656
+ <table class="memname">
1657
+ <tr>
1658
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; SVF::IntervalESBase::operator= </td>
1659
+ <td>(</td>
1660
+ <td class="paramtype"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&amp;&#160;</td>
1661
+ <td class="paramname"><em>rhs</em></td><td>)</td>
1662
+ <td></td>
1663
+ </tr>
1664
+ </table>
1665
+ </td>
1666
+ <td class="mlabels-right">
1667
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1668
+ </tr>
1669
+ </table>
1670
+ </div><div class="memdoc">
1671
+
1672
+ <p>operator= move constructor </p>
1673
+
1674
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00101">101</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1675
+ <div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div>
1676
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (&amp;rhs != <span class="keyword">this</span>)</div>
1677
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
1678
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._varToItvVal);</div>
1679
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._locToItvVal);</div>
1680
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#aebeb2054a8118fd33df9fef31bacda03">ExeState::operator=</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs));</div>
1681
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
1682
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
1683
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
1684
+ </div><!-- fragment -->
1685
+ </div>
1686
+ </div>
1687
+ <a id="a0e4c8a41aa861ff2862d8b620c902f21"></a>
1688
+ <h2 class="memtitle"><span class="permalink"><a href="#a0e4c8a41aa861ff2862d8b620c902f21">&#9670;&nbsp;</a></span>operator==() <span class="overload">[1/2]</span></h2>
1689
+
1690
+ <div class="memitem">
1691
+ <div class="memproto">
1692
+ <table class="memname">
1693
+ <tr>
1694
+ <td class="memname">bool ExeState::operator==</td>
1695
+ </tr>
1696
+ </table>
1697
+ </div><div class="memdoc">
1698
+
1699
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00035">35</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
1700
+ <div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div>
1701
+ <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a0a24ad3ced48b6755b7fc917d0f0fbb9">eqVarToAddrs</a>(<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>, rhs._varToAddrs) &amp;&amp; <a class="code" href="classSVF_1_1ExeState.html#a0a24ad3ced48b6755b7fc917d0f0fbb9">eqVarToAddrs</a>(<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>, rhs._locToAddrs);</div>
1702
+ <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;}</div>
1703
+ </div><!-- fragment -->
1704
+ </div>
1705
+ </div>
1706
+ <a id="a6f6ba2a615f1227cf8397345d1d0f25d"></a>
1707
+ <h2 class="memtitle"><span class="permalink"><a href="#a6f6ba2a615f1227cf8397345d1d0f25d">&#9670;&nbsp;</a></span>operator==() <span class="overload">[2/2]</span></h2>
1708
+
1709
+ <div class="memitem">
1710
+ <div class="memproto">
1711
+ <table class="mlabels">
1712
+ <tr>
1713
+ <td class="mlabels-left">
1714
+ <table class="memname">
1715
+ <tr>
1716
+ <td class="memname">bool SVF::IntervalESBase::operator== </td>
1717
+ <td>(</td>
1718
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
1719
+ <td class="paramname"><em>rhs</em></td><td>)</td>
1720
+ <td> const</td>
1721
+ </tr>
1722
+ </table>
1723
+ </td>
1724
+ <td class="mlabels-right">
1725
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1726
+ </tr>
1727
+ </table>
1728
+ </div><div class="memdoc">
1729
+
1730
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00370">370</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1731
+ <div class="fragment"><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; {</div>
1732
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a0e4c8a41aa861ff2862d8b620c902f21">ExeState::operator==</a>(rhs) &amp;&amp; <a class="code" href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1">eqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>, rhs.getVarToVal()) &amp;&amp;</div>
1733
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1">eqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>, rhs.getLocToVal());</div>
1734
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
1735
+ </div><!-- fragment -->
1736
+ </div>
1737
+ </div>
1738
+ <a id="a8722234ba6bea5223e79174ff1d095c7"></a>
1739
+ <h2 class="memtitle"><span class="permalink"><a href="#a8722234ba6bea5223e79174ff1d095c7">&#9670;&nbsp;</a></span>operator&gt;=()</h2>
1740
+
1741
+ <div class="memitem">
1742
+ <div class="memproto">
1743
+ <table class="mlabels">
1744
+ <tr>
1745
+ <td class="mlabels-left">
1746
+ <table class="memname">
1747
+ <tr>
1748
+ <td class="memname">bool SVF::IntervalESBase::operator&gt;= </td>
1749
+ <td>(</td>
1750
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
1751
+ <td class="paramname"><em>rhs</em></td><td>)</td>
1752
+ <td> const</td>
1753
+ </tr>
1754
+ </table>
1755
+ </td>
1756
+ <td class="mlabels-right">
1757
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1758
+ </tr>
1759
+ </table>
1760
+ </div><div class="memdoc">
1761
+
1762
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00387">387</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1763
+ <div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div>
1764
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c">geqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>, rhs.getVarToVal()) &amp;&amp; <a class="code" href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c">geqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>, rhs.getLocToVal());</div>
1765
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
1766
+ </div><!-- fragment -->
1767
+ </div>
1768
+ </div>
1769
+ <a id="af00c9267eb35bf16c88e321ca3009151"></a>
1770
+ <h2 class="memtitle"><span class="permalink"><a href="#af00c9267eb35bf16c88e321ca3009151">&#9670;&nbsp;</a></span>operator[]()</h2>
1771
+
1772
+ <div class="memitem">
1773
+ <div class="memproto">
1774
+ <table class="mlabels">
1775
+ <tr>
1776
+ <td class="mlabels-left">
1777
+ <table class="memname">
1778
+ <tr>
1779
+ <td class="memname">virtual <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&amp; SVF::IntervalESBase::operator[] </td>
1780
+ <td>(</td>
1781
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1782
+ <td class="paramname"><em>varId</em></td><td>)</td>
1783
+ <td></td>
1784
+ </tr>
1785
+ </table>
1786
+ </td>
1787
+ <td class="mlabels-right">
1788
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
1789
+ </tr>
1790
+ </table>
1791
+ </div><div class="memdoc">
1792
+
1793
+ <p>get interval value of variable </p>
1794
+
1795
+ <p>Reimplemented in <a class="el" href="classSVF_1_1IntervalExeState.html#a2f39e01a347d10b2992a46e5cc52ab77">SVF::IntervalExeState</a>.</p>
1796
+
1797
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00159">159</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1798
+ <div class="fragment"><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div>
1799
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[varId];</div>
1800
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div>
1801
+ </div><!-- fragment -->
1802
+ </div>
1803
+ </div>
1804
+ <a id="a4c0ede557a333bfea3f5d4a9a4dc8a9e"></a>
1805
+ <h2 class="memtitle"><span class="permalink"><a href="#a4c0ede557a333bfea3f5d4a9a4dc8a9e">&#9670;&nbsp;</a></span>printExprValues()</h2>
1806
+
1807
+ <div class="memitem">
1808
+ <div class="memproto">
1809
+ <table class="mlabels">
1810
+ <tr>
1811
+ <td class="mlabels-left">
1812
+ <table class="memname">
1813
+ <tr>
1814
+ <td class="memname">void IntervalESBase::printExprValues </td>
1815
+ <td>(</td>
1816
+ <td class="paramtype">std::ostream &amp;&#160;</td>
1817
+ <td class="paramname"><em>oss</em></td><td>)</td>
1818
+ <td> const</td>
1819
+ </tr>
1820
+ </table>
1821
+ </td>
1822
+ <td class="mlabels-right">
1823
+ <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1824
+ </tr>
1825
+ </table>
1826
+ </div><div class="memdoc">
1827
+
1828
+ <p>Print values of all expressions. </p>
1829
+
1830
+ <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a06245a3061b7a52488d593b9faeddbe0">SVF::ExeState</a>.</p>
1831
+
1832
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00188">188</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1833
+ <div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;{</div>
1834
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;-----------Var and Value-----------\n&quot;</span>;</div>
1835
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">printTable</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>, oss);</div>
1836
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">printTable</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>, oss);</div>
1837
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">printTable</a>(<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>, oss);</div>
1838
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">printTable</a>(<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>, oss);</div>
1839
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;-----------------------------------------\n&quot;</span>;</div>
1840
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div>
1841
+ </div><!-- fragment -->
1842
+ </div>
1843
+ </div>
1844
+ <a id="a2b5821a3dd16e98687768b51cf05b789"></a>
1845
+ <h2 class="memtitle"><span class="permalink"><a href="#a2b5821a3dd16e98687768b51cf05b789">&#9670;&nbsp;</a></span>printTable() <span class="overload">[1/2]</span></h2>
1846
+
1847
+ <div class="memitem">
1848
+ <div class="memproto">
1849
+ <table class="mlabels">
1850
+ <tr>
1851
+ <td class="mlabels-left">
1852
+ <table class="memname">
1853
+ <tr>
1854
+ <td class="memname">void IntervalESBase::printTable </td>
1855
+ <td>(</td>
1856
+ <td class="paramtype">const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;&#160;</td>
1857
+ <td class="paramname"><em>table</em>, </td>
1858
+ </tr>
1859
+ <tr>
1860
+ <td class="paramkey"></td>
1861
+ <td></td>
1862
+ <td class="paramtype">std::ostream &amp;&#160;</td>
1863
+ <td class="paramname"><em>oss</em>&#160;</td>
1864
+ </tr>
1865
+ <tr>
1866
+ <td></td>
1867
+ <td>)</td>
1868
+ <td></td><td> const</td>
1869
+ </tr>
1870
+ </table>
1871
+ </td>
1872
+ <td class="mlabels-right">
1873
+ <span class="mlabels"><span class="mlabel">protected</span></span> </td>
1874
+ </tr>
1875
+ </table>
1876
+ </div><div class="memdoc">
1877
+
1878
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00221">221</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1879
+ <div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;{</div>
1880
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; oss.flags(std::ios::left);</div>
1881
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; std::set&lt;NodeID&gt; ordered;</div>
1882
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: table)</div>
1883
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
1884
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; ordered.insert(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
1885
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; }</div>
1886
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: ordered)</div>
1887
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div>
1888
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;Var&quot;</span> &lt;&lt; std::to_string(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
1889
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> sim = table.at(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
1890
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;[ &quot;</span>;</div>
1891
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = sim.begin(); it != sim.end(); ++it)</div>
1892
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div>
1893
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; oss &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span> &lt;&lt; *it &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; std::to_string(*it&amp;(0x00ffffff)) &lt;&lt; <span class="stringliteral">&quot;) ,&quot;</span>;</div>
1894
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
1895
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;]\n&quot;</span>;</div>
1896
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div>
1897
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;}</div>
1898
+ </div><!-- fragment -->
1899
+ </div>
1900
+ </div>
1901
+ <a id="a14e210bd24b2104afb36ad50a0899c09"></a>
1902
+ <h2 class="memtitle"><span class="permalink"><a href="#a14e210bd24b2104afb36ad50a0899c09">&#9670;&nbsp;</a></span>printTable() <span class="overload">[2/2]</span></h2>
1903
+
1904
+ <div class="memitem">
1905
+ <div class="memproto">
1906
+ <table class="mlabels">
1907
+ <tr>
1908
+ <td class="mlabels-left">
1909
+ <table class="memname">
1910
+ <tr>
1911
+ <td class="memname">void IntervalESBase::printTable </td>
1912
+ <td>(</td>
1913
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td>
1914
+ <td class="paramname"><em>table</em>, </td>
1915
+ </tr>
1916
+ <tr>
1917
+ <td class="paramkey"></td>
1918
+ <td></td>
1919
+ <td class="paramtype">std::ostream &amp;&#160;</td>
1920
+ <td class="paramname"><em>oss</em>&#160;</td>
1921
+ </tr>
1922
+ <tr>
1923
+ <td></td>
1924
+ <td>)</td>
1925
+ <td></td><td> const</td>
1926
+ </tr>
1927
+ </table>
1928
+ </td>
1929
+ <td class="mlabels-right">
1930
+ <span class="mlabels"><span class="mlabel">protected</span></span> </td>
1931
+ </tr>
1932
+ </table>
1933
+ </div><div class="memdoc">
1934
+
1935
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00198">198</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1936
+ <div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;{</div>
1937
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; oss.flags(std::ios::left);</div>
1938
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; std::set&lt;NodeID&gt; ordered;</div>
1939
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: table)</div>
1940
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; {</div>
1941
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; ordered.insert(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
1942
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
1943
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: ordered)</div>
1944
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div>
1945
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;Var&quot;</span> &lt;&lt; std::to_string(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
1946
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> sim = table.at(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
1947
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">if</span> (sim.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; <a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41">Interval2NumValue</a>(sim)))</div>
1948
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div>
1949
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41">Interval2NumValue</a>(sim) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1950
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div>
1951
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">else</span></div>
1952
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div>
1953
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::dec &lt;&lt; sim &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1954
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div>
1955
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div>
1956
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;}</div>
1957
+ </div><!-- fragment -->
1958
+ </div>
1959
+ </div>
1960
+ <a id="a2c15de9b10a74fbcb171ff2f328ce7f2"></a>
1961
+ <h2 class="memtitle"><span class="permalink"><a href="#a2c15de9b10a74fbcb171ff2f328ce7f2">&#9670;&nbsp;</a></span>sliceState()</h2>
1962
+
1963
+ <div class="memitem">
1964
+ <div class="memproto">
1965
+ <table class="mlabels">
1966
+ <tr>
1967
+ <td class="mlabels-left">
1968
+ <table class="memname">
1969
+ <tr>
1970
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> SVF::IntervalESBase::sliceState </td>
1971
+ <td>(</td>
1972
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &gt; &amp;&#160;</td>
1973
+ <td class="paramname"><em>sl</em></td><td>)</td>
1974
+ <td></td>
1975
+ </tr>
1976
+ </table>
1977
+ </td>
1978
+ <td class="mlabels-right">
1979
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1980
+ </tr>
1981
+ </table>
1982
+ </div><div class="memdoc">
1983
+
1984
+ <p>Copy some values and return a new <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>. </p>
1985
+
1986
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00135">135</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1987
+ <div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
1988
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a> inv;</div>
1989
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> <span class="keywordtype">id</span>: sl)</div>
1990
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
1991
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; inv._varToItvVal[id] = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[id];</div>
1992
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
1993
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">return</span> inv;</div>
1994
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div>
1995
+ </div><!-- fragment -->
1996
+ </div>
1997
+ </div>
1998
+ <a id="adb26b186ee31bce7449a7b36faa24cc2"></a>
1999
+ <h2 class="memtitle"><span class="permalink"><a href="#adb26b186ee31bce7449a7b36faa24cc2">&#9670;&nbsp;</a></span>store()</h2>
2000
+
2001
+ <div class="memitem">
2002
+ <div class="memproto">
2003
+ <table class="mlabels">
2004
+ <tr>
2005
+ <td class="mlabels-left">
2006
+ <table class="memname">
2007
+ <tr>
2008
+ <td class="memname">void SVF::IntervalESBase::store </td>
2009
+ <td>(</td>
2010
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
2011
+ <td class="paramname"><em>addr</em>, </td>
2012
+ </tr>
2013
+ <tr>
2014
+ <td class="paramkey"></td>
2015
+ <td></td>
2016
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td>
2017
+ <td class="paramname"><em>val</em>&#160;</td>
2018
+ </tr>
2019
+ <tr>
2020
+ <td></td>
2021
+ <td>)</td>
2022
+ <td></td><td></td>
2023
+ </tr>
2024
+ </table>
2025
+ </td>
2026
+ <td class="mlabels-right">
2027
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2028
+ </tr>
2029
+ </table>
2030
+ </div><div class="memdoc">
2031
+
2032
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00258">258</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2033
+ <div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div>
2034
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; assert(<a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
2035
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ExeState.html#a8edd5f30ab971ce893ffdb39d8b6a265">isNullPtr</a>(addr)) <span class="keywordflow">return</span>;</div>
2036
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
2037
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[objId] = val;</div>
2038
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div>
2039
+ </div><!-- fragment -->
2040
+ </div>
2041
+ </div>
2042
+ <a id="a33fd0e4a654dd4f5b7762b0088e11674"></a>
2043
+ <h2 class="memtitle"><span class="permalink"><a href="#a33fd0e4a654dd4f5b7762b0088e11674">&#9670;&nbsp;</a></span>top()</h2>
2044
+
2045
+ <div class="memitem">
2046
+ <div class="memproto">
2047
+ <table class="mlabels">
2048
+ <tr>
2049
+ <td class="mlabels-left">
2050
+ <table class="memname">
2051
+ <tr>
2052
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> SVF::IntervalESBase::top </td>
2053
+ <td>(</td>
2054
+ <td class="paramname"></td><td>)</td>
2055
+ <td> const</td>
2056
+ </tr>
2057
+ </table>
2058
+ </td>
2059
+ <td class="mlabels-right">
2060
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2061
+ </tr>
2062
+ </table>
2063
+ </div><div class="memdoc">
2064
+
2065
+ <p>Set all value top. </p>
2066
+
2067
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00124">124</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2068
+ <div class="fragment"><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div>
2069
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a> inv = *<span class="keyword">this</span>;</div>
2070
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv._varToItvVal)</div>
2071
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div>
2072
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.set_to_top();</div>
2073
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
2074
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> inv;</div>
2075
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div>
2076
+ </div><!-- fragment -->
2077
+ </div>
2078
+ </div>
2079
+ <a id="ab5d7ac23f8334fa32ae0a78c8f1d9fa9"></a>
2080
+ <h2 class="memtitle"><span class="permalink"><a href="#ab5d7ac23f8334fa32ae0a78c8f1d9fa9">&#9670;&nbsp;</a></span>toString()</h2>
2081
+
2082
+ <div class="memitem">
2083
+ <div class="memproto">
2084
+ <table class="mlabels">
2085
+ <tr>
2086
+ <td class="mlabels-left">
2087
+ <table class="memname">
2088
+ <tr>
2089
+ <td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> SVF::IntervalESBase::toString </td>
2090
+ <td>(</td>
2091
+ <td class="paramname"></td><td>)</td>
2092
+ <td> const</td>
2093
+ </tr>
2094
+ </table>
2095
+ </td>
2096
+ <td class="mlabels-right">
2097
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2098
+ </tr>
2099
+ </table>
2100
+ </div><div class="memdoc">
2101
+
2102
+ <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#af58dd98bbad68a7c72e16831be26c677">SVF::ExeState</a>.</p>
2103
+
2104
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00317">317</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2105
+ <div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div>
2106
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div>
2107
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
2108
+ </div><!-- fragment -->
2109
+ </div>
2110
+ </div>
2111
+ <a id="a9a167f67476d2e080cc6e31d127ee715"></a>
2112
+ <h2 class="memtitle"><span class="permalink"><a href="#a9a167f67476d2e080cc6e31d127ee715">&#9670;&nbsp;</a></span>widening()</h2>
2113
+
2114
+ <div class="memitem">
2115
+ <div class="memproto">
2116
+ <table class="memname">
2117
+ <tr>
2118
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> IntervalESBase::widening </td>
2119
+ <td>(</td>
2120
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
2121
+ <td class="paramname"><em>other</em></td><td>)</td>
2122
+ <td></td>
2123
+ </tr>
2124
+ </table>
2125
+ </div><div class="memdoc">
2126
+
2127
+ <p>domain widen with other, and return the widened domain </p>
2128
+
2129
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00058">58</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
2130
+ <div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
2131
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> es = *<span class="keyword">this</span>;</div>
2132
+ <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
2133
+ <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div>
2134
+ <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
2135
+ <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end())</div>
2136
+ <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.at(key));</div>
2137
+ <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div>
2138
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
2139
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
2140
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
2141
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
2142
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.at(key));</div>
2143
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
2144
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> es;</div>
2145
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
2146
+ </div><!-- fragment -->
2147
+ </div>
2148
+ </div>
2149
+ <a id="a2db6b5360cf8e90dbd4174ad0382ec56"></a>
2150
+ <h2 class="memtitle"><span class="permalink"><a href="#a2db6b5360cf8e90dbd4174ad0382ec56">&#9670;&nbsp;</a></span>widenWith()</h2>
2151
+
2152
+ <div class="memitem">
2153
+ <div class="memproto">
2154
+ <table class="memname">
2155
+ <tr>
2156
+ <td class="memname">void IntervalESBase::widenWith </td>
2157
+ <td>(</td>
2158
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td>
2159
+ <td class="paramname"><em>other</em></td><td>)</td>
2160
+ <td></td>
2161
+ </tr>
2162
+ </table>
2163
+ </div><div class="memdoc">
2164
+
2165
+ <p>domain widen with other, important! other widen this. </p>
2166
+
2167
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00096">96</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
2168
+ <div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;{</div>
2169
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
2170
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
2171
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
2172
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>().find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>().end())</div>
2173
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.at(key));</div>
2174
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
2175
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
2176
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div>
2177
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
2178
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
2179
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.at(key));</div>
2180
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
2181
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}</div>
2182
+ </div><!-- fragment -->
2183
+ </div>
2184
+ </div>
2185
+ <h2 class="groupheader">Friends And Related Function Documentation</h2>
2186
+ <a id="a44841fb4ad23542383ea77bf1ffda65f"></a>
2187
+ <h2 class="memtitle"><span class="permalink"><a href="#a44841fb4ad23542383ea77bf1ffda65f">&#9670;&nbsp;</a></span>RelationSolver</h2>
2188
+
2189
+ <div class="memitem">
2190
+ <div class="memproto">
2191
+ <table class="mlabels">
2192
+ <tr>
2193
+ <td class="mlabels-left">
2194
+ <table class="memname">
2195
+ <tr>
2196
+ <td class="memname">friend class <a class="el" href="classSVF_1_1RelationSolver.html">RelationSolver</a></td>
2197
+ </tr>
2198
+ </table>
2199
+ </td>
2200
+ <td class="mlabels-right">
2201
+ <span class="mlabels"><span class="mlabel">friend</span></span> </td>
2202
+ </tr>
2203
+ </table>
2204
+ </div><div class="memdoc">
2205
+
2206
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00057">57</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2207
+
2208
+ </div>
2209
+ </div>
2210
+ <a id="af1ac478aba3f3858d5f6f4b15a9f73a6"></a>
2211
+ <h2 class="memtitle"><span class="permalink"><a href="#af1ac478aba3f3858d5f6f4b15a9f73a6">&#9670;&nbsp;</a></span>SVFIR2ItvExeState</h2>
2212
+
2213
+ <div class="memitem">
2214
+ <div class="memproto">
2215
+ <table class="mlabels">
2216
+ <tr>
2217
+ <td class="mlabels-left">
2218
+ <table class="memname">
2219
+ <tr>
2220
+ <td class="memname">friend class <a class="el" href="classSVF_1_1SVFIR2ItvExeState.html">SVFIR2ItvExeState</a></td>
2221
+ </tr>
2222
+ </table>
2223
+ </td>
2224
+ <td class="mlabels-right">
2225
+ <span class="mlabels"><span class="mlabel">friend</span></span> </td>
2226
+ </tr>
2227
+ </table>
2228
+ </div><div class="memdoc">
2229
+
2230
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00056">56</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2231
+
2232
+ </div>
2233
+ </div>
2234
+ <h2 class="groupheader">Member Data Documentation</h2>
2235
+ <a id="acba74693030fca248521412c552e3dcc"></a>
2236
+ <h2 class="memtitle"><span class="permalink"><a href="#acba74693030fca248521412c552e3dcc">&#9670;&nbsp;</a></span>_locToItvVal</h2>
2237
+
2238
+ <div class="memitem">
2239
+ <div class="memproto">
2240
+ <table class="mlabels">
2241
+ <tr>
2242
+ <td class="mlabels-left">
2243
+ <table class="memname">
2244
+ <tr>
2245
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> SVF::IntervalESBase::_locToItvVal</td>
2246
+ </tr>
2247
+ </table>
2248
+ </td>
2249
+ <td class="mlabels-right">
2250
+ <span class="mlabels"><span class="mlabel">protected</span></span> </td>
2251
+ </tr>
2252
+ </table>
2253
+ </div><div class="memdoc">
2254
+
2255
+ <p>Map a memory address to its stored interval value. </p>
2256
+
2257
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00148">148</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2258
+
2259
+ </div>
2260
+ </div>
2261
+ <a id="ad2288306aed7301ccd30e55410c7b428"></a>
2262
+ <h2 class="memtitle"><span class="permalink"><a href="#ad2288306aed7301ccd30e55410c7b428">&#9670;&nbsp;</a></span>_varToItvVal</h2>
2263
+
2264
+ <div class="memitem">
2265
+ <div class="memproto">
2266
+ <table class="mlabels">
2267
+ <tr>
2268
+ <td class="mlabels-left">
2269
+ <table class="memname">
2270
+ <tr>
2271
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> SVF::IntervalESBase::_varToItvVal</td>
2272
+ </tr>
2273
+ </table>
2274
+ </td>
2275
+ <td class="mlabels-right">
2276
+ <span class="mlabels"><span class="mlabel">protected</span></span> </td>
2277
+ </tr>
2278
+ </table>
2279
+ </div><div class="memdoc">
2280
+
2281
+ <p>Map a variable (symbol) to its interval value. </p>
2282
+
2283
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00147">147</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2284
+
2285
+ </div>
2286
+ </div>
2287
+ <hr/>The documentation for this class was generated from the following files:<ul>
2288
+ <li>/home/runner/work/SVF/SVF/svf/include/AbstractExecution/<a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a></li>
2289
+ <li>/home/runner/work/SVF/SVF/svf/lib/AbstractExecution/<a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a></li>
2290
+ </ul>
2291
+ </div><!-- contents -->
2292
+ <div class="ttc" id="aCommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
2293
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a78038dd4884a501cfc94f073021eac96"><div class="ttname"><a href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">SVF::ExeState::Addrs</a></div><div class="ttdeci">AddressValue Addrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00052">ExeState.h:52</a></div></div>
2294
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a60464bebe5f257bbe1356eee149524c0"><div class="ttname"><a href="classSVF_1_1ExeState.html#a60464bebe5f257bbe1356eee149524c0">SVF::ExeState::joinWith</a></div><div class="ttdeci">bool joinWith(const ExeState &amp;other)</div><div class="ttdoc">Make all value join with the other.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00040">ExeState.cpp:40</a></div></div>
2295
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_abfaad70395d9f4416f297887c84f7df4"><div class="ttname"><a href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">static bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00277">ExeState.h:277</a></div></div>
2296
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a2e63af0f29d04484c09cca217b799986"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2e63af0f29d04484c09cca217b799986">SVF::ExeState::hash</a></div><div class="ttdeci">virtual u32_t hash() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00102">ExeState.cpp:102</a></div></div>
2297
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_af1b6335e3ca95d491b0d8dfb95cf3c9b"><div class="ttname"><a href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">SVF::ExeState::ExeState</a></div><div class="ttdeci">ExeState(ExeState_TYPE kind)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00063">ExeState.h:63</a></div></div>
2298
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a80bcce9b4303d651b27332c2fc0d3bdc"><div class="ttname"><a href="classSVF_1_1ExeState.html#a80bcce9b4303d651b27332c2fc0d3bdc">SVF::ExeState::meetWith</a></div><div class="ttdeci">bool meetWith(const ExeState &amp;other)</div><div class="ttdoc">Make all value meet with the other.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00076">ExeState.cpp:76</a></div></div>
2299
+ <div class="ttc" id="astructSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00067">SVFType.h:67</a></div></div>
2300
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a523826aede7ad22736beed0c8223b6b0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">SVF::IntervalValue::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdoc">Return true if the IntervalValue is a number [num, num].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00270">IntervalValue.h:270</a></div></div>
2301
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html">SVF::IntervalESBase</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00054">IntervalExeState.h:54</a></div></div>
2302
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a0a24ad3ced48b6755b7fc917d0f0fbb9"><div class="ttname"><a href="classSVF_1_1ExeState.html#a0a24ad3ced48b6755b7fc917d0f0fbb9">SVF::ExeState::eqVarToAddrs</a></div><div class="ttdeci">static bool eqVarToAddrs(const VarToAddrs &amp;lhs, const VarToAddrs &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00190">ExeState.h:190</a></div></div>
2303
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_acba74693030fca248521412c552e3dcc"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">SVF::IntervalESBase::_locToItvVal</a></div><div class="ttdeci">LocToValMap _locToItvVal</div><div class="ttdoc">Map a memory address to its stored interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00148">IntervalExeState.h:148</a></div></div>
2304
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_ad2288306aed7301ccd30e55410c7b428"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">SVF::IntervalESBase::_varToItvVal</a></div><div class="ttdeci">VarToValMap _varToItvVal</div><div class="ttdoc">Map a variable (symbol) to its interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00147">IntervalExeState.h:147</a></div></div>
2305
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
2306
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a0e4c8a41aa861ff2862d8b620c902f21"><div class="ttname"><a href="classSVF_1_1ExeState.html#a0e4c8a41aa861ff2862d8b620c902f21">SVF::ExeState::operator==</a></div><div class="ttdeci">virtual bool operator==(const ExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00035">ExeState.cpp:35</a></div></div>
2307
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2ff42e1ba569614cc86f8a3af65b7c41"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41">SVF::IntervalESBase::Interval2NumValue</a></div><div class="ttdeci">s32_t Interval2NumValue(const IntervalValue &amp;e) const</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00222">IntervalExeState.h:222</a></div></div>
2308
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_ad317f2ae2e599a131a6fd9f415f5d712"><div class="ttname"><a href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">SVF::ExeState::_varToAddrs</a></div><div class="ttdeci">VarToAddrs _varToAddrs</div><div class="ttdoc">Map a variable (symbol) to its memory addresses.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00095">ExeState.h:95</a></div></div>
2309
+ <div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00052">SVFType.h:52</a></div></div>
2310
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_ab72f3bc855feeda75e11768ab03ad84e"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">SVF::ExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00283">ExeState.h:283</a></div></div>
2311
+ <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>
2312
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a7f8254581235c03a3fad17e51d00db0c"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c">SVF::IntervalESBase::geqVarToValMap</a></div><div class="ttdeci">static bool geqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00355">IntervalExeState.h:355</a></div></div>
2313
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a5fbb3e0a06cb36f020a6de20ebd04ad1"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1">SVF::IntervalESBase::eqVarToValMap</a></div><div class="ttdeci">static bool eqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00324">IntervalExeState.h:324</a></div></div>
2314
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_af7451ea87d5117a90b5912a1e6f34e10"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">SVF::IntervalESBase::getLocToVal</a></div><div class="ttdeci">const LocToValMap &amp; getLocToVal() const</div><div class="ttdoc">get loc2val map</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00195">IntervalExeState.h:195</a></div></div>
2315
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a14e210bd24b2104afb36ad50a0899c09"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">SVF::IntervalESBase::printTable</a></div><div class="ttdeci">void printTable(const VarToValMap &amp;table, std::ostream &amp;oss) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00198">IntervalExeState.cpp:198</a></div></div>
2316
+ <div class="ttc" id="acJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
2317
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a79866a547dc4805d3fefdfd528d2df2a"><div class="ttname"><a href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">SVF::ExeState::_locToAddrs</a></div><div class="ttdeci">VarToAddrs _locToAddrs</div><div class="ttdoc">Map a memory address to its stored memory addresses.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00096">ExeState.h:96</a></div></div>
2318
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_aebeb2054a8118fd33df9fef31bacda03"><div class="ttname"><a href="classSVF_1_1ExeState.html#aebeb2054a8118fd33df9fef31bacda03">SVF::ExeState::operator=</a></div><div class="ttdeci">ExeState &amp; operator=(const ExeState &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00073">ExeState.h:73</a></div></div>
2319
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a903797577ba99ef57879774a3849bbfe"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">SVF::IntervalESBase::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdoc">get var2val map</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00189">IntervalExeState.h:189</a></div></div>
2320
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2da3f0da084f66f5b82c86e6650fd903"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">SVF::IntervalESBase::IntervalESBase</a></div><div class="ttdeci">IntervalESBase()</div><div class="ttdoc">default constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00065">IntervalExeState.h:65</a></div></div>
2321
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a8edd5f30ab971ce893ffdb39d8b6a265"><div class="ttname"><a href="classSVF_1_1ExeState.html#a8edd5f30ab971ce893ffdb39d8b6a265">SVF::ExeState::isNullPtr</a></div><div class="ttdeci">bool isNullPtr(u32_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00169">ExeState.h:169</a></div></div>
2322
+ <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
2323
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351"><div class="ttname"><a href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">SVF::ExeState::IntervalK</a></div><div class="ttdeci">@ IntervalK</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00057">ExeState.h:57</a></div></div>
2324
+ <!-- start footer part -->
2325
+ <hr class="footer"/><address class="footer"><small>
2326
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
2327
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
2328
+ </a> 1.8.17
2329
+ </small></address>
2330
+ </body>
2331
+ </html>