svf-tools 1.0.619 → 1.0.621

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  3. package/SVF-doxygen/html/html/Andersen_8h_source.html +4 -3
  4. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +9 -4
  5. package/SVF-doxygen/html/html/CFLAlias_8h.html +4 -0
  6. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +19 -10
  7. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/CFLBase_8h_source.html +1 -1
  9. package/SVF-doxygen/html/html/CFLDataBuilder_8h.html +96 -0
  10. package/SVF-doxygen/html/html/CFLDataBuilder_8h_source.html +99 -0
  11. package/SVF-doxygen/html/html/CFLData_8h.html +106 -0
  12. package/SVF-doxygen/html/html/CFLData_8h_source.html +136 -0
  13. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +7 -7
  15. package/SVF-doxygen/html/html/CFLSolver_8h.html +4 -0
  16. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +22 -16
  17. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +4 -4
  18. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/CommandLine_8h.html +129 -0
  20. package/SVF-doxygen/html/html/CommandLine_8h_source.html +132 -0
  21. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  22. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -4
  23. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
  25. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +20 -19
  26. package/SVF-doxygen/html/html/DDAPass_8h_source.html +9 -9
  27. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +6 -6
  29. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +7 -7
  31. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +2 -1
  32. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +2 -1
  33. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +21 -20
  38. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +17 -17
  39. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
  40. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
  45. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  46. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  50. package/SVF-doxygen/html/html/Options_8cpp.html +1 -0
  51. package/SVF-doxygen/html/html/Options_8cpp_source.html +124 -119
  52. package/SVF-doxygen/html/html/Options_8h.html +1 -1
  53. package/SVF-doxygen/html/html/Options_8h_source.html +125 -120
  54. package/SVF-doxygen/html/html/PCG_8cpp.html +2 -1
  55. package/SVF-doxygen/html/html/PCG_8cpp_source.html +13 -12
  56. package/SVF-doxygen/html/html/PCG_8h_source.html +12 -12
  57. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +4 -4
  58. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +13 -13
  59. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  61. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +5 -5
  62. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
  63. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +2 -2
  64. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -3
  65. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
  66. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +5 -4
  67. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +3 -3
  68. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -2
  69. package/SVF-doxygen/html/html/SVFType_8h.html +2 -2
  70. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -2
  71. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
  72. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +2 -2
  73. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +5 -5
  74. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -7
  75. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  76. package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
  77. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  78. package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
  79. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  80. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +10 -9
  81. package/SVF-doxygen/html/html/WPAPass_8h_source.html +4 -4
  82. package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +2 -2
  83. package/SVF-doxygen/html/html/annotated.html +363 -353
  84. package/SVF-doxygen/html/html/cfl_8cpp.html +3 -85
  85. package/SVF-doxygen/html/html/cfl_8cpp_source.html +3 -5
  86. package/SVF-doxygen/html/html/classOption-members.html +99 -0
  87. package/SVF-doxygen/html/html/classOption.html +567 -0
  88. package/SVF-doxygen/html/html/classOption.png +0 -0
  89. package/SVF-doxygen/html/html/classOptionBase-members.html +95 -0
  90. package/SVF-doxygen/html/html/classOptionBase.html +823 -0
  91. package/SVF-doxygen/html/html/classOptionBase.png +0 -0
  92. package/SVF-doxygen/html/html/classOptionMap-members.html +97 -0
  93. package/SVF-doxygen/html/html/classOptionMap.html +428 -0
  94. package/SVF-doxygen/html/html/classOptionMap.png +0 -0
  95. package/SVF-doxygen/html/html/classOptionMultiple-members.html +97 -0
  96. package/SVF-doxygen/html/html/classOptionMultiple.html +460 -0
  97. package/SVF-doxygen/html/html/classOptionMultiple.png +0 -0
  98. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +2 -2
  99. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +16 -15
  100. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -9
  101. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +6 -6
  102. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +7 -6
  103. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
  104. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +2 -2
  105. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  106. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +33 -30
  107. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
  108. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +9 -8
  109. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.png +0 -0
  110. package/SVF-doxygen/html/html/classSVF_1_1CFLData-members.html +110 -0
  111. package/SVF-doxygen/html/html/classSVF_1_1CFLData.html +1126 -0
  112. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder-members.html +88 -0
  113. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder.html +380 -0
  114. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +2 -2
  115. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +4 -4
  116. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +48 -39
  117. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.png +0 -0
  118. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +6 -6
  119. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +2 -2
  120. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +2 -2
  121. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +2 -2
  122. package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
  123. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  124. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +72 -72
  125. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
  126. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +2 -2
  127. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +8 -8
  128. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +2 -2
  129. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +36 -35
  130. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
  131. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +4 -4
  132. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +11 -11
  135. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +22 -8
  136. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  137. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +2 -2
  138. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
  139. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +3 -2
  141. package/SVF-doxygen/html/html/classSVF_1_1HybridData-members.html +89 -0
  142. package/SVF-doxygen/html/html/classSVF_1_1HybridData.html +449 -0
  143. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  144. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1IntervalExeState.html +8 -8
  146. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
  147. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +73 -72
  148. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +2 -2
  149. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +2 -2
  150. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +2 -2
  151. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +10 -10
  155. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -6
  156. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +12 -12
  157. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +4 -4
  159. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +2 -2
  160. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +8 -8
  161. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +121 -120
  164. package/SVF-doxygen/html/html/classSVF_1_1Options.html +641 -615
  165. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
  166. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +281 -0
  167. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +828 -0
  168. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.png +0 -0
  169. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver-members.html +98 -0
  170. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.html +245 -0
  171. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.png +0 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  173. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +20 -19
  174. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
  175. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +2 -2
  176. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  177. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +2 -2
  178. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +3 -3
  179. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +7 -7
  180. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
  181. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +9 -8
  182. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +2 -2
  183. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +18 -18
  184. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +6 -6
  185. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +3 -3
  187. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
  188. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +9 -9
  189. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +2 -2
  190. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +11 -11
  191. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +10 -10
  192. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +4 -4
  193. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +2 -2
  194. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +2 -2
  195. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  196. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +2 -2
  197. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +8 -8
  198. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +2 -2
  199. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +6 -6
  200. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +27 -26
  201. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +6 -6
  202. package/SVF-doxygen/html/html/classes.html +110 -108
  203. package/SVF-doxygen/html/html/dda_8cpp.html +51 -248
  204. package/SVF-doxygen/html/html/dda_8cpp_source.html +9 -10
  205. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
  206. package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +4 -0
  207. package/SVF-doxygen/html/html/files.html +27 -24
  208. package/SVF-doxygen/html/html/functions.html +7 -1
  209. package/SVF-doxygen/html/html/functions_0x7e.html +18 -0
  210. package/SVF-doxygen/html/html/functions_a.html +45 -21
  211. package/SVF-doxygen/html/html/functions_b.html +15 -7
  212. package/SVF-doxygen/html/html/functions_c.html +72 -49
  213. package/SVF-doxygen/html/html/functions_d.html +25 -16
  214. package/SVF-doxygen/html/html/functions_e.html +11 -4
  215. package/SVF-doxygen/html/html/functions_f.html +19 -16
  216. package/SVF-doxygen/html/html/functions_func.html +35 -11
  217. package/SVF-doxygen/html/html/functions_func_0x7e.html +18 -0
  218. package/SVF-doxygen/html/html/functions_func_b.html +11 -3
  219. package/SVF-doxygen/html/html/functions_func_c.html +55 -34
  220. package/SVF-doxygen/html/html/functions_func_e.html +5 -1
  221. package/SVF-doxygen/html/html/functions_func_f.html +4 -1
  222. package/SVF-doxygen/html/html/functions_func_g.html +26 -7
  223. package/SVF-doxygen/html/html/functions_func_h.html +10 -3
  224. package/SVF-doxygen/html/html/functions_func_i.html +25 -10
  225. package/SVF-doxygen/html/html/functions_func_m.html +3 -2
  226. package/SVF-doxygen/html/html/functions_func_n.html +4 -1
  227. package/SVF-doxygen/html/html/functions_func_o.html +23 -6
  228. package/SVF-doxygen/html/html/functions_func_p.html +15 -3
  229. package/SVF-doxygen/html/html/functions_func_s.html +20 -19
  230. package/SVF-doxygen/html/html/functions_func_t.html +3 -0
  231. package/SVF-doxygen/html/html/functions_func_u.html +3 -0
  232. package/SVF-doxygen/html/html/functions_g.html +28 -9
  233. package/SVF-doxygen/html/html/functions_h.html +13 -6
  234. package/SVF-doxygen/html/html/functions_i.html +44 -20
  235. package/SVF-doxygen/html/html/functions_k.html +1 -1
  236. package/SVF-doxygen/html/html/functions_l.html +4 -4
  237. package/SVF-doxygen/html/html/functions_m.html +14 -13
  238. package/SVF-doxygen/html/html/functions_n.html +9 -5
  239. package/SVF-doxygen/html/html/functions_o.html +48 -25
  240. package/SVF-doxygen/html/html/functions_p.html +65 -34
  241. package/SVF-doxygen/html/html/functions_r.html +7 -9
  242. package/SVF-doxygen/html/html/functions_s.html +34 -32
  243. package/SVF-doxygen/html/html/functions_t.html +17 -8
  244. package/SVF-doxygen/html/html/functions_type_c.html +2 -1
  245. package/SVF-doxygen/html/html/functions_type_d.html +3 -0
  246. package/SVF-doxygen/html/html/functions_type_i.html +2 -1
  247. package/SVF-doxygen/html/html/functions_type_o.html +7 -0
  248. package/SVF-doxygen/html/html/functions_type_p.html +6 -0
  249. package/SVF-doxygen/html/html/functions_type_t.html +3 -0
  250. package/SVF-doxygen/html/html/functions_u.html +6 -3
  251. package/SVF-doxygen/html/html/functions_v.html +7 -5
  252. package/SVF-doxygen/html/html/functions_vars.html +7 -1
  253. package/SVF-doxygen/html/html/functions_vars_a.html +7 -7
  254. package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
  255. package/SVF-doxygen/html/html/functions_vars_c.html +15 -12
  256. package/SVF-doxygen/html/html/functions_vars_d.html +21 -15
  257. package/SVF-doxygen/html/html/functions_vars_e.html +5 -2
  258. package/SVF-doxygen/html/html/functions_vars_f.html +6 -6
  259. package/SVF-doxygen/html/html/functions_vars_g.html +2 -2
  260. package/SVF-doxygen/html/html/functions_vars_h.html +1 -1
  261. package/SVF-doxygen/html/html/functions_vars_i.html +14 -6
  262. package/SVF-doxygen/html/html/functions_vars_k.html +1 -1
  263. package/SVF-doxygen/html/html/functions_vars_l.html +4 -4
  264. package/SVF-doxygen/html/html/functions_vars_m.html +11 -11
  265. package/SVF-doxygen/html/html/functions_vars_n.html +3 -2
  266. package/SVF-doxygen/html/html/functions_vars_o.html +5 -2
  267. package/SVF-doxygen/html/html/functions_vars_p.html +34 -21
  268. package/SVF-doxygen/html/html/functions_vars_r.html +5 -5
  269. package/SVF-doxygen/html/html/functions_vars_s.html +13 -10
  270. package/SVF-doxygen/html/html/functions_vars_t.html +7 -4
  271. package/SVF-doxygen/html/html/functions_vars_u.html +3 -3
  272. package/SVF-doxygen/html/html/functions_vars_v.html +6 -4
  273. package/SVF-doxygen/html/html/functions_vars_w.html +3 -3
  274. package/SVF-doxygen/html/html/functions_w.html +11 -7
  275. package/SVF-doxygen/html/html/globals_d.html +4 -4
  276. package/SVF-doxygen/html/html/globals_e.html +6 -6
  277. package/SVF-doxygen/html/html/globals_f.html +2 -2
  278. package/SVF-doxygen/html/html/globals_func.html +6 -58
  279. package/SVF-doxygen/html/html/globals_i.html +4 -12
  280. package/SVF-doxygen/html/html/globals_l.html +2 -2
  281. package/SVF-doxygen/html/html/globals_r.html +4 -4
  282. package/SVF-doxygen/html/html/globals_s.html +0 -4
  283. package/SVF-doxygen/html/html/globals_type.html +3 -0
  284. package/SVF-doxygen/html/html/globals_u.html +3 -0
  285. package/SVF-doxygen/html/html/globals_vars.html +43 -12
  286. package/SVF-doxygen/html/html/hierarchy.html +517 -496
  287. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +1 -1
  288. package/SVF-doxygen/html/html/menudata.js +1 -2
  289. package/SVF-doxygen/html/html/mta_8cpp.html +4 -47
  290. package/SVF-doxygen/html/html/mta_8cpp_source.html +4 -4
  291. package/SVF-doxygen/html/html/namespaceSVF.html +29 -0
  292. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +3 -2
  293. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
  294. package/SVF-doxygen/html/html/namespacemembers_l.html +3 -0
  295. package/SVF-doxygen/html/html/namespacemembers_type_l.html +3 -0
  296. package/SVF-doxygen/html/html/saber_8cpp.html +38 -136
  297. package/SVF-doxygen/html/html/saber_8cpp_source.html +8 -7
  298. package/SVF-doxygen/html/html/search/all_0.js +2 -1
  299. package/SVF-doxygen/html/html/search/all_1.js +15 -8
  300. package/SVF-doxygen/html/html/search/all_10.js +33 -25
  301. package/SVF-doxygen/html/html/search/all_11.js +9 -9
  302. package/SVF-doxygen/html/html/search/all_12.js +22 -22
  303. package/SVF-doxygen/html/html/search/all_13.js +14 -11
  304. package/SVF-doxygen/html/html/search/all_14.js +5 -4
  305. package/SVF-doxygen/html/html/search/all_15.js +5 -5
  306. package/SVF-doxygen/html/html/search/all_16.js +4 -4
  307. package/SVF-doxygen/html/html/search/all_19.js +6 -0
  308. package/SVF-doxygen/html/html/search/all_2.js +5 -3
  309. package/SVF-doxygen/html/html/search/all_3.js +25 -18
  310. package/SVF-doxygen/html/html/search/all_4.js +20 -18
  311. package/SVF-doxygen/html/html/search/all_5.js +8 -6
  312. package/SVF-doxygen/html/html/search/all_6.js +9 -8
  313. package/SVF-doxygen/html/html/search/all_7.js +9 -3
  314. package/SVF-doxygen/html/html/search/all_8.js +5 -3
  315. package/SVF-doxygen/html/html/search/all_9.js +16 -11
  316. package/SVF-doxygen/html/html/search/all_b.js +2 -2
  317. package/SVF-doxygen/html/html/search/all_c.js +7 -6
  318. package/SVF-doxygen/html/html/search/all_d.js +13 -13
  319. package/SVF-doxygen/html/html/search/all_e.js +4 -3
  320. package/SVF-doxygen/html/html/search/all_f.js +24 -6
  321. package/SVF-doxygen/html/html/search/classes_10.js +1 -0
  322. package/SVF-doxygen/html/html/search/classes_2.js +2 -0
  323. package/SVF-doxygen/html/html/search/classes_7.js +2 -1
  324. package/SVF-doxygen/html/html/search/classes_c.js +15 -0
  325. package/SVF-doxygen/html/html/search/classes_d.js +2 -0
  326. package/SVF-doxygen/html/html/search/files_2.js +3 -0
  327. package/SVF-doxygen/html/html/search/functions_0.js +8 -1
  328. package/SVF-doxygen/html/html/search/functions_1.js +4 -2
  329. package/SVF-doxygen/html/html/search/functions_10.js +0 -2
  330. package/SVF-doxygen/html/html/search/functions_11.js +2 -3
  331. package/SVF-doxygen/html/html/search/functions_12.js +1 -0
  332. package/SVF-doxygen/html/html/search/functions_13.js +1 -0
  333. package/SVF-doxygen/html/html/search/functions_17.js +6 -0
  334. package/SVF-doxygen/html/html/search/functions_2.js +5 -1
  335. package/SVF-doxygen/html/html/search/functions_3.js +0 -2
  336. package/SVF-doxygen/html/html/search/functions_4.js +2 -4
  337. package/SVF-doxygen/html/html/search/functions_5.js +2 -1
  338. package/SVF-doxygen/html/html/search/functions_6.js +7 -1
  339. package/SVF-doxygen/html/html/search/functions_7.js +4 -2
  340. package/SVF-doxygen/html/html/search/functions_8.js +6 -3
  341. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  342. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  343. package/SVF-doxygen/html/html/search/functions_d.js +1 -0
  344. package/SVF-doxygen/html/html/search/functions_e.js +7 -3
  345. package/SVF-doxygen/html/html/search/functions_f.js +3 -0
  346. package/SVF-doxygen/html/html/search/typedefs_11.js +2 -1
  347. package/SVF-doxygen/html/html/search/typedefs_12.js +1 -1
  348. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  349. package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
  350. package/SVF-doxygen/html/html/search/typedefs_7.js +1 -1
  351. package/SVF-doxygen/html/html/search/typedefs_a.js +1 -0
  352. package/SVF-doxygen/html/html/search/typedefs_d.js +2 -0
  353. package/SVF-doxygen/html/html/search/typedefs_e.js +2 -0
  354. package/SVF-doxygen/html/html/search/variables_0.js +2 -1
  355. package/SVF-doxygen/html/html/search/variables_1.js +7 -7
  356. package/SVF-doxygen/html/html/search/variables_10.js +25 -21
  357. package/SVF-doxygen/html/html/search/variables_11.js +7 -5
  358. package/SVF-doxygen/html/html/search/variables_12.js +11 -10
  359. package/SVF-doxygen/html/html/search/variables_13.js +9 -8
  360. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  361. package/SVF-doxygen/html/html/search/variables_15.js +4 -4
  362. package/SVF-doxygen/html/html/search/variables_16.js +3 -3
  363. package/SVF-doxygen/html/html/search/variables_2.js +1 -1
  364. package/SVF-doxygen/html/html/search/variables_3.js +13 -12
  365. package/SVF-doxygen/html/html/search/variables_4.js +19 -15
  366. package/SVF-doxygen/html/html/search/variables_5.js +6 -2
  367. package/SVF-doxygen/html/html/search/variables_6.js +7 -6
  368. package/SVF-doxygen/html/html/search/variables_7.js +2 -2
  369. package/SVF-doxygen/html/html/search/variables_8.js +1 -1
  370. package/SVF-doxygen/html/html/search/variables_9.js +9 -7
  371. package/SVF-doxygen/html/html/search/variables_b.js +1 -1
  372. package/SVF-doxygen/html/html/search/variables_c.js +5 -4
  373. package/SVF-doxygen/html/html/search/variables_d.js +11 -11
  374. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  375. package/SVF-doxygen/html/html/search/variables_f.js +3 -2
  376. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +4 -4
  377. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
  378. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  379. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +4 -4
  380. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode-members.html +86 -0
  381. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode.html +255 -0
  382. package/SVF-doxygen/html/html/svf-ex_8cpp.html +12 -55
  383. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +8 -8
  384. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +1 -1
  385. package/SVF-doxygen/html/html/wpa_8cpp.html +4 -47
  386. package/SVF-doxygen/html/html/wpa_8cpp_source.html +4 -4
  387. package/include/CFL/CFLAlias.h +34 -0
  388. package/include/CFL/CFLData.h +316 -0
  389. package/include/CFL/CFLDataBuilder.h +91 -0
  390. package/include/CFL/CFLSolver.h +21 -0
  391. package/include/Util/CommandLine.h +527 -0
  392. package/include/Util/Options.h +125 -124
  393. package/include/WPA/Andersen.h +5 -5
  394. package/lib/AbstractExecution/SVFIR2ItvExeState.cpp +2 -2
  395. package/lib/CFL/CFLAlias.cpp +40 -4
  396. package/lib/CFL/CFLBase.cpp +4 -4
  397. package/lib/CFL/CFLGraphBuilder.cpp +2 -2
  398. package/lib/CFL/CFLVF.cpp +5 -5
  399. package/lib/DDA/ContextDDA.cpp +1 -1
  400. package/lib/DDA/DDAPass.cpp +14 -13
  401. package/lib/DDA/FlowDDA.cpp +1 -1
  402. package/lib/Graphs/ConsG.cpp +10 -10
  403. package/lib/Graphs/ICFG.cpp +1 -1
  404. package/lib/Graphs/IRGraph.cpp +2 -2
  405. package/lib/Graphs/SVFG.cpp +5 -5
  406. package/lib/Graphs/SVFGOPT.cpp +5 -5
  407. package/lib/Graphs/VFG.cpp +1 -1
  408. package/lib/MSSA/MemRegion.cpp +2 -2
  409. package/lib/MSSA/MemSSA.cpp +4 -4
  410. package/lib/MSSA/SVFGBuilder.cpp +4 -4
  411. package/lib/MTA/FSMPTA.cpp +13 -13
  412. package/lib/MTA/MHP.cpp +1 -1
  413. package/lib/MTA/MTA.cpp +2 -2
  414. package/lib/MTA/MTAStat.cpp +1 -1
  415. package/lib/MTA/PCG.cpp +8 -2
  416. package/lib/MTA/TCT.cpp +2 -2
  417. package/lib/MemoryModel/PointerAnalysis.cpp +13 -13
  418. package/lib/MemoryModel/PointerAnalysisImpl.cpp +13 -13
  419. package/lib/MemoryModel/PointsTo.cpp +1 -1
  420. package/lib/SABER/DoubleFreeChecker.cpp +1 -1
  421. package/lib/SABER/LeakChecker.cpp +1 -1
  422. package/lib/SABER/SaberCondAllocator.cpp +1 -1
  423. package/lib/SABER/SrcSnkDDA.cpp +5 -5
  424. package/lib/SVF-LLVM/CHGBuilder.cpp +1 -1
  425. package/lib/SVF-LLVM/DCHG.cpp +1 -1
  426. package/lib/SVF-LLVM/LLVMLoopAnalysis.cpp +2 -2
  427. package/lib/SVF-LLVM/LLVMModule.cpp +10 -4
  428. package/lib/SVF-LLVM/SVFIRBuilder.cpp +8 -8
  429. package/lib/SVF-LLVM/SymbolTableBuilder.cpp +5 -5
  430. package/lib/SVFIR/SVFIR.cpp +4 -4
  431. package/lib/SVFIR/SVFStatements.cpp +16 -16
  432. package/lib/SVFIR/SVFVariables.cpp +5 -5
  433. package/lib/SVFIR/SymbolTableInfo.cpp +6 -6
  434. package/lib/Util/NodeIDAllocator.cpp +9 -9
  435. package/lib/Util/Options.cpp +431 -412
  436. package/lib/Util/SVFStat.cpp +5 -5
  437. package/lib/Util/SVFUtil.cpp +1 -1
  438. package/lib/Util/Z3Expr.cpp +2 -2
  439. package/lib/WPA/Andersen.cpp +13 -13
  440. package/lib/WPA/AndersenSCD.cpp +3 -3
  441. package/lib/WPA/FlowSensitive.cpp +8 -8
  442. package/lib/WPA/TypeAnalysis.cpp +1 -1
  443. package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
  444. package/lib/WPA/WPAPass.cpp +10 -9
  445. package/package.json +1 -1
  446. package/tools/CFL/cfl.cpp +8 -14
  447. package/tools/DDA/dda.cpp +39 -29
  448. package/tools/Example/svf-ex.cpp +5 -8
  449. package/tools/MTA/LockResultValidator.cpp +2 -2
  450. package/tools/MTA/MTAAnnotator.cpp +5 -5
  451. package/tools/MTA/MTAResultValidator.cpp +8 -8
  452. package/tools/MTA/mta.cpp +5 -8
  453. package/tools/SABER/saber.cpp +23 -17
  454. package/tools/WPA/wpa.cpp +6 -9
