svf-tools 1.0.596 → 1.0.598

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (802) hide show
  1. package/README.md +1 -1
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +4 -4
  3. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
  5. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
  6. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
  7. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
  8. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
  9. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +8 -8
  10. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +4 -4
  11. package/SVF-doxygen/html/html/CFLGraph_8cpp.html +3 -2
  12. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +15 -16
  13. package/SVF-doxygen/html/html/CFLGraph_8h.html +4 -6
  14. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +19 -20
  15. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +4 -4
  16. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +8 -8
  18. package/SVF-doxygen/html/html/CHG_8cpp.html +6 -5
  19. package/SVF-doxygen/html/html/CHG_8cpp_source.html +26 -27
  20. package/SVF-doxygen/html/html/CHG_8h.html +4 -6
  21. package/SVF-doxygen/html/html/CHG_8h_source.html +13 -14
  22. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
  23. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
  24. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +7 -7
  25. package/SVF-doxygen/html/html/ConsG_8cpp.html +3 -2
  26. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +27 -28
  27. package/SVF-doxygen/html/html/ConsG_8h.html +4 -6
  28. package/SVF-doxygen/html/html/ConsG_8h_source.html +10 -11
  29. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  30. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
  31. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
  32. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +21 -21
  33. package/SVF-doxygen/html/html/DCHG_8h.html +4 -6
  34. package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -16
  35. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  36. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  38. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  40. package/SVF-doxygen/html/html/DOTGraphTraits_8h.html +4 -3
  41. package/SVF-doxygen/html/html/DOTGraphTraits_8h_source.html +24 -24
  42. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +4 -4
  43. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  44. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
  45. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +12 -12
  47. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +1 -1
  48. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  49. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  50. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  52. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
  53. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  54. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +2 -2
  55. package/SVF-doxygen/html/html/GenericGraph_8h.html +8 -9
  56. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +125 -125
  57. package/SVF-doxygen/html/html/GraphPrinter_8h.html +3 -2
  58. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +7 -7
  59. package/SVF-doxygen/html/html/GraphReachSolver_8h_source.html +4 -4
  60. package/SVF-doxygen/html/html/GraphTraits_8h.html +20 -19
  61. package/SVF-doxygen/html/html/GraphTraits_8h_source.html +13 -13
  62. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/GraphWriter_8h.html +23 -22
  64. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +48 -48
  65. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
  66. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +7 -7
  68. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +7 -7
  69. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  70. package/SVF-doxygen/html/html/ICFG_8cpp.html +3 -2
  71. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +27 -28
  72. package/SVF-doxygen/html/html/ICFG_8h.html +4 -6
  73. package/SVF-doxygen/html/html/ICFG_8h_source.html +14 -15
  74. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  75. package/SVF-doxygen/html/html/IRGraph_8cpp.html +3 -2
  76. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -21
  77. package/SVF-doxygen/html/html/IRGraph_8h.html +4 -6
  78. package/SVF-doxygen/html/html/IRGraph_8h_source.html +9 -10
  79. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +7 -7
  80. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +38 -39
  81. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +19 -19
  82. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +16 -9
  83. package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
  84. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +6 -4
  85. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
  86. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  87. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  88. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +23 -23
  89. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
  90. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -6
  91. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +3 -3
  92. package/SVF-doxygen/html/html/MHP_8cpp_source.html +23 -23
  93. package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
  94. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +3 -3
  95. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  96. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
  97. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -3
  98. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
  99. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
  100. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  101. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  102. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +18 -18
  103. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  104. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +21 -21
  105. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  106. package/SVF-doxygen/html/html/PCG_8cpp_source.html +18 -18
  107. package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
  108. package/SVF-doxygen/html/html/PTACallGraph_8cpp.html +3 -2
  109. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +27 -28
  110. package/SVF-doxygen/html/html/PTACallGraph_8h.html +4 -6
  111. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -18
  112. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
  113. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  114. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
  115. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
  116. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -3
  117. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +7 -7
  118. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
  119. package/SVF-doxygen/html/html/SCC_8h_source.html +4 -4
  120. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  121. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  122. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
  123. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +14 -14
  124. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
  125. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -3
  126. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  127. package/SVF-doxygen/html/html/SVFG_8cpp.html +3 -2
  128. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +23 -24
  129. package/SVF-doxygen/html/html/SVFG_8h.html +1 -3
  130. package/SVF-doxygen/html/html/SVFG_8h_source.html +13 -14
  131. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +15 -14
  132. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +4 -4
  133. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
  134. package/SVF-doxygen/html/html/SVFIR_8h_source.html +4 -4
  135. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  136. package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
  137. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +9 -9
  138. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +9 -9
  139. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +12 -12
  140. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +4 -4
  141. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
  142. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +16 -19
  143. package/SVF-doxygen/html/html/SVFValue_8h.html +3 -3
  144. package/SVF-doxygen/html/html/SVFValue_8h_source.html +210 -213
  145. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +7 -7
  146. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +13 -14
  147. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +3 -3
  148. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +17 -17
  149. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +6 -6
  150. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
  151. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
  152. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  153. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +3 -4
  154. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +3 -3
  155. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -10
  156. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -4
  157. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  158. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  159. package/SVF-doxygen/html/html/TCT_8cpp.html +3 -2
  160. package/SVF-doxygen/html/html/TCT_8cpp_source.html +38 -39
  161. package/SVF-doxygen/html/html/TCT_8h.html +4 -6
  162. package/SVF-doxygen/html/html/TCT_8h_source.html +27 -28
  163. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +10 -10
  164. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
  165. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  166. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +7 -7
  167. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
  168. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +6 -6
  169. package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
  170. package/SVF-doxygen/html/html/VFG_8cpp.html +3 -2
  171. package/SVF-doxygen/html/html/VFG_8cpp_source.html +20 -21
  172. package/SVF-doxygen/html/html/VFG_8h.html +4 -6
  173. package/SVF-doxygen/html/html/VFG_8h_source.html +14 -15
  174. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  175. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +10 -10
  176. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +3 -3
  177. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +8 -8
  178. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  179. package/SVF-doxygen/html/html/WPASolver_8h_source.html +4 -4
  180. package/SVF-doxygen/html/html/annotated.html +291 -291
  181. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  182. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +4 -4
  183. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
  184. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
  185. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
  186. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  187. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  188. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  191. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +33 -33
  193. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +7 -7
  195. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
  197. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +7 -7
  199. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
  200. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +4 -4
  202. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -4
  204. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +12 -12
  205. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  206. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  207. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  208. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  209. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +11 -11
  210. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +4 -4
  211. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +4 -4
  212. package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +45 -44
  213. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +29 -29
  214. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +4 -4
  215. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
  216. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +16 -16
  217. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +17 -17
  218. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +3 -3
  219. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -2
  221. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  222. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +7 -7
  223. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  224. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +56 -56
  227. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  228. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  229. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  230. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +30 -30
  231. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
  232. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +12 -12
  233. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  234. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  236. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +2 -2
  237. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +2 -2
  238. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  239. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -2
  241. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +35 -35
  242. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  243. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +16 -16
  244. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  245. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  246. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -2
  247. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  248. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +2 -2
  249. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  250. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +6 -6
  253. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -4
  254. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +1 -1
  255. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +4 -4
  256. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +2 -2
  257. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +8 -8
  258. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  259. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +1 -1
  260. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -21
  261. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +17 -17
  262. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +29 -29
  263. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  264. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  265. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +3 -3
  266. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +3 -3
  267. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +6 -6
  268. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +8 -8
  269. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +31 -31
  270. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
  271. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +98 -97
  272. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  273. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -4
  274. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  275. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  276. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -4
  277. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter-members.html +83 -0
  279. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter.html +236 -0
  280. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver-members.html +2 -2
  281. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.html +12 -12
  282. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter-members.html +100 -0
  283. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +882 -0
  284. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +19 -19
  285. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +12 -12
  286. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +7 -7
  287. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  288. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  289. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +11 -11
  290. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  291. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  292. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
  293. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +2 -2
  294. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +3 -3
  295. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -2
  296. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +6 -6
  298. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  299. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  300. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  301. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +7 -7
  302. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +69 -69
  303. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +2 -2
  304. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +22 -22
  305. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  306. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  307. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  308. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +50 -50
  309. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -7
  310. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +55 -55
  311. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +1 -1
  312. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +22 -22
  313. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  314. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +4 -4
  315. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
  316. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  317. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  318. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +37 -37
  319. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
  320. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  321. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +36 -36
  322. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
  323. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +4 -4
  324. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -4
  325. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  326. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
  327. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
  328. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +25 -25
  329. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
  330. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +7 -7
  331. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
  332. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  333. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +40 -40
  334. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
  335. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  336. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +1 -1
  337. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +3 -3
  338. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -2
  339. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +5 -5
  340. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  341. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  342. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
  343. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection-members.html +1 -1
  344. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +8 -8
  345. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +7 -9
  346. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +16 -20
  347. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +8 -10
  348. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +56 -63
  349. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +6 -8
  350. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +7 -11
  351. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +12 -14
  352. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +34 -38
  353. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +6 -8
  354. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +5 -9
  355. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +6 -8
  356. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +7 -11
  357. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +6 -8
  358. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +10 -14
  359. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +6 -8
  360. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +14 -18
  361. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +6 -8
  362. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +7 -11
  363. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +23 -25
  364. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +115 -119
  365. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
  366. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  367. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +43 -43
  368. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +9 -9
  369. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +9 -11
  370. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +14 -18
  371. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
  372. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +48 -47
  373. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +11 -13
  374. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +31 -35
  375. package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +2 -2
  376. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +6 -8
  377. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +7 -11
  378. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  379. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +6 -8
  380. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +5 -9
  381. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
  382. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -9
  383. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +3 -3
  384. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +25 -28
  385. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +38 -128
  386. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +12 -12
  387. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +14 -16
  388. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +29 -33
  389. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +46 -46
  390. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
  391. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
  392. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +2 -2
  393. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +16 -16
  394. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
  395. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
  396. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
  397. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +9 -9
  398. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +5 -5
  399. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  400. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  401. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +2 -3
  402. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +21 -54
  403. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  404. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +72 -72
  405. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  406. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  407. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  408. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +11 -11
  409. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
  410. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  411. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
  412. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
  413. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  414. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
  415. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -12
  416. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +5 -5
  417. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
  418. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +21 -21
  419. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +13 -13
  420. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  421. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -4
  422. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
  423. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +1 -1
  424. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +35 -35
  425. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
  426. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +4 -4
  427. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +1 -1
  428. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +4 -4
  429. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +7 -7
  430. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +9 -9
  431. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +4 -4
  432. package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +1 -1
  433. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +8 -8
  434. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base-members.html +112 -0
  435. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +633 -0
  436. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.png +0 -0
  437. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base-members.html +102 -0
  438. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.html +787 -0
  439. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.png +0 -0
  440. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy-members.html +84 -0
  441. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +229 -0
  442. package/SVF-doxygen/html/html/classSVF_1_1iter__range-members.html +87 -0
  443. package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +342 -0
  444. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter-members.html +112 -0
  445. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +322 -0
  446. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.png +0 -0
  447. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator-members.html +113 -0
  448. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +343 -0
  449. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.png +0 -0
  450. package/SVF-doxygen/html/html/classes.html +59 -59
  451. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  452. package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc_source.html +2 -2
  453. package/SVF-doxygen/html/html/functions_a.html +1 -1
  454. package/SVF-doxygen/html/html/functions_b.html +4 -4
  455. package/SVF-doxygen/html/html/functions_c.html +20 -18
  456. package/SVF-doxygen/html/html/functions_d.html +20 -20
  457. package/SVF-doxygen/html/html/functions_e.html +14 -16
  458. package/SVF-doxygen/html/html/functions_eval_i.html +2 -2
  459. package/SVF-doxygen/html/html/functions_f.html +1 -1
  460. package/SVF-doxygen/html/html/functions_func.html +1 -1
  461. package/SVF-doxygen/html/html/functions_func_b.html +2 -2
  462. package/SVF-doxygen/html/html/functions_func_c.html +4 -4
  463. package/SVF-doxygen/html/html/functions_func_d.html +14 -14
  464. package/SVF-doxygen/html/html/functions_func_e.html +8 -8
  465. package/SVF-doxygen/html/html/functions_func_g.html +72 -72
  466. package/SVF-doxygen/html/html/functions_func_h.html +4 -7
  467. package/SVF-doxygen/html/html/functions_func_i.html +17 -20
  468. package/SVF-doxygen/html/html/functions_func_m.html +1 -1
  469. package/SVF-doxygen/html/html/functions_func_n.html +3 -3
  470. package/SVF-doxygen/html/html/functions_func_o.html +24 -24
  471. package/SVF-doxygen/html/html/functions_func_p.html +4 -4
  472. package/SVF-doxygen/html/html/functions_func_r.html +2 -2
  473. package/SVF-doxygen/html/html/functions_func_s.html +15 -18
  474. package/SVF-doxygen/html/html/functions_func_w.html +8 -8
  475. package/SVF-doxygen/html/html/functions_g.html +84 -82
  476. package/SVF-doxygen/html/html/functions_h.html +6 -12
  477. package/SVF-doxygen/html/html/functions_i.html +40 -43
  478. package/SVF-doxygen/html/html/functions_l.html +3 -3
  479. package/SVF-doxygen/html/html/functions_m.html +1 -1
  480. package/SVF-doxygen/html/html/functions_n.html +30 -30
  481. package/SVF-doxygen/html/html/functions_o.html +39 -43
  482. package/SVF-doxygen/html/html/functions_p.html +16 -16
  483. package/SVF-doxygen/html/html/functions_r.html +8 -6
  484. package/SVF-doxygen/html/html/functions_rela.html +3 -3
  485. package/SVF-doxygen/html/html/functions_s.html +22 -25
  486. package/SVF-doxygen/html/html/functions_t.html +3 -3
  487. package/SVF-doxygen/html/html/functions_type_b.html +1 -1
  488. package/SVF-doxygen/html/html/functions_type_c.html +7 -7
  489. package/SVF-doxygen/html/html/functions_type_d.html +4 -4
  490. package/SVF-doxygen/html/html/functions_type_e.html +4 -4
  491. package/SVF-doxygen/html/html/functions_type_g.html +6 -6
  492. package/SVF-doxygen/html/html/functions_type_i.html +4 -4
  493. package/SVF-doxygen/html/html/functions_type_n.html +27 -27
  494. package/SVF-doxygen/html/html/functions_type_p.html +3 -3
  495. package/SVF-doxygen/html/html/functions_type_r.html +2 -2
  496. package/SVF-doxygen/html/html/functions_type_v.html +2 -2
  497. package/SVF-doxygen/html/html/functions_v.html +5 -5
  498. package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
  499. package/SVF-doxygen/html/html/functions_vars_d.html +1 -1
  500. package/SVF-doxygen/html/html/functions_vars_e.html +1 -1
  501. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  502. package/SVF-doxygen/html/html/functions_vars_g.html +7 -5
  503. package/SVF-doxygen/html/html/functions_vars_h.html +0 -3
  504. package/SVF-doxygen/html/html/functions_vars_i.html +6 -6
  505. package/SVF-doxygen/html/html/functions_vars_o.html +1 -1
  506. package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
  507. package/SVF-doxygen/html/html/functions_w.html +17 -17
  508. package/SVF-doxygen/html/html/hierarchy.html +159 -159
  509. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +4 -4
  510. package/SVF-doxygen/html/html/iterator_8h.html +16 -15
  511. package/SVF-doxygen/html/html/iterator_8h_source.html +53 -53
  512. package/SVF-doxygen/html/html/iterator__range_8h.html +9 -8
  513. package/SVF-doxygen/html/html/iterator__range_8h_source.html +11 -11
  514. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  515. package/SVF-doxygen/html/html/namespaceSVF.html +575 -9
  516. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +107 -0
  517. package/SVF-doxygen/html/html/namespaceSVF_1_1GraphProgram.html +122 -0
  518. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +65 -7
  519. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
  520. package/SVF-doxygen/html/html/namespacellvm.html +1 -572
  521. package/SVF-doxygen/html/html/namespacemembers_c.html +3 -3
  522. package/SVF-doxygen/html/html/namespacemembers_d.html +1 -1
  523. package/SVF-doxygen/html/html/namespacemembers_e.html +1 -1
  524. package/SVF-doxygen/html/html/namespacemembers_enum.html +1 -1
  525. package/SVF-doxygen/html/html/namespacemembers_eval.html +5 -5
  526. package/SVF-doxygen/html/html/namespacemembers_f.html +1 -1
  527. package/SVF-doxygen/html/html/namespacemembers_func_c.html +2 -2
  528. package/SVF-doxygen/html/html/namespacemembers_func_e.html +1 -1
  529. package/SVF-doxygen/html/html/namespacemembers_func_i.html +8 -5
  530. package/SVF-doxygen/html/html/namespacemembers_func_m.html +4 -4
  531. package/SVF-doxygen/html/html/namespacemembers_func_n.html +1 -1
  532. package/SVF-doxygen/html/html/namespacemembers_func_v.html +1 -1
  533. package/SVF-doxygen/html/html/namespacemembers_func_w.html +1 -1
  534. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  535. package/SVF-doxygen/html/html/namespacemembers_i.html +6 -3
  536. package/SVF-doxygen/html/html/namespacemembers_m.html +4 -4
  537. package/SVF-doxygen/html/html/namespacemembers_n.html +3 -3
  538. package/SVF-doxygen/html/html/namespacemembers_r.html +1 -1
  539. package/SVF-doxygen/html/html/namespacemembers_t.html +1 -1
  540. package/SVF-doxygen/html/html/namespacemembers_type_g.html +1 -1
  541. package/SVF-doxygen/html/html/namespacemembers_type_r.html +1 -1
  542. package/SVF-doxygen/html/html/namespacemembers_v.html +1 -1
  543. package/SVF-doxygen/html/html/namespacemembers_w.html +1 -1
  544. package/SVF-doxygen/html/html/namespaces.html +5 -5
  545. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  546. package/SVF-doxygen/html/html/search/all_1.js +1 -1
  547. package/SVF-doxygen/html/html/search/all_10.js +12 -12
  548. package/SVF-doxygen/html/html/search/all_11.js +7 -7
  549. package/SVF-doxygen/html/html/search/all_12.js +7 -6
  550. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  551. package/SVF-doxygen/html/html/search/all_15.js +4 -4
  552. package/SVF-doxygen/html/html/search/all_16.js +10 -10
  553. package/SVF-doxygen/html/html/search/all_2.js +3 -3
  554. package/SVF-doxygen/html/html/search/all_3.js +7 -7
  555. package/SVF-doxygen/html/html/search/all_4.js +20 -20
  556. package/SVF-doxygen/html/html/search/all_5.js +9 -9
  557. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  558. package/SVF-doxygen/html/html/search/all_7.js +87 -87
  559. package/SVF-doxygen/html/html/search/all_8.js +1 -3
  560. package/SVF-doxygen/html/html/search/all_9.js +23 -23
  561. package/SVF-doxygen/html/html/search/all_c.js +2 -4
  562. package/SVF-doxygen/html/html/search/all_d.js +5 -5
  563. package/SVF-doxygen/html/html/search/all_e.js +11 -11
  564. package/SVF-doxygen/html/html/search/all_f.js +19 -19
  565. package/SVF-doxygen/html/html/search/classes_3.js +13 -13
  566. package/SVF-doxygen/html/html/search/classes_6.js +64 -64
  567. package/SVF-doxygen/html/html/search/classes_8.js +10 -10
  568. package/SVF-doxygen/html/html/search/classes_a.js +1 -1
  569. package/SVF-doxygen/html/html/search/classes_d.js +2 -2
  570. package/SVF-doxygen/html/html/search/classes_e.js +1 -1
  571. package/SVF-doxygen/html/html/search/enums_8.js +1 -1
  572. package/SVF-doxygen/html/html/search/enumvalues_10.js +1 -1
  573. package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -1
  574. package/SVF-doxygen/html/html/search/enumvalues_3.js +1 -1
  575. package/SVF-doxygen/html/html/search/enumvalues_5.js +1 -1
  576. package/SVF-doxygen/html/html/search/enumvalues_8.js +2 -2
  577. package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -1
  578. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  579. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  580. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  581. package/SVF-doxygen/html/html/search/functions_11.js +1 -2
  582. package/SVF-doxygen/html/html/search/functions_14.js +1 -1
  583. package/SVF-doxygen/html/html/search/functions_15.js +8 -8
  584. package/SVF-doxygen/html/html/search/functions_2.js +4 -4
  585. package/SVF-doxygen/html/html/search/functions_3.js +5 -5
  586. package/SVF-doxygen/html/html/search/functions_4.js +7 -7
  587. package/SVF-doxygen/html/html/search/functions_6.js +21 -21
  588. package/SVF-doxygen/html/html/search/functions_7.js +1 -2
  589. package/SVF-doxygen/html/html/search/functions_8.js +8 -8
  590. package/SVF-doxygen/html/html/search/functions_c.js +5 -5
  591. package/SVF-doxygen/html/html/search/functions_d.js +4 -4
  592. package/SVF-doxygen/html/html/search/functions_e.js +14 -14
  593. package/SVF-doxygen/html/html/search/functions_f.js +4 -4
  594. package/SVF-doxygen/html/html/search/namespaces_0.js +0 -2
  595. package/SVF-doxygen/html/html/search/namespaces_1.js +2 -0
  596. package/SVF-doxygen/html/html/search/related_9.js +3 -3
  597. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -1
  598. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  599. package/SVF-doxygen/html/html/search/typedefs_2.js +2 -2
  600. package/SVF-doxygen/html/html/search/typedefs_3.js +2 -2
  601. package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
  602. package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
  603. package/SVF-doxygen/html/html/search/typedefs_7.js +2 -2
  604. package/SVF-doxygen/html/html/search/typedefs_c.js +4 -4
  605. package/SVF-doxygen/html/html/search/typedefs_e.js +2 -2
  606. package/SVF-doxygen/html/html/search/typedefs_f.js +2 -2
  607. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  608. package/SVF-doxygen/html/html/search/variables_13.js +3 -3
  609. package/SVF-doxygen/html/html/search/variables_2.js +1 -1
  610. package/SVF-doxygen/html/html/search/variables_4.js +1 -1
  611. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  612. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  613. package/SVF-doxygen/html/html/search/variables_7.js +2 -2
  614. package/SVF-doxygen/html/html/search/variables_8.js +0 -1
  615. package/SVF-doxygen/html/html/search/variables_9.js +5 -5
  616. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  617. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  618. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  619. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits-members.html +99 -0
  620. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.html +193 -0
  621. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.png +0 -0
  622. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +105 -0
  623. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +443 -0
  624. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
  625. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +104 -0
  626. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +388 -0
  627. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
  628. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +106 -0
  629. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +481 -0
  630. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
  631. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +106 -0
  632. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +475 -0
  633. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
  634. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +107 -0
  635. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +486 -0
  636. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
  637. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +106 -0
  638. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +457 -0
  639. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
  640. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +108 -0
  641. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +595 -0
  642. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
  643. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +105 -0
  644. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +409 -0
  645. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
  646. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +107 -0
  647. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +543 -0
  648. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
  649. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits-members.html +99 -0
  650. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.html +855 -0
  651. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.png +0 -0
  652. package/SVF-doxygen/html/html/structSVF_1_1GenericEdge_1_1equalGEdge.html +3 -3
  653. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits-members.html +81 -0
  654. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits.html +116 -0
  655. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
  656. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
  657. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
  658. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
  659. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +110 -0
  660. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
  661. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
  662. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +110 -0
  663. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
  664. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
  665. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +110 -0
  666. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
  667. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
  668. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +110 -0
  669. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
  670. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +88 -0
  671. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +324 -0
  672. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
  673. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +110 -0
  674. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
  675. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
  676. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +110 -0
  677. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
  678. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
  679. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +110 -0
  680. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
  681. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
  682. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +110 -0
  683. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
  684. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
  685. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +110 -0
  686. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
  687. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4-members.html +81 -0
  688. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +126 -0
  689. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
  690. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
  691. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +106 -0
  692. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
  693. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4-members.html +81 -0
  694. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +126 -0
  695. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
  696. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
  697. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +106 -0
  698. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
  699. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4-members.html +81 -0
  700. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +126 -0
  701. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
  702. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
  703. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +106 -0
  704. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
  705. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4-members.html +81 -0
  706. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +126 -0
  707. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
  708. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
  709. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +106 -0
  710. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
  711. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +99 -0
  712. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +467 -0
  713. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.png +0 -0
  714. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +89 -0
  715. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +367 -0
  716. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.png +0 -0
  717. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
  718. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +106 -0
  719. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
  720. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4-members.html +81 -0
  721. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +126 -0
  722. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
  723. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4-members.html +81 -0
  724. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +126 -0
  725. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
  726. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
  727. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +106 -0
  728. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
  729. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4-members.html +81 -0
  730. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +126 -0
  731. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
  732. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4-members.html +81 -0
  733. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +126 -0
  734. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
  735. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
  736. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +106 -0
  737. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
  738. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
  739. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +106 -0
  740. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
  741. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4-members.html +81 -0
  742. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +126 -0
  743. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
  744. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
  745. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +106 -0
  746. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
  747. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4-members.html +81 -0
  748. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +126 -0
  749. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
  750. package/SVF-doxygen/html/html/structSVF_1_1Inverse-members.html +82 -0
  751. package/SVF-doxygen/html/html/structSVF_1_1Inverse.html +154 -0
  752. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter-members.html +111 -0
  753. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.html +279 -0
  754. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.png +0 -0
  755. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  756. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  757. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  758. package/SVF-doxygen/html/html/svf-ex_8cpp.html +9 -9
  759. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
  760. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +4 -4
  761. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  762. package/include/Graphs/CFLGraph.h +6 -6
  763. package/include/Graphs/CHG.h +6 -6
  764. package/include/Graphs/ConsG.h +6 -6
  765. package/include/Graphs/DOTGraphTraits.h +3 -3
  766. package/include/Graphs/GenericGraph.h +10 -9
  767. package/include/Graphs/GraphPrinter.h +2 -2
  768. package/include/Graphs/GraphTraits.h +29 -29
  769. package/include/Graphs/GraphWriter.h +6 -6
  770. package/include/Graphs/ICFG.h +6 -6
  771. package/include/Graphs/IRGraph.h +6 -7
  772. package/include/Graphs/PTACallGraph.h +6 -6
  773. package/include/Graphs/SVFG.h +6 -6
  774. package/include/Graphs/VFG.h +6 -6
  775. package/include/MTA/TCT.h +6 -6
  776. package/include/SABER/SrcSnkSolver.h +2 -2
  777. package/include/SVF-LLVM/DCHG.h +6 -6
  778. package/include/SVF-LLVM/LLVMUtil.h +5 -0
  779. package/include/SVF-LLVM/SymbolTableBuilder.h +0 -3
  780. package/include/SVFIR/SVFValue.h +2 -11
  781. package/include/SVFIR/SVFVariables.h +5 -5
  782. package/include/Util/GraphReachSolver.h +2 -2
  783. package/include/Util/SCC.h +1 -1
  784. package/include/Util/iterator.h +32 -32
  785. package/include/Util/iterator_range.h +11 -11
  786. package/include/WPA/WPASolver.h +1 -1
  787. package/lib/Graphs/CFLGraph.cpp +2 -2
  788. package/lib/Graphs/CHG.cpp +2 -2
  789. package/lib/Graphs/ConsG.cpp +2 -2
  790. package/lib/Graphs/GraphWriter.cpp +1 -1
  791. package/lib/Graphs/ICFG.cpp +2 -2
  792. package/lib/Graphs/IRGraph.cpp +2 -2
  793. package/lib/Graphs/PTACallGraph.cpp +2 -2
  794. package/lib/Graphs/SVFG.cpp +1 -1
  795. package/lib/Graphs/VFG.cpp +2 -2
  796. package/lib/MTA/TCT.cpp +1 -1
  797. package/lib/SVF-LLVM/LLVMModule.cpp +0 -2
  798. package/lib/SVF-LLVM/LLVMUtil.cpp +40 -0
  799. package/lib/SVF-LLVM/SVFIRBuilder.cpp +1 -1
  800. package/lib/SVF-LLVM/SymbolTableBuilder.cpp +0 -34
  801. package/lib/SVFIR/SVFValue.cpp +0 -1
  802. package/package.json +1 -1
