svf-tools 1.0.620 → 1.0.622

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 (191) hide show
  1. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -2
  2. package/SVF-doxygen/html/html/CFLAlias_8h.html +4 -0
  3. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +19 -10
  4. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/CFLBase_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/CFLDataBuilder_8h.html +96 -0
  7. package/SVF-doxygen/html/html/CFLDataBuilder_8h_source.html +99 -0
  8. package/SVF-doxygen/html/html/CFLData_8h.html +106 -0
  9. package/SVF-doxygen/html/html/CFLData_8h_source.html +136 -0
  10. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +7 -7
  11. package/SVF-doxygen/html/html/CFLSolver_8h.html +4 -0
  12. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +22 -16
  13. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +2 -1
  16. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +2 -1
  17. package/SVF-doxygen/html/html/IntervalValue_8h_source.html +17 -15
  18. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -3
  23. package/SVF-doxygen/html/html/Options_8h_source.html +4 -3
  24. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
  26. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  27. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +22 -22
  28. package/SVF-doxygen/html/html/SVFG_8h_source.html +37 -36
  29. package/SVF-doxygen/html/html/SVFValue_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +3 -3
  31. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/WTO_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/annotated.html +357 -351
  34. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  35. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -0
  37. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
  38. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +27 -24
  39. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
  40. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +2 -1
  41. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.png +0 -0
  42. package/SVF-doxygen/html/html/classSVF_1_1CFLData-members.html +110 -0
  43. package/SVF-doxygen/html/html/classSVF_1_1CFLData.html +1126 -0
  44. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder-members.html +88 -0
  45. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder.html +380 -0
  46. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +48 -39
  47. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.png +0 -0
  48. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +1 -1
  49. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +3 -2
  50. package/SVF-doxygen/html/html/classSVF_1_1HybridData-members.html +89 -0
  51. package/SVF-doxygen/html/html/classSVF_1_1HybridData.html +449 -0
  52. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue-members.html +5 -4
  53. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +32 -0
  54. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  55. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
  56. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +45 -44
  57. package/SVF-doxygen/html/html/classSVF_1_1Options.html +28 -2
  58. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +281 -0
  59. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +828 -0
  60. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.png +0 -0
  61. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver-members.html +98 -0
  62. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.html +245 -0
  63. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.png +0 -0
  64. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -1
  65. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
  66. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +96 -95
  67. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +157 -121
  68. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +116 -115
  69. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +13 -10
  70. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
  72. package/SVF-doxygen/html/html/classes.html +110 -109
  73. package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +4 -0
  74. package/SVF-doxygen/html/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
  75. package/SVF-doxygen/html/html/files.html +9 -7
  76. package/SVF-doxygen/html/html/functions.html +7 -1
  77. package/SVF-doxygen/html/html/functions_0x7e.html +18 -0
  78. package/SVF-doxygen/html/html/functions_a.html +38 -14
  79. package/SVF-doxygen/html/html/functions_b.html +9 -4
  80. package/SVF-doxygen/html/html/functions_c.html +59 -38
  81. package/SVF-doxygen/html/html/functions_d.html +7 -1
  82. package/SVF-doxygen/html/html/functions_e.html +5 -1
  83. package/SVF-doxygen/html/html/functions_func.html +35 -11
  84. package/SVF-doxygen/html/html/functions_func_0x7e.html +18 -0
  85. package/SVF-doxygen/html/html/functions_func_b.html +8 -3
  86. package/SVF-doxygen/html/html/functions_func_c.html +42 -27
  87. package/SVF-doxygen/html/html/functions_func_e.html +2 -1
  88. package/SVF-doxygen/html/html/functions_func_g.html +20 -7
  89. package/SVF-doxygen/html/html/functions_func_h.html +17 -7
  90. package/SVF-doxygen/html/html/functions_func_i.html +14 -10
  91. package/SVF-doxygen/html/html/functions_func_m.html +3 -2
  92. package/SVF-doxygen/html/html/functions_func_o.html +13 -11
  93. package/SVF-doxygen/html/html/functions_func_p.html +6 -3
  94. package/SVF-doxygen/html/html/functions_func_t.html +4 -0
  95. package/SVF-doxygen/html/html/functions_g.html +22 -9
  96. package/SVF-doxygen/html/html/functions_h.html +15 -5
  97. package/SVF-doxygen/html/html/functions_i.html +24 -15
  98. package/SVF-doxygen/html/html/functions_l.html +5 -5
  99. package/SVF-doxygen/html/html/functions_m.html +2 -1
  100. package/SVF-doxygen/html/html/functions_n.html +3 -3
  101. package/SVF-doxygen/html/html/functions_o.html +23 -21
  102. package/SVF-doxygen/html/html/functions_p.html +23 -20
  103. package/SVF-doxygen/html/html/functions_r.html +3 -5
  104. package/SVF-doxygen/html/html/functions_s.html +16 -13
  105. package/SVF-doxygen/html/html/functions_t.html +12 -2
  106. package/SVF-doxygen/html/html/functions_type_c.html +2 -1
  107. package/SVF-doxygen/html/html/functions_type_d.html +3 -0
  108. package/SVF-doxygen/html/html/functions_type_i.html +2 -1
  109. package/SVF-doxygen/html/html/functions_type_t.html +3 -0
  110. package/SVF-doxygen/html/html/functions_v.html +6 -6
  111. package/SVF-doxygen/html/html/functions_vars.html +7 -1
  112. package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
  113. package/SVF-doxygen/html/html/functions_vars_d.html +3 -0
  114. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  115. package/SVF-doxygen/html/html/functions_vars_i.html +4 -0
  116. package/SVF-doxygen/html/html/functions_vars_p.html +6 -0
  117. package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
  118. package/SVF-doxygen/html/html/functions_vars_t.html +3 -0
  119. package/SVF-doxygen/html/html/hierarchy.html +517 -511
  120. package/SVF-doxygen/html/html/namespaceSVF.html +59 -30
  121. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +3 -2
  122. package/SVF-doxygen/html/html/namespacemembers_l.html +3 -0
  123. package/SVF-doxygen/html/html/namespacemembers_type_l.html +3 -0
  124. package/SVF-doxygen/html/html/search/all_0.js +2 -1
  125. package/SVF-doxygen/html/html/search/all_1.js +8 -1
  126. package/SVF-doxygen/html/html/search/all_10.js +11 -8
  127. package/SVF-doxygen/html/html/search/all_11.js +3 -3
  128. package/SVF-doxygen/html/html/search/all_12.js +7 -6
  129. package/SVF-doxygen/html/html/search/all_13.js +8 -5
  130. package/SVF-doxygen/html/html/search/all_15.js +3 -3
  131. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  132. package/SVF-doxygen/html/html/search/all_19.js +6 -0
  133. package/SVF-doxygen/html/html/search/all_2.js +3 -2
  134. package/SVF-doxygen/html/html/search/all_3.js +11 -6
  135. package/SVF-doxygen/html/html/search/all_4.js +2 -1
  136. package/SVF-doxygen/html/html/search/all_5.js +2 -1
  137. package/SVF-doxygen/html/html/search/all_7.js +6 -2
  138. package/SVF-doxygen/html/html/search/all_8.js +5 -2
  139. package/SVF-doxygen/html/html/search/all_9.js +8 -6
  140. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  141. package/SVF-doxygen/html/html/search/all_c.js +4 -3
  142. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  143. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  144. package/SVF-doxygen/html/html/search/all_f.js +5 -5
  145. package/SVF-doxygen/html/html/search/classes_10.js +1 -0
  146. package/SVF-doxygen/html/html/search/classes_2.js +2 -0
  147. package/SVF-doxygen/html/html/search/classes_7.js +2 -1
  148. package/SVF-doxygen/html/html/search/classes_d.js +2 -0
  149. package/SVF-doxygen/html/html/search/files_2.js +2 -0
  150. package/SVF-doxygen/html/html/search/functions_0.js +8 -1
  151. package/SVF-doxygen/html/html/search/functions_1.js +3 -2
  152. package/SVF-doxygen/html/html/search/functions_12.js +2 -1
  153. package/SVF-doxygen/html/html/search/functions_17.js +6 -0
  154. package/SVF-doxygen/html/html/search/functions_2.js +4 -1
  155. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  156. package/SVF-doxygen/html/html/search/functions_6.js +5 -1
  157. package/SVF-doxygen/html/html/search/functions_7.js +5 -2
  158. package/SVF-doxygen/html/html/search/functions_8.js +2 -1
  159. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  160. package/SVF-doxygen/html/html/search/functions_e.js +2 -2
  161. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  162. package/SVF-doxygen/html/html/search/typedefs_11.js +2 -1
  163. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  164. package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
  165. package/SVF-doxygen/html/html/search/typedefs_7.js +1 -1
  166. package/SVF-doxygen/html/html/search/typedefs_a.js +1 -0
  167. package/SVF-doxygen/html/html/search/variables_0.js +2 -1
  168. package/SVF-doxygen/html/html/search/variables_10.js +2 -0
  169. package/SVF-doxygen/html/html/search/variables_12.js +1 -0
  170. package/SVF-doxygen/html/html/search/variables_13.js +3 -2
  171. package/SVF-doxygen/html/html/search/variables_3.js +1 -0
  172. package/SVF-doxygen/html/html/search/variables_4.js +1 -0
  173. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  174. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  175. package/SVF-doxygen/html/html/search/variables_9.js +2 -1
  176. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  177. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  178. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
  179. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode-members.html +86 -0
  180. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode.html +255 -0
  181. package/include/AbstractExecution/IntervalValue.h +5 -0
  182. package/include/CFL/CFLAlias.h +34 -0
  183. package/include/CFL/CFLData.h +316 -0
  184. package/include/CFL/CFLDataBuilder.h +91 -0
  185. package/include/CFL/CFLSolver.h +21 -0
  186. package/include/Graphs/SVFG.h +6 -0
  187. package/include/Util/Options.h +1 -0
  188. package/lib/CFL/CFLAlias.cpp +36 -0
  189. package/lib/Util/Options.cpp +5 -0
  190. package/package.json +1 -1
  191. package/tools/CFL/cfl.cpp +2 -0