@@ -0,0 +1,567 @@
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: Option&lt; T &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><!-- top -->
60
+ <div class="header">
61
+ <div class="summary">
62
+ <a href="#pub-methods">Public Member Functions</a> &#124;
63
+ <a href="#pri-static-methods">Static Private Member Functions</a> &#124;
64
+ <a href="#pri-attribs">Private Attributes</a> &#124;
65
+ <a href="classOption-members.html">List of all members</a> </div>
66
+ <div class="headertitle">
67
+ <div class="title">Option&lt; T &gt; Class Template Reference</div> </div>
68
+ </div><!--header-->
69
+ <div class="contents">
70
+
71
+ <p><code>#include &lt;<a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>&gt;</code></p>
72
+ <div class="dynheader">
73
+ Inheritance diagram for Option&lt; T &gt;:</div>
74
+ <div class="dyncontent">
75
+ <div class="center">
76
+ <img src="classOption.png" usemap="#Option_3C_20T_20_3E_map" alt=""/>
77
+ <map id="Option_3C_20T_20_3E_map" name="Option_3C_20T_20_3E_map">
78
+ <area href="classOptionBase.html" alt="OptionBase" shape="rect" coords="0,0,80,24"/>
79
+ </map>
80
+ </div></div>
81
+ <table class="memberdecls">
82
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
83
+ Public Member Functions</h2></td></tr>
84
+ <tr class="memitem:a479f07d7e2424931ea23e905a88f9c57"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#a479f07d7e2424931ea23e905a88f9c57">Option</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> <a class="el" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> <a class="el" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>, T init)</td></tr>
85
+ <tr class="separator:a479f07d7e2424931ea23e905a88f9c57"><td class="memSeparator" colspan="2">&#160;</td></tr>
86
+ <tr class="memitem:a25507245c3b4b8d2d52ab069d756bc31"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#a25507245c3b4b8d2d52ab069d756bc31">canSet</a> (void) const override</td></tr>
87
+ <tr class="memdesc:a25507245c3b4b8d2d52ab069d756bc31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can this option be set? <a href="#a25507245c3b4b8d2d52ab069d756bc31">More...</a><br /></td></tr>
88
+ <tr class="separator:a25507245c3b4b8d2d52ab069d756bc31"><td class="memSeparator" colspan="2">&#160;</td></tr>
89
+ <tr class="memitem:a4bce0f38bb5ae80e3ce435e736df6f50"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#a4bce0f38bb5ae80e3ce435e736df6f50">parseAndSetValue</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> s) override</td></tr>
90
+ <tr class="memdesc:a4bce0f38bb5ae80e3ce435e736df6f50"><td class="mdescLeft">&#160;</td><td class="mdescRight">From a given string, set the value of this option. <a href="#a4bce0f38bb5ae80e3ce435e736df6f50">More...</a><br /></td></tr>
91
+ <tr class="separator:a4bce0f38bb5ae80e3ce435e736df6f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
92
+ <tr class="memitem:a910cf3c0ac5d45ee169cb8750898ea0b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#a910cf3c0ac5d45ee169cb8750898ea0b">isBool</a> (void) const override</td></tr>
93
+ <tr class="separator:a910cf3c0ac5d45ee169cb8750898ea0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
+ <tr class="memitem:ab40684f5ece904e9b81180ca1012b0b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#ab40684f5ece904e9b81180ca1012b0b6">setValue</a> (T v)</td></tr>
95
+ <tr class="separator:ab40684f5ece904e9b81180ca1012b0b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
+ <tr class="memitem:a03dd304d717f642cd3b809c0233f876c"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#a03dd304d717f642cd3b809c0233f876c">operator()</a> (void) const</td></tr>
97
+ <tr class="separator:a03dd304d717f642cd3b809c0233f876c"><td class="memSeparator" colspan="2">&#160;</td></tr>
98
+ </table><table class="memberdecls">
99
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a>
100
+ Static Private Member Functions</h2></td></tr>
101
+ <tr class="memitem:abcd65f7f3f269cba1456455980be8322"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#abcd65f7f3f269cba1456455980be8322">fromString</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> s, bool &amp;<a class="el" href="classOption.html#a067413be0c747358947c539a4179d489">value</a>)</td></tr>
102
+ <tr class="separator:abcd65f7f3f269cba1456455980be8322"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
+ <tr class="memitem:a90cb730780483d0b45378ffbab1b7226"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#a90cb730780483d0b45378ffbab1b7226">fromString</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> s, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;<a class="el" href="classOption.html#a067413be0c747358947c539a4179d489">value</a>)</td></tr>
104
+ <tr class="separator:a90cb730780483d0b45378ffbab1b7226"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
+ <tr class="memitem:a40a506940beb76487183260d6c73eabf"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#a40a506940beb76487183260d6c73eabf">fromString</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> s, <a class="el" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> &amp;<a class="el" href="classOption.html#a067413be0c747358947c539a4179d489">value</a>)</td></tr>
106
+ <tr class="separator:a40a506940beb76487183260d6c73eabf"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ </table><table class="memberdecls">
108
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
109
+ Private Attributes</h2></td></tr>
110
+ <tr class="memitem:a980a99e59afae6419a9b15f7606d83dc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#a980a99e59afae6419a9b15f7606d83dc">isExplicitlySet</a></td></tr>
111
+ <tr class="separator:a980a99e59afae6419a9b15f7606d83dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
112
+ <tr class="memitem:a067413be0c747358947c539a4179d489"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOption.html#a067413be0c747358947c539a4179d489">value</a></td></tr>
113
+ <tr class="separator:a067413be0c747358947c539a4179d489"><td class="memSeparator" colspan="2">&#160;</td></tr>
114
+ </table><table class="memberdecls">
115
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
116
+ Additional Inherited Members</h2></td></tr>
117
+ <tr class="inherit_header pub_static_methods_classOptionBase"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classOptionBase')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classOptionBase.html">OptionBase</a></td></tr>
118
+ <tr class="memitem:a4fb6c6e4a1754d702c6c1730f54457e5 inherit pub_static_methods_classOptionBase"><td class="memItemLeft" align="right" valign="top">static std::vector&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">parseOptions</a> (int argc, char *argv[], <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> <a class="el" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> callFormat)</td></tr>
119
+ <tr class="separator:a4fb6c6e4a1754d702c6c1730f54457e5 inherit pub_static_methods_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
120
+ <tr class="inherit_header pro_types_classOptionBase"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classOptionBase')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classOptionBase.html">OptionBase</a></td></tr>
121
+ <tr class="memitem:a0a048de2a9ea404cb6b6be6276e8f91e inherit pro_types_classOptionBase"><td class="memItemLeft" align="right" valign="top">typedef std::pair&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a0a048de2a9ea404cb6b6be6276e8f91e">PossibilityDescription</a></td></tr>
122
+ <tr class="memdesc:a0a048de2a9ea404cb6b6be6276e8f91e inherit pro_types_classOptionBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name/description pairs. <a href="classOptionBase.html#a0a048de2a9ea404cb6b6be6276e8f91e">More...</a><br /></td></tr>
123
+ <tr class="separator:a0a048de2a9ea404cb6b6be6276e8f91e inherit pro_types_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
124
+ <tr class="memitem:adbecc317e1c8a157456c069ca0b4679c inherit pro_types_classOptionBase"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; std::pair&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a></td></tr>
125
+ <tr class="separator:adbecc317e1c8a157456c069ca0b4679c inherit pro_types_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
126
+ <tr class="memitem:a8cc760078ccd614db2190d0f87f5da0d inherit pro_types_classOptionBase"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
127
+ <tr class="memitem:a8cc760078ccd614db2190d0f87f5da0d inherit pro_types_classOptionBase"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a8cc760078ccd614db2190d0f87f5da0d">OptionPossibility</a> = std::tuple&lt; T, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt;</td></tr>
128
+ <tr class="separator:a8cc760078ccd614db2190d0f87f5da0d inherit pro_types_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
129
+ <tr class="inherit_header pro_methods_classOptionBase"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classOptionBase')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classOptionBase.html">OptionBase</a></td></tr>
130
+ <tr class="memitem:ae99500409f218ce63d4dbce537884c7f inherit pro_methods_classOptionBase"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#ae99500409f218ce63d4dbce537884c7f">OptionBase</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> <a class="el" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> <a class="el" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>)</td></tr>
131
+ <tr class="separator:ae99500409f218ce63d4dbce537884c7f inherit pro_methods_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
132
+ <tr class="memitem:a3a30161a89e5dd22b3501b6a7de3eab4 inherit pro_methods_classOptionBase"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a3a30161a89e5dd22b3501b6a7de3eab4">OptionBase</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> <a class="el" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> <a class="el" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>, <a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a> <a class="el" href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">possibilityDescriptions</a>)</td></tr>
133
+ <tr class="separator:a3a30161a89e5dd22b3501b6a7de3eab4 inherit pro_methods_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
134
+ <tr class="memitem:ad6fe65a503048686686ea6ced35a2dfd inherit pro_methods_classOptionBase"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#ad6fe65a503048686686ea6ced35a2dfd">isMultiple</a> (void) const</td></tr>
135
+ <tr class="memdesc:ad6fe65a503048686686ea6ced35a2dfd inherit pro_methods_classOptionBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether this option is an <a class="el" href="classOptionMultiple.html">OptionMultiple</a>. <a href="classOptionBase.html#ad6fe65a503048686686ea6ced35a2dfd">More...</a><br /></td></tr>
136
+ <tr class="separator:ad6fe65a503048686686ea6ced35a2dfd inherit pro_methods_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
137
+ <tr class="inherit_header pro_static_methods_classOptionBase"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classOptionBase')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classOptionBase.html">OptionBase</a></td></tr>
138
+ <tr class="memitem:a21e8ccc08eef254ceee53185a717301d inherit pro_static_methods_classOptionBase"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
139
+ <tr class="memitem:a21e8ccc08eef254ceee53185a717301d inherit pro_static_methods_classOptionBase"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a21e8ccc08eef254ceee53185a717301d">extractPossibilityDescriptions</a> (const std::vector&lt; <a class="el" href="classOptionBase.html#a8cc760078ccd614db2190d0f87f5da0d">OptionPossibility</a>&lt; T &gt;&gt; possibilities)</td></tr>
140
+ <tr class="separator:a21e8ccc08eef254ceee53185a717301d inherit pro_static_methods_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
141
+ <tr class="memitem:ac68017dd45d05c5fe26ae04bb58f903c inherit pro_static_methods_classOptionBase"><td class="memItemLeft" align="right" valign="top">static std::map&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classOptionBase.html">OptionBase</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">getOptionsMap</a> (void)</td></tr>
142
+ <tr class="separator:ac68017dd45d05c5fe26ae04bb58f903c inherit pro_static_methods_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
143
+ <tr class="inherit_header pro_attribs_classOptionBase"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classOptionBase')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classOptionBase.html">OptionBase</a></td></tr>
144
+ <tr class="memitem:a494ea256d6484e4f7e8751de499889fc inherit pro_attribs_classOptionBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a></td></tr>
145
+ <tr class="separator:a494ea256d6484e4f7e8751de499889fc inherit pro_attribs_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
146
+ <tr class="memitem:a8fbb1cde9e12a099617c8e8298424b5b inherit pro_attribs_classOptionBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a></td></tr>
147
+ <tr class="separator:a8fbb1cde9e12a099617c8e8298424b5b inherit pro_attribs_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
148
+ <tr class="memitem:aa6cc4a59e5801eff5d7dcdc0137e16a1 inherit pro_attribs_classOptionBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">possibilityDescriptions</a></td></tr>
149
+ <tr class="memdesc:aa6cc4a59e5801eff5d7dcdc0137e16a1 inherit pro_attribs_classOptionBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">For when we have possibilities like in an <a class="el" href="classOptionMap.html">OptionMap</a>. <a href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">More...</a><br /></td></tr>
150
+ <tr class="separator:aa6cc4a59e5801eff5d7dcdc0137e16a1 inherit pro_attribs_classOptionBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
+ </table>
152
+ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
153
+ <div class="textblock"><h3>template&lt;typename T&gt;<br />
154
+ class Option&lt; T &gt;</h3>
155
+
156
+ <p>General -name=value options. Retrieve value by Opt(). </p>
157
+
158
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00325">325</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
159
+ </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
160
+ <a id="a479f07d7e2424931ea23e905a88f9c57"></a>
161
+ <h2 class="memtitle"><span class="permalink"><a href="#a479f07d7e2424931ea23e905a88f9c57">&#9670;&nbsp;</a></span>Option()</h2>
162
+
163
+ <div class="memitem">
164
+ <div class="memproto">
165
+ <div class="memtemplate">
166
+ template&lt;typename T&gt; </div>
167
+ <table class="mlabels">
168
+ <tr>
169
+ <td class="mlabels-left">
170
+ <table class="memname">
171
+ <tr>
172
+ <td class="memname"><a class="el" href="classOption.html">Option</a>&lt; T &gt;::<a class="el" href="classOption.html">Option</a> </td>
173
+ <td>(</td>
174
+ <td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td>
175
+ <td class="paramname"><em>name</em>, </td>
176
+ </tr>
177
+ <tr>
178
+ <td class="paramkey"></td>
179
+ <td></td>
180
+ <td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td>
181
+ <td class="paramname"><em>description</em>, </td>
182
+ </tr>
183
+ <tr>
184
+ <td class="paramkey"></td>
185
+ <td></td>
186
+ <td class="paramtype">T&#160;</td>
187
+ <td class="paramname"><em>init</em>&#160;</td>
188
+ </tr>
189
+ <tr>
190
+ <td></td>
191
+ <td>)</td>
192
+ <td></td><td></td>
193
+ </tr>
194
+ </table>
195
+ </td>
196
+ <td class="mlabels-right">
197
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
198
+ </tr>
199
+ </table>
200
+ </div><div class="memdoc">
201
+
202
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00328">328</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
203
+ <div class="fragment"><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; : <a class="code" href="classOptionBase.html#ae99500409f218ce63d4dbce537884c7f">OptionBase</a>(<a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>, <a class="code" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>), <a class="code" href="classOption.html#a980a99e59afae6419a9b15f7606d83dc">isExplicitlySet</a>(<span class="keyword">false</span>), <a class="code" href="classOption.html#a067413be0c747358947c539a4179d489">value</a>(init)</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; assert(!<a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>.empty() &amp;&amp; <span class="stringliteral">&quot;Option: empty option name given&quot;</span>);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; }</div><div class="ttc" id="classOptionBase_html_a8fbb1cde9e12a099617c8e8298424b5b"><div class="ttname"><a href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">OptionBase::description</a></div><div class="ttdeci">std::string description</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00317">CommandLine.h:317</a></div></div>
204
+ <div class="ttc" id="classOptionBase_html_a494ea256d6484e4f7e8751de499889fc"><div class="ttname"><a href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">OptionBase::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00316">CommandLine.h:316</a></div></div>
205
+ <div class="ttc" id="classOption_html_a980a99e59afae6419a9b15f7606d83dc"><div class="ttname"><a href="classOption.html#a980a99e59afae6419a9b15f7606d83dc">Option::isExplicitlySet</a></div><div class="ttdeci">bool isExplicitlySet</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00399">CommandLine.h:399</a></div></div>
206
+ <div class="ttc" id="classOption_html_a067413be0c747358947c539a4179d489"><div class="ttname"><a href="classOption.html#a067413be0c747358947c539a4179d489">Option::value</a></div><div class="ttdeci">T value</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00400">CommandLine.h:400</a></div></div>
207
+ <div class="ttc" id="classOptionBase_html_ae99500409f218ce63d4dbce537884c7f"><div class="ttname"><a href="classOptionBase.html#ae99500409f218ce63d4dbce537884c7f">OptionBase::OptionBase</a></div><div class="ttdeci">OptionBase(std::string name, std::string description)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00033">CommandLine.h:33</a></div></div>
208
+ </div><!-- fragment -->
209
+ </div>
210
+ </div>
211
+ <h2 class="groupheader">Member Function Documentation</h2>
212
+ <a id="a25507245c3b4b8d2d52ab069d756bc31"></a>
213
+ <h2 class="memtitle"><span class="permalink"><a href="#a25507245c3b4b8d2d52ab069d756bc31">&#9670;&nbsp;</a></span>canSet()</h2>
214
+
215
+ <div class="memitem">
216
+ <div class="memproto">
217
+ <div class="memtemplate">
218
+ template&lt;typename T&gt; </div>
219
+ <table class="mlabels">
220
+ <tr>
221
+ <td class="mlabels-left">
222
+ <table class="memname">
223
+ <tr>
224
+ <td class="memname">virtual bool <a class="el" href="classOption.html">Option</a>&lt; T &gt;::canSet </td>
225
+ <td>(</td>
226
+ <td class="paramtype">void&#160;</td>
227
+ <td class="paramname"></td><td>)</td>
228
+ <td> const</td>
229
+ </tr>
230
+ </table>
231
+ </td>
232
+ <td class="mlabels-right">
233
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
234
+ </tr>
235
+ </table>
236
+ </div><div class="memdoc">
237
+
238
+ <p>Can this option be set? </p>
239
+
240
+ <p>Implements <a class="el" href="classOptionBase.html#a41b5697dffc86139fa9341210f7233d9">OptionBase</a>.</p>
241
+
242
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00334">334</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
243
+ <div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="comment">// Don&#39;t allow duplicates.</span></div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> !<a class="code" href="classOption.html#a980a99e59afae6419a9b15f7606d83dc">isExplicitlySet</a>;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div><div class="ttc" id="classOption_html_a980a99e59afae6419a9b15f7606d83dc"><div class="ttname"><a href="classOption.html#a980a99e59afae6419a9b15f7606d83dc">Option::isExplicitlySet</a></div><div class="ttdeci">bool isExplicitlySet</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00399">CommandLine.h:399</a></div></div>
244
+ </div><!-- fragment -->
245
+ </div>
246
+ </div>
247
+ <a id="abcd65f7f3f269cba1456455980be8322"></a>
248
+ <h2 class="memtitle"><span class="permalink"><a href="#abcd65f7f3f269cba1456455980be8322">&#9670;&nbsp;</a></span>fromString() <span class="overload">[1/3]</span></h2>
249
+
250
+ <div class="memitem">
251
+ <div class="memproto">
252
+ <div class="memtemplate">
253
+ template&lt;typename T&gt; </div>
254
+ <table class="mlabels">
255
+ <tr>
256
+ <td class="mlabels-left">
257
+ <table class="memname">
258
+ <tr>
259
+ <td class="memname">static bool <a class="el" href="classOption.html">Option</a>&lt; T &gt;::fromString </td>
260
+ <td>(</td>
261
+ <td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td>
262
+ <td class="paramname"><em>s</em>, </td>
263
+ </tr>
264
+ <tr>
265
+ <td class="paramkey"></td>
266
+ <td></td>
267
+ <td class="paramtype">bool &amp;&#160;</td>
268
+ <td class="paramname"><em>value</em>&#160;</td>
269
+ </tr>
270
+ <tr>
271
+ <td></td>
272
+ <td>)</td>
273
+ <td></td><td></td>
274
+ </tr>
275
+ </table>
276
+ </td>
277
+ <td class="mlabels-right">
278
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
279
+ </tr>
280
+ </table>
281
+ </div><div class="memdoc">
282
+
283
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00363">363</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
284
+ <div class="fragment"><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; {</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;true&quot;</span>) <a class="code" href="classOption.html#a067413be0c747358947c539a4179d489">value</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;false&quot;</span>) <a class="code" href="classOption.html#a067413be0c747358947c539a4179d489">value</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; }</div><div class="ttc" id="classOption_html_a067413be0c747358947c539a4179d489"><div class="ttname"><a href="classOption.html#a067413be0c747358947c539a4179d489">Option::value</a></div><div class="ttdeci">T value</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00400">CommandLine.h:400</a></div></div>
285
+ </div><!-- fragment -->
286
+ </div>
287
+ </div>
288
+ <a id="a90cb730780483d0b45378ffbab1b7226"></a>
289
+ <h2 class="memtitle"><span class="permalink"><a href="#a90cb730780483d0b45378ffbab1b7226">&#9670;&nbsp;</a></span>fromString() <span class="overload">[2/3]</span></h2>
290
+
291
+ <div class="memitem">
292
+ <div class="memproto">
293
+ <div class="memtemplate">
294
+ template&lt;typename T&gt; </div>
295
+ <table class="mlabels">
296
+ <tr>
297
+ <td class="mlabels-left">
298
+ <table class="memname">
299
+ <tr>
300
+ <td class="memname">static bool <a class="el" href="classOption.html">Option</a>&lt; T &gt;::fromString </td>
301
+ <td>(</td>
302
+ <td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td>
303
+ <td class="paramname"><em>s</em>, </td>
304
+ </tr>
305
+ <tr>
306
+ <td class="paramkey"></td>
307
+ <td></td>
308
+ <td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;&#160;</td>
309
+ <td class="paramname"><em>value</em>&#160;</td>
310
+ </tr>
311
+ <tr>
312
+ <td></td>
313
+ <td>)</td>
314
+ <td></td><td></td>
315
+ </tr>
316
+ </table>
317
+ </td>
318
+ <td class="mlabels-right">
319
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
320
+ </tr>
321
+ </table>
322
+ </div><div class="memdoc">
323
+
324
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00372">372</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
325
+ <div class="fragment"><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; {</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <a class="code" href="classOption.html#a067413be0c747358947c539a4179d489">value</a> = s;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div><div class="ttc" id="classOption_html_a067413be0c747358947c539a4179d489"><div class="ttname"><a href="classOption.html#a067413be0c747358947c539a4179d489">Option::value</a></div><div class="ttdeci">T value</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00400">CommandLine.h:400</a></div></div>
326
+ </div><!-- fragment -->
327
+ </div>
328
+ </div>
329
+ <a id="a40a506940beb76487183260d6c73eabf"></a>
330
+ <h2 class="memtitle"><span class="permalink"><a href="#a40a506940beb76487183260d6c73eabf">&#9670;&nbsp;</a></span>fromString() <span class="overload">[3/3]</span></h2>
331
+
332
+ <div class="memitem">
333
+ <div class="memproto">
334
+ <div class="memtemplate">
335
+ template&lt;typename T&gt; </div>
336
+ <table class="mlabels">
337
+ <tr>
338
+ <td class="mlabels-left">
339
+ <table class="memname">
340
+ <tr>
341
+ <td class="memname">static bool <a class="el" href="classOption.html">Option</a>&lt; T &gt;::fromString </td>
342
+ <td>(</td>
343
+ <td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td>
344
+ <td class="paramname"><em>s</em>, </td>
345
+ </tr>
346
+ <tr>
347
+ <td class="paramkey"></td>
348
+ <td></td>
349
+ <td class="paramtype"><a class="el" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> &amp;&#160;</td>
350
+ <td class="paramname"><em>value</em>&#160;</td>
351
+ </tr>
352
+ <tr>
353
+ <td></td>
354
+ <td>)</td>
355
+ <td></td><td></td>
356
+ </tr>
357
+ </table>
358
+ </td>
359
+ <td class="mlabels-right">
360
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
361
+ </tr>
362
+ </table>
363
+ </div><div class="memdoc">
364
+
365
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00379">379</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
366
+ <div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; {</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="comment">// We won&#39;t allow anything except [0-9]+.</span></div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">if</span> (s.empty()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">char</span> c : s)</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">if</span> (!(c &gt;= <span class="charliteral">&#39;0&#39;</span> &amp;&amp; c &lt;= <span class="charliteral">&#39;9&#39;</span>)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; }</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="comment">// Use strtoul because we&#39;re not using exceptions.</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; assert(<span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) &gt;= <span class="keyword">sizeof</span>(<a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a>));</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> sv = std::strtoul(s.c_str(), <span class="keyword">nullptr</span>, 10);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="comment">// Out of range according to strtoul, or according to us compared to u32_t.</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">if</span> (errno == ERANGE || sv &gt; std::numeric_limits&lt;u32_t&gt;::max()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="classOption.html#a067413be0c747358947c539a4179d489">value</a> = sv;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="ttc" id="classOption_html_a067413be0c747358947c539a4179d489"><div class="ttname"><a href="classOption.html#a067413be0c747358947c539a4179d489">Option::value</a></div><div class="ttdeci">T value</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00400">CommandLine.h:400</a></div></div>
367
+ <div class="ttc" id="CommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
368
+ </div><!-- fragment -->
369
+ </div>
370
+ </div>
371
+ <a id="a910cf3c0ac5d45ee169cb8750898ea0b"></a>
372
+ <h2 class="memtitle"><span class="permalink"><a href="#a910cf3c0ac5d45ee169cb8750898ea0b">&#9670;&nbsp;</a></span>isBool()</h2>
373
+
374
+ <div class="memitem">
375
+ <div class="memproto">
376
+ <div class="memtemplate">
377
+ template&lt;typename T&gt; </div>
378
+ <table class="mlabels">
379
+ <tr>
380
+ <td class="mlabels-left">
381
+ <table class="memname">
382
+ <tr>
383
+ <td class="memname">virtual bool <a class="el" href="classOption.html">Option</a>&lt; T &gt;::isBool </td>
384
+ <td>(</td>
385
+ <td class="paramtype">void&#160;</td>
386
+ <td class="paramname"></td><td>)</td>
387
+ <td> const</td>
388
+ </tr>
389
+ </table>
390
+ </td>
391
+ <td class="mlabels-right">
392
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
393
+ </tr>
394
+ </table>
395
+ </div><div class="memdoc">
396
+ <p>Whether this option represents a boolean. Important as such arguments don't require a value. </p>
397
+
398
+ <p>Reimplemented from <a class="el" href="classOptionBase.html#acd2a32f510c026154665f7d874f3f362">OptionBase</a>.</p>
399
+
400
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00346">346</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
401
+ <div class="fragment"><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> std::is_same&lt;T, bool&gt;::value;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div></div><!-- fragment -->
402
+ </div>
403
+ </div>
404
+ <a id="a03dd304d717f642cd3b809c0233f876c"></a>
405
+ <h2 class="memtitle"><span class="permalink"><a href="#a03dd304d717f642cd3b809c0233f876c">&#9670;&nbsp;</a></span>operator()()</h2>
406
+
407
+ <div class="memitem">
408
+ <div class="memproto">
409
+ <div class="memtemplate">
410
+ template&lt;typename T&gt; </div>
411
+ <table class="mlabels">
412
+ <tr>
413
+ <td class="mlabels-left">
414
+ <table class="memname">
415
+ <tr>
416
+ <td class="memname">T <a class="el" href="classOption.html">Option</a>&lt; T &gt;::operator() </td>
417
+ <td>(</td>
418
+ <td class="paramtype">void&#160;</td>
419
+ <td class="paramname"></td><td>)</td>
420
+ <td> const</td>
421
+ </tr>
422
+ </table>
423
+ </td>
424
+ <td class="mlabels-right">
425
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
426
+ </tr>
427
+ </table>
428
+ </div><div class="memdoc">
429
+
430
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00356">356</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
431
+ <div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classOption.html#a067413be0c747358947c539a4179d489">value</a>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div><div class="ttc" id="classOption_html_a067413be0c747358947c539a4179d489"><div class="ttname"><a href="classOption.html#a067413be0c747358947c539a4179d489">Option::value</a></div><div class="ttdeci">T value</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00400">CommandLine.h:400</a></div></div>
432
+ </div><!-- fragment -->
433
+ </div>
434
+ </div>
435
+ <a id="a4bce0f38bb5ae80e3ce435e736df6f50"></a>
436
+ <h2 class="memtitle"><span class="permalink"><a href="#a4bce0f38bb5ae80e3ce435e736df6f50">&#9670;&nbsp;</a></span>parseAndSetValue()</h2>
437
+
438
+ <div class="memitem">
439
+ <div class="memproto">
440
+ <div class="memtemplate">
441
+ template&lt;typename T&gt; </div>
442
+ <table class="mlabels">
443
+ <tr>
444
+ <td class="mlabels-left">
445
+ <table class="memname">
446
+ <tr>
447
+ <td class="memname">virtual bool <a class="el" href="classOption.html">Option</a>&lt; T &gt;::parseAndSetValue </td>
448
+ <td>(</td>
449
+ <td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td>
450
+ <td class="paramname"><em>value</em></td><td>)</td>
451
+ <td></td>
452
+ </tr>
453
+ </table>
454
+ </td>
455
+ <td class="mlabels-right">
456
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
457
+ </tr>
458
+ </table>
459
+ </div><div class="memdoc">
460
+
461
+ <p>From a given string, set the value of this option. </p>
462
+
463
+ <p>Implements <a class="el" href="classOptionBase.html#af20460d3ee3bcfbb036120339996efd8">OptionBase</a>.</p>
464
+
465
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00340">340</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
466
+ <div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <a class="code" href="classOption.html#a980a99e59afae6419a9b15f7606d83dc">isExplicitlySet</a> = <a class="code" href="classOption.html#abcd65f7f3f269cba1456455980be8322">fromString</a>(s, <a class="code" href="classOption.html#a067413be0c747358947c539a4179d489">value</a>);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classOption.html#a980a99e59afae6419a9b15f7606d83dc">isExplicitlySet</a>;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; }</div><div class="ttc" id="classOption_html_abcd65f7f3f269cba1456455980be8322"><div class="ttname"><a href="classOption.html#abcd65f7f3f269cba1456455980be8322">Option::fromString</a></div><div class="ttdeci">static bool fromString(const std::string s, bool &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00363">CommandLine.h:363</a></div></div>
467
+ <div class="ttc" id="classOption_html_a980a99e59afae6419a9b15f7606d83dc"><div class="ttname"><a href="classOption.html#a980a99e59afae6419a9b15f7606d83dc">Option::isExplicitlySet</a></div><div class="ttdeci">bool isExplicitlySet</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00399">CommandLine.h:399</a></div></div>
468
+ <div class="ttc" id="classOption_html_a067413be0c747358947c539a4179d489"><div class="ttname"><a href="classOption.html#a067413be0c747358947c539a4179d489">Option::value</a></div><div class="ttdeci">T value</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00400">CommandLine.h:400</a></div></div>
469
+ </div><!-- fragment -->
470
+ </div>
471
+ </div>
472
+ <a id="ab40684f5ece904e9b81180ca1012b0b6"></a>
473
+ <h2 class="memtitle"><span class="permalink"><a href="#ab40684f5ece904e9b81180ca1012b0b6">&#9670;&nbsp;</a></span>setValue()</h2>
474
+
475
+ <div class="memitem">
476
+ <div class="memproto">
477
+ <div class="memtemplate">
478
+ template&lt;typename T&gt; </div>
479
+ <table class="mlabels">
480
+ <tr>
481
+ <td class="mlabels-left">
482
+ <table class="memname">
483
+ <tr>
484
+ <td class="memname">void <a class="el" href="classOption.html">Option</a>&lt; T &gt;::setValue </td>
485
+ <td>(</td>
486
+ <td class="paramtype">T&#160;</td>
487
+ <td class="paramname"><em>v</em></td><td>)</td>
488
+ <td></td>
489
+ </tr>
490
+ </table>
491
+ </td>
492
+ <td class="mlabels-right">
493
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
494
+ </tr>
495
+ </table>
496
+ </div><div class="memdoc">
497
+
498
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00351">351</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
499
+ <div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="classOption.html#a067413be0c747358947c539a4179d489">value</a> = v;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div><div class="ttc" id="classOption_html_a067413be0c747358947c539a4179d489"><div class="ttname"><a href="classOption.html#a067413be0c747358947c539a4179d489">Option::value</a></div><div class="ttdeci">T value</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00400">CommandLine.h:400</a></div></div>
500
+ </div><!-- fragment -->
501
+ </div>
502
+ </div>
503
+ <h2 class="groupheader">Member Data Documentation</h2>
504
+ <a id="a980a99e59afae6419a9b15f7606d83dc"></a>
505
+ <h2 class="memtitle"><span class="permalink"><a href="#a980a99e59afae6419a9b15f7606d83dc">&#9670;&nbsp;</a></span>isExplicitlySet</h2>
506
+
507
+ <div class="memitem">
508
+ <div class="memproto">
509
+ <div class="memtemplate">
510
+ template&lt;typename T&gt; </div>
511
+ <table class="mlabels">
512
+ <tr>
513
+ <td class="mlabels-left">
514
+ <table class="memname">
515
+ <tr>
516
+ <td class="memname">bool <a class="el" href="classOption.html">Option</a>&lt; T &gt;::isExplicitlySet</td>
517
+ </tr>
518
+ </table>
519
+ </td>
520
+ <td class="mlabels-right">
521
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
522
+ </tr>
523
+ </table>
524
+ </div><div class="memdoc">
525
+
526
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00399">399</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
527
+
528
+ </div>
529
+ </div>
530
+ <a id="a067413be0c747358947c539a4179d489"></a>
531
+ <h2 class="memtitle"><span class="permalink"><a href="#a067413be0c747358947c539a4179d489">&#9670;&nbsp;</a></span>value</h2>
532
+
533
+ <div class="memitem">
534
+ <div class="memproto">
535
+ <div class="memtemplate">
536
+ template&lt;typename T&gt; </div>
537
+ <table class="mlabels">
538
+ <tr>
539
+ <td class="mlabels-left">
540
+ <table class="memname">
541
+ <tr>
542
+ <td class="memname">T <a class="el" href="classOption.html">Option</a>&lt; T &gt;::value</td>
543
+ </tr>
544
+ </table>
545
+ </td>
546
+ <td class="mlabels-right">
547
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
548
+ </tr>
549
+ </table>
550
+ </div><div class="memdoc">
551
+
552
+ <p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00400">400</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
553
+
554
+ </div>
555
+ </div>
556
+ <hr/>The documentation for this class was generated from the following file:<ul>
557
+ <li>/home/runner/work/SVF/SVF/include/Util/<a class="el" href="CommandLine_8h_source.html">CommandLine.h</a></li>
558
+ </ul>
559
+ </div><!-- contents -->
560
+ <!-- start footer part -->
561
+ <hr class="footer"/><address class="footer"><small>
562
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
563
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
564
+ </a> 1.8.13
565
+ </small></address>
566
+ </body>
567
+ </html>