@@ -0,0 +1,882 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.13"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: SVF::GraphWriter&lt; GraphType &gt; Class Template Reference</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.13 -->
33
+ <script type="text/javascript">
34
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
+ </script>
36
+ <script type="text/javascript" src="menudata.js"></script>
37
+ <script type="text/javascript" src="menu.js"></script>
38
+ <script type="text/javascript">
39
+ $(function() {
40
+ initMenu('',true,false,'search.php','Search');
41
+ $(document).ready(function() { init_search(); });
42
+ });
43
+ </script>
44
+ <div id="main-nav"></div>
45
+ <!-- window showing the filter options -->
46
+ <div id="MSearchSelectWindow"
47
+ onmouseover="return searchBox.OnSearchSelectShow()"
48
+ onmouseout="return searchBox.OnSearchSelectHide()"
49
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
50
+ </div>
51
+
52
+ <!-- iframe showing the search results (closed by default) -->
53
+ <div id="MSearchResultsWindow">
54
+ <iframe src="javascript:void(0)" frameborder="0"
55
+ name="MSearchResults" id="MSearchResults">
56
+ </iframe>
57
+ </div>
58
+
59
+ <div id="nav-path" class="navpath">
60
+ <ul>
61
+ <li class="navelem"><a class="el" href="namespaceSVF.html">SVF</a></li><li class="navelem"><a class="el" href="classSVF_1_1GraphWriter.html">GraphWriter</a></li> </ul>
62
+ </div>
63
+ </div><!-- top -->
64
+ <div class="header">
65
+ <div class="summary">
66
+ <a href="#pub-methods">Public Member Functions</a> &#124;
67
+ <a href="#pri-types">Private Types</a> &#124;
68
+ <a href="#pri-methods">Private Member Functions</a> &#124;
69
+ <a href="#pri-attribs">Private Attributes</a> &#124;
70
+ <a href="classSVF_1_1GraphWriter-members.html">List of all members</a> </div>
71
+ <div class="headertitle">
72
+ <div class="title">SVF::GraphWriter&lt; GraphType &gt; Class Template Reference</div> </div>
73
+ </div><!--header-->
74
+ <div class="contents">
75
+
76
+ <p><code>#include &lt;<a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>&gt;</code></p>
77
+ <table class="memberdecls">
78
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
79
+ Public Member Functions</h2></td></tr>
80
+ <tr class="memitem:afd8fec784307b919d1cb89b49533600e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#afd8fec784307b919d1cb89b49533600e">GraphWriter</a> (std::ofstream &amp;o, const GraphType &amp;g, bool SN)</td></tr>
81
+ <tr class="separator:afd8fec784307b919d1cb89b49533600e"><td class="memSeparator" colspan="2">&#160;</td></tr>
82
+ <tr class="memitem:ae414407f483b60c9fa49e2f3ae62de30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#ae414407f483b60c9fa49e2f3ae62de30">writeGraph</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;Title=&quot;&quot;)</td></tr>
83
+ <tr class="separator:ae414407f483b60c9fa49e2f3ae62de30"><td class="memSeparator" colspan="2">&#160;</td></tr>
84
+ <tr class="memitem:abd376959cc889e1e387523f38674650f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#abd376959cc889e1e387523f38674650f">writeHeader</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;Title)</td></tr>
85
+ <tr class="separator:abd376959cc889e1e387523f38674650f"><td class="memSeparator" colspan="2">&#160;</td></tr>
86
+ <tr class="memitem:a5c3ce0eba24c71f847676b23b855e44c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a5c3ce0eba24c71f847676b23b855e44c">writeFooter</a> ()</td></tr>
87
+ <tr class="separator:a5c3ce0eba24c71f847676b23b855e44c"><td class="memSeparator" colspan="2">&#160;</td></tr>
88
+ <tr class="memitem:ada2363727dc20c2183b8252f3bdf3a04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#ada2363727dc20c2183b8252f3bdf3a04">writeNodes</a> ()</td></tr>
89
+ <tr class="separator:ada2363727dc20c2183b8252f3bdf3a04"><td class="memSeparator" colspan="2">&#160;</td></tr>
90
+ <tr class="memitem:a8b1d80caf226c3a619c5fb03f8724f74"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a8b1d80caf226c3a619c5fb03f8724f74">isNodeHidden</a> (<a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a> Node)</td></tr>
91
+ <tr class="separator:a8b1d80caf226c3a619c5fb03f8724f74"><td class="memSeparator" colspan="2">&#160;</td></tr>
92
+ <tr class="memitem:a18c579b53feccbb3b521982c6161f555"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a18c579b53feccbb3b521982c6161f555">writeNode</a> (<a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a> Node)</td></tr>
93
+ <tr class="separator:a18c579b53feccbb3b521982c6161f555"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
+ <tr class="memitem:a6133d0033363b0e9db156c354da7d7e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a6133d0033363b0e9db156c354da7d7e6">writeEdge</a> (<a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a> Node, unsigned edgeidx, <a class="el" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a> EI)</td></tr>
95
+ <tr class="separator:a6133d0033363b0e9db156c354da7d7e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
+ <tr class="memitem:a0feff91ed80b997dd4550fae16382768"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a0feff91ed80b997dd4550fae16382768">emitSimpleNode</a> (const void *ID, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;Attr, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;Label, unsigned NumEdgeSources=0, const std::vector&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt; *EdgeSourceLabels=nullptr)</td></tr>
97
+ <tr class="memdesc:a0feff91ed80b997dd4550fae16382768"><td class="mdescLeft">&#160;</td><td class="mdescRight">emitSimpleNode - Outputs a simple (non-record) node <a href="#a0feff91ed80b997dd4550fae16382768">More...</a><br /></td></tr>
98
+ <tr class="separator:a0feff91ed80b997dd4550fae16382768"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
+ <tr class="memitem:a320577b81479578a8e6021380f9c07a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a320577b81479578a8e6021380f9c07a7">emitEdge</a> (const void *SrcNodeID, int SrcNodePort, const void *DestNodeID, int DestNodePort, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;Attrs)</td></tr>
100
+ <tr class="memdesc:a320577b81479578a8e6021380f9c07a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">emitEdge - Output an edge from a simple node into the graph... <a href="#a320577b81479578a8e6021380f9c07a7">More...</a><br /></td></tr>
101
+ <tr class="separator:a320577b81479578a8e6021380f9c07a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+ <tr class="memitem:afa5d94effc56067e44eba9a11afd5284"><td class="memItemLeft" align="right" valign="top">std::ofstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#afa5d94effc56067e44eba9a11afd5284">getOStream</a> ()</td></tr>
103
+ <tr class="separator:afa5d94effc56067e44eba9a11afd5284"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
+ </table><table class="memberdecls">
105
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
106
+ Private Types</h2></td></tr>
107
+ <tr class="memitem:a245d85f8c907a409533ab151e9e3d9a2"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a245d85f8c907a409533ab151e9e3d9a2">DOTTraits</a> = <a class="el" href="structSVF_1_1DOTGraphTraits.html">DOTGraphTraits</a>&lt; GraphType &gt;</td></tr>
108
+ <tr class="separator:a245d85f8c907a409533ab151e9e3d9a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
+ <tr class="memitem:a65144f9ff432d21ad2751287a7237b3f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a65144f9ff432d21ad2751287a7237b3f">GTraits</a> = <a class="el" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a>&lt; GraphType &gt;</td></tr>
110
+ <tr class="separator:a65144f9ff432d21ad2751287a7237b3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
+ <tr class="memitem:ac2141c33c4075610f8253287ee4ff0c6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a> = typename <a class="el" href="structSVF_1_1GenericGraphTraits.html#a05654ab9615d75bc8e5f8c5cf9297205">GTraits::NodeRef</a></td></tr>
112
+ <tr class="separator:ac2141c33c4075610f8253287ee4ff0c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
+ <tr class="memitem:ab7ac9f47cedfc1f7c4cc3b16f5349427"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#ab7ac9f47cedfc1f7c4cc3b16f5349427">node_iterator</a> = typename GTraits::nodes_iterator</td></tr>
114
+ <tr class="separator:ab7ac9f47cedfc1f7c4cc3b16f5349427"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+ <tr class="memitem:ad41e952ca114bba64b87478f469b6d56"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a> = typename GTraits::ChildIteratorType</td></tr>
116
+ <tr class="separator:ad41e952ca114bba64b87478f469b6d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
117
+ </table><table class="memberdecls">
118
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
119
+ Private Member Functions</h2></td></tr>
120
+ <tr class="memitem:aa2d0fada900a8e08af0539498905a74f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#aa2d0fada900a8e08af0539498905a74f">getEdgeSourceLabels</a> (std::stringstream &amp;O2, <a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a> Node)</td></tr>
121
+ <tr class="separator:aa2d0fada900a8e08af0539498905a74f"><td class="memSeparator" colspan="2">&#160;</td></tr>
122
+ </table><table class="memberdecls">
123
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
124
+ Private Attributes</h2></td></tr>
125
+ <tr class="memitem:a2e882c9af39ffd3c4a4bac9212e0e82d"><td class="memItemLeft" align="right" valign="top">std::ofstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a></td></tr>
126
+ <tr class="separator:a2e882c9af39ffd3c4a4bac9212e0e82d"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
+ <tr class="memitem:a0ac109f9b3c3b3fe3cb61bbef09e0d29"><td class="memItemLeft" align="right" valign="top">const GraphType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a></td></tr>
128
+ <tr class="separator:a0ac109f9b3c3b3fe3cb61bbef09e0d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
129
+ <tr class="memitem:a36f1ca2744fae2f45400e82f39e4fcd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GraphWriter.html#a245d85f8c907a409533ab151e9e3d9a2">DOTTraits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a></td></tr>
130
+ <tr class="separator:a36f1ca2744fae2f45400e82f39e4fcd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
+ </table>
132
+ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
133
+ <div class="textblock"><h3>template&lt;typename GraphType&gt;<br />
134
+ class SVF::GraphWriter&lt; GraphType &gt;</h3>
135
+
136
+
137
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00062">62</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
138
+ </div><h2 class="groupheader">Member Typedef Documentation</h2>
139
+ <a id="ad41e952ca114bba64b87478f469b6d56"></a>
140
+ <h2 class="memtitle"><span class="permalink"><a href="#ad41e952ca114bba64b87478f469b6d56">&#9670;&nbsp;</a></span>child_iterator</h2>
141
+
142
+ <div class="memitem">
143
+ <div class="memproto">
144
+ <div class="memtemplate">
145
+ template&lt;typename GraphType&gt; </div>
146
+ <table class="mlabels">
147
+ <tr>
148
+ <td class="mlabels-left">
149
+ <table class="memname">
150
+ <tr>
151
+ <td class="memname">using <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::<a class="el" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a> = typename GTraits::ChildIteratorType</td>
152
+ </tr>
153
+ </table>
154
+ </td>
155
+ <td class="mlabels-right">
156
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
157
+ </tr>
158
+ </table>
159
+ </div><div class="memdoc">
160
+
161
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00071">71</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
162
+
163
+ </div>
164
+ </div>
165
+ <a id="a245d85f8c907a409533ab151e9e3d9a2"></a>
166
+ <h2 class="memtitle"><span class="permalink"><a href="#a245d85f8c907a409533ab151e9e3d9a2">&#9670;&nbsp;</a></span>DOTTraits</h2>
167
+
168
+ <div class="memitem">
169
+ <div class="memproto">
170
+ <div class="memtemplate">
171
+ template&lt;typename GraphType&gt; </div>
172
+ <table class="mlabels">
173
+ <tr>
174
+ <td class="mlabels-left">
175
+ <table class="memname">
176
+ <tr>
177
+ <td class="memname">using <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::<a class="el" href="classSVF_1_1GraphWriter.html#a245d85f8c907a409533ab151e9e3d9a2">DOTTraits</a> = <a class="el" href="structSVF_1_1DOTGraphTraits.html">DOTGraphTraits</a>&lt;GraphType&gt;</td>
178
+ </tr>
179
+ </table>
180
+ </td>
181
+ <td class="mlabels-right">
182
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
183
+ </tr>
184
+ </table>
185
+ </div><div class="memdoc">
186
+
187
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00067">67</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
188
+
189
+ </div>
190
+ </div>
191
+ <a id="a65144f9ff432d21ad2751287a7237b3f"></a>
192
+ <h2 class="memtitle"><span class="permalink"><a href="#a65144f9ff432d21ad2751287a7237b3f">&#9670;&nbsp;</a></span>GTraits</h2>
193
+
194
+ <div class="memitem">
195
+ <div class="memproto">
196
+ <div class="memtemplate">
197
+ template&lt;typename GraphType&gt; </div>
198
+ <table class="mlabels">
199
+ <tr>
200
+ <td class="mlabels-left">
201
+ <table class="memname">
202
+ <tr>
203
+ <td class="memname">using <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::<a class="el" href="classSVF_1_1GraphWriter.html#a65144f9ff432d21ad2751287a7237b3f">GTraits</a> = <a class="el" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a>&lt;GraphType&gt;</td>
204
+ </tr>
205
+ </table>
206
+ </td>
207
+ <td class="mlabels-right">
208
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
209
+ </tr>
210
+ </table>
211
+ </div><div class="memdoc">
212
+
213
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00068">68</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
214
+
215
+ </div>
216
+ </div>
217
+ <a id="ab7ac9f47cedfc1f7c4cc3b16f5349427"></a>
218
+ <h2 class="memtitle"><span class="permalink"><a href="#ab7ac9f47cedfc1f7c4cc3b16f5349427">&#9670;&nbsp;</a></span>node_iterator</h2>
219
+
220
+ <div class="memitem">
221
+ <div class="memproto">
222
+ <div class="memtemplate">
223
+ template&lt;typename GraphType&gt; </div>
224
+ <table class="mlabels">
225
+ <tr>
226
+ <td class="mlabels-left">
227
+ <table class="memname">
228
+ <tr>
229
+ <td class="memname">using <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::<a class="el" href="classSVF_1_1GraphWriter.html#ab7ac9f47cedfc1f7c4cc3b16f5349427">node_iterator</a> = typename GTraits::nodes_iterator</td>
230
+ </tr>
231
+ </table>
232
+ </td>
233
+ <td class="mlabels-right">
234
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
235
+ </tr>
236
+ </table>
237
+ </div><div class="memdoc">
238
+
239
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00070">70</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
240
+
241
+ </div>
242
+ </div>
243
+ <a id="ac2141c33c4075610f8253287ee4ff0c6"></a>
244
+ <h2 class="memtitle"><span class="permalink"><a href="#ac2141c33c4075610f8253287ee4ff0c6">&#9670;&nbsp;</a></span>NodeRef</h2>
245
+
246
+ <div class="memitem">
247
+ <div class="memproto">
248
+ <div class="memtemplate">
249
+ template&lt;typename GraphType&gt; </div>
250
+ <table class="mlabels">
251
+ <tr>
252
+ <td class="mlabels-left">
253
+ <table class="memname">
254
+ <tr>
255
+ <td class="memname">using <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::<a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a> = typename <a class="el" href="structSVF_1_1GenericGraphTraits.html#a05654ab9615d75bc8e5f8c5cf9297205">GTraits::NodeRef</a></td>
256
+ </tr>
257
+ </table>
258
+ </td>
259
+ <td class="mlabels-right">
260
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
261
+ </tr>
262
+ </table>
263
+ </div><div class="memdoc">
264
+
265
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00069">69</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
266
+
267
+ </div>
268
+ </div>
269
+ <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
270
+ <a id="afd8fec784307b919d1cb89b49533600e"></a>
271
+ <h2 class="memtitle"><span class="permalink"><a href="#afd8fec784307b919d1cb89b49533600e">&#9670;&nbsp;</a></span>GraphWriter()</h2>
272
+
273
+ <div class="memitem">
274
+ <div class="memproto">
275
+ <div class="memtemplate">
276
+ template&lt;typename GraphType&gt; </div>
277
+ <table class="mlabels">
278
+ <tr>
279
+ <td class="mlabels-left">
280
+ <table class="memname">
281
+ <tr>
282
+ <td class="memname"><a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::<a class="el" href="classSVF_1_1GraphWriter.html">GraphWriter</a> </td>
283
+ <td>(</td>
284
+ <td class="paramtype">std::ofstream &amp;&#160;</td>
285
+ <td class="paramname"><em>o</em>, </td>
286
+ </tr>
287
+ <tr>
288
+ <td class="paramkey"></td>
289
+ <td></td>
290
+ <td class="paramtype">const GraphType &amp;&#160;</td>
291
+ <td class="paramname"><em>g</em>, </td>
292
+ </tr>
293
+ <tr>
294
+ <td class="paramkey"></td>
295
+ <td></td>
296
+ <td class="paramtype">bool&#160;</td>
297
+ <td class="paramname"><em>SN</em>&#160;</td>
298
+ </tr>
299
+ <tr>
300
+ <td></td>
301
+ <td>)</td>
302
+ <td></td><td></td>
303
+ </tr>
304
+ </table>
305
+ </td>
306
+ <td class="mlabels-right">
307
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
308
+ </tr>
309
+ </table>
310
+ </div><div class="memdoc">
311
+
312
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00109">109</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
313
+ <div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; : <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a>(o), <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>(g)</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a> = <a class="code" href="classSVF_1_1GraphWriter.html#a245d85f8c907a409533ab151e9e3d9a2">DOTTraits</a>(SN);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div><div class="ttc" id="classSVF_1_1GraphWriter_html_a36f1ca2744fae2f45400e82f39e4fcd8"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">SVF::GraphWriter::DTraits</a></div><div class="ttdeci">DOTTraits DTraits</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00072">GraphWriter.h:72</a></div></div>
314
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a0ac109f9b3c3b3fe3cb61bbef09e0d29"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">SVF::GraphWriter::G</a></div><div class="ttdeci">const GraphType &amp; G</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00065">GraphWriter.h:65</a></div></div>
315
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a2e882c9af39ffd3c4a4bac9212e0e82d"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">SVF::GraphWriter::O</a></div><div class="ttdeci">std::ofstream &amp; O</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00064">GraphWriter.h:64</a></div></div>
316
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a245d85f8c907a409533ab151e9e3d9a2"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a245d85f8c907a409533ab151e9e3d9a2">SVF::GraphWriter::DOTTraits</a></div><div class="ttdeci">DOTGraphTraits&lt; GraphType &gt; DOTTraits</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00067">GraphWriter.h:67</a></div></div>
317
+ </div><!-- fragment -->
318
+ </div>
319
+ </div>
320
+ <h2 class="groupheader">Member Function Documentation</h2>
321
+ <a id="a320577b81479578a8e6021380f9c07a7"></a>
322
+ <h2 class="memtitle"><span class="permalink"><a href="#a320577b81479578a8e6021380f9c07a7">&#9670;&nbsp;</a></span>emitEdge()</h2>
323
+
324
+ <div class="memitem">
325
+ <div class="memproto">
326
+ <div class="memtemplate">
327
+ template&lt;typename GraphType&gt; </div>
328
+ <table class="mlabels">
329
+ <tr>
330
+ <td class="mlabels-left">
331
+ <table class="memname">
332
+ <tr>
333
+ <td class="memname">void <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::emitEdge </td>
334
+ <td>(</td>
335
+ <td class="paramtype">const void *&#160;</td>
336
+ <td class="paramname"><em>SrcNodeID</em>, </td>
337
+ </tr>
338
+ <tr>
339
+ <td class="paramkey"></td>
340
+ <td></td>
341
+ <td class="paramtype">int&#160;</td>
342
+ <td class="paramname"><em>SrcNodePort</em>, </td>
343
+ </tr>
344
+ <tr>
345
+ <td class="paramkey"></td>
346
+ <td></td>
347
+ <td class="paramtype">const void *&#160;</td>
348
+ <td class="paramname"><em>DestNodeID</em>, </td>
349
+ </tr>
350
+ <tr>
351
+ <td class="paramkey"></td>
352
+ <td></td>
353
+ <td class="paramtype">int&#160;</td>
354
+ <td class="paramname"><em>DestNodePort</em>, </td>
355
+ </tr>
356
+ <tr>
357
+ <td class="paramkey"></td>
358
+ <td></td>
359
+ <td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;&#160;</td>
360
+ <td class="paramname"><em>Attrs</em>&#160;</td>
361
+ </tr>
362
+ <tr>
363
+ <td></td>
364
+ <td>)</td>
365
+ <td></td><td></td>
366
+ </tr>
367
+ </table>
368
+ </td>
369
+ <td class="mlabels-right">
370
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
371
+ </tr>
372
+ </table>
373
+ </div><div class="memdoc">
374
+
375
+ <p>emitEdge - Output an edge from a simple node into the graph... </p>
376
+
377
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00300">300</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
378
+ <div class="fragment"><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">if</span> (SrcNodePort &gt; 64) <span class="keywordflow">return</span>; <span class="comment">// Eminating from truncated part?</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">if</span> (DestNodePort &gt; 64) DestNodePort = 64; <span class="comment">// Targeting the truncated part?</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\tNode&quot;</span> &lt;&lt; SrcNodeID;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">if</span> (SrcNodePort &gt;= 0)</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;:s&quot;</span> &lt;&lt; SrcNodePort;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot; -&gt; Node&quot;</span> &lt;&lt; DestNodeID;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">if</span> (DestNodePort &gt;= 0 &amp;&amp; <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a87d7b47985a849c7c4ff1c328a59c623">hasEdgeDestLabels</a>())</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;:d&quot;</span> &lt;&lt; DestNodePort;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">if</span> (!Attrs.empty())</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; Attrs &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;;\n&quot;</span>;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div><div class="ttc" id="classSVF_1_1GraphWriter_html_a36f1ca2744fae2f45400e82f39e4fcd8"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">SVF::GraphWriter::DTraits</a></div><div class="ttdeci">DOTTraits DTraits</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00072">GraphWriter.h:72</a></div></div>
379
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a87d7b47985a849c7c4ff1c328a59c623"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a87d7b47985a849c7c4ff1c328a59c623">SVF::DefaultDOTGraphTraits::hasEdgeDestLabels</a></div><div class="ttdeci">static bool hasEdgeDestLabels()</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00146">DOTGraphTraits.h:146</a></div></div>
380
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a2e882c9af39ffd3c4a4bac9212e0e82d"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">SVF::GraphWriter::O</a></div><div class="ttdeci">std::ofstream &amp; O</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00064">GraphWriter.h:64</a></div></div>
381
+ </div><!-- fragment -->
382
+ </div>
383
+ </div>
384
+ <a id="a0feff91ed80b997dd4550fae16382768"></a>
385
+ <h2 class="memtitle"><span class="permalink"><a href="#a0feff91ed80b997dd4550fae16382768">&#9670;&nbsp;</a></span>emitSimpleNode()</h2>
386
+
387
+ <div class="memitem">
388
+ <div class="memproto">
389
+ <div class="memtemplate">
390
+ template&lt;typename GraphType&gt; </div>
391
+ <table class="mlabels">
392
+ <tr>
393
+ <td class="mlabels-left">
394
+ <table class="memname">
395
+ <tr>
396
+ <td class="memname">void <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::emitSimpleNode </td>
397
+ <td>(</td>
398
+ <td class="paramtype">const void *&#160;</td>
399
+ <td class="paramname"><em>ID</em>, </td>
400
+ </tr>
401
+ <tr>
402
+ <td class="paramkey"></td>
403
+ <td></td>
404
+ <td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;&#160;</td>
405
+ <td class="paramname"><em>Attr</em>, </td>
406
+ </tr>
407
+ <tr>
408
+ <td class="paramkey"></td>
409
+ <td></td>
410
+ <td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;&#160;</td>
411
+ <td class="paramname"><em>Label</em>, </td>
412
+ </tr>
413
+ <tr>
414
+ <td class="paramkey"></td>
415
+ <td></td>
416
+ <td class="paramtype">unsigned&#160;</td>
417
+ <td class="paramname"><em>NumEdgeSources</em> = <code>0</code>, </td>
418
+ </tr>
419
+ <tr>
420
+ <td class="paramkey"></td>
421
+ <td></td>
422
+ <td class="paramtype">const std::vector&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt; *&#160;</td>
423
+ <td class="paramname"><em>EdgeSourceLabels</em> = <code>nullptr</code>&#160;</td>
424
+ </tr>
425
+ <tr>
426
+ <td></td>
427
+ <td>)</td>
428
+ <td></td><td></td>
429
+ </tr>
430
+ </table>
431
+ </td>
432
+ <td class="mlabels-right">
433
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
434
+ </tr>
435
+ </table>
436
+ </div><div class="memdoc">
437
+
438
+ <p>emitSimpleNode - Outputs a simple (non-record) node </p>
439
+
440
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00274">274</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
441
+ <div class="fragment"><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\tNode&quot;</span> &lt;&lt; ID &lt;&lt; <span class="stringliteral">&quot;[ &quot;</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">if</span> (!Attr.empty())</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; Attr &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot; label =\&quot;&quot;</span>;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">if</span> (NumEdgeSources) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(Label);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">if</span> (NumEdgeSources)</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|{&quot;</span>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != NumEdgeSources; ++i)</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (i) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span>;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;&lt;s&quot;</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot;&gt;&quot;</span>;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">if</span> (EdgeSourceLabels) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>((*EdgeSourceLabels)[i]);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;}}&quot;</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\&quot;];\n&quot;</span>;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="ttc" id="namespaceSVF_1_1DOT_html_a9e3127c2bbedaec1f20d4437bea9e2f7"><div class="ttname"><a href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">SVF::DOT::EscapeStr</a></div><div class="ttdeci">std::string EscapeStr(const std::string &amp;Label)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8cpp_source.html#l00012">GraphWriter.cpp:12</a></div></div>
442
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a2e882c9af39ffd3c4a4bac9212e0e82d"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">SVF::GraphWriter::O</a></div><div class="ttdeci">std::ofstream &amp; O</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00064">GraphWriter.h:64</a></div></div>
443
+ </div><!-- fragment -->
444
+ </div>
445
+ </div>
446
+ <a id="aa2d0fada900a8e08af0539498905a74f"></a>
447
+ <h2 class="memtitle"><span class="permalink"><a href="#aa2d0fada900a8e08af0539498905a74f">&#9670;&nbsp;</a></span>getEdgeSourceLabels()</h2>
448
+
449
+ <div class="memitem">
450
+ <div class="memproto">
451
+ <div class="memtemplate">
452
+ template&lt;typename GraphType&gt; </div>
453
+ <table class="mlabels">
454
+ <tr>
455
+ <td class="mlabels-left">
456
+ <table class="memname">
457
+ <tr>
458
+ <td class="memname">bool <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::getEdgeSourceLabels </td>
459
+ <td>(</td>
460
+ <td class="paramtype">std::stringstream &amp;&#160;</td>
461
+ <td class="paramname"><em>O2</em>, </td>
462
+ </tr>
463
+ <tr>
464
+ <td class="paramkey"></td>
465
+ <td></td>
466
+ <td class="paramtype"><a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a>&#160;</td>
467
+ <td class="paramname"><em>Node</em>&#160;</td>
468
+ </tr>
469
+ <tr>
470
+ <td></td>
471
+ <td>)</td>
472
+ <td></td><td></td>
473
+ </tr>
474
+ </table>
475
+ </td>
476
+ <td class="mlabels-right">
477
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
478
+ </tr>
479
+ </table>
480
+ </div><div class="memdoc">
481
+
482
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00081">81</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
483
+ <div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a> EI = GTraits::child_begin(Node);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a> EE = GTraits::child_end(Node);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordtype">bool</span> hasEdgeSourceLabels = <span class="keyword">false</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; EI != EE &amp;&amp; i != 64; ++EI, ++i)</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a66f5994cdef8fa307c9ff69ca90a1d6c">getEdgeSourceLabel</a>(Node, EI);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> (label.empty())</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; hasEdgeSourceLabels = <span class="keyword">true</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">if</span> (i)</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; O2 &lt;&lt; <span class="stringliteral">&quot;|&quot;</span>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; O2 &lt;&lt; <span class="stringliteral">&quot;&lt;s&quot;</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot;&gt;&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(label);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (EI != EE &amp;&amp; hasEdgeSourceLabels)</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; O2 &lt;&lt; <span class="stringliteral">&quot;|&lt;s64&gt;truncated...&quot;</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> hasEdgeSourceLabels;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div><div class="ttc" id="namespaceSVF_1_1DOT_html_a9e3127c2bbedaec1f20d4437bea9e2f7"><div class="ttname"><a href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">SVF::DOT::EscapeStr</a></div><div class="ttdeci">std::string EscapeStr(const std::string &amp;Label)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8cpp_source.html#l00012">GraphWriter.cpp:12</a></div></div>
484
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_ad41e952ca114bba64b87478f469b6d56"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">SVF::GraphWriter::child_iterator</a></div><div class="ttdeci">typename GTraits::ChildIteratorType child_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00071">GraphWriter.h:71</a></div></div>
485
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a36f1ca2744fae2f45400e82f39e4fcd8"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">SVF::GraphWriter::DTraits</a></div><div class="ttdeci">DOTTraits DTraits</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00072">GraphWriter.h:72</a></div></div>
486
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a66f5994cdef8fa307c9ff69ca90a1d6c"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a66f5994cdef8fa307c9ff69ca90a1d6c">SVF::DefaultDOTGraphTraits::getEdgeSourceLabel</a></div><div class="ttdeci">static std::string getEdgeSourceLabel(const void *, EdgeIter)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00121">DOTGraphTraits.h:121</a></div></div>
487
+ <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
488
+ </div><!-- fragment -->
489
+ </div>
490
+ </div>
491
+ <a id="afa5d94effc56067e44eba9a11afd5284"></a>
492
+ <h2 class="memtitle"><span class="permalink"><a href="#afa5d94effc56067e44eba9a11afd5284">&#9670;&nbsp;</a></span>getOStream()</h2>
493
+
494
+ <div class="memitem">
495
+ <div class="memproto">
496
+ <div class="memtemplate">
497
+ template&lt;typename GraphType&gt; </div>
498
+ <table class="mlabels">
499
+ <tr>
500
+ <td class="mlabels-left">
501
+ <table class="memname">
502
+ <tr>
503
+ <td class="memname">std::ofstream&amp; <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::getOStream </td>
504
+ <td>(</td>
505
+ <td class="paramname"></td><td>)</td>
506
+ <td></td>
507
+ </tr>
508
+ </table>
509
+ </td>
510
+ <td class="mlabels-right">
511
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
512
+ </tr>
513
+ </table>
514
+ </div><div class="memdoc">
515
+ <p>getOStream - Get the raw output stream into the graph file. Useful to write fancy things using addCustomGraphFeatures(). </p>
516
+
517
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00321">321</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
518
+ <div class="fragment"><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; {</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a>;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div><div class="ttc" id="classSVF_1_1GraphWriter_html_a2e882c9af39ffd3c4a4bac9212e0e82d"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">SVF::GraphWriter::O</a></div><div class="ttdeci">std::ofstream &amp; O</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00064">GraphWriter.h:64</a></div></div>
519
+ </div><!-- fragment -->
520
+ </div>
521
+ </div>
522
+ <a id="a8b1d80caf226c3a619c5fb03f8724f74"></a>
523
+ <h2 class="memtitle"><span class="permalink"><a href="#a8b1d80caf226c3a619c5fb03f8724f74">&#9670;&nbsp;</a></span>isNodeHidden()</h2>
524
+
525
+ <div class="memitem">
526
+ <div class="memproto">
527
+ <div class="memtemplate">
528
+ template&lt;typename GraphType&gt; </div>
529
+ <table class="mlabels">
530
+ <tr>
531
+ <td class="mlabels-left">
532
+ <table class="memname">
533
+ <tr>
534
+ <td class="memname">bool <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::isNodeHidden </td>
535
+ <td>(</td>
536
+ <td class="paramtype"><a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a>&#160;</td>
537
+ <td class="paramname"><em>Node</em></td><td>)</td>
538
+ <td></td>
539
+ </tr>
540
+ </table>
541
+ </td>
542
+ <td class="mlabels-right">
543
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
544
+ </tr>
545
+ </table>
546
+ </div><div class="memdoc">
547
+
548
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00165">165</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
549
+ <div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#ae73ba55d72d5df1f70a2bfa2e12958f3">isNodeHidden</a>(Node, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div><div class="ttc" id="classSVF_1_1GraphWriter_html_a36f1ca2744fae2f45400e82f39e4fcd8"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">SVF::GraphWriter::DTraits</a></div><div class="ttdeci">DOTTraits DTraits</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00072">GraphWriter.h:72</a></div></div>
550
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_ae73ba55d72d5df1f70a2bfa2e12958f3"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#ae73ba55d72d5df1f70a2bfa2e12958f3">SVF::DefaultDOTGraphTraits::isNodeHidden</a></div><div class="ttdeci">static bool isNodeHidden(const void *, const GraphType &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00072">DOTGraphTraits.h:72</a></div></div>
551
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a0ac109f9b3c3b3fe3cb61bbef09e0d29"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">SVF::GraphWriter::G</a></div><div class="ttdeci">const GraphType &amp; G</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00065">GraphWriter.h:65</a></div></div>
552
+ </div><!-- fragment -->
553
+ </div>
554
+ </div>
555
+ <a id="a6133d0033363b0e9db156c354da7d7e6"></a>
556
+ <h2 class="memtitle"><span class="permalink"><a href="#a6133d0033363b0e9db156c354da7d7e6">&#9670;&nbsp;</a></span>writeEdge()</h2>
557
+
558
+ <div class="memitem">
559
+ <div class="memproto">
560
+ <div class="memtemplate">
561
+ template&lt;typename GraphType&gt; </div>
562
+ <table class="mlabels">
563
+ <tr>
564
+ <td class="mlabels-left">
565
+ <table class="memname">
566
+ <tr>
567
+ <td class="memname">void <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::writeEdge </td>
568
+ <td>(</td>
569
+ <td class="paramtype"><a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a>&#160;</td>
570
+ <td class="paramname"><em>Node</em>, </td>
571
+ </tr>
572
+ <tr>
573
+ <td class="paramkey"></td>
574
+ <td></td>
575
+ <td class="paramtype">unsigned&#160;</td>
576
+ <td class="paramname"><em>edgeidx</em>, </td>
577
+ </tr>
578
+ <tr>
579
+ <td class="paramkey"></td>
580
+ <td></td>
581
+ <td class="paramtype"><a class="el" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a>&#160;</td>
582
+ <td class="paramname"><em>EI</em>&#160;</td>
583
+ </tr>
584
+ <tr>
585
+ <td></td>
586
+ <td>)</td>
587
+ <td></td><td></td>
588
+ </tr>
589
+ </table>
590
+ </td>
591
+ <td class="mlabels-right">
592
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
593
+ </tr>
594
+ </table>
595
+ </div><div class="memdoc">
596
+
597
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00249">249</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
598
+ <div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a> TargetNode = *EI)</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordtype">int</span> DestPort = -1;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a78c40f9b1af839116b88519fca154396">edgeTargetsEdgeSource</a>(Node, EI))</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a> TargetIt = <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#acfab6216e24999e92b2354e4f15b96b6">getEdgeTarget</a>(Node, EI);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="comment">// Figure out which edge this targets...</span></div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordtype">unsigned</span> Offset =</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; (unsigned)std::distance(GTraits::child_begin(TargetNode), TargetIt);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; DestPort = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(Offset);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a66f5994cdef8fa307c9ff69ca90a1d6c">getEdgeSourceLabel</a>(Node, EI).empty())</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; edgeidx = -1;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a320577b81479578a8e6021380f9c07a7">emitEdge</a>(static_cast&lt;const void*&gt;(Node), edgeidx,</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; static_cast&lt;const void*&gt;(TargetNode), DestPort,</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#ad84c95525cf15f90848c2558fd28f43b">getEdgeAttributes</a>(Node, EI, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>));</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div><div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_acfab6216e24999e92b2354e4f15b96b6"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#acfab6216e24999e92b2354e4f15b96b6">SVF::DefaultDOTGraphTraits::getEdgeTarget</a></div><div class="ttdeci">static EdgeIter getEdgeTarget(const void *, EdgeIter I)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00139">DOTGraphTraits.h:139</a></div></div>
599
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_ad41e952ca114bba64b87478f469b6d56"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">SVF::GraphWriter::child_iterator</a></div><div class="ttdeci">typename GTraits::ChildIteratorType child_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00071">GraphWriter.h:71</a></div></div>
600
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_ad84c95525cf15f90848c2558fd28f43b"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#ad84c95525cf15f90848c2558fd28f43b">SVF::DefaultDOTGraphTraits::getEdgeAttributes</a></div><div class="ttdeci">static std::string getEdgeAttributes(const void *, EdgeIter, const GraphType &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00112">DOTGraphTraits.h:112</a></div></div>
601
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a36f1ca2744fae2f45400e82f39e4fcd8"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">SVF::GraphWriter::DTraits</a></div><div class="ttdeci">DOTTraits DTraits</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00072">GraphWriter.h:72</a></div></div>
602
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a78c40f9b1af839116b88519fca154396"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a78c40f9b1af839116b88519fca154396">SVF::DefaultDOTGraphTraits::edgeTargetsEdgeSource</a></div><div class="ttdeci">static bool edgeTargetsEdgeSource(const void *, EdgeIter)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00130">DOTGraphTraits.h:130</a></div></div>
603
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_ac2141c33c4075610f8253287ee4ff0c6"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">SVF::GraphWriter::NodeRef</a></div><div class="ttdeci">typename GTraits::NodeRef NodeRef</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00069">GraphWriter.h:69</a></div></div>
604
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a0ac109f9b3c3b3fe3cb61bbef09e0d29"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">SVF::GraphWriter::G</a></div><div class="ttdeci">const GraphType &amp; G</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00065">GraphWriter.h:65</a></div></div>
605
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a66f5994cdef8fa307c9ff69ca90a1d6c"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a66f5994cdef8fa307c9ff69ca90a1d6c">SVF::DefaultDOTGraphTraits::getEdgeSourceLabel</a></div><div class="ttdeci">static std::string getEdgeSourceLabel(const void *, EdgeIter)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00121">DOTGraphTraits.h:121</a></div></div>
606
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a320577b81479578a8e6021380f9c07a7"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a320577b81479578a8e6021380f9c07a7">SVF::GraphWriter::emitEdge</a></div><div class="ttdeci">void emitEdge(const void *SrcNodeID, int SrcNodePort, const void *DestNodeID, int DestNodePort, const std::string &amp;Attrs)</div><div class="ttdoc">emitEdge - Output an edge from a simple node into the graph... </div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00300">GraphWriter.h:300</a></div></div>
607
+ </div><!-- fragment -->
608
+ </div>
609
+ </div>
610
+ <a id="a5c3ce0eba24c71f847676b23b855e44c"></a>
611
+ <h2 class="memtitle"><span class="permalink"><a href="#a5c3ce0eba24c71f847676b23b855e44c">&#9670;&nbsp;</a></span>writeFooter()</h2>
612
+
613
+ <div class="memitem">
614
+ <div class="memproto">
615
+ <div class="memtemplate">
616
+ template&lt;typename GraphType&gt; </div>
617
+ <table class="mlabels">
618
+ <tr>
619
+ <td class="mlabels-left">
620
+ <table class="memname">
621
+ <tr>
622
+ <td class="memname">void <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::writeFooter </td>
623
+ <td>(</td>
624
+ <td class="paramname"></td><td>)</td>
625
+ <td></td>
626
+ </tr>
627
+ </table>
628
+ </td>
629
+ <td class="mlabels-right">
630
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
631
+ </tr>
632
+ </table>
633
+ </div><div class="memdoc">
634
+
635
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00151">151</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
636
+ <div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="comment">// Finish off the graph</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;}\n&quot;</span>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div><div class="ttc" id="classSVF_1_1GraphWriter_html_a2e882c9af39ffd3c4a4bac9212e0e82d"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">SVF::GraphWriter::O</a></div><div class="ttdeci">std::ofstream &amp; O</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00064">GraphWriter.h:64</a></div></div>
637
+ </div><!-- fragment -->
638
+ </div>
639
+ </div>
640
+ <a id="ae414407f483b60c9fa49e2f3ae62de30"></a>
641
+ <h2 class="memtitle"><span class="permalink"><a href="#ae414407f483b60c9fa49e2f3ae62de30">&#9670;&nbsp;</a></span>writeGraph()</h2>
642
+
643
+ <div class="memitem">
644
+ <div class="memproto">
645
+ <div class="memtemplate">
646
+ template&lt;typename GraphType&gt; </div>
647
+ <table class="mlabels">
648
+ <tr>
649
+ <td class="mlabels-left">
650
+ <table class="memname">
651
+ <tr>
652
+ <td class="memname">void <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::writeGraph </td>
653
+ <td>(</td>
654
+ <td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;&#160;</td>
655
+ <td class="paramname"><em>Title</em> = <code>&quot;&quot;</code></td><td>)</td>
656
+ <td></td>
657
+ </tr>
658
+ </table>
659
+ </td>
660
+ <td class="mlabels-right">
661
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
662
+ </tr>
663
+ </table>
664
+ </div><div class="memdoc">
665
+
666
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00114">114</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
667
+ <div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="comment">// Output the header for the graph...</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#abd376959cc889e1e387523f38674650f">writeHeader</a>(Title);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="comment">// Emit all of the nodes in the graph...</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#ada2363727dc20c2183b8252f3bdf3a04">writeNodes</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="comment">// Output any customizations on the graph</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a47ee60dc78e3f869ce4e808e73437ddf">DOTGraphTraits&lt;GraphType&gt;::addCustomGraphFeatures</a>(<a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>, *<span class="keyword">this</span>);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="comment">// Output the end of the graph</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a5c3ce0eba24c71f847676b23b855e44c">writeFooter</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div><div class="ttc" id="classSVF_1_1GraphWriter_html_ada2363727dc20c2183b8252f3bdf3a04"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#ada2363727dc20c2183b8252f3bdf3a04">SVF::GraphWriter::writeNodes</a></div><div class="ttdeci">void writeNodes()</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00157">GraphWriter.h:157</a></div></div>
668
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_abd376959cc889e1e387523f38674650f"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#abd376959cc889e1e387523f38674650f">SVF::GraphWriter::writeHeader</a></div><div class="ttdeci">void writeHeader(const std::string &amp;Title)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00129">GraphWriter.h:129</a></div></div>
669
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a0ac109f9b3c3b3fe3cb61bbef09e0d29"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">SVF::GraphWriter::G</a></div><div class="ttdeci">const GraphType &amp; G</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00065">GraphWriter.h:65</a></div></div>
670
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a5c3ce0eba24c71f847676b23b855e44c"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a5c3ce0eba24c71f847676b23b855e44c">SVF::GraphWriter::writeFooter</a></div><div class="ttdeci">void writeFooter()</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00151">GraphWriter.h:151</a></div></div>
671
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a47ee60dc78e3f869ce4e808e73437ddf"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a47ee60dc78e3f869ce4e808e73437ddf">SVF::DefaultDOTGraphTraits::addCustomGraphFeatures</a></div><div class="ttdeci">static void addCustomGraphFeatures(const GraphType &amp;, GraphWriter &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00172">DOTGraphTraits.h:172</a></div></div>
672
+ </div><!-- fragment -->
673
+ </div>
674
+ </div>
675
+ <a id="abd376959cc889e1e387523f38674650f"></a>
676
+ <h2 class="memtitle"><span class="permalink"><a href="#abd376959cc889e1e387523f38674650f">&#9670;&nbsp;</a></span>writeHeader()</h2>
677
+
678
+ <div class="memitem">
679
+ <div class="memproto">
680
+ <div class="memtemplate">
681
+ template&lt;typename GraphType&gt; </div>
682
+ <table class="mlabels">
683
+ <tr>
684
+ <td class="mlabels-left">
685
+ <table class="memname">
686
+ <tr>
687
+ <td class="memname">void <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::writeHeader </td>
688
+ <td>(</td>
689
+ <td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;&#160;</td>
690
+ <td class="paramname"><em>Title</em></td><td>)</td>
691
+ <td></td>
692
+ </tr>
693
+ </table>
694
+ </td>
695
+ <td class="mlabels-right">
696
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
697
+ </tr>
698
+ </table>
699
+ </div><div class="memdoc">
700
+
701
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00129">129</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
702
+ <div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> GraphName(<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a41effe5697618840e0d5ea10c26781fe">getGraphName</a>(<a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>));</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (!Title.empty())</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;digraph \&quot;&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(Title) &lt;&lt; <span class="stringliteral">&quot;\&quot; {\n&quot;</span>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!GraphName.empty())</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;digraph \&quot;&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(GraphName) &lt;&lt; <span class="stringliteral">&quot;\&quot; {\n&quot;</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;digraph unnamed {\n&quot;</span>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#aeb5908ad6424c0636b698e5ea0a587c0">renderGraphFromBottomUp</a>())</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\trankdir=\&quot;BT\&quot;;\n&quot;</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">if</span> (!Title.empty())</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\tlabel=\&quot;&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(Title) &lt;&lt; <span class="stringliteral">&quot;\&quot;;\n&quot;</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!GraphName.empty())</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\tlabel=\&quot;&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(GraphName) &lt;&lt; <span class="stringliteral">&quot;\&quot;;\n&quot;</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#afe384157441d5ef0b3aafdfb6cd3028a">getGraphProperties</a>(<a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div><div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_aeb5908ad6424c0636b698e5ea0a587c0"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#aeb5908ad6424c0636b698e5ea0a587c0">SVF::DefaultDOTGraphTraits::renderGraphFromBottomUp</a></div><div class="ttdeci">static bool renderGraphFromBottomUp()</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00064">DOTGraphTraits.h:64</a></div></div>
703
+ <div class="ttc" id="namespaceSVF_1_1DOT_html_a9e3127c2bbedaec1f20d4437bea9e2f7"><div class="ttname"><a href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">SVF::DOT::EscapeStr</a></div><div class="ttdeci">std::string EscapeStr(const std::string &amp;Label)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8cpp_source.html#l00012">GraphWriter.cpp:12</a></div></div>
704
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a36f1ca2744fae2f45400e82f39e4fcd8"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">SVF::GraphWriter::DTraits</a></div><div class="ttdeci">DOTTraits DTraits</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00072">GraphWriter.h:72</a></div></div>
705
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a41effe5697618840e0d5ea10c26781fe"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a41effe5697618840e0d5ea10c26781fe">SVF::DefaultDOTGraphTraits::getGraphName</a></div><div class="ttdeci">static std::string getGraphName(const GraphType &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00047">DOTGraphTraits.h:47</a></div></div>
706
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a0ac109f9b3c3b3fe3cb61bbef09e0d29"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">SVF::GraphWriter::G</a></div><div class="ttdeci">const GraphType &amp; G</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00065">GraphWriter.h:65</a></div></div>
707
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_afe384157441d5ef0b3aafdfb6cd3028a"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#afe384157441d5ef0b3aafdfb6cd3028a">SVF::DefaultDOTGraphTraits::getGraphProperties</a></div><div class="ttdeci">static std::string getGraphProperties(const GraphType &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00056">DOTGraphTraits.h:56</a></div></div>
708
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a2e882c9af39ffd3c4a4bac9212e0e82d"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">SVF::GraphWriter::O</a></div><div class="ttdeci">std::ofstream &amp; O</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00064">GraphWriter.h:64</a></div></div>
709
+ <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
710
+ </div><!-- fragment -->
711
+ </div>
712
+ </div>
713
+ <a id="a18c579b53feccbb3b521982c6161f555"></a>
714
+ <h2 class="memtitle"><span class="permalink"><a href="#a18c579b53feccbb3b521982c6161f555">&#9670;&nbsp;</a></span>writeNode()</h2>
715
+
716
+ <div class="memitem">
717
+ <div class="memproto">
718
+ <div class="memtemplate">
719
+ template&lt;typename GraphType&gt; </div>
720
+ <table class="mlabels">
721
+ <tr>
722
+ <td class="mlabels-left">
723
+ <table class="memname">
724
+ <tr>
725
+ <td class="memname">void <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::writeNode </td>
726
+ <td>(</td>
727
+ <td class="paramtype"><a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a>&#160;</td>
728
+ <td class="paramname"><em>Node</em></td><td>)</td>
729
+ <td></td>
730
+ </tr>
731
+ </table>
732
+ </td>
733
+ <td class="mlabels-right">
734
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
735
+ </tr>
736
+ </table>
737
+ </div><div class="memdoc">
738
+
739
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00170">170</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
740
+ <div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> NodeAttributes = <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a3438f5f1ed763f2f7818535f212ff43b">getNodeAttributes</a>(Node, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\tNode&quot;</span> &lt;&lt; <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">void</span>*<span class="keyword">&gt;</span>(Node) &lt;&lt; <span class="stringliteral">&quot; [shape=record,&quot;</span>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">if</span> (!NodeAttributes.empty()) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; NodeAttributes &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;label=\&quot;{&quot;</span>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#aeb5908ad6424c0636b698e5ea0a587c0">renderGraphFromBottomUp</a>())</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a07487bbf691110420c680250994a6eba">getNodeLabel</a>(Node, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>));</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="comment">// If we should include the address of the node in the label, do so now.</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> Id = <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a0f81b82658f62589ec429c601538f6e9">getNodeIdentifierLabel</a>(Node, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">if</span> (!Id.empty())</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(Id);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> NodeDesc = <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#af5800f2d8efa24fee85f03871c07df21">getNodeDescription</a>(Node, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (!NodeDesc.empty())</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(NodeDesc);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> edgeSourceLabels;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; std::stringstream EdgeSourceLabels(edgeSourceLabels);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordtype">bool</span> hasEdgeSourceLabels = <a class="code" href="classSVF_1_1GraphWriter.html#aa2d0fada900a8e08af0539498905a74f">getEdgeSourceLabels</a>(EdgeSourceLabels, Node);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">if</span> (hasEdgeSourceLabels)</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#aeb5908ad6424c0636b698e5ea0a587c0">renderGraphFromBottomUp</a>()) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span>;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;{&quot;</span> &lt;&lt; EdgeSourceLabels.str() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#aeb5908ad6424c0636b698e5ea0a587c0">renderGraphFromBottomUp</a>()) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#aeb5908ad6424c0636b698e5ea0a587c0">renderGraphFromBottomUp</a>())</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a07487bbf691110420c680250994a6eba">getNodeLabel</a>(Node, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>));</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="comment">// If we should include the address of the node in the label, do so now.</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> Id = <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a0f81b82658f62589ec429c601538f6e9">getNodeIdentifierLabel</a>(Node, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span> (!Id.empty())</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(Id);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> NodeDesc = <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#af5800f2d8efa24fee85f03871c07df21">getNodeDescription</a>(Node, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">if</span> (!NodeDesc.empty())</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(NodeDesc);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a87d7b47985a849c7c4ff1c328a59c623">hasEdgeDestLabels</a>())</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|{&quot;</span>;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordtype">unsigned</span> i = 0, e = <a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a94f582264d3020f36a2ca3bdfbdaf81b">numEdgeDestLabels</a>(Node);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">for</span> (; i != e &amp;&amp; i != 64; ++i)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">if</span> (i) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;&lt;d&quot;</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot;&gt;&quot;</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#a5e560e93632e0ed1934d4c4508ca1884">getEdgeDestLabel</a>(Node, i));</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">if</span> (i != e)</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&lt;d64&gt;truncated...&quot;</span>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; }</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;}\&quot;];\n&quot;</span>; <span class="comment">// Finish printing the &quot;node&quot; line</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="comment">// Output all of the edges now</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a> EI = GTraits::child_begin(Node);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a> EE = GTraits::child_end(Node);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; EI != EE &amp;&amp; i != 64; ++EI, ++i)</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#ae73ba55d72d5df1f70a2bfa2e12958f3">isNodeHidden</a>(*EI, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>))</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a6133d0033363b0e9db156c354da7d7e6">writeEdge</a>(Node, i, EI);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">for</span> (; EI != EE; ++EI)</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">DTraits</a>.<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#ae73ba55d72d5df1f70a2bfa2e12958f3">isNodeHidden</a>(*EI, <a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>))</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a6133d0033363b0e9db156c354da7d7e6">writeEdge</a>(Node, 64, EI);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div><div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_aeb5908ad6424c0636b698e5ea0a587c0"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#aeb5908ad6424c0636b698e5ea0a587c0">SVF::DefaultDOTGraphTraits::renderGraphFromBottomUp</a></div><div class="ttdeci">static bool renderGraphFromBottomUp()</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00064">DOTGraphTraits.h:64</a></div></div>
741
+ <div class="ttc" id="namespaceSVF_1_1DOT_html_a9e3127c2bbedaec1f20d4437bea9e2f7"><div class="ttname"><a href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">SVF::DOT::EscapeStr</a></div><div class="ttdeci">std::string EscapeStr(const std::string &amp;Label)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8cpp_source.html#l00012">GraphWriter.cpp:12</a></div></div>
742
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_ad41e952ca114bba64b87478f469b6d56"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">SVF::GraphWriter::child_iterator</a></div><div class="ttdeci">typename GTraits::ChildIteratorType child_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00071">GraphWriter.h:71</a></div></div>
743
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_aa2d0fada900a8e08af0539498905a74f"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#aa2d0fada900a8e08af0539498905a74f">SVF::GraphWriter::getEdgeSourceLabels</a></div><div class="ttdeci">bool getEdgeSourceLabels(std::stringstream &amp;O2, NodeRef Node)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00081">GraphWriter.h:81</a></div></div>
744
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a36f1ca2744fae2f45400e82f39e4fcd8"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a36f1ca2744fae2f45400e82f39e4fcd8">SVF::GraphWriter::DTraits</a></div><div class="ttdeci">DOTTraits DTraits</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00072">GraphWriter.h:72</a></div></div>
745
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_ae73ba55d72d5df1f70a2bfa2e12958f3"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#ae73ba55d72d5df1f70a2bfa2e12958f3">SVF::DefaultDOTGraphTraits::isNodeHidden</a></div><div class="ttdeci">static bool isNodeHidden(const void *, const GraphType &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00072">DOTGraphTraits.h:72</a></div></div>
746
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a87d7b47985a849c7c4ff1c328a59c623"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a87d7b47985a849c7c4ff1c328a59c623">SVF::DefaultDOTGraphTraits::hasEdgeDestLabels</a></div><div class="ttdeci">static bool hasEdgeDestLabels()</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00146">DOTGraphTraits.h:146</a></div></div>
747
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a0ac109f9b3c3b3fe3cb61bbef09e0d29"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">SVF::GraphWriter::G</a></div><div class="ttdeci">const GraphType &amp; G</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00065">GraphWriter.h:65</a></div></div>
748
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a0f81b82658f62589ec429c601538f6e9"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a0f81b82658f62589ec429c601538f6e9">SVF::DefaultDOTGraphTraits::getNodeIdentifierLabel</a></div><div class="ttdeci">static std::string getNodeIdentifierLabel(const void *, const GraphType &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00089">DOTGraphTraits.h:89</a></div></div>
749
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a3438f5f1ed763f2f7818535f212ff43b"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a3438f5f1ed763f2f7818535f212ff43b">SVF::DefaultDOTGraphTraits::getNodeAttributes</a></div><div class="ttdeci">static std::string getNodeAttributes(const void *, const GraphType &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00103">DOTGraphTraits.h:103</a></div></div>
750
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_af5800f2d8efa24fee85f03871c07df21"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#af5800f2d8efa24fee85f03871c07df21">SVF::DefaultDOTGraphTraits::getNodeDescription</a></div><div class="ttdeci">static std::string getNodeDescription(const void *, const GraphType &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00095">DOTGraphTraits.h:95</a></div></div>
751
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a5e560e93632e0ed1934d4c4508ca1884"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a5e560e93632e0ed1934d4c4508ca1884">SVF::DefaultDOTGraphTraits::getEdgeDestLabel</a></div><div class="ttdeci">static std::string getEdgeDestLabel(const void *, unsigned)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00160">DOTGraphTraits.h:160</a></div></div>
752
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a07487bbf691110420c680250994a6eba"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a07487bbf691110420c680250994a6eba">SVF::DefaultDOTGraphTraits::getNodeLabel</a></div><div class="ttdeci">std::string getNodeLabel(const void *, const GraphType &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00080">DOTGraphTraits.h:80</a></div></div>
753
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a2e882c9af39ffd3c4a4bac9212e0e82d"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">SVF::GraphWriter::O</a></div><div class="ttdeci">std::ofstream &amp; O</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00064">GraphWriter.h:64</a></div></div>
754
+ <div class="ttc" id="structSVF_1_1DefaultDOTGraphTraits_html_a94f582264d3020f36a2ca3bdfbdaf81b"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#a94f582264d3020f36a2ca3bdfbdaf81b">SVF::DefaultDOTGraphTraits::numEdgeDestLabels</a></div><div class="ttdeci">static unsigned numEdgeDestLabels(const void *)</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00153">DOTGraphTraits.h:153</a></div></div>
755
+ <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
756
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a6133d0033363b0e9db156c354da7d7e6"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a6133d0033363b0e9db156c354da7d7e6">SVF::GraphWriter::writeEdge</a></div><div class="ttdeci">void writeEdge(NodeRef Node, unsigned edgeidx, child_iterator EI)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00249">GraphWriter.h:249</a></div></div>
757
+ </div><!-- fragment -->
758
+ </div>
759
+ </div>
760
+ <a id="ada2363727dc20c2183b8252f3bdf3a04"></a>
761
+ <h2 class="memtitle"><span class="permalink"><a href="#ada2363727dc20c2183b8252f3bdf3a04">&#9670;&nbsp;</a></span>writeNodes()</h2>
762
+
763
+ <div class="memitem">
764
+ <div class="memproto">
765
+ <div class="memtemplate">
766
+ template&lt;typename GraphType&gt; </div>
767
+ <table class="mlabels">
768
+ <tr>
769
+ <td class="mlabels-left">
770
+ <table class="memname">
771
+ <tr>
772
+ <td class="memname">void <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::writeNodes </td>
773
+ <td>(</td>
774
+ <td class="paramname"></td><td>)</td>
775
+ <td></td>
776
+ </tr>
777
+ </table>
778
+ </td>
779
+ <td class="mlabels-right">
780
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
781
+ </tr>
782
+ </table>
783
+ </div><div class="memdoc">
784
+
785
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00157">157</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
786
+ <div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">// Loop over the graph, printing it out...</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> Node : nodes&lt;GraphType&gt;(<a class="code" href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">G</a>))</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GraphWriter.html#a8b1d80caf226c3a619c5fb03f8724f74">isNodeHidden</a>(Node))</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a18c579b53feccbb3b521982c6161f555">writeNode</a>(Node);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div><div class="ttc" id="classSVF_1_1GraphWriter_html_a18c579b53feccbb3b521982c6161f555"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a18c579b53feccbb3b521982c6161f555">SVF::GraphWriter::writeNode</a></div><div class="ttdeci">void writeNode(NodeRef Node)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00170">GraphWriter.h:170</a></div></div>
787
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a0ac109f9b3c3b3fe3cb61bbef09e0d29"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a0ac109f9b3c3b3fe3cb61bbef09e0d29">SVF::GraphWriter::G</a></div><div class="ttdeci">const GraphType &amp; G</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00065">GraphWriter.h:65</a></div></div>
788
+ <div class="ttc" id="classSVF_1_1GraphWriter_html_a8b1d80caf226c3a619c5fb03f8724f74"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a8b1d80caf226c3a619c5fb03f8724f74">SVF::GraphWriter::isNodeHidden</a></div><div class="ttdeci">bool isNodeHidden(NodeRef Node)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00165">GraphWriter.h:165</a></div></div>
789
+ </div><!-- fragment -->
790
+ </div>
791
+ </div>
792
+ <h2 class="groupheader">Member Data Documentation</h2>
793
+ <a id="a36f1ca2744fae2f45400e82f39e4fcd8"></a>
794
+ <h2 class="memtitle"><span class="permalink"><a href="#a36f1ca2744fae2f45400e82f39e4fcd8">&#9670;&nbsp;</a></span>DTraits</h2>
795
+
796
+ <div class="memitem">
797
+ <div class="memproto">
798
+ <div class="memtemplate">
799
+ template&lt;typename GraphType&gt; </div>
800
+ <table class="mlabels">
801
+ <tr>
802
+ <td class="mlabels-left">
803
+ <table class="memname">
804
+ <tr>
805
+ <td class="memname"><a class="el" href="classSVF_1_1GraphWriter.html#a245d85f8c907a409533ab151e9e3d9a2">DOTTraits</a> <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::DTraits</td>
806
+ </tr>
807
+ </table>
808
+ </td>
809
+ <td class="mlabels-right">
810
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
811
+ </tr>
812
+ </table>
813
+ </div><div class="memdoc">
814
+
815
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00072">72</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
816
+
817
+ </div>
818
+ </div>
819
+ <a id="a0ac109f9b3c3b3fe3cb61bbef09e0d29"></a>
820
+ <h2 class="memtitle"><span class="permalink"><a href="#a0ac109f9b3c3b3fe3cb61bbef09e0d29">&#9670;&nbsp;</a></span>G</h2>
821
+
822
+ <div class="memitem">
823
+ <div class="memproto">
824
+ <div class="memtemplate">
825
+ template&lt;typename GraphType&gt; </div>
826
+ <table class="mlabels">
827
+ <tr>
828
+ <td class="mlabels-left">
829
+ <table class="memname">
830
+ <tr>
831
+ <td class="memname">const GraphType&amp; <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::G</td>
832
+ </tr>
833
+ </table>
834
+ </td>
835
+ <td class="mlabels-right">
836
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
837
+ </tr>
838
+ </table>
839
+ </div><div class="memdoc">
840
+
841
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00065">65</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
842
+
843
+ </div>
844
+ </div>
845
+ <a id="a2e882c9af39ffd3c4a4bac9212e0e82d"></a>
846
+ <h2 class="memtitle"><span class="permalink"><a href="#a2e882c9af39ffd3c4a4bac9212e0e82d">&#9670;&nbsp;</a></span>O</h2>
847
+
848
+ <div class="memitem">
849
+ <div class="memproto">
850
+ <div class="memtemplate">
851
+ template&lt;typename GraphType&gt; </div>
852
+ <table class="mlabels">
853
+ <tr>
854
+ <td class="mlabels-left">
855
+ <table class="memname">
856
+ <tr>
857
+ <td class="memname">std::ofstream&amp; <a class="el" href="classSVF_1_1GraphWriter.html">SVF::GraphWriter</a>&lt; GraphType &gt;::O</td>
858
+ </tr>
859
+ </table>
860
+ </td>
861
+ <td class="mlabels-right">
862
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
863
+ </tr>
864
+ </table>
865
+ </div><div class="memdoc">
866
+
867
+ <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00064">64</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
868
+
869
+ </div>
870
+ </div>
871
+ <hr/>The documentation for this class was generated from the following file:<ul>
872
+ <li>/home/runner/work/SVF/SVF/include/Graphs/<a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a></li>
873
+ </ul>
874
+ </div><!-- contents -->
875
+ <!-- start footer part -->
876
+ <hr class="footer"/><address class="footer"><small>
877
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
878
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
879
+ </a> 1.8.13
880
+ </small></address>
881
+ </body>
882
+ </html>