@@ -0,0 +1,89 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.13"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: Member List</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.13 -->
33
+ <script type="text/javascript">
34
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
+ </script>
36
+ <script type="text/javascript" src="menudata.js"></script>
37
+ <script type="text/javascript" src="menu.js"></script>
38
+ <script type="text/javascript">
39
+ $(function() {
40
+ initMenu('',true,false,'search.php','Search');
41
+ $(document).ready(function() { init_search(); });
42
+ });
43
+ </script>
44
+ <div id="main-nav"></div>
45
+ <!-- window showing the filter options -->
46
+ <div id="MSearchSelectWindow"
47
+ onmouseover="return searchBox.OnSearchSelectShow()"
48
+ onmouseout="return searchBox.OnSearchSelectHide()"
49
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
50
+ </div>
51
+
52
+ <!-- iframe showing the search results (closed by default) -->
53
+ <div id="MSearchResultsWindow">
54
+ <iframe src="javascript:void(0)" frameborder="0"
55
+ name="MSearchResults" id="MSearchResults">
56
+ </iframe>
57
+ </div>
58
+
59
+ <div id="nav-path" class="navpath">
60
+ <ul>
61
+ <li class="navelem"><a class="el" href="namespaceSVF.html">SVF</a></li><li class="navelem"><a class="el" href="classSVF_1_1HybridData.html">HybridData</a></li> </ul>
62
+ </div>
63
+ </div><!-- top -->
64
+ <div class="header">
65
+ <div class="headertitle">
66
+ <div class="title">SVF::HybridData Member List</div> </div>
67
+ </div><!--header-->
68
+ <div class="contents">
69
+
70
+ <p>This is the complete list of members for <a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a>, including all inherited members.</p>
71
+ <table class="directory">
72
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1HybridData.html#aa77cded07aeb17c600c5d864694dd922">addArc</a>(NodeID src, NodeID dst)</td><td class="entry"><a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
73
+ <tr><td class="entry"><a class="el" href="classSVF_1_1HybridData.html#a7ef9213832546a850c968d075db6264b">addInd</a>(NodeID src, NodeID dst)</td><td class="entry"><a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
74
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1HybridData.html#ab27e0428efc2db15a97238f2e17e9e73">getNode</a>(NodeID src, NodeID dst)</td><td class="entry"><a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
75
+ <tr><td class="entry"><a class="el" href="classSVF_1_1HybridData.html#aa07399d09863d01ea05a0418846eeb7b">hasInd</a>(NodeID src, NodeID dst)</td><td class="entry"><a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
76
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1HybridData.html#a6300911be9cebefba2248afd9dce59ce">HybridData</a>()</td><td class="entry"><a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
77
+ <tr><td class="entry"><a class="el" href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">indMap</a></td><td class="entry"><a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a></td><td class="entry"></td></tr>
78
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1HybridData.html#a6b88524881456cfa725a818bb6e227aa">insertEdge</a>(TreeNode *u, TreeNode *v)</td><td class="entry"><a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
79
+ <tr><td class="entry"><a class="el" href="classSVF_1_1HybridData.html#acb745344dc5018078823119856308cdb">meld</a>(NodeID x, TreeNode *uNode, TreeNode *vNode)</td><td class="entry"><a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
80
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1HybridData.html#a06a0f79963a5d9a330f030d3c93096f6">~HybridData</a>()</td><td class="entry"><a class="el" href="classSVF_1_1HybridData.html">SVF::HybridData</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
81
+ </table></div><!-- contents -->
82
+ <!-- start footer part -->
83
+ <hr class="footer"/><address class="footer"><small>
84
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
85
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
86
+ </a> 1.8.13
87
+ </small></address>
88
+ </body>
89
+ </html>
@@ -0,0 +1,449 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.13"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: SVF::HybridData 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.13 -->
33
+ <script type="text/javascript">
34
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
+ </script>
36
+ <script type="text/javascript" src="menudata.js"></script>
37
+ <script type="text/javascript" src="menu.js"></script>
38
+ <script type="text/javascript">
39
+ $(function() {
40
+ initMenu('',true,false,'search.php','Search');
41
+ $(document).ready(function() { init_search(); });
42
+ });
43
+ </script>
44
+ <div id="main-nav"></div>
45
+ <!-- window showing the filter options -->
46
+ <div id="MSearchSelectWindow"
47
+ onmouseover="return searchBox.OnSearchSelectShow()"
48
+ onmouseout="return searchBox.OnSearchSelectHide()"
49
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
50
+ </div>
51
+
52
+ <!-- iframe showing the search results (closed by default) -->
53
+ <div id="MSearchResultsWindow">
54
+ <iframe src="javascript:void(0)" frameborder="0"
55
+ name="MSearchResults" id="MSearchResults">
56
+ </iframe>
57
+ </div>
58
+
59
+ <div id="nav-path" class="navpath">
60
+ <ul>
61
+ <li class="navelem"><a class="el" href="namespaceSVF.html">SVF</a></li><li class="navelem"><a class="el" href="classSVF_1_1HybridData.html">HybridData</a></li> </ul>
62
+ </div>
63
+ </div><!-- top -->
64
+ <div class="header">
65
+ <div class="summary">
66
+ <a href="#nested-classes">Classes</a> &#124;
67
+ <a href="#pub-methods">Public Member Functions</a> &#124;
68
+ <a href="#pub-attribs">Public Attributes</a> &#124;
69
+ <a href="classSVF_1_1HybridData-members.html">List of all members</a> </div>
70
+ <div class="headertitle">
71
+ <div class="title">SVF::HybridData Class Reference</div> </div>
72
+ </div><!--header-->
73
+ <div class="contents">
74
+
75
+ <p><code>#include &lt;<a class="el" href="CFLData_8h_source.html">CFLData.h</a>&gt;</code></p>
76
+ <table class="memberdecls">
77
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
78
+ Classes</h2></td></tr>
79
+ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a></td></tr>
80
+ <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
81
+ </table><table class="memberdecls">
82
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
83
+ Public Member Functions</h2></td></tr>
84
+ <tr class="memitem:a6300911be9cebefba2248afd9dce59ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HybridData.html#a6300911be9cebefba2248afd9dce59ce">HybridData</a> ()</td></tr>
85
+ <tr class="separator:a6300911be9cebefba2248afd9dce59ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
86
+ <tr class="memitem:a06a0f79963a5d9a330f030d3c93096f6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HybridData.html#a06a0f79963a5d9a330f030d3c93096f6">~HybridData</a> ()</td></tr>
87
+ <tr class="separator:a06a0f79963a5d9a330f030d3c93096f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
88
+ <tr class="memitem:aa07399d09863d01ea05a0418846eeb7b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HybridData.html#aa07399d09863d01ea05a0418846eeb7b">hasInd</a> (<a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> src, <a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> dst)</td></tr>
89
+ <tr class="separator:aa07399d09863d01ea05a0418846eeb7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
90
+ <tr class="memitem:a7ef9213832546a850c968d075db6264b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HybridData.html#a7ef9213832546a850c968d075db6264b">addInd</a> (<a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> src, <a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> dst)</td></tr>
91
+ <tr class="memdesc:a7ef9213832546a850c968d075db6264b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a node dst to tree(src) <a href="#a7ef9213832546a850c968d075db6264b">More...</a><br /></td></tr>
92
+ <tr class="separator:a7ef9213832546a850c968d075db6264b"><td class="memSeparator" colspan="2">&#160;</td></tr>
93
+ <tr class="memitem:ab27e0428efc2db15a97238f2e17e9e73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HybridData.html#ab27e0428efc2db15a97238f2e17e9e73">getNode</a> (<a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> src, <a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> dst)</td></tr>
94
+ <tr class="memdesc:ab27e0428efc2db15a97238f2e17e9e73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the node dst in tree(src) <a href="#ab27e0428efc2db15a97238f2e17e9e73">More...</a><br /></td></tr>
95
+ <tr class="separator:ab27e0428efc2db15a97238f2e17e9e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
+ <tr class="memitem:a6b88524881456cfa725a818bb6e227aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HybridData.html#a6b88524881456cfa725a818bb6e227aa">insertEdge</a> (<a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *u, <a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *v)</td></tr>
97
+ <tr class="memdesc:a6b88524881456cfa725a818bb6e227aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">add v into desc(x) as a child of u <a href="#a6b88524881456cfa725a818bb6e227aa">More...</a><br /></td></tr>
98
+ <tr class="separator:a6b88524881456cfa725a818bb6e227aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
+ <tr class="memitem:aa77cded07aeb17c600c5d864694dd922"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HybridData.html#aa77cded07aeb17c600c5d864694dd922">addArc</a> (<a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> src, <a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> dst)</td></tr>
100
+ <tr class="separator:aa77cded07aeb17c600c5d864694dd922"><td class="memSeparator" colspan="2">&#160;</td></tr>
101
+ <tr class="memitem:acb745344dc5018078823119856308cdb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HybridData.html#acb745344dc5018078823119856308cdb">meld</a> (<a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> x, <a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *uNode, <a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *vNode)</td></tr>
102
+ <tr class="separator:acb745344dc5018078823119856308cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
+ </table><table class="memberdecls">
104
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
105
+ Public Attributes</h2></td></tr>
106
+ <tr class="memitem:abec2faddf70b046941f146976c8d05df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>, std::unordered_map&lt; <a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>, <a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">indMap</a></td></tr>
107
+ <tr class="separator:abec2faddf70b046941f146976c8d05df"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
+ </table>
109
+ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
110
+ <div class="textblock"><p>Hybrid graph representation for transitive relations </p>
111
+
112
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00214">214</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
113
+ </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
114
+ <a id="a6300911be9cebefba2248afd9dce59ce"></a>
115
+ <h2 class="memtitle"><span class="permalink"><a href="#a6300911be9cebefba2248afd9dce59ce">&#9670;&nbsp;</a></span>HybridData()</h2>
116
+
117
+ <div class="memitem">
118
+ <div class="memproto">
119
+ <table class="mlabels">
120
+ <tr>
121
+ <td class="mlabels-left">
122
+ <table class="memname">
123
+ <tr>
124
+ <td class="memname">SVF::HybridData::HybridData </td>
125
+ <td>(</td>
126
+ <td class="paramname"></td><td>)</td>
127
+ <td></td>
128
+ </tr>
129
+ </table>
130
+ </td>
131
+ <td class="mlabels-right">
132
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
133
+ </tr>
134
+ </table>
135
+ </div><div class="memdoc">
136
+
137
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00244">244</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
138
+ <div class="fragment"><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {}</div></div><!-- fragment -->
139
+ </div>
140
+ </div>
141
+ <a id="a06a0f79963a5d9a330f030d3c93096f6"></a>
142
+ <h2 class="memtitle"><span class="permalink"><a href="#a06a0f79963a5d9a330f030d3c93096f6">&#9670;&nbsp;</a></span>~HybridData()</h2>
143
+
144
+ <div class="memitem">
145
+ <div class="memproto">
146
+ <table class="mlabels">
147
+ <tr>
148
+ <td class="mlabels-left">
149
+ <table class="memname">
150
+ <tr>
151
+ <td class="memname">SVF::HybridData::~HybridData </td>
152
+ <td>(</td>
153
+ <td class="paramname"></td><td>)</td>
154
+ <td></td>
155
+ </tr>
156
+ </table>
157
+ </td>
158
+ <td class="mlabels-right">
159
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
160
+ </tr>
161
+ </table>
162
+ </div><div class="memdoc">
163
+
164
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00247">247</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
165
+ <div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter1: <a class="code" href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">indMap</a>)</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter2: iter1.second)</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keyword">delete</span> iter2.second;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; iter2.second = <a class="code" href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div><div class="ttc" id="classSVF_1_1HybridData_html_abec2faddf70b046941f146976c8d05df"><div class="ttname"><a href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">SVF::HybridData::indMap</a></div><div class="ttdeci">Map&lt; NodeID, std::unordered_map&lt; NodeID, TreeNode * &gt; &gt; indMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00242">CFLData.h:242</a></div></div>
166
+ <div class="ttc" id="cJSON_8cpp_html_a1a05ede2ad100bf5de5dfa7ccdfa4397"><div class="ttname"><a href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a></div><div class="ttdeci">return NULL</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01173">cJSON.cpp:1173</a></div></div>
167
+ </div><!-- fragment -->
168
+ </div>
169
+ </div>
170
+ <h2 class="groupheader">Member Function Documentation</h2>
171
+ <a id="aa77cded07aeb17c600c5d864694dd922"></a>
172
+ <h2 class="memtitle"><span class="permalink"><a href="#aa77cded07aeb17c600c5d864694dd922">&#9670;&nbsp;</a></span>addArc()</h2>
173
+
174
+ <div class="memitem">
175
+ <div class="memproto">
176
+ <table class="mlabels">
177
+ <tr>
178
+ <td class="mlabels-left">
179
+ <table class="memname">
180
+ <tr>
181
+ <td class="memname">void SVF::HybridData::addArc </td>
182
+ <td>(</td>
183
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>&#160;</td>
184
+ <td class="paramname"><em>src</em>, </td>
185
+ </tr>
186
+ <tr>
187
+ <td class="paramkey"></td>
188
+ <td></td>
189
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>&#160;</td>
190
+ <td class="paramname"><em>dst</em>&#160;</td>
191
+ </tr>
192
+ <tr>
193
+ <td></td>
194
+ <td>)</td>
195
+ <td></td><td></td>
196
+ </tr>
197
+ </table>
198
+ </td>
199
+ <td class="mlabels-right">
200
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
201
+ </tr>
202
+ </table>
203
+ </div><div class="memdoc">
204
+
205
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00288">288</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
206
+ <div class="fragment"><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1HybridData.html#aa07399d09863d01ea05a0418846eeb7b">hasInd</a>(src, dst))</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter: <a class="code" href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">indMap</a>[src])</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="classSVF_1_1HybridData.html#acb745344dc5018078823119856308cdb">meld</a>(iter.first, <a class="code" href="classSVF_1_1HybridData.html#ab27e0428efc2db15a97238f2e17e9e73">getNode</a>(iter.first, src), <a class="code" href="classSVF_1_1HybridData.html#ab27e0428efc2db15a97238f2e17e9e73">getNode</a>(dst, dst));</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="ttc" id="classSVF_1_1HybridData_html_acb745344dc5018078823119856308cdb"><div class="ttname"><a href="classSVF_1_1HybridData.html#acb745344dc5018078823119856308cdb">SVF::HybridData::meld</a></div><div class="ttdeci">void meld(NodeID x, TreeNode *uNode, TreeNode *vNode)</div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00299">CFLData.h:299</a></div></div>
207
+ <div class="ttc" id="classSVF_1_1HybridData_html_abec2faddf70b046941f146976c8d05df"><div class="ttname"><a href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">SVF::HybridData::indMap</a></div><div class="ttdeci">Map&lt; NodeID, std::unordered_map&lt; NodeID, TreeNode * &gt; &gt; indMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00242">CFLData.h:242</a></div></div>
208
+ <div class="ttc" id="classSVF_1_1HybridData_html_ab27e0428efc2db15a97238f2e17e9e73"><div class="ttname"><a href="classSVF_1_1HybridData.html#ab27e0428efc2db15a97238f2e17e9e73">SVF::HybridData::getNode</a></div><div class="ttdeci">TreeNode * getNode(NodeID src, NodeID dst)</div><div class="ttdoc">Get the node dst in tree(src) </div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00277">CFLData.h:277</a></div></div>
209
+ <div class="ttc" id="classSVF_1_1HybridData_html_aa07399d09863d01ea05a0418846eeb7b"><div class="ttname"><a href="classSVF_1_1HybridData.html#aa07399d09863d01ea05a0418846eeb7b">SVF::HybridData::hasInd</a></div><div class="ttdeci">bool hasInd(NodeID src, NodeID dst)</div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00259">CFLData.h:259</a></div></div>
210
+ </div><!-- fragment -->
211
+ </div>
212
+ </div>
213
+ <a id="a7ef9213832546a850c968d075db6264b"></a>
214
+ <h2 class="memtitle"><span class="permalink"><a href="#a7ef9213832546a850c968d075db6264b">&#9670;&nbsp;</a></span>addInd()</h2>
215
+
216
+ <div class="memitem">
217
+ <div class="memproto">
218
+ <table class="mlabels">
219
+ <tr>
220
+ <td class="mlabels-left">
221
+ <table class="memname">
222
+ <tr>
223
+ <td class="memname"><a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a>* SVF::HybridData::addInd </td>
224
+ <td>(</td>
225
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>&#160;</td>
226
+ <td class="paramname"><em>src</em>, </td>
227
+ </tr>
228
+ <tr>
229
+ <td class="paramkey"></td>
230
+ <td></td>
231
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>&#160;</td>
232
+ <td class="paramname"><em>dst</em>&#160;</td>
233
+ </tr>
234
+ <tr>
235
+ <td></td>
236
+ <td>)</td>
237
+ <td></td><td></td>
238
+ </tr>
239
+ </table>
240
+ </td>
241
+ <td class="mlabels-right">
242
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
243
+ </tr>
244
+ </table>
245
+ </div><div class="memdoc">
246
+
247
+ <p>Add a node dst to tree(src) </p>
248
+
249
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00268">268</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
250
+ <div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keyword">auto</span> resIns = <a class="code" href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">indMap</a>[dst].insert(std::make_pair(src, <span class="keyword">new</span> TreeNode(dst)));</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> (resIns.second)</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> resIns.first-&gt;second;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; }</div><div class="ttc" id="classSVF_1_1HybridData_html_abec2faddf70b046941f146976c8d05df"><div class="ttname"><a href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">SVF::HybridData::indMap</a></div><div class="ttdeci">Map&lt; NodeID, std::unordered_map&lt; NodeID, TreeNode * &gt; &gt; indMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00242">CFLData.h:242</a></div></div>
251
+ </div><!-- fragment -->
252
+ </div>
253
+ </div>
254
+ <a id="ab27e0428efc2db15a97238f2e17e9e73"></a>
255
+ <h2 class="memtitle"><span class="permalink"><a href="#ab27e0428efc2db15a97238f2e17e9e73">&#9670;&nbsp;</a></span>getNode()</h2>
256
+
257
+ <div class="memitem">
258
+ <div class="memproto">
259
+ <table class="mlabels">
260
+ <tr>
261
+ <td class="mlabels-left">
262
+ <table class="memname">
263
+ <tr>
264
+ <td class="memname"><a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a>* SVF::HybridData::getNode </td>
265
+ <td>(</td>
266
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>&#160;</td>
267
+ <td class="paramname"><em>src</em>, </td>
268
+ </tr>
269
+ <tr>
270
+ <td class="paramkey"></td>
271
+ <td></td>
272
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>&#160;</td>
273
+ <td class="paramname"><em>dst</em>&#160;</td>
274
+ </tr>
275
+ <tr>
276
+ <td></td>
277
+ <td>)</td>
278
+ <td></td><td></td>
279
+ </tr>
280
+ </table>
281
+ </td>
282
+ <td class="mlabels-right">
283
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
284
+ </tr>
285
+ </table>
286
+ </div><div class="memdoc">
287
+
288
+ <p>Get the node dst in tree(src) </p>
289
+
290
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00277">277</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
291
+ <div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">indMap</a>[dst][src];</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; }</div><div class="ttc" id="classSVF_1_1HybridData_html_abec2faddf70b046941f146976c8d05df"><div class="ttname"><a href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">SVF::HybridData::indMap</a></div><div class="ttdeci">Map&lt; NodeID, std::unordered_map&lt; NodeID, TreeNode * &gt; &gt; indMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00242">CFLData.h:242</a></div></div>
292
+ </div><!-- fragment -->
293
+ </div>
294
+ </div>
295
+ <a id="aa07399d09863d01ea05a0418846eeb7b"></a>
296
+ <h2 class="memtitle"><span class="permalink"><a href="#aa07399d09863d01ea05a0418846eeb7b">&#9670;&nbsp;</a></span>hasInd()</h2>
297
+
298
+ <div class="memitem">
299
+ <div class="memproto">
300
+ <table class="mlabels">
301
+ <tr>
302
+ <td class="mlabels-left">
303
+ <table class="memname">
304
+ <tr>
305
+ <td class="memname">bool SVF::HybridData::hasInd </td>
306
+ <td>(</td>
307
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>&#160;</td>
308
+ <td class="paramname"><em>src</em>, </td>
309
+ </tr>
310
+ <tr>
311
+ <td class="paramkey"></td>
312
+ <td></td>
313
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>&#160;</td>
314
+ <td class="paramname"><em>dst</em>&#160;</td>
315
+ </tr>
316
+ <tr>
317
+ <td></td>
318
+ <td>)</td>
319
+ <td></td><td></td>
320
+ </tr>
321
+ </table>
322
+ </td>
323
+ <td class="mlabels-right">
324
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
325
+ </tr>
326
+ </table>
327
+ </div><div class="memdoc">
328
+
329
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00259">259</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
330
+ <div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">indMap</a>.find(dst);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">indMap</a>.end())</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> (it-&gt;second.find(src) != it-&gt;second.end());</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div><div class="ttc" id="classSVF_1_1HybridData_html_abec2faddf70b046941f146976c8d05df"><div class="ttname"><a href="classSVF_1_1HybridData.html#abec2faddf70b046941f146976c8d05df">SVF::HybridData::indMap</a></div><div class="ttdeci">Map&lt; NodeID, std::unordered_map&lt; NodeID, TreeNode * &gt; &gt; indMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00242">CFLData.h:242</a></div></div>
331
+ </div><!-- fragment -->
332
+ </div>
333
+ </div>
334
+ <a id="a6b88524881456cfa725a818bb6e227aa"></a>
335
+ <h2 class="memtitle"><span class="permalink"><a href="#a6b88524881456cfa725a818bb6e227aa">&#9670;&nbsp;</a></span>insertEdge()</h2>
336
+
337
+ <div class="memitem">
338
+ <div class="memproto">
339
+ <table class="mlabels">
340
+ <tr>
341
+ <td class="mlabels-left">
342
+ <table class="memname">
343
+ <tr>
344
+ <td class="memname">void SVF::HybridData::insertEdge </td>
345
+ <td>(</td>
346
+ <td class="paramtype"><a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *&#160;</td>
347
+ <td class="paramname"><em>u</em>, </td>
348
+ </tr>
349
+ <tr>
350
+ <td class="paramkey"></td>
351
+ <td></td>
352
+ <td class="paramtype"><a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *&#160;</td>
353
+ <td class="paramname"><em>v</em>&#160;</td>
354
+ </tr>
355
+ <tr>
356
+ <td></td>
357
+ <td>)</td>
358
+ <td></td><td></td>
359
+ </tr>
360
+ </table>
361
+ </td>
362
+ <td class="mlabels-right">
363
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
364
+ </tr>
365
+ </table>
366
+ </div><div class="memdoc">
367
+
368
+ <p>add v into desc(x) as a child of u </p>
369
+
370
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00283">283</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
371
+ <div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; u-&gt;children.insert(v);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div></div><!-- fragment -->
372
+ </div>
373
+ </div>
374
+ <a id="acb745344dc5018078823119856308cdb"></a>
375
+ <h2 class="memtitle"><span class="permalink"><a href="#acb745344dc5018078823119856308cdb">&#9670;&nbsp;</a></span>meld()</h2>
376
+
377
+ <div class="memitem">
378
+ <div class="memproto">
379
+ <table class="mlabels">
380
+ <tr>
381
+ <td class="mlabels-left">
382
+ <table class="memname">
383
+ <tr>
384
+ <td class="memname">void SVF::HybridData::meld </td>
385
+ <td>(</td>
386
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>&#160;</td>
387
+ <td class="paramname"><em>x</em>, </td>
388
+ </tr>
389
+ <tr>
390
+ <td class="paramkey"></td>
391
+ <td></td>
392
+ <td class="paramtype"><a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *&#160;</td>
393
+ <td class="paramname"><em>uNode</em>, </td>
394
+ </tr>
395
+ <tr>
396
+ <td class="paramkey"></td>
397
+ <td></td>
398
+ <td class="paramtype"><a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> *&#160;</td>
399
+ <td class="paramname"><em>vNode</em>&#160;</td>
400
+ </tr>
401
+ <tr>
402
+ <td></td>
403
+ <td>)</td>
404
+ <td></td><td></td>
405
+ </tr>
406
+ </table>
407
+ </td>
408
+ <td class="mlabels-right">
409
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
410
+ </tr>
411
+ </table>
412
+ </div><div class="memdoc">
413
+
414
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00299">299</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
415
+ <div class="fragment"><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; TreeNode* newVNode = <a class="code" href="classSVF_1_1HybridData.html#a7ef9213832546a850c968d075db6264b">addInd</a>(x, vNode-&gt;id);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">if</span> (!newVNode)</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="classSVF_1_1HybridData.html#a6b88524881456cfa725a818bb6e227aa">insertEdge</a>(uNode, newVNode);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">for</span> (TreeNode* vChild: vNode-&gt;children)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="classSVF_1_1HybridData.html#acb745344dc5018078823119856308cdb">meld</a>(x, newVNode, vChild);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; }</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; }</div><div class="ttc" id="classSVF_1_1HybridData_html_a7ef9213832546a850c968d075db6264b"><div class="ttname"><a href="classSVF_1_1HybridData.html#a7ef9213832546a850c968d075db6264b">SVF::HybridData::addInd</a></div><div class="ttdeci">TreeNode * addInd(NodeID src, NodeID dst)</div><div class="ttdoc">Add a node dst to tree(src) </div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00268">CFLData.h:268</a></div></div>
416
+ <div class="ttc" id="classSVF_1_1HybridData_html_a6b88524881456cfa725a818bb6e227aa"><div class="ttname"><a href="classSVF_1_1HybridData.html#a6b88524881456cfa725a818bb6e227aa">SVF::HybridData::insertEdge</a></div><div class="ttdeci">void insertEdge(TreeNode *u, TreeNode *v)</div><div class="ttdoc">add v into desc(x) as a child of u </div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00283">CFLData.h:283</a></div></div>
417
+ <div class="ttc" id="classSVF_1_1HybridData_html_acb745344dc5018078823119856308cdb"><div class="ttname"><a href="classSVF_1_1HybridData.html#acb745344dc5018078823119856308cdb">SVF::HybridData::meld</a></div><div class="ttdeci">void meld(NodeID x, TreeNode *uNode, TreeNode *vNode)</div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00299">CFLData.h:299</a></div></div>
418
+ </div><!-- fragment -->
419
+ </div>
420
+ </div>
421
+ <h2 class="groupheader">Member Data Documentation</h2>
422
+ <a id="abec2faddf70b046941f146976c8d05df"></a>
423
+ <h2 class="memtitle"><span class="permalink"><a href="#abec2faddf70b046941f146976c8d05df">&#9670;&nbsp;</a></span>indMap</h2>
424
+
425
+ <div class="memitem">
426
+ <div class="memproto">
427
+ <table class="memname">
428
+ <tr>
429
+ <td class="memname"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>, std::unordered_map&lt;<a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>, <a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a>*&gt; &gt; SVF::HybridData::indMap</td>
430
+ </tr>
431
+ </table>
432
+ </div><div class="memdoc">
433
+
434
+ <p class="definition">Definition at line <a class="el" href="CFLData_8h_source.html#l00242">242</a> of file <a class="el" href="CFLData_8h_source.html">CFLData.h</a>.</p>
435
+
436
+ </div>
437
+ </div>
438
+ <hr/>The documentation for this class was generated from the following file:<ul>
439
+ <li>/home/runner/work/SVF/SVF/include/CFL/<a class="el" href="CFLData_8h_source.html">CFLData.h</a></li>
440
+ </ul>
441
+ </div><!-- contents -->
442
+ <!-- start footer part -->
443
+ <hr class="footer"/><address class="footer"><small>
444
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
445
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
446
+ </a> 1.8.13
447
+ </small></address>
448
+ </body>
449
+ </html>
@@ -124,10 +124,11 @@ $(function() {
124
124
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b">setUb</a>(const NumericLiteral &amp;ub)</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
125
125
  <tr><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a">setValue</a>(const NumericLiteral &amp;lb, const NumericLiteral &amp;ub)</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
126
126
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">top</a>()</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
127
- <tr><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
128
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144">widen_with</a>(const IntervalValue &amp;other)</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
129
- <tr><td class="entry"><a class="el" href="classSVF_1_1AbstractValue.html#ab6901c81e0a0153120de25876b44e3c4">~AbstractValue</a>()=default</td><td class="entry"><a class="el" href="classSVF_1_1AbstractValue.html">SVF::AbstractValue</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
130
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#afcd424e419fe66750c47df21774bb22c">~IntervalValue</a>() override=default</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"></td></tr>
127
+ <tr><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#af5ee3e3b58d9661217ab6f08ffb98bbd">toString</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
128
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
129
+ <tr><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144">widen_with</a>(const IntervalValue &amp;other)</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
130
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AbstractValue.html#ab6901c81e0a0153120de25876b44e3c4">~AbstractValue</a>()=default</td><td class="entry"><a class="el" href="classSVF_1_1AbstractValue.html">SVF::AbstractValue</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
131
+ <tr><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html#afcd424e419fe66750c47df21774bb22c">~IntervalValue</a>() override=default</td><td class="entry"><a class="el" href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></td><td class="entry"></td></tr>
131
132
  </table></div><!-- contents -->
132
133
  <!-- start footer part -->
133
134
  <hr class="footer"/><address class="footer"><small>