svf-tools 1.0.620 → 1.0.621
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.
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -2
- package/SVF-doxygen/html/html/CFLAlias_8h.html +4 -0
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +19 -10
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CFLBase_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLDataBuilder_8h.html +96 -0
- package/SVF-doxygen/html/html/CFLDataBuilder_8h_source.html +99 -0
- package/SVF-doxygen/html/html/CFLData_8h.html +106 -0
- package/SVF-doxygen/html/html/CFLData_8h_source.html +136 -0
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CFLSolver_8h.html +4 -0
- package/SVF-doxygen/html/html/CFLSolver_8h_source.html +22 -16
- package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/GraphWriter_8h_source.html +2 -1
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -3
- package/SVF-doxygen/html/html/Options_8h_source.html +4 -3
- package/SVF-doxygen/html/html/annotated.html +357 -351
- package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -0
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +27 -24
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +2 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLData-members.html +110 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLData.html +1126 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder-members.html +88 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder.html +380 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +48 -39
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +3 -2
- package/SVF-doxygen/html/html/classSVF_1_1HybridData-members.html +89 -0
- package/SVF-doxygen/html/html/classSVF_1_1HybridData.html +449 -0
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +45 -44
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +28 -2
- package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +281 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +828 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRSolver-members.html +98 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.html +245 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +1 -1
- package/SVF-doxygen/html/html/classes.html +110 -109
- package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +4 -0
- package/SVF-doxygen/html/html/files.html +9 -7
- package/SVF-doxygen/html/html/functions.html +7 -1
- package/SVF-doxygen/html/html/functions_0x7e.html +18 -0
- package/SVF-doxygen/html/html/functions_a.html +38 -14
- package/SVF-doxygen/html/html/functions_b.html +9 -4
- package/SVF-doxygen/html/html/functions_c.html +59 -38
- package/SVF-doxygen/html/html/functions_d.html +7 -1
- package/SVF-doxygen/html/html/functions_e.html +5 -1
- package/SVF-doxygen/html/html/functions_func.html +35 -11
- package/SVF-doxygen/html/html/functions_func_0x7e.html +18 -0
- package/SVF-doxygen/html/html/functions_func_b.html +8 -3
- package/SVF-doxygen/html/html/functions_func_c.html +42 -27
- package/SVF-doxygen/html/html/functions_func_e.html +2 -1
- package/SVF-doxygen/html/html/functions_func_g.html +20 -7
- package/SVF-doxygen/html/html/functions_func_h.html +10 -3
- package/SVF-doxygen/html/html/functions_func_i.html +14 -10
- package/SVF-doxygen/html/html/functions_func_m.html +3 -2
- package/SVF-doxygen/html/html/functions_func_o.html +13 -11
- package/SVF-doxygen/html/html/functions_func_p.html +6 -3
- package/SVF-doxygen/html/html/functions_func_t.html +3 -0
- package/SVF-doxygen/html/html/functions_g.html +22 -9
- package/SVF-doxygen/html/html/functions_h.html +12 -5
- package/SVF-doxygen/html/html/functions_i.html +20 -11
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +2 -1
- package/SVF-doxygen/html/html/functions_n.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +26 -24
- package/SVF-doxygen/html/html/functions_p.html +23 -14
- package/SVF-doxygen/html/html/functions_r.html +3 -5
- package/SVF-doxygen/html/html/functions_s.html +11 -10
- package/SVF-doxygen/html/html/functions_t.html +13 -4
- package/SVF-doxygen/html/html/functions_type_c.html +2 -1
- package/SVF-doxygen/html/html/functions_type_d.html +3 -0
- package/SVF-doxygen/html/html/functions_type_i.html +2 -1
- package/SVF-doxygen/html/html/functions_type_t.html +3 -0
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars.html +7 -1
- package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_d.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_i.html +4 -0
- package/SVF-doxygen/html/html/functions_vars_p.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_t.html +3 -0
- package/SVF-doxygen/html/html/hierarchy.html +517 -511
- package/SVF-doxygen/html/html/namespaceSVF.html +29 -0
- package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +3 -2
- package/SVF-doxygen/html/html/namespacemembers_l.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_l.html +3 -0
- package/SVF-doxygen/html/html/search/all_0.js +2 -1
- package/SVF-doxygen/html/html/search/all_1.js +8 -1
- package/SVF-doxygen/html/html/search/all_10.js +8 -5
- package/SVF-doxygen/html/html/search/all_11.js +3 -3
- package/SVF-doxygen/html/html/search/all_12.js +7 -6
- package/SVF-doxygen/html/html/search/all_13.js +7 -4
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_19.js +6 -0
- package/SVF-doxygen/html/html/search/all_2.js +3 -2
- package/SVF-doxygen/html/html/search/all_3.js +11 -6
- package/SVF-doxygen/html/html/search/all_4.js +2 -1
- package/SVF-doxygen/html/html/search/all_5.js +2 -1
- package/SVF-doxygen/html/html/search/all_7.js +5 -1
- package/SVF-doxygen/html/html/search/all_8.js +4 -2
- package/SVF-doxygen/html/html/search/all_9.js +7 -5
- package/SVF-doxygen/html/html/search/all_c.js +3 -2
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +4 -4
- package/SVF-doxygen/html/html/search/classes_10.js +1 -0
- package/SVF-doxygen/html/html/search/classes_2.js +2 -0
- package/SVF-doxygen/html/html/search/classes_7.js +2 -1
- package/SVF-doxygen/html/html/search/classes_d.js +2 -0
- package/SVF-doxygen/html/html/search/files_2.js +2 -0
- package/SVF-doxygen/html/html/search/functions_0.js +8 -1
- package/SVF-doxygen/html/html/search/functions_1.js +3 -2
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_12.js +1 -0
- package/SVF-doxygen/html/html/search/functions_17.js +6 -0
- package/SVF-doxygen/html/html/search/functions_2.js +4 -1
- package/SVF-doxygen/html/html/search/functions_4.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +5 -1
- package/SVF-doxygen/html/html/search/functions_7.js +4 -2
- package/SVF-doxygen/html/html/search/functions_8.js +3 -2
- package/SVF-doxygen/html/html/search/functions_c.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +2 -2
- package/SVF-doxygen/html/html/search/functions_f.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_11.js +2 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_7.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_a.js +1 -0
- package/SVF-doxygen/html/html/search/variables_0.js +2 -1
- package/SVF-doxygen/html/html/search/variables_10.js +2 -0
- package/SVF-doxygen/html/html/search/variables_12.js +1 -0
- package/SVF-doxygen/html/html/search/variables_13.js +2 -1
- package/SVF-doxygen/html/html/search/variables_3.js +1 -0
- package/SVF-doxygen/html/html/search/variables_4.js +1 -0
- package/SVF-doxygen/html/html/search/variables_5.js +1 -0
- package/SVF-doxygen/html/html/search/variables_9.js +2 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode-members.html +86 -0
- package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode.html +255 -0
- package/include/CFL/CFLAlias.h +34 -0
- package/include/CFL/CFLData.h +316 -0
- package/include/CFL/CFLDataBuilder.h +91 -0
- package/include/CFL/CFLSolver.h +21 -0
- package/include/Util/Options.h +1 -0
- package/lib/CFL/CFLAlias.cpp +36 -0
- package/lib/Util/Options.cpp +5 -0
- package/package.json +1 -1
- 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  <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> |
|
|
67
|
+
<a href="#pub-methods">Public Member Functions</a> |
|
|
68
|
+
<a href="#pub-attribs">Public Attributes</a> |
|
|
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 <<a class="el" href="CFLData_8h_source.html">CFLData.h</a>></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  </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"> </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"> </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"> </td></tr>
|
|
86
|
+
<tr class="memitem:a06a0f79963a5d9a330f030d3c93096f6"><td class="memItemLeft" align="right" valign="top"> </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"> </td></tr>
|
|
88
|
+
<tr class="memitem:aa07399d09863d01ea05a0418846eeb7b"><td class="memItemLeft" align="right" valign="top">bool </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"> </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> * </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"> </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"> </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> * </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"> </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"> </td></tr>
|
|
96
|
+
<tr class="memitem:a6b88524881456cfa725a818bb6e227aa"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr>
|
|
99
|
+
<tr class="memitem:aa77cded07aeb17c600c5d864694dd922"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr>
|
|
101
|
+
<tr class="memitem:acb745344dc5018078823119856308cdb"><td class="memItemLeft" align="right" valign="top">void </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"> </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>< <a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>, std::unordered_map< <a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>, <a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a> * > > </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"> </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 & Destructor Documentation</h2>
|
|
114
|
+
<a id="a6300911be9cebefba2248afd9dce59ce"></a>
|
|
115
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a6300911be9cebefba2248afd9dce59ce">◆ </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>  {}</div></div><!-- fragment -->
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
<a id="a06a0f79963a5d9a330f030d3c93096f6"></a>
|
|
142
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a06a0f79963a5d9a330f030d3c93096f6">◆ </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>  {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <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>  {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <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>  {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keyword">delete</span> iter2.second;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  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>  }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  }</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</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< NodeID, std::unordered_map< NodeID, TreeNode * > > 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">◆ </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> </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> </td>
|
|
190
|
+
<td class="paramname"><em>dst</em> </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>  {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <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>  {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <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>  {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <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>  }</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  }</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  }</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< NodeID, std::unordered_map< NodeID, TreeNode * > > 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">◆ </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> </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> </td>
|
|
232
|
+
<td class="paramname"><em>dst</em> </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>  {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <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>  <span class="keywordflow">if</span> (resIns.second)</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">return</span> resIns.first->second;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</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< NodeID, std::unordered_map< NodeID, TreeNode * > > 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">◆ </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> </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> </td>
|
|
273
|
+
<td class="paramname"><em>dst</em> </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>  {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <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>  }</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< NodeID, std::unordered_map< NodeID, TreeNode * > > 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">◆ </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> </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> </td>
|
|
314
|
+
<td class="paramname"><em>dst</em> </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>  {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <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>  <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>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> (it->second.find(src) != it->second.end());</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  }</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< NodeID, std::unordered_map< NodeID, TreeNode * > > 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">◆ </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> * </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> * </td>
|
|
353
|
+
<td class="paramname"><em>v</em> </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>  {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  u->children.insert(v);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  }</div></div><!-- fragment -->
|
|
372
|
+
</div>
|
|
373
|
+
</div>
|
|
374
|
+
<a id="acb745344dc5018078823119856308cdb"></a>
|
|
375
|
+
<h2 class="memtitle"><span class="permalink"><a href="#acb745344dc5018078823119856308cdb">◆ </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> </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> * </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> * </td>
|
|
399
|
+
<td class="paramname"><em>vNode</em> </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>  {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  TreeNode* newVNode = <a class="code" href="classSVF_1_1HybridData.html#a7ef9213832546a850c968d075db6264b">addInd</a>(x, vNode->id);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">if</span> (!newVNode)</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <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>  <span class="keywordflow">for</span> (TreeNode* vChild: vNode->children)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <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>  }</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  }</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">◆ </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><<a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>, std::unordered_map<<a class="el" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a>, <a class="el" href="structSVF_1_1HybridData_1_1TreeNode.html">TreeNode</a>*> > 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  <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>
|
|
@@ -306,7 +306,7 @@ Public Member Functions</h2></td></tr>
|
|
|
306
306
|
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00061">BasicTypes.h:61</a></div></div>
|
|
307
307
|
<div class="ttc" id="classSVF_1_1SVFLoop_html_a585d03a1ba76d63ae1dfa689b23b9835"><div class="ttname"><a href="classSVF_1_1SVFLoop.html#a585d03a1ba76d63ae1dfa689b23b9835">SVF::SVFLoop::addOutICFGEdge</a></div><div class="ttdeci">void addOutICFGEdge(const ICFGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="SVFLoop_8h_source.html#l00106">SVFLoop.h:106</a></div></div>
|
|
308
308
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a2d9cd758d6f8c5189d9b90b74f43e009"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">SVF::GenericNode::getOutEdges</a></div><div class="ttdeci">const GEdgeSetTy & getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00184">GenericGraph.h:184</a></div></div>
|
|
309
|
-
<div class="ttc" id="classSVF_1_1Options_html_a17f11eb3e9a3178395e8574a027b181e"><div class="ttname"><a href="classSVF_1_1Options.html#a17f11eb3e9a3178395e8574a027b181e">SVF::Options::LoopBound</a></div><div class="ttdeci">static const Option< u32_t > LoopBound</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
309
|
+
<div class="ttc" id="classSVF_1_1Options_html_a17f11eb3e9a3178395e8574a027b181e"><div class="ttname"><a href="classSVF_1_1Options.html#a17f11eb3e9a3178395e8574a027b181e">SVF::Options::LoopBound</a></div><div class="ttdeci">static const Option< u32_t > LoopBound</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00262">Options.h:262</a></div></div>
|
|
310
310
|
<div class="ttc" id="classSVF_1_1SVFLoop_html_a774d05838ad9b3cac8d2fb6d7b7edd00"><div class="ttname"><a href="classSVF_1_1SVFLoop.html#a774d05838ad9b3cac8d2fb6d7b7edd00">SVF::SVFLoop::addEntryICFGEdge</a></div><div class="ttdeci">void addEntryICFGEdge(const ICFGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="SVFLoop_8h_source.html#l00091">SVFLoop.h:91</a></div></div>
|
|
311
311
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
312
312
|
<div class="ttc" id="classSVF_1_1ICFG_html_a5f2c0aaba07d6fdd63058da0fb60ca8b"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">SVF::ICFG::getICFGNode</a></div><div class="ttdeci">ICFGNode * getICFGNode(NodeID id) const</div><div class="ttdoc">Get a ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00087">ICFG.h:87</a></div></div>
|