svf-tools 1.0.286 → 1.0.287
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/ConditionalPT_8h.html +2 -0
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +56 -53
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -2
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +50 -50
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp.html +1 -0
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +11 -11
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/annotated.html +14 -13
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CondPointsToSet.html +115 -115
- package/SVF-doxygen/html/html/classSVF_1_1CondPointsToSet_1_1CondPtsSetIterator.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1CondStdSet-members.html +27 -26
- package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +56 -21
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +3 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +106 -104
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFGNodeLockSpan.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +9 -9
- package/SVF-doxygen/html/html/classes.html +93 -92
- package/SVF-doxygen/html/html/functions_a.html +1 -1
- package/SVF-doxygen/html/html/functions_c.html +24 -19
- package/SVF-doxygen/html/html/functions_f.html +6 -6
- package/SVF-doxygen/html/html/functions_func.html +1 -1
- package/SVF-doxygen/html/html/functions_func_c.html +20 -17
- package/SVF-doxygen/html/html/functions_func_g.html +2 -2
- package/SVF-doxygen/html/html/functions_func_o.html +2 -1
- package/SVF-doxygen/html/html/functions_g.html +3 -3
- package/SVF-doxygen/html/html/functions_i.html +3 -3
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_n.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +5 -4
- package/SVF-doxygen/html/html/functions_p.html +14 -16
- package/SVF-doxygen/html/html/functions_r.html +3 -7
- package/SVF-doxygen/html/html/functions_s.html +10 -12
- package/SVF-doxygen/html/html/functions_type_n.html +1 -1
- package/SVF-doxygen/html/html/functions_u.html +3 -3
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_c.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
- package/SVF-doxygen/html/html/hierarchy.html +165 -164
- package/SVF-doxygen/html/html/search/all_1.js +1 -1
- package/SVF-doxygen/html/html/search/all_10.js +10 -10
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +7 -7
- package/SVF-doxygen/html/html/search/all_14.js +3 -3
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +3 -2
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +2 -2
- package/SVF-doxygen/html/html/search/all_8.js +1 -0
- package/SVF-doxygen/html/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +5 -5
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/classes_7.js +1 -0
- package/SVF-doxygen/html/html/search/functions_0.js +1 -1
- package/SVF-doxygen/html/html/search/functions_2.js +2 -1
- package/SVF-doxygen/html/html/search/functions_6.js +1 -1
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +131 -0
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondVar_3_01Cond_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SVFGNodeLockSpan_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01const_01SVF_1_1CondVar_3_01Cond_01_4_01_4.html +3 -3
- package/include/DDA/DDAVFSolver.h +1 -1
- package/include/Graphs/SVFGEdge.h +3 -3
- package/include/Graphs/SVFGNode.h +2 -2
- package/include/MTA/FSMPTA.h +1 -0
- package/include/MemoryModel/ConditionalPT.h +21 -5
- package/include/SABER/SaberSVFGBuilder.h +3 -3
- package/lib/Graphs/SVFGStat.cpp +1 -1
- package/lib/Graphs/ThreadCallGraph.cpp +4 -4
- package/lib/MTA/FSMPTA.cpp +7 -7
- package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
- package/lib/SABER/SaberSVFGBuilder.cpp +2 -1
- package/lib/WPA/FlowSensitive.cpp +2 -2
- package/lib/WPA/FlowSensitiveTBHC.cpp +2 -2
- package/lib/WPA/VersionedFlowSensitive.cpp +1 -1
- package/package.json +1 -1
|
@@ -203,7 +203,7 @@ class SVF::CondPointsToSet< Cond ></h3>
|
|
|
203
203
|
|
|
204
204
|
<p>Conditional Points-to set </p>
|
|
205
205
|
|
|
206
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
206
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00303">303</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
207
207
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
208
208
|
<a id="aaddc3f78a624de59dda6f078ba63ba52"></a>
|
|
209
209
|
<h2 class="memtitle"><span class="permalink"><a href="#aaddc3f78a624de59dda6f078ba63ba52">◆ </a></span>CondPts</h2>
|
|
@@ -219,7 +219,7 @@ template<class Cond> </div>
|
|
|
219
219
|
</table>
|
|
220
220
|
</div><div class="memdoc">
|
|
221
221
|
|
|
222
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
222
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00306">306</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
223
223
|
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
@@ -237,7 +237,7 @@ template<class Cond> </div>
|
|
|
237
237
|
</table>
|
|
238
238
|
</div><div class="memdoc">
|
|
239
239
|
|
|
240
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
240
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00308">308</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
241
241
|
|
|
242
242
|
</div>
|
|
243
243
|
</div>
|
|
@@ -255,7 +255,7 @@ template<class Cond> </div>
|
|
|
255
255
|
</table>
|
|
256
256
|
</div><div class="memdoc">
|
|
257
257
|
|
|
258
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
258
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00307">307</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
259
259
|
|
|
260
260
|
</div>
|
|
261
261
|
</div>
|
|
@@ -273,7 +273,7 @@ template<class Cond> </div>
|
|
|
273
273
|
</table>
|
|
274
274
|
</div><div class="memdoc">
|
|
275
275
|
|
|
276
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
276
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00814">814</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
277
277
|
|
|
278
278
|
</div>
|
|
279
279
|
</div>
|
|
@@ -291,7 +291,7 @@ template<class Cond> </div>
|
|
|
291
291
|
</table>
|
|
292
292
|
</div><div class="memdoc">
|
|
293
293
|
|
|
294
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
294
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00309">309</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
295
295
|
|
|
296
296
|
</div>
|
|
297
297
|
</div>
|
|
@@ -323,8 +323,8 @@ template<class Cond> </div>
|
|
|
323
323
|
|
|
324
324
|
<p>Constructor. </p>
|
|
325
325
|
|
|
326
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
327
|
-
<div class="fragment"><div class="line"><a name="
|
|
326
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00313">313</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
327
|
+
<div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div></div><!-- fragment -->
|
|
328
328
|
</div>
|
|
329
329
|
</div>
|
|
330
330
|
<a id="a7217769c21c50c44f139006ec44d3a6f"></a>
|
|
@@ -363,8 +363,8 @@ template<class Cond> </div>
|
|
|
363
363
|
</table>
|
|
364
364
|
</div><div class="memdoc">
|
|
365
365
|
|
|
366
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
367
|
-
<div class="fragment"><div class="line"><a name="
|
|
366
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00316">316</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
367
|
+
<div class="fragment"><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  {</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>[cond] |= pts;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
368
368
|
</div><!-- fragment -->
|
|
369
369
|
</div>
|
|
370
370
|
</div>
|
|
@@ -396,8 +396,8 @@ template<class Cond> </div>
|
|
|
396
396
|
|
|
397
397
|
<p>Copy constructor. </p>
|
|
398
398
|
|
|
399
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
400
|
-
<div class="fragment"><div class="line"><a name="
|
|
399
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00323">323</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
400
|
+
<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a> = cptsSet.pointsTo();</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
401
401
|
</div><!-- fragment -->
|
|
402
402
|
</div>
|
|
403
403
|
</div>
|
|
@@ -429,12 +429,12 @@ template<class Cond> </div>
|
|
|
429
429
|
</div><div class="memdoc">
|
|
430
430
|
<p>Two conditional points-to set are aliased when they access the same memory location under the same condition </p>
|
|
431
431
|
|
|
432
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
433
|
-
<div class="fragment"><div class="line"><a name="
|
|
434
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
435
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_aca84f0f9e09686d9f30f309d36267aff"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">SVF::CondPointsToSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Return true if no element in the set. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
436
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
437
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
432
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00433">433</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
433
|
+
<div class="fragment"><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  {</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>().<a class="code" href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">empty</a>() || rhs.pointsTo().empty())</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  {</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> lit = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>(), elit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>();</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">for</span> (; lit != elit; ++lit)</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keyword">const</span> Cond& lc = lit->first;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = lit->second;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> rit = rhs.pointsTo().find(lc);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">if</span>(rit !=rhs.pointsTo().end())</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& rpts = rit->second;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">if</span> (pts.intersects(rpts))</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  }</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  }</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  }</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
434
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
435
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_aca84f0f9e09686d9f30f309d36267aff"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">SVF::CondPointsToSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Return true if no element in the set. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00397">ConditionalPT.h:397</a></div></div>
|
|
436
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
|
|
437
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
|
|
438
438
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
439
439
|
</div><!-- fragment -->
|
|
440
440
|
</div>
|
|
@@ -466,8 +466,8 @@ template<class Cond> </div>
|
|
|
466
466
|
|
|
467
467
|
<p>iterators </p>
|
|
468
468
|
|
|
469
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
470
|
-
<div class="fragment"><div class="line"><a name="
|
|
469
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00817">817</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
470
|
+
<div class="fragment"><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  {</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#a76d4c06b04161738351a813ae406aa83">iterator</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_a76d4c06b04161738351a813ae406aa83"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a76d4c06b04161738351a813ae406aa83">SVF::CondPointsToSet::iterator</a></div><div class="ttdeci">CondPtsSetIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00814">ConditionalPT.h:814</a></div></div>
|
|
471
471
|
</div><!-- fragment -->
|
|
472
472
|
</div>
|
|
473
473
|
</div>
|
|
@@ -496,8 +496,8 @@ template<class Cond> </div>
|
|
|
496
496
|
</table>
|
|
497
497
|
</div><div class="memdoc">
|
|
498
498
|
|
|
499
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
500
|
-
<div class="fragment"><div class="line"><a name="
|
|
499
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00827">827</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
500
|
+
<div class="fragment"><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  {</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#a76d4c06b04161738351a813ae406aa83">iterator</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_a76d4c06b04161738351a813ae406aa83"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a76d4c06b04161738351a813ae406aa83">SVF::CondPointsToSet::iterator</a></div><div class="ttdeci">CondPtsSetIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00814">ConditionalPT.h:814</a></div></div>
|
|
501
501
|
</div><!-- fragment -->
|
|
502
502
|
</div>
|
|
503
503
|
</div>
|
|
@@ -526,8 +526,8 @@ template<class Cond> </div>
|
|
|
526
526
|
</table>
|
|
527
527
|
</div><div class="memdoc">
|
|
528
528
|
|
|
529
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
530
|
-
<div class="fragment"><div class="line"><a name="
|
|
529
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00375">375</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
530
|
+
<div class="fragment"><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.clear();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
531
531
|
</div><!-- fragment -->
|
|
532
532
|
</div>
|
|
533
533
|
</div>
|
|
@@ -558,8 +558,8 @@ template<class Cond> </div>
|
|
|
558
558
|
|
|
559
559
|
<p>iterators </p>
|
|
560
560
|
|
|
561
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
562
|
-
<div class="fragment"><div class="line"><a name="
|
|
561
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00357">357</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
562
|
+
<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  {</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.begin();</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
563
563
|
</div><!-- fragment -->
|
|
564
564
|
</div>
|
|
565
565
|
</div>
|
|
@@ -588,8 +588,8 @@ template<class Cond> </div>
|
|
|
588
588
|
</table>
|
|
589
589
|
</div><div class="memdoc">
|
|
590
590
|
|
|
591
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
592
|
-
<div class="fragment"><div class="line"><a name="
|
|
591
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00365">365</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
592
|
+
<div class="fragment"><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  {</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.begin();</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
593
593
|
</div><!-- fragment -->
|
|
594
594
|
</div>
|
|
595
595
|
</div>
|
|
@@ -618,8 +618,8 @@ template<class Cond> </div>
|
|
|
618
618
|
</table>
|
|
619
619
|
</div><div class="memdoc">
|
|
620
620
|
|
|
621
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
622
|
-
<div class="fragment"><div class="line"><a name="
|
|
621
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00361">361</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
622
|
+
<div class="fragment"><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  {</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.end();</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
623
623
|
</div><!-- fragment -->
|
|
624
624
|
</div>
|
|
625
625
|
</div>
|
|
@@ -648,8 +648,8 @@ template<class Cond> </div>
|
|
|
648
648
|
</table>
|
|
649
649
|
</div><div class="memdoc">
|
|
650
650
|
|
|
651
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
652
|
-
<div class="fragment"><div class="line"><a name="
|
|
651
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00369">369</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
652
|
+
<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.end();</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
653
653
|
</div><!-- fragment -->
|
|
654
654
|
</div>
|
|
655
655
|
</div>
|
|
@@ -679,11 +679,11 @@ template<class Cond> </div>
|
|
|
679
679
|
</table>
|
|
680
680
|
</div><div class="memdoc">
|
|
681
681
|
|
|
682
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
683
|
-
<div class="fragment"><div class="line"><a name="
|
|
682
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00710">710</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
683
|
+
<div class="fragment"><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  {</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> it = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>();</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> eit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>();</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="keywordflow">for</span> (; it != eit; it++)</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  {</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = it->second;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  O << <span class="stringliteral">"pts{"</span>;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a220f4c09e4c09c58d018719d44ec1dc3">SVFUtil::dumpSet</a>(pts, O);</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  O << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  }</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
684
684
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a220f4c09e4c09c58d018719d44ec1dc3"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a220f4c09e4c09c58d018719d44ec1dc3">SVF::SVFUtil::dumpSet</a></div><div class="ttdeci">void dumpSet(NodeBS To, raw_ostream &O=SVFUtil::outs())</div><div class="ttdoc">Dump sparse bitvector set. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00148">SVFUtil.cpp:148</a></div></div>
|
|
685
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
686
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
685
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
|
|
686
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
|
|
687
687
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
688
688
|
</div><!-- fragment -->
|
|
689
689
|
</div>
|
|
@@ -713,10 +713,10 @@ template<class Cond> </div>
|
|
|
713
713
|
</table>
|
|
714
714
|
</div><div class="memdoc">
|
|
715
715
|
|
|
716
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
717
|
-
<div class="fragment"><div class="line"><a name="
|
|
718
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
719
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
716
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00722">722</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
717
|
+
<div class="fragment"><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  {</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  std::string str;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> it = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>();</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> eit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>();</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <span class="keywordflow">for</span> (; it != eit; it++)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = it->second;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  str += <span class="stringliteral">"pts{"</span>;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="keywordflow">for</span> (PointsTo::iterator ii = pts.begin(), ie = pts.end();</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  ii != ie; ii++)</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  {</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="keywordtype">char</span> int2str[16];</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  sprintf(int2str, <span class="stringliteral">"%d"</span>, *ii);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  str += int2str;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  str += <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  }</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  str += <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  }</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="keywordflow">return</span> str;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
718
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
|
|
719
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
|
|
720
720
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
721
721
|
</div><!-- fragment -->
|
|
722
722
|
</div>
|
|
@@ -748,8 +748,8 @@ template<class Cond> </div>
|
|
|
748
748
|
|
|
749
749
|
<p>Return true if no element in the set. </p>
|
|
750
750
|
|
|
751
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
752
|
-
<div class="fragment"><div class="line"><a name="
|
|
751
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00397">397</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
752
|
+
<div class="fragment"><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  {</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#a8d8f9e91b62b94d876f34066de7944d4">numElement</a>()==0;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_a8d8f9e91b62b94d876f34066de7944d4"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a8d8f9e91b62b94d876f34066de7944d4">SVF::CondPointsToSet::numElement</a></div><div class="ttdeci">unsigned numElement() const</div><div class="ttdoc">Get number of points-to targets. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00381">ConditionalPT.h:381</a></div></div>
|
|
753
753
|
</div><!-- fragment -->
|
|
754
754
|
</div>
|
|
755
755
|
</div>
|
|
@@ -778,8 +778,8 @@ template<class Cond> </div>
|
|
|
778
778
|
</table>
|
|
779
779
|
</div><div class="memdoc">
|
|
780
780
|
|
|
781
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
782
|
-
<div class="fragment"><div class="line"><a name="
|
|
781
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00822">822</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
782
|
+
<div class="fragment"><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  {</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#a76d4c06b04161738351a813ae406aa83">iterator</a>(<span class="keyword">this</span>,<span class="keyword">true</span>);</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_a76d4c06b04161738351a813ae406aa83"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a76d4c06b04161738351a813ae406aa83">SVF::CondPointsToSet::iterator</a></div><div class="ttdeci">CondPtsSetIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00814">ConditionalPT.h:814</a></div></div>
|
|
783
783
|
</div><!-- fragment -->
|
|
784
784
|
</div>
|
|
785
785
|
</div>
|
|
@@ -808,8 +808,8 @@ template<class Cond> </div>
|
|
|
808
808
|
</table>
|
|
809
809
|
</div><div class="memdoc">
|
|
810
810
|
|
|
811
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
812
|
-
<div class="fragment"><div class="line"><a name="
|
|
811
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00832">832</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
812
|
+
<div class="fragment"><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  {</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#a76d4c06b04161738351a813ae406aa83">iterator</a>(<span class="keyword">this</span>,<span class="keyword">true</span>);</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_a76d4c06b04161738351a813ae406aa83"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a76d4c06b04161738351a813ae406aa83">SVF::CondPointsToSet::iterator</a></div><div class="ttdeci">CondPtsSetIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00814">ConditionalPT.h:814</a></div></div>
|
|
813
813
|
</div><!-- fragment -->
|
|
814
814
|
</div>
|
|
815
815
|
</div>
|
|
@@ -839,8 +839,8 @@ template<class Cond> </div>
|
|
|
839
839
|
</table>
|
|
840
840
|
</div><div class="memdoc">
|
|
841
841
|
|
|
842
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
843
|
-
<div class="fragment"><div class="line"><a name="
|
|
842
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00345">345</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
843
|
+
<div class="fragment"><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.find(cond) != <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.end());</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
844
844
|
</div><!-- fragment -->
|
|
845
845
|
</div>
|
|
846
846
|
</div>
|
|
@@ -873,11 +873,11 @@ template<class Cond> </div>
|
|
|
873
873
|
<p>Return TRUE if this and RHS share any common element. </p>
|
|
874
874
|
<p>if either cpts is empty, just return. </p>
|
|
875
875
|
|
|
876
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
877
|
-
<div class="fragment"><div class="line"><a name="
|
|
878
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
879
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_aca84f0f9e09686d9f30f309d36267aff"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">SVF::CondPointsToSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Return true if no element in the set. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
880
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ab1d20dfe6f243f7a09a8e2face097cc0"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ab1d20dfe6f243f7a09a8e2face097cc0">SVF::CondPointsToSet::hasPointsTo</a></div><div class="ttdeci">bool hasPointsTo(Cond cond) const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
876
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00483">483</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
877
|
+
<div class="fragment"><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>().<a class="code" href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">empty</a>() && rhs->pointsTo().empty())</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> it = rhs->cptsBegin(), eit = rhs->cptsEnd();</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  {</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keyword">const</span> Cond& cond = it->first;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#ab1d20dfe6f243f7a09a8e2face097cc0">hasPointsTo</a>(cond))</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& rhs_pts= it->second;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts= <a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>(cond);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">if</span> (pts.intersects(rhs_pts))</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  }</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  }</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
878
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
879
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_aca84f0f9e09686d9f30f309d36267aff"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">SVF::CondPointsToSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Return true if no element in the set. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00397">ConditionalPT.h:397</a></div></div>
|
|
880
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ab1d20dfe6f243f7a09a8e2face097cc0"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ab1d20dfe6f243f7a09a8e2face097cc0">SVF::CondPointsToSet::hasPointsTo</a></div><div class="ttdeci">bool hasPointsTo(Cond cond) const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00345">ConditionalPT.h:345</a></div></div>
|
|
881
881
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
882
882
|
</div><!-- fragment -->
|
|
883
883
|
</div>
|
|
@@ -920,11 +920,11 @@ template<class Cond> </div>
|
|
|
920
920
|
|
|
921
921
|
<p>Result of cpts1 & ~cpts2 is stored into this bitmap. </p>
|
|
922
922
|
|
|
923
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
924
|
-
<div class="fragment"><div class="line"><a name="
|
|
925
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
923
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00506">506</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
924
|
+
<div class="fragment"><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  {</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">if</span> (cpts1.pointsTo().empty())</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#ad81774f0ad13fb21579180fc15affd7b">clear</a>();</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cpts2.pointsTo().empty())</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  (*this) = cpts1;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  }</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  {</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> it1 = cpts1.cptsBegin(), eit1 = cpts1.cptsEnd();</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">for</span> (; it1 != eit1; ++it1)</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  {</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keyword">const</span> Cond& cond = it1->first;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts1 = it1->second;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = <a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>(cond);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">if</span> (cpts2.hasPointsTo(cond))</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  {</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts2 = cpts2.pointsTo(cond);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  pts.intersectWithComplement(pts1, pts2);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  }</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  {</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  pts = pts1;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  }</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  }</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  }</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
925
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
926
926
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
927
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad81774f0ad13fb21579180fc15affd7b"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad81774f0ad13fb21579180fc15affd7b">SVF::CondPointsToSet::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
927
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad81774f0ad13fb21579180fc15affd7b"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad81774f0ad13fb21579180fc15affd7b">SVF::CondPointsToSet::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00375">ConditionalPT.h:375</a></div></div>
|
|
928
928
|
</div><!-- fragment -->
|
|
929
929
|
</div>
|
|
930
930
|
</div>
|
|
@@ -957,11 +957,11 @@ template<class Cond> </div>
|
|
|
957
957
|
<p>Result of cur & ~cpts1 is stored into this bitmap. </p>
|
|
958
958
|
<p>if either cpts is empty, just return. </p>
|
|
959
959
|
|
|
960
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
961
|
-
<div class="fragment"><div class="line"><a name="
|
|
962
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_aca84f0f9e09686d9f30f309d36267aff"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">SVF::CondPointsToSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Return true if no element in the set. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
963
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
964
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
960
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00539">539</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
961
|
+
<div class="fragment"><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">empty</a>() || cpts1.pointsTo().empty())</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  }</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  {</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#ad9e4dea4b65d5f4a903a3cf89a421077">CondPtsIter</a> it = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>(), eit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>();</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  {</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keyword">const</span> Cond& cond = it->first;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = it->second;</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keywordflow">if</span> (cpts1.hasPointsTo(cond))</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts1 = cpts1.pointsTo(cond);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  pts.intersectWithComplement(pts1);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  }</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  }</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  }</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad9e4dea4b65d5f4a903a3cf89a421077"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad9e4dea4b65d5f4a903a3cf89a421077">SVF::CondPointsToSet::CondPtsIter</a></div><div class="ttdeci">CondPts::iterator CondPtsIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00307">ConditionalPT.h:307</a></div></div>
|
|
962
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_aca84f0f9e09686d9f30f309d36267aff"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">SVF::CondPointsToSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Return true if no element in the set. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00397">ConditionalPT.h:397</a></div></div>
|
|
963
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
|
|
964
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
|
|
965
965
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
966
966
|
</div><!-- fragment -->
|
|
967
967
|
</div>
|
|
@@ -994,11 +994,11 @@ template<class Cond> </div>
|
|
|
994
994
|
|
|
995
995
|
<p>Check whether this <a class="el" href="classSVF_1_1CondPointsToSet.html">CondPointsToSet</a> is a subset of RHS. </p>
|
|
996
996
|
|
|
997
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
998
|
-
<div class="fragment"><div class="line"><a name="
|
|
999
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1000
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1001
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
997
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00457">457</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
998
|
+
<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  {</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>().size() > rhs.pointsTo().size())</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  {</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> lit = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>(), elit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>();</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">for</span> (; lit != elit; ++lit)</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  {</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keyword">const</span> Cond& lc = lit->first;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> rit = rhs.pointsTo().find(lc);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keywordflow">if</span> (rit == rhs.pointsTo().end())</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = lit->second;</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& rpts = rit->second;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordflow">if</span> (!rpts.contains(pts))</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  }</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  }</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
999
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
1000
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
|
|
1001
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
|
|
1002
1002
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1003
1003
|
</div><!-- fragment -->
|
|
1004
1004
|
</div>
|
|
@@ -1030,11 +1030,11 @@ template<class Cond> </div>
|
|
|
1030
1030
|
|
|
1031
1031
|
<p>Get number of points-to targets. </p>
|
|
1032
1032
|
|
|
1033
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1034
|
-
<div class="fragment"><div class="line"><a name="
|
|
1035
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1036
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1037
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1033
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00381">381</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1034
|
+
<div class="fragment"><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.empty())</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  {</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordtype">unsigned</span> num = 0;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> it = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>(); it != <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>(); it++)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> pts = it->second;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  num += pts.count();</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">return</span> num;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
1035
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
1036
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
|
|
1037
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
|
|
1038
1038
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1039
1039
|
</div><!-- fragment -->
|
|
1040
1040
|
</div>
|
|
@@ -1067,8 +1067,8 @@ template<class Cond> </div>
|
|
|
1067
1067
|
|
|
1068
1068
|
<p>Overloading operator !=. </p>
|
|
1069
1069
|
|
|
1070
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1071
|
-
<div class="fragment"><div class="line"><a name="
|
|
1070
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00600">600</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1071
|
+
<div class="fragment"><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  {</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs);</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  }</div></div><!-- fragment -->
|
|
1072
1072
|
</div>
|
|
1073
1073
|
</div>
|
|
1074
1074
|
<a id="ab86fdf68183d05f66e1405c6346038c4"></a>
|
|
@@ -1099,13 +1099,13 @@ template<class Cond> </div>
|
|
|
1099
1099
|
|
|
1100
1100
|
<p>Overloading operator &=. </p>
|
|
1101
1101
|
|
|
1102
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1103
|
-
<div class="fragment"><div class="line"><a name="
|
|
1104
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_aca84f0f9e09686d9f30f309d36267aff"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">SVF::CondPointsToSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Return true if no element in the set. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1105
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1106
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1102
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00563">563</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1103
|
+
<div class="fragment"><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  {</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">empty</a>())</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  {</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  }</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.empty())</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  {</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#ad81774f0ad13fb21579180fc15affd7b">clear</a>();</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  }</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#ad9e4dea4b65d5f4a903a3cf89a421077">CondPtsIter</a> it = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>(), eit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>(); it != eit; ++it)</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  {</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keyword">const</span> Cond& cond = it->first;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = it->second;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">if</span> (rhs.hasPointsTo(cond))</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  {</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keywordflow">if</span> (pts &= rhs.pointsTo(cond))</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  }</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  {</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordflow">if</span> (!pts.empty())</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  {</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  pts.clear();</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  }</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  }</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  }</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  }</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad9e4dea4b65d5f4a903a3cf89a421077"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad9e4dea4b65d5f4a903a3cf89a421077">SVF::CondPointsToSet::CondPtsIter</a></div><div class="ttdeci">CondPts::iterator CondPtsIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00307">ConditionalPT.h:307</a></div></div>
|
|
1104
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_aca84f0f9e09686d9f30f309d36267aff"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aca84f0f9e09686d9f30f309d36267aff">SVF::CondPointsToSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Return true if no element in the set. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00397">ConditionalPT.h:397</a></div></div>
|
|
1105
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
|
|
1106
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
|
|
1107
1107
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1108
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad81774f0ad13fb21579180fc15affd7b"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad81774f0ad13fb21579180fc15affd7b">SVF::CondPointsToSet::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1108
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad81774f0ad13fb21579180fc15affd7b"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad81774f0ad13fb21579180fc15affd7b">SVF::CondPointsToSet::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00375">ConditionalPT.h:375</a></div></div>
|
|
1109
1109
|
</div><!-- fragment -->
|
|
1110
1110
|
</div>
|
|
1111
1111
|
</div>
|
|
@@ -1139,11 +1139,11 @@ template<class Cond> </div>
|
|
|
1139
1139
|
<li>If the sizes are equal, comparing the conditions and real points-to targets in their points-to elements. </li>
|
|
1140
1140
|
</ol>
|
|
1141
1141
|
|
|
1142
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1143
|
-
<div class="fragment"><div class="line"><a name="
|
|
1144
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1145
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1146
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1142
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00633">633</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1143
|
+
<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  {</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>().size() < rhs.pointsTo().size())</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>().size() == rhs.pointsTo().size())</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  {</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> lit = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>(), elit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>();</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> rit = rhs.cptsBegin(), erit = rhs.cptsEnd();</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keywordflow">for</span> (; lit != elit && rit != erit; ++lit, ++rit)</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  {</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="keyword">const</span> Cond& lc = lit->first;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keyword">const</span> Cond& rc = rit->first;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keywordflow">if</span> (lc < rc)</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lc == rc)</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& lpts = lit->second;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& rpts = rit->second;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="keywordflow">if</span> (lpts.count() < rpts.count())</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lpts.count() == rpts.count())</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  {</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  PointsTo::iterator bit = lpts.begin();</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  PointsTo::iterator eit = lpts.end();</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  PointsTo::iterator rbit = rpts.begin();</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  PointsTo::iterator reit = rpts.end();</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <span class="keywordflow">for</span> (; bit != eit && rbit != reit; bit++, rbit++)</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  {</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <span class="keywordflow">if</span> (*bit < *rbit)</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*bit > *rbit)</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  }</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  }</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  }</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  }</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  }</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
1144
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
1145
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
|
|
1146
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
|
|
1147
1147
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1148
1148
|
</div><!-- fragment -->
|
|
1149
1149
|
</div>
|
|
@@ -1176,8 +1176,8 @@ template<class Cond> </div>
|
|
|
1176
1176
|
|
|
1177
1177
|
<p>Overloading operators. </p>
|
|
1178
1178
|
|
|
1179
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1180
|
-
<div class="fragment"><div class="line"><a name="
|
|
1179
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00405">405</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1180
|
+
<div class="fragment"><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  {</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a> = other.pointsTo();</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
1181
1181
|
</div><!-- fragment -->
|
|
1182
1182
|
</div>
|
|
1183
1183
|
</div>
|
|
@@ -1209,11 +1209,11 @@ template<class Cond> </div>
|
|
|
1209
1209
|
|
|
1210
1210
|
<p>Overloading operator ==. </p>
|
|
1211
1211
|
|
|
1212
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1213
|
-
<div class="fragment"><div class="line"><a name="
|
|
1214
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1215
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1216
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1212
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00413">413</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1213
|
+
<div class="fragment"><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  {</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="comment">// Always remember give the typename when define a template variable</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>().size() != rhs.pointsTo().size())</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> lit = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>(), elit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>();</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> rit = rhs.cptsBegin(), erit = rhs.cptsEnd();</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">for</span> (; lit != elit && rit != erit; ++lit, ++rit)</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  {</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keyword">const</span> Cond& lc = lit->first;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keyword">const</span> Cond& rc = rit->first;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">if</span> (lc != rc || lit->second != rit->second)</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  }</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
1214
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
1215
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
|
|
1216
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
|
|
1217
1217
|
</div><!-- fragment -->
|
|
1218
1218
|
</div>
|
|
1219
1219
|
</div>
|
|
@@ -1244,9 +1244,9 @@ template<class Cond> </div>
|
|
|
1244
1244
|
</div><div class="memdoc">
|
|
1245
1245
|
<p>Overloading operator |= Merge <a class="el" href="classSVF_1_1CondPointsToSet.html">CondPointsToSet</a> of RHS into this one. </p>
|
|
1246
1246
|
|
|
1247
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1248
|
-
<div class="fragment"><div class="line"><a name="
|
|
1249
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1247
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00609">609</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1248
|
+
<div class="fragment"><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  {</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> rhsIt = rhs.cptsBegin();</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> rhsEit = rhs.cptsEnd();</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordflow">for</span> (; rhsIt != rhsEit; ++rhsIt)</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  {</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keyword">const</span> Cond& cond = rhsIt->first;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& rhsPts = rhsIt->second;</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = <a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>(cond);</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="keywordflow">if</span> ((pts |= rhsPts))</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  }</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
1249
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
1250
1250
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1251
1251
|
</div><!-- fragment -->
|
|
1252
1252
|
</div>
|
|
@@ -1279,8 +1279,8 @@ template<class Cond> </div>
|
|
|
1279
1279
|
|
|
1280
1280
|
<p>Get Conditional PointsTo and starndard points-to. </p>
|
|
1281
1281
|
|
|
1282
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1283
|
-
<div class="fragment"><div class="line"><a name="
|
|
1282
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00331">331</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1283
|
+
<div class="fragment"><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  {</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
1284
1284
|
</div><!-- fragment -->
|
|
1285
1285
|
</div>
|
|
1286
1286
|
</div>
|
|
@@ -1310,8 +1310,8 @@ template<class Cond> </div>
|
|
|
1310
1310
|
</table>
|
|
1311
1311
|
</div><div class="memdoc">
|
|
1312
1312
|
|
|
1313
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1314
|
-
<div class="fragment"><div class="line"><a name="
|
|
1313
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00335">335</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1314
|
+
<div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
1315
1315
|
</div><!-- fragment -->
|
|
1316
1316
|
</div>
|
|
1317
1317
|
</div>
|
|
@@ -1341,10 +1341,10 @@ template<class Cond> </div>
|
|
|
1341
1341
|
</table>
|
|
1342
1342
|
</div><div class="memdoc">
|
|
1343
1343
|
|
|
1344
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1345
|
-
<div class="fragment"><div class="line"><a name="
|
|
1344
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00339">339</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1345
|
+
<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> it = <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.find(cond);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(it!=<a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>.end() && <span class="stringliteral">"do not have pts of such condition!"</span>);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
|
|
1346
1346
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1347
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1347
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
1348
1348
|
</div><!-- fragment -->
|
|
1349
1349
|
</div>
|
|
1350
1350
|
</div>
|
|
@@ -1374,8 +1374,8 @@ template<class Cond> </div>
|
|
|
1374
1374
|
</table>
|
|
1375
1375
|
</div><div class="memdoc">
|
|
1376
1376
|
|
|
1377
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1378
|
-
<div class="fragment"><div class="line"><a name="
|
|
1377
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00349">349</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1378
|
+
<div class="fragment"><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  {</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">_condPts</a>[cond];</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_ad0e1a70889a7bf2cb1b201a129128c52"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ad0e1a70889a7bf2cb1b201a129128c52">SVF::CondPointsToSet::_condPts</a></div><div class="ttdeci">CondPts _condPts</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00839">ConditionalPT.h:839</a></div></div>
|
|
1379
1379
|
</div><!-- fragment -->
|
|
1380
1380
|
</div>
|
|
1381
1381
|
</div>
|
|
@@ -1405,9 +1405,9 @@ template<class Cond> </div>
|
|
|
1405
1405
|
</table>
|
|
1406
1406
|
</div><div class="memdoc">
|
|
1407
1407
|
|
|
1408
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1409
|
-
<div class="fragment"><div class="line"><a name="
|
|
1410
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ab1d20dfe6f243f7a09a8e2face097cc0"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ab1d20dfe6f243f7a09a8e2face097cc0">SVF::CondPointsToSet::hasPointsTo</a></div><div class="ttdeci">bool hasPointsTo(Cond cond) const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1408
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00698">698</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1409
|
+
<div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  {</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#ab1d20dfe6f243f7a09a8e2face097cc0">hasPointsTo</a>(var.get_cond()))</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = <a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>(var.get_cond());</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  pts.reset(var.get_id());</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  }</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
1410
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ab1d20dfe6f243f7a09a8e2face097cc0"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ab1d20dfe6f243f7a09a8e2face097cc0">SVF::CondPointsToSet::hasPointsTo</a></div><div class="ttdeci">bool hasPointsTo(Cond cond) const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00345">ConditionalPT.h:345</a></div></div>
|
|
1411
1411
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1412
1412
|
</div><!-- fragment -->
|
|
1413
1413
|
</div>
|
|
@@ -1438,8 +1438,8 @@ template<class Cond> </div>
|
|
|
1438
1438
|
</table>
|
|
1439
1439
|
</div><div class="memdoc">
|
|
1440
1440
|
|
|
1441
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1442
|
-
<div class="fragment"><div class="line"><a name="
|
|
1441
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00693">693</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1442
|
+
<div class="fragment"><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  {</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = <a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>(var.get_cond());</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  pts.set(var.get_id());</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
1443
1443
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1444
1444
|
</div><!-- fragment -->
|
|
1445
1445
|
</div>
|
|
@@ -1470,9 +1470,9 @@ template<class Cond> </div>
|
|
|
1470
1470
|
</table>
|
|
1471
1471
|
</div><div class="memdoc">
|
|
1472
1472
|
|
|
1473
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1474
|
-
<div class="fragment"><div class="line"><a name="
|
|
1475
|
-
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ab1d20dfe6f243f7a09a8e2face097cc0"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ab1d20dfe6f243f7a09a8e2face097cc0">SVF::CondPointsToSet::hasPointsTo</a></div><div class="ttdeci">bool hasPointsTo(Cond cond) const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#
|
|
1473
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00684">684</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1474
|
+
<div class="fragment"><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  {</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPointsToSet.html#ab1d20dfe6f243f7a09a8e2face097cc0">hasPointsTo</a>(var.get_cond()))</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  {</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = <a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>(var.get_cond());</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <span class="keywordflow">return</span> pts.test(var.get_id());</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  }</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
1475
|
+
<div class="ttc" id="classSVF_1_1CondPointsToSet_html_ab1d20dfe6f243f7a09a8e2face097cc0"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#ab1d20dfe6f243f7a09a8e2face097cc0">SVF::CondPointsToSet::hasPointsTo</a></div><div class="ttdeci">bool hasPointsTo(Cond cond) const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00345">ConditionalPT.h:345</a></div></div>
|
|
1476
1476
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1477
1477
|
</div><!-- fragment -->
|
|
1478
1478
|
</div>
|
|
@@ -1505,8 +1505,8 @@ template<class Cond> </div>
|
|
|
1505
1505
|
|
|
1506
1506
|
<p>Test and set. </p>
|
|
1507
1507
|
|
|
1508
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1509
|
-
<div class="fragment"><div class="line"><a name="
|
|
1508
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00679">679</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1509
|
+
<div class="fragment"><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  {</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& pts = <a class="code" href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">pointsTo</a>(var.get_cond());</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordflow">return</span> pts.test_and_set(var.get_id());</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_a63f09ca69e00b317de29af6a6a12daac"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac">SVF::CondPointsToSet::pointsTo</a></div><div class="ttdeci">CondPts & pointsTo(void)</div><div class="ttdoc">Get Conditional PointsTo and starndard points-to. </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00331">ConditionalPT.h:331</a></div></div>
|
|
1510
1510
|
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1511
1511
|
</div><!-- fragment -->
|
|
1512
1512
|
</div>
|
|
@@ -1534,7 +1534,7 @@ template<class Cond> </div>
|
|
|
1534
1534
|
</table>
|
|
1535
1535
|
</div><div class="memdoc">
|
|
1536
1536
|
|
|
1537
|
-
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#
|
|
1537
|
+
<p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00839">839</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
|
|
1538
1538
|
|
|
1539
1539
|
</div>
|
|
1540
1540
|
</div>
|