svf-tools 1.0.618 → 1.0.620
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/Andersen_8h_source.html +4 -3
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CommandLine_8h.html +129 -0
- package/SVF-doxygen/html/html/CommandLine_8h_source.html +132 -0
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +20 -19
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +9 -9
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +21 -20
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +17 -17
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/Options_8cpp.html +1 -0
- package/SVF-doxygen/html/html/Options_8cpp_source.html +123 -119
- package/SVF-doxygen/html/html/Options_8h.html +1 -1
- package/SVF-doxygen/html/html/Options_8h_source.html +124 -120
- package/SVF-doxygen/html/html/PCG_8cpp.html +2 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +13 -12
- package/SVF-doxygen/html/html/PCG_8h_source.html +12 -12
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -3
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +5 -4
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFType_8h.html +2 -2
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +10 -9
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +4 -4
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/annotated.html +6 -2
- package/SVF-doxygen/html/html/cfl_8cpp.html +3 -85
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +3 -5
- package/SVF-doxygen/html/html/classOption-members.html +99 -0
- package/SVF-doxygen/html/html/classOption.html +567 -0
- package/SVF-doxygen/html/html/classOption.png +0 -0
- package/SVF-doxygen/html/html/classOptionBase-members.html +95 -0
- package/SVF-doxygen/html/html/classOptionBase.html +823 -0
- package/SVF-doxygen/html/html/classOptionBase.png +0 -0
- package/SVF-doxygen/html/html/classOptionMap-members.html +97 -0
- package/SVF-doxygen/html/html/classOptionMap.html +428 -0
- package/SVF-doxygen/html/html/classOptionMap.png +0 -0
- package/SVF-doxygen/html/html/classOptionMultiple-members.html +97 -0
- package/SVF-doxygen/html/html/classOptionMultiple.html +460 -0
- package/SVF-doxygen/html/html/classOptionMultiple.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +16 -15
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +72 -72
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +36 -35
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +22 -8
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntervalExeState.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +73 -72
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +120 -120
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +613 -613
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +9 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +27 -26
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +6 -6
- package/SVF-doxygen/html/html/classes.html +113 -112
- package/SVF-doxygen/html/html/dda_8cpp.html +51 -248
- package/SVF-doxygen/html/html/dda_8cpp_source.html +9 -10
- package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
- package/SVF-doxygen/html/html/files.html +18 -17
- package/SVF-doxygen/html/html/functions_a.html +7 -7
- package/SVF-doxygen/html/html/functions_b.html +9 -6
- package/SVF-doxygen/html/html/functions_c.html +48 -46
- package/SVF-doxygen/html/html/functions_d.html +20 -17
- package/SVF-doxygen/html/html/functions_e.html +6 -3
- package/SVF-doxygen/html/html/functions_f.html +19 -16
- package/SVF-doxygen/html/html/functions_func_b.html +5 -2
- package/SVF-doxygen/html/html/functions_func_c.html +36 -30
- package/SVF-doxygen/html/html/functions_func_e.html +5 -2
- package/SVF-doxygen/html/html/functions_func_f.html +4 -1
- package/SVF-doxygen/html/html/functions_func_g.html +12 -6
- package/SVF-doxygen/html/html/functions_func_i.html +18 -7
- package/SVF-doxygen/html/html/functions_func_n.html +4 -1
- package/SVF-doxygen/html/html/functions_func_o.html +28 -13
- package/SVF-doxygen/html/html/functions_func_p.html +13 -4
- package/SVF-doxygen/html/html/functions_func_s.html +20 -19
- package/SVF-doxygen/html/html/functions_func_u.html +3 -0
- package/SVF-doxygen/html/html/functions_g.html +16 -10
- package/SVF-doxygen/html/html/functions_h.html +1 -1
- package/SVF-doxygen/html/html/functions_i.html +38 -23
- package/SVF-doxygen/html/html/functions_k.html +1 -1
- package/SVF-doxygen/html/html/functions_l.html +7 -7
- package/SVF-doxygen/html/html/functions_m.html +12 -12
- package/SVF-doxygen/html/html/functions_n.html +6 -2
- package/SVF-doxygen/html/html/functions_o.html +46 -25
- package/SVF-doxygen/html/html/functions_p.html +55 -33
- package/SVF-doxygen/html/html/functions_r.html +6 -6
- package/SVF-doxygen/html/html/functions_s.html +30 -29
- package/SVF-doxygen/html/html/functions_t.html +4 -4
- package/SVF-doxygen/html/html/functions_type_o.html +7 -0
- package/SVF-doxygen/html/html/functions_type_p.html +6 -0
- package/SVF-doxygen/html/html/functions_u.html +6 -3
- package/SVF-doxygen/html/html/functions_v.html +10 -8
- package/SVF-doxygen/html/html/functions_vars_a.html +7 -7
- package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_c.html +12 -12
- package/SVF-doxygen/html/html/functions_vars_d.html +18 -15
- package/SVF-doxygen/html/html/functions_vars_e.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_f.html +6 -6
- package/SVF-doxygen/html/html/functions_vars_g.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_h.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_i.html +10 -6
- package/SVF-doxygen/html/html/functions_vars_k.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_l.html +4 -4
- package/SVF-doxygen/html/html/functions_vars_m.html +11 -11
- package/SVF-doxygen/html/html/functions_vars_n.html +3 -2
- package/SVF-doxygen/html/html/functions_vars_o.html +5 -2
- package/SVF-doxygen/html/html/functions_vars_p.html +28 -21
- package/SVF-doxygen/html/html/functions_vars_r.html +5 -5
- package/SVF-doxygen/html/html/functions_vars_s.html +10 -10
- package/SVF-doxygen/html/html/functions_vars_t.html +4 -4
- package/SVF-doxygen/html/html/functions_vars_u.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_v.html +6 -4
- package/SVF-doxygen/html/html/functions_vars_w.html +3 -3
- package/SVF-doxygen/html/html/functions_w.html +11 -7
- package/SVF-doxygen/html/html/globals_d.html +4 -4
- package/SVF-doxygen/html/html/globals_e.html +6 -6
- package/SVF-doxygen/html/html/globals_f.html +2 -2
- package/SVF-doxygen/html/html/globals_func.html +6 -58
- package/SVF-doxygen/html/html/globals_i.html +4 -12
- package/SVF-doxygen/html/html/globals_l.html +2 -2
- package/SVF-doxygen/html/html/globals_r.html +4 -4
- package/SVF-doxygen/html/html/globals_s.html +0 -4
- package/SVF-doxygen/html/html/globals_type.html +3 -0
- package/SVF-doxygen/html/html/globals_u.html +3 -0
- package/SVF-doxygen/html/html/globals_vars.html +43 -12
- package/SVF-doxygen/html/html/hierarchy.html +197 -182
- package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/menudata.js +1 -2
- package/SVF-doxygen/html/html/mta_8cpp.html +4 -47
- package/SVF-doxygen/html/html/mta_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/html/saber_8cpp.html +38 -136
- package/SVF-doxygen/html/html/saber_8cpp_source.html +8 -7
- package/SVF-doxygen/html/html/search/all_1.js +7 -7
- package/SVF-doxygen/html/html/search/all_10.js +31 -26
- package/SVF-doxygen/html/html/search/all_11.js +8 -8
- package/SVF-doxygen/html/html/search/all_12.js +19 -20
- package/SVF-doxygen/html/html/search/all_13.js +7 -7
- package/SVF-doxygen/html/html/search/all_14.js +5 -4
- package/SVF-doxygen/html/html/search/all_15.js +6 -6
- package/SVF-doxygen/html/html/search/all_16.js +4 -4
- package/SVF-doxygen/html/html/search/all_2.js +2 -1
- package/SVF-doxygen/html/html/search/all_3.js +16 -14
- package/SVF-doxygen/html/html/search/all_4.js +18 -17
- package/SVF-doxygen/html/html/search/all_5.js +6 -5
- package/SVF-doxygen/html/html/search/all_6.js +9 -8
- package/SVF-doxygen/html/html/search/all_7.js +4 -2
- package/SVF-doxygen/html/html/search/all_8.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +12 -9
- package/SVF-doxygen/html/html/search/all_b.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +7 -7
- package/SVF-doxygen/html/html/search/all_d.js +12 -12
- package/SVF-doxygen/html/html/search/all_e.js +4 -3
- package/SVF-doxygen/html/html/search/all_f.js +24 -6
- package/SVF-doxygen/html/html/search/classes_c.js +15 -0
- package/SVF-doxygen/html/html/search/files_2.js +1 -0
- package/SVF-doxygen/html/html/search/functions_1.js +1 -0
- package/SVF-doxygen/html/html/search/functions_10.js +0 -2
- package/SVF-doxygen/html/html/search/functions_11.js +1 -2
- package/SVF-doxygen/html/html/search/functions_13.js +1 -0
- package/SVF-doxygen/html/html/search/functions_2.js +1 -0
- package/SVF-doxygen/html/html/search/functions_3.js +0 -2
- package/SVF-doxygen/html/html/search/functions_4.js +1 -3
- package/SVF-doxygen/html/html/search/functions_5.js +2 -1
- package/SVF-doxygen/html/html/search/functions_6.js +2 -0
- package/SVF-doxygen/html/html/search/functions_8.js +3 -1
- package/SVF-doxygen/html/html/search/functions_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_d.js +1 -0
- package/SVF-doxygen/html/html/search/functions_e.js +5 -1
- package/SVF-doxygen/html/html/search/functions_f.js +2 -0
- package/SVF-doxygen/html/html/search/typedefs_12.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_7.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_d.js +2 -0
- package/SVF-doxygen/html/html/search/typedefs_e.js +2 -0
- package/SVF-doxygen/html/html/search/variables_1.js +7 -7
- package/SVF-doxygen/html/html/search/variables_10.js +23 -21
- package/SVF-doxygen/html/html/search/variables_11.js +7 -5
- package/SVF-doxygen/html/html/search/variables_12.js +10 -10
- package/SVF-doxygen/html/html/search/variables_13.js +7 -7
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_15.js +4 -4
- package/SVF-doxygen/html/html/search/variables_16.js +3 -3
- package/SVF-doxygen/html/html/search/variables_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +12 -12
- package/SVF-doxygen/html/html/search/variables_4.js +18 -15
- package/SVF-doxygen/html/html/search/variables_5.js +5 -2
- package/SVF-doxygen/html/html/search/variables_6.js +7 -6
- package/SVF-doxygen/html/html/search/variables_7.js +2 -2
- package/SVF-doxygen/html/html/search/variables_8.js +1 -1
- package/SVF-doxygen/html/html/search/variables_9.js +7 -6
- package/SVF-doxygen/html/html/search/variables_b.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +5 -4
- package/SVF-doxygen/html/html/search/variables_d.js +11 -11
- package/SVF-doxygen/html/html/search/variables_e.js +3 -3
- package/SVF-doxygen/html/html/search/variables_f.js +3 -2
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +4 -4
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +12 -55
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp.html +4 -47
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +4 -4
- package/include/Util/CommandLine.h +527 -0
- package/include/Util/Options.h +124 -124
- package/include/WPA/Andersen.h +5 -5
- package/lib/AbstractExecution/SVFIR2ItvExeState.cpp +2 -2
- package/lib/CFL/CFLAlias.cpp +5 -5
- package/lib/CFL/CFLBase.cpp +4 -4
- package/lib/CFL/CFLGraphBuilder.cpp +2 -2
- package/lib/CFL/CFLVF.cpp +5 -5
- package/lib/CMakeLists.txt +8 -4
- package/lib/DDA/ContextDDA.cpp +1 -1
- package/lib/DDA/DDAPass.cpp +14 -13
- package/lib/DDA/FlowDDA.cpp +1 -1
- package/lib/Graphs/ConsG.cpp +10 -10
- package/lib/Graphs/ICFG.cpp +1 -1
- package/lib/Graphs/IRGraph.cpp +2 -2
- package/lib/Graphs/SVFG.cpp +5 -5
- package/lib/Graphs/SVFGOPT.cpp +5 -5
- package/lib/Graphs/VFG.cpp +1 -1
- package/lib/MSSA/MemRegion.cpp +2 -2
- package/lib/MSSA/MemSSA.cpp +4 -4
- package/lib/MSSA/SVFGBuilder.cpp +4 -4
- package/lib/MTA/FSMPTA.cpp +13 -13
- package/lib/MTA/MHP.cpp +1 -1
- package/lib/MTA/MTA.cpp +2 -2
- package/lib/MTA/MTAStat.cpp +1 -1
- package/lib/MTA/PCG.cpp +8 -2
- package/lib/MTA/TCT.cpp +2 -2
- package/lib/MemoryModel/PointerAnalysis.cpp +13 -13
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +13 -13
- package/lib/MemoryModel/PointsTo.cpp +1 -1
- package/lib/SABER/DoubleFreeChecker.cpp +1 -1
- package/lib/SABER/LeakChecker.cpp +1 -1
- package/lib/SABER/SaberCondAllocator.cpp +1 -1
- package/lib/SABER/SrcSnkDDA.cpp +5 -5
- package/lib/SVF-LLVM/CHGBuilder.cpp +1 -1
- package/lib/SVF-LLVM/DCHG.cpp +1 -1
- package/lib/SVF-LLVM/LLVMLoopAnalysis.cpp +2 -2
- package/lib/SVF-LLVM/LLVMModule.cpp +10 -4
- package/lib/SVF-LLVM/SVFIRBuilder.cpp +8 -8
- package/lib/SVF-LLVM/SymbolTableBuilder.cpp +5 -5
- package/lib/SVFIR/SVFIR.cpp +4 -4
- package/lib/SVFIR/SVFStatements.cpp +16 -16
- package/lib/SVFIR/SVFVariables.cpp +5 -5
- package/lib/SVFIR/SymbolTableInfo.cpp +6 -6
- package/lib/Util/NodeIDAllocator.cpp +9 -9
- package/lib/Util/Options.cpp +426 -412
- package/lib/Util/SVFStat.cpp +5 -5
- package/lib/Util/SVFUtil.cpp +1 -1
- package/lib/Util/Z3Expr.cpp +2 -2
- package/lib/WPA/Andersen.cpp +13 -13
- package/lib/WPA/AndersenSCD.cpp +3 -3
- package/lib/WPA/FlowSensitive.cpp +8 -8
- package/lib/WPA/TypeAnalysis.cpp +1 -1
- package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
- package/lib/WPA/WPAPass.cpp +10 -9
- package/package.json +1 -1
- package/tools/CFL/cfl.cpp +6 -14
- package/tools/DDA/dda.cpp +39 -29
- package/tools/Example/svf-ex.cpp +5 -8
- package/tools/MTA/LockResultValidator.cpp +2 -2
- package/tools/MTA/MTAAnnotator.cpp +5 -5
- package/tools/MTA/MTAResultValidator.cpp +8 -8
- package/tools/MTA/mta.cpp +5 -8
- package/tools/SABER/saber.cpp +23 -17
- package/tools/WPA/wpa.cpp +6 -9
|
@@ -0,0 +1,823 @@
|
|
|
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: OptionBase Class Reference</title>
|
|
9
|
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
10
|
+
<script type="text/javascript" src="jquery.js"></script>
|
|
11
|
+
<script type="text/javascript" src="dynsections.js"></script>
|
|
12
|
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
13
|
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
14
|
+
<script type="text/javascript" src="search/search.js"></script>
|
|
15
|
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
19
|
+
<div id="titlearea">
|
|
20
|
+
<table cellspacing="0" cellpadding="0">
|
|
21
|
+
<tbody>
|
|
22
|
+
<tr style="height: 56px;">
|
|
23
|
+
<td id="projectalign" style="padding-left: 0.5em;">
|
|
24
|
+
<div id="projectname">Static Value-Flow Analysis
|
|
25
|
+
</div>
|
|
26
|
+
</td>
|
|
27
|
+
</tr>
|
|
28
|
+
</tbody>
|
|
29
|
+
</table>
|
|
30
|
+
</div>
|
|
31
|
+
<!-- end header part -->
|
|
32
|
+
<!-- Generated by Doxygen 1.8.13 -->
|
|
33
|
+
<script type="text/javascript">
|
|
34
|
+
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
35
|
+
</script>
|
|
36
|
+
<script type="text/javascript" src="menudata.js"></script>
|
|
37
|
+
<script type="text/javascript" src="menu.js"></script>
|
|
38
|
+
<script type="text/javascript">
|
|
39
|
+
$(function() {
|
|
40
|
+
initMenu('',true,false,'search.php','Search');
|
|
41
|
+
$(document).ready(function() { init_search(); });
|
|
42
|
+
});
|
|
43
|
+
</script>
|
|
44
|
+
<div id="main-nav"></div>
|
|
45
|
+
<!-- window showing the filter options -->
|
|
46
|
+
<div id="MSearchSelectWindow"
|
|
47
|
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
48
|
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
49
|
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<!-- iframe showing the search results (closed by default) -->
|
|
53
|
+
<div id="MSearchResultsWindow">
|
|
54
|
+
<iframe src="javascript:void(0)" frameborder="0"
|
|
55
|
+
name="MSearchResults" id="MSearchResults">
|
|
56
|
+
</iframe>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
</div><!-- top -->
|
|
60
|
+
<div class="header">
|
|
61
|
+
<div class="summary">
|
|
62
|
+
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
63
|
+
<a href="#pro-types">Protected Types</a> |
|
|
64
|
+
<a href="#pro-methods">Protected Member Functions</a> |
|
|
65
|
+
<a href="#pro-static-methods">Static Protected Member Functions</a> |
|
|
66
|
+
<a href="#pro-attribs">Protected Attributes</a> |
|
|
67
|
+
<a href="#pri-static-methods">Static Private Member Functions</a> |
|
|
68
|
+
<a href="classOptionBase-members.html">List of all members</a> </div>
|
|
69
|
+
<div class="headertitle">
|
|
70
|
+
<div class="title">OptionBase Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
|
|
71
|
+
</div><!--header-->
|
|
72
|
+
<div class="contents">
|
|
73
|
+
|
|
74
|
+
<p><code>#include <<a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>></code></p>
|
|
75
|
+
<div class="dynheader">
|
|
76
|
+
Inheritance diagram for OptionBase:</div>
|
|
77
|
+
<div class="dyncontent">
|
|
78
|
+
<div class="center">
|
|
79
|
+
<img src="classOptionBase.png" usemap="#OptionBase_map" alt=""/>
|
|
80
|
+
<map id="OptionBase_map" name="OptionBase_map">
|
|
81
|
+
<area href="classOption.html" alt="Option< T >" shape="rect" coords="291,56,572,80"/>
|
|
82
|
+
<area href="classOption.html" alt="Option< bool >" shape="rect" coords="291,112,572,136"/>
|
|
83
|
+
<area href="classOption.html" alt="Option< std::string >" shape="rect" coords="291,168,572,192"/>
|
|
84
|
+
<area href="classOption.html" alt="Option< u32_t >" shape="rect" coords="291,224,572,248"/>
|
|
85
|
+
<area href="classOptionMap.html" alt="OptionMap< T >" shape="rect" coords="291,280,572,304"/>
|
|
86
|
+
<area href="classOptionMap.html" alt="OptionMap< BVDataPTAImpl::PTBackingType >" shape="rect" coords="291,336,572,360"/>
|
|
87
|
+
<area href="classOptionMap.html" alt="OptionMap< enum hclust_fast_methods >" shape="rect" coords="291,392,572,416"/>
|
|
88
|
+
<area href="classOptionMap.html" alt="OptionMap< enum PTAStat::ClockType >" shape="rect" coords="291,448,572,472"/>
|
|
89
|
+
<area href="classOptionMap.html" alt="OptionMap< MemSSA::MemPartition >" shape="rect" coords="291,504,572,528"/>
|
|
90
|
+
<area href="classOptionMap.html" alt="OptionMap< PointsTo::Type >" shape="rect" coords="291,560,572,584"/>
|
|
91
|
+
<area href="classOptionMap.html" alt="OptionMap< SVF::NodeIDAllocator::Strategy >" shape="rect" coords="291,616,572,640"/>
|
|
92
|
+
<area href="classOptionMultiple.html" alt="OptionMultiple< T >" shape="rect" coords="291,672,572,696"/>
|
|
93
|
+
<area href="classOptionMultiple.html" alt="OptionMultiple< PointerAnalysis::PTATY >" shape="rect" coords="291,728,572,752"/>
|
|
94
|
+
<area href="classOptionMultiple.html" alt="OptionMultiple< WPAPass::AliasCheckRule >" shape="rect" coords="291,784,572,808"/>
|
|
95
|
+
</map>
|
|
96
|
+
</div></div>
|
|
97
|
+
<table class="memberdecls">
|
|
98
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
99
|
+
Static Public Member Functions</h2></td></tr>
|
|
100
|
+
<tr class="memitem:a4fb6c6e4a1754d702c6c1730f54457e5"><td class="memItemLeft" align="right" valign="top">static std::vector< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> > </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>
|
|
101
|
+
<tr class="separator:a4fb6c6e4a1754d702c6c1730f54457e5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
102
|
+
</table><table class="memberdecls">
|
|
103
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
|
|
104
|
+
Protected Types</h2></td></tr>
|
|
105
|
+
<tr class="memitem:a0a048de2a9ea404cb6b6be6276e8f91e"><td class="memItemLeft" align="right" valign="top">typedef std::pair< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a0a048de2a9ea404cb6b6be6276e8f91e">PossibilityDescription</a></td></tr>
|
|
106
|
+
<tr class="memdesc:a0a048de2a9ea404cb6b6be6276e8f91e"><td class="mdescLeft"> </td><td class="mdescRight">Name/description pairs. <a href="#a0a048de2a9ea404cb6b6be6276e8f91e">More...</a><br /></td></tr>
|
|
107
|
+
<tr class="separator:a0a048de2a9ea404cb6b6be6276e8f91e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
108
|
+
<tr class="memitem:adbecc317e1c8a157456c069ca0b4679c"><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::pair< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a></td></tr>
|
|
109
|
+
<tr class="separator:adbecc317e1c8a157456c069ca0b4679c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
110
|
+
<tr class="memitem:a8cc760078ccd614db2190d0f87f5da0d"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
|
111
|
+
<tr class="memitem:a8cc760078ccd614db2190d0f87f5da0d"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a8cc760078ccd614db2190d0f87f5da0d">OptionPossibility</a> = std::tuple< T, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> ></td></tr>
|
|
112
|
+
<tr class="separator:a8cc760078ccd614db2190d0f87f5da0d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
113
|
+
</table><table class="memberdecls">
|
|
114
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
|
115
|
+
Protected Member Functions</h2></td></tr>
|
|
116
|
+
<tr class="memitem:ae99500409f218ce63d4dbce537884c7f"><td class="memItemLeft" align="right" valign="top"> </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>
|
|
117
|
+
<tr class="separator:ae99500409f218ce63d4dbce537884c7f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
118
|
+
<tr class="memitem:a3a30161a89e5dd22b3501b6a7de3eab4"><td class="memItemLeft" align="right" valign="top"> </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>
|
|
119
|
+
<tr class="separator:a3a30161a89e5dd22b3501b6a7de3eab4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
120
|
+
<tr class="memitem:af20460d3ee3bcfbb036120339996efd8"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#af20460d3ee3bcfbb036120339996efd8">parseAndSetValue</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> value)=0</td></tr>
|
|
121
|
+
<tr class="memdesc:af20460d3ee3bcfbb036120339996efd8"><td class="mdescLeft"> </td><td class="mdescRight">From a given string, set the value of this option. <a href="#af20460d3ee3bcfbb036120339996efd8">More...</a><br /></td></tr>
|
|
122
|
+
<tr class="separator:af20460d3ee3bcfbb036120339996efd8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
123
|
+
<tr class="memitem:acd2a32f510c026154665f7d874f3f362"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#acd2a32f510c026154665f7d874f3f362">isBool</a> (void) const</td></tr>
|
|
124
|
+
<tr class="separator:acd2a32f510c026154665f7d874f3f362"><td class="memSeparator" colspan="2"> </td></tr>
|
|
125
|
+
<tr class="memitem:ad6fe65a503048686686ea6ced35a2dfd"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#ad6fe65a503048686686ea6ced35a2dfd">isMultiple</a> (void) const</td></tr>
|
|
126
|
+
<tr class="memdesc:ad6fe65a503048686686ea6ced35a2dfd"><td class="mdescLeft"> </td><td class="mdescRight">Whether this option is an <a class="el" href="classOptionMultiple.html">OptionMultiple</a>. <a href="#ad6fe65a503048686686ea6ced35a2dfd">More...</a><br /></td></tr>
|
|
127
|
+
<tr class="separator:ad6fe65a503048686686ea6ced35a2dfd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
128
|
+
<tr class="memitem:a41b5697dffc86139fa9341210f7233d9"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a41b5697dffc86139fa9341210f7233d9">canSet</a> (void) const =0</td></tr>
|
|
129
|
+
<tr class="memdesc:a41b5697dffc86139fa9341210f7233d9"><td class="mdescLeft"> </td><td class="mdescRight">Can this option be set? <a href="#a41b5697dffc86139fa9341210f7233d9">More...</a><br /></td></tr>
|
|
130
|
+
<tr class="separator:a41b5697dffc86139fa9341210f7233d9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
131
|
+
</table><table class="memberdecls">
|
|
132
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
|
|
133
|
+
Static Protected Member Functions</h2></td></tr>
|
|
134
|
+
<tr class="memitem:a21e8ccc08eef254ceee53185a717301d"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
|
135
|
+
<tr class="memitem:a21e8ccc08eef254ceee53185a717301d"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a21e8ccc08eef254ceee53185a717301d">extractPossibilityDescriptions</a> (const std::vector< <a class="el" href="classOptionBase.html#a8cc760078ccd614db2190d0f87f5da0d">OptionPossibility</a>< T >> possibilities)</td></tr>
|
|
136
|
+
<tr class="separator:a21e8ccc08eef254ceee53185a717301d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
137
|
+
<tr class="memitem:ac68017dd45d05c5fe26ae04bb58f903c"><td class="memItemLeft" align="right" valign="top">static std::map< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classOptionBase.html">OptionBase</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">getOptionsMap</a> (void)</td></tr>
|
|
138
|
+
<tr class="separator:ac68017dd45d05c5fe26ae04bb58f903c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
139
|
+
</table><table class="memberdecls">
|
|
140
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
|
|
141
|
+
Protected Attributes</h2></td></tr>
|
|
142
|
+
<tr class="memitem:a494ea256d6484e4f7e8751de499889fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a></td></tr>
|
|
143
|
+
<tr class="separator:a494ea256d6484e4f7e8751de499889fc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
144
|
+
<tr class="memitem:a8fbb1cde9e12a099617c8e8298424b5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a></td></tr>
|
|
145
|
+
<tr class="separator:a8fbb1cde9e12a099617c8e8298424b5b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
146
|
+
<tr class="memitem:aa6cc4a59e5801eff5d7dcdc0137e16a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">possibilityDescriptions</a></td></tr>
|
|
147
|
+
<tr class="memdesc:aa6cc4a59e5801eff5d7dcdc0137e16a1"><td class="mdescLeft"> </td><td class="mdescRight">For when we have possibilities like in an <a class="el" href="classOptionMap.html">OptionMap</a>. <a href="#aa6cc4a59e5801eff5d7dcdc0137e16a1">More...</a><br /></td></tr>
|
|
148
|
+
<tr class="separator:aa6cc4a59e5801eff5d7dcdc0137e16a1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
149
|
+
</table><table class="memberdecls">
|
|
150
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a>
|
|
151
|
+
Static Private Member Functions</h2></td></tr>
|
|
152
|
+
<tr class="memitem:a7dbcdc9ff8df95a2c5ca4bd0723a3965"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#a7dbcdc9ff8df95a2c5ca4bd0723a3965">buildUsage</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> <a class="el" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> argv0, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> callFormat)</td></tr>
|
|
153
|
+
<tr class="separator:a7dbcdc9ff8df95a2c5ca4bd0723a3965"><td class="memSeparator" colspan="2"> </td></tr>
|
|
154
|
+
<tr class="memitem:abf205790830ba8c3bb7097701ca86a69"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classOptionBase.html">OptionBase</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#abf205790830ba8c3bb7097701ca86a69">getOption</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> optName)</td></tr>
|
|
155
|
+
<tr class="memdesc:abf205790830ba8c3bb7097701ca86a69"><td class="mdescLeft"> </td><td class="mdescRight">Find option based on name in options map. Returns nullptr if not found. <a href="#abf205790830ba8c3bb7097701ca86a69">More...</a><br /></td></tr>
|
|
156
|
+
<tr class="separator:abf205790830ba8c3bb7097701ca86a69"><td class="memSeparator" colspan="2"> </td></tr>
|
|
157
|
+
<tr class="memitem:ac6df21066e0848e26a718d81a25e2bb0"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#ac6df21066e0848e26a718d81a25e2bb0">usageAndExit</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> usage, bool <a class="el" href="structerror.html">error</a>)</td></tr>
|
|
158
|
+
<tr class="memdesc:ac6df21066e0848e26a718d81a25e2bb0"><td class="mdescLeft"> </td><td class="mdescRight">Print usage and exit. If error is set, print to stderr and exits with code 1. <a href="#ac6df21066e0848e26a718d81a25e2bb0">More...</a><br /></td></tr>
|
|
159
|
+
<tr class="separator:ac6df21066e0848e26a718d81a25e2bb0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
160
|
+
<tr class="memitem:ae446d8507843235d8fe71d32bc4bd04b"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classOptionBase.html#ae446d8507843235d8fe71d32bc4bd04b">isHelpName</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> <a class="el" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>)</td></tr>
|
|
161
|
+
<tr class="memdesc:ae446d8507843235d8fe71d32bc4bd04b"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether name is one of the reserved help options. <a href="#ae446d8507843235d8fe71d32bc4bd04b">More...</a><br /></td></tr>
|
|
162
|
+
<tr class="separator:ae446d8507843235d8fe71d32bc4bd04b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
163
|
+
</table>
|
|
164
|
+
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
165
|
+
<div class="textblock">
|
|
166
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00020">20</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
167
|
+
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
168
|
+
<a id="a8cc760078ccd614db2190d0f87f5da0d"></a>
|
|
169
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8cc760078ccd614db2190d0f87f5da0d">◆ </a></span>OptionPossibility</h2>
|
|
170
|
+
|
|
171
|
+
<div class="memitem">
|
|
172
|
+
<div class="memproto">
|
|
173
|
+
<div class="memtemplate">
|
|
174
|
+
template<typename T > </div>
|
|
175
|
+
<table class="mlabels">
|
|
176
|
+
<tr>
|
|
177
|
+
<td class="mlabels-left">
|
|
178
|
+
<table class="memname">
|
|
179
|
+
<tr>
|
|
180
|
+
<td class="memname">using <a class="el" href="classOptionBase.html#a8cc760078ccd614db2190d0f87f5da0d">OptionBase::OptionPossibility</a> = std::tuple<T, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>></td>
|
|
181
|
+
</tr>
|
|
182
|
+
</table>
|
|
183
|
+
</td>
|
|
184
|
+
<td class="mlabels-right">
|
|
185
|
+
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
186
|
+
</tr>
|
|
187
|
+
</table>
|
|
188
|
+
</div><div class="memdoc">
|
|
189
|
+
<p>Value/name/description tuples. If [1] is the value on the commandline for an option, we'd set the value for the associated <a class="el" href="classOption.html">Option</a> to [0]. </p>
|
|
190
|
+
|
|
191
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00030">30</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
192
|
+
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
<a id="a0a048de2a9ea404cb6b6be6276e8f91e"></a>
|
|
196
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a0a048de2a9ea404cb6b6be6276e8f91e">◆ </a></span>PossibilityDescription</h2>
|
|
197
|
+
|
|
198
|
+
<div class="memitem">
|
|
199
|
+
<div class="memproto">
|
|
200
|
+
<table class="mlabels">
|
|
201
|
+
<tr>
|
|
202
|
+
<td class="mlabels-left">
|
|
203
|
+
<table class="memname">
|
|
204
|
+
<tr>
|
|
205
|
+
<td class="memname">typedef std::pair<<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>> <a class="el" href="classOptionBase.html#a0a048de2a9ea404cb6b6be6276e8f91e">OptionBase::PossibilityDescription</a></td>
|
|
206
|
+
</tr>
|
|
207
|
+
</table>
|
|
208
|
+
</td>
|
|
209
|
+
<td class="mlabels-right">
|
|
210
|
+
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
211
|
+
</tr>
|
|
212
|
+
</table>
|
|
213
|
+
</div><div class="memdoc">
|
|
214
|
+
|
|
215
|
+
<p>Name/description pairs. </p>
|
|
216
|
+
|
|
217
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00024">24</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
218
|
+
|
|
219
|
+
</div>
|
|
220
|
+
</div>
|
|
221
|
+
<a id="adbecc317e1c8a157456c069ca0b4679c"></a>
|
|
222
|
+
<h2 class="memtitle"><span class="permalink"><a href="#adbecc317e1c8a157456c069ca0b4679c">◆ </a></span>PossibilityDescriptions</h2>
|
|
223
|
+
|
|
224
|
+
<div class="memitem">
|
|
225
|
+
<div class="memproto">
|
|
226
|
+
<table class="mlabels">
|
|
227
|
+
<tr>
|
|
228
|
+
<td class="mlabels-left">
|
|
229
|
+
<table class="memname">
|
|
230
|
+
<tr>
|
|
231
|
+
<td class="memname">typedef std::vector<std::pair<<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>> > <a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">OptionBase::PossibilityDescriptions</a></td>
|
|
232
|
+
</tr>
|
|
233
|
+
</table>
|
|
234
|
+
</td>
|
|
235
|
+
<td class="mlabels-right">
|
|
236
|
+
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
237
|
+
</tr>
|
|
238
|
+
</table>
|
|
239
|
+
</div><div class="memdoc">
|
|
240
|
+
|
|
241
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00025">25</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
242
|
+
|
|
243
|
+
</div>
|
|
244
|
+
</div>
|
|
245
|
+
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
246
|
+
<a id="ae99500409f218ce63d4dbce537884c7f"></a>
|
|
247
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ae99500409f218ce63d4dbce537884c7f">◆ </a></span>OptionBase() <span class="overload">[1/2]</span></h2>
|
|
248
|
+
|
|
249
|
+
<div class="memitem">
|
|
250
|
+
<div class="memproto">
|
|
251
|
+
<table class="mlabels">
|
|
252
|
+
<tr>
|
|
253
|
+
<td class="mlabels-left">
|
|
254
|
+
<table class="memname">
|
|
255
|
+
<tr>
|
|
256
|
+
<td class="memname">OptionBase::OptionBase </td>
|
|
257
|
+
<td>(</td>
|
|
258
|
+
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
259
|
+
<td class="paramname"><em>name</em>, </td>
|
|
260
|
+
</tr>
|
|
261
|
+
<tr>
|
|
262
|
+
<td class="paramkey"></td>
|
|
263
|
+
<td></td>
|
|
264
|
+
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
265
|
+
<td class="paramname"><em>description</em> </td>
|
|
266
|
+
</tr>
|
|
267
|
+
<tr>
|
|
268
|
+
<td></td>
|
|
269
|
+
<td>)</td>
|
|
270
|
+
<td></td><td></td>
|
|
271
|
+
</tr>
|
|
272
|
+
</table>
|
|
273
|
+
</td>
|
|
274
|
+
<td class="mlabels-right">
|
|
275
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
|
|
276
|
+
</tr>
|
|
277
|
+
</table>
|
|
278
|
+
</div><div class="memdoc">
|
|
279
|
+
|
|
280
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00033">33</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
281
|
+
<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  : <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>, {})</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  }</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>
|
|
282
|
+
<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>
|
|
283
|
+
<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>
|
|
284
|
+
</div><!-- fragment -->
|
|
285
|
+
</div>
|
|
286
|
+
</div>
|
|
287
|
+
<a id="a3a30161a89e5dd22b3501b6a7de3eab4"></a>
|
|
288
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a3a30161a89e5dd22b3501b6a7de3eab4">◆ </a></span>OptionBase() <span class="overload">[2/2]</span></h2>
|
|
289
|
+
|
|
290
|
+
<div class="memitem">
|
|
291
|
+
<div class="memproto">
|
|
292
|
+
<table class="mlabels">
|
|
293
|
+
<tr>
|
|
294
|
+
<td class="mlabels-left">
|
|
295
|
+
<table class="memname">
|
|
296
|
+
<tr>
|
|
297
|
+
<td class="memname">OptionBase::OptionBase </td>
|
|
298
|
+
<td>(</td>
|
|
299
|
+
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
300
|
+
<td class="paramname"><em>name</em>, </td>
|
|
301
|
+
</tr>
|
|
302
|
+
<tr>
|
|
303
|
+
<td class="paramkey"></td>
|
|
304
|
+
<td></td>
|
|
305
|
+
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
306
|
+
<td class="paramname"><em>description</em>, </td>
|
|
307
|
+
</tr>
|
|
308
|
+
<tr>
|
|
309
|
+
<td class="paramkey"></td>
|
|
310
|
+
<td></td>
|
|
311
|
+
<td class="paramtype"><a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a> </td>
|
|
312
|
+
<td class="paramname"><em>possibilityDescriptions</em> </td>
|
|
313
|
+
</tr>
|
|
314
|
+
<tr>
|
|
315
|
+
<td></td>
|
|
316
|
+
<td>)</td>
|
|
317
|
+
<td></td><td></td>
|
|
318
|
+
</tr>
|
|
319
|
+
</table>
|
|
320
|
+
</td>
|
|
321
|
+
<td class="mlabels-right">
|
|
322
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
|
|
323
|
+
</tr>
|
|
324
|
+
</table>
|
|
325
|
+
</div><div class="memdoc">
|
|
326
|
+
|
|
327
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00038">38</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
328
|
+
<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  : <a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>(<a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>), <a class="code" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>(<a class="code" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>), <a class="code" href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">possibilityDescriptions</a>(<a class="code" href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">possibilityDescriptions</a>)</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  assert(<a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>[0] != <span class="charliteral">'-'</span> && <span class="stringliteral">"OptionBase: name starts with '-'"</span>);</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  assert(!<a class="code" href="classOptionBase.html#ae446d8507843235d8fe71d32bc4bd04b">isHelpName</a>(<a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>) && <span class="stringliteral">"OptionBase: reserved help name"</span>);</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  assert(<a class="code" href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">getOptionsMap</a>().find(<a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>) == <a class="code" href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">getOptionsMap</a>().end() && <span class="stringliteral">"OptionBase: duplicate option"</span>);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="comment">// Types with empty names (i.e., OptionMultiple) can handle things themselves.</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">if</span> (!<a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>.empty())</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  {</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="comment">// Standard name=value option.</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">getOptionsMap</a>()[<a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>] = <span class="keyword">this</span>;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  }</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  }</div><div class="ttc" id="classOptionBase_html_aa6cc4a59e5801eff5d7dcdc0137e16a1"><div class="ttname"><a href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">OptionBase::possibilityDescriptions</a></div><div class="ttdeci">PossibilityDescriptions possibilityDescriptions</div><div class="ttdoc">For when we have possibilities like in an OptionMap. </div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00319">CommandLine.h:319</a></div></div>
|
|
329
|
+
<div class="ttc" id="classOptionBase_html_ac68017dd45d05c5fe26ae04bb58f903c"><div class="ttname"><a href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">OptionBase::getOptionsMap</a></div><div class="ttdeci">static std::map< std::string, OptionBase * > & getOptionsMap(void)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00307">CommandLine.h:307</a></div></div>
|
|
330
|
+
<div class="ttc" id="classOptionBase_html_ae446d8507843235d8fe71d32bc4bd04b"><div class="ttname"><a href="classOptionBase.html#ae446d8507843235d8fe71d32bc4bd04b">OptionBase::isHelpName</a></div><div class="ttdeci">static bool isHelpName(const std::string name)</div><div class="ttdoc">Returns whether name is one of the reserved help options. </div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00285">CommandLine.h:285</a></div></div>
|
|
331
|
+
<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>
|
|
332
|
+
<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>
|
|
333
|
+
</div><!-- fragment -->
|
|
334
|
+
</div>
|
|
335
|
+
</div>
|
|
336
|
+
<h2 class="groupheader">Member Function Documentation</h2>
|
|
337
|
+
<a id="a7dbcdc9ff8df95a2c5ca4bd0723a3965"></a>
|
|
338
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a7dbcdc9ff8df95a2c5ca4bd0723a3965">◆ </a></span>buildUsage()</h2>
|
|
339
|
+
|
|
340
|
+
<div class="memitem">
|
|
341
|
+
<div class="memproto">
|
|
342
|
+
<table class="mlabels">
|
|
343
|
+
<tr>
|
|
344
|
+
<td class="mlabels-left">
|
|
345
|
+
<table class="memname">
|
|
346
|
+
<tr>
|
|
347
|
+
<td class="memname">static <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> OptionBase::buildUsage </td>
|
|
348
|
+
<td>(</td>
|
|
349
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
350
|
+
<td class="paramname"><em>description</em>, </td>
|
|
351
|
+
</tr>
|
|
352
|
+
<tr>
|
|
353
|
+
<td class="paramkey"></td>
|
|
354
|
+
<td></td>
|
|
355
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
356
|
+
<td class="paramname"><em>argv0</em>, </td>
|
|
357
|
+
</tr>
|
|
358
|
+
<tr>
|
|
359
|
+
<td class="paramkey"></td>
|
|
360
|
+
<td></td>
|
|
361
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
362
|
+
<td class="paramname"><em>callFormat</em> </td>
|
|
363
|
+
</tr>
|
|
364
|
+
<tr>
|
|
365
|
+
<td></td>
|
|
366
|
+
<td>)</td>
|
|
367
|
+
<td></td><td></td>
|
|
368
|
+
</tr>
|
|
369
|
+
</table>
|
|
370
|
+
</td>
|
|
371
|
+
<td class="mlabels-right">
|
|
372
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
|
|
373
|
+
</tr>
|
|
374
|
+
</table>
|
|
375
|
+
</div><div class="memdoc">
|
|
376
|
+
<p>Sets the usage member to a usage string, built from the static list of options. argv0 is argv[0] and callFormat is how the command should be used, minus the command name (e.g. "[options] <input-bitcode...>". </p>
|
|
377
|
+
|
|
378
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00174">174</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
379
|
+
<div class="fragment"><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="comment">// Determine longest option to split into two columns: options and descriptions.</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordtype">unsigned</span> longest = 0;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> std::pair<std::string, OptionBase *> nopt : <a class="code" href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">getOptionsMap</a>())</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a> = std::get<0>(nopt);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">const</span> <a class="code" href="classOptionBase.html">OptionBase</a> *option = std::get<1>(nopt);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">if</span> (option->isMultiple())</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="comment">// For Multiple, description goes in left column.</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">if</span> (option->description.length() > longest) longest = option-><a class="code" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>.length();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  }</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  {</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">if</span> (name.length() > longest) longest = name.length();</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  }</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classOptionBase.html#a0a048de2a9ea404cb6b6be6276e8f91e">PossibilityDescription</a> &pd : option->possibilityDescriptions)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> possibility = std::get<0>(pd);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">if</span> (possibility.length() + 3 > longest) longest = possibility.length() + 3;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  }</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  std::stringstream ss;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  ss << <a class="code" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a> << std::endl << std::endl;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  ss << <span class="stringliteral">"USAGE:"</span> << std::endl;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  ss << <span class="stringliteral">" "</span> << argv0 << <span class="stringliteral">" "</span> << callFormat << std::endl;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  ss << std::endl;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  ss << <span class="stringliteral">"OPTIONS:"</span> << std::endl;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="comment">// Required as we have OptionMultiples doing a many-to-one in options.</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  std::unordered_set<const OptionBase *> handled;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> std::pair<std::string, OptionBase *> nopt : <a class="code" href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">getOptionsMap</a>())</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> name = std::get<0>(nopt);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keyword">const</span> <a class="code" href="classOptionBase.html">OptionBase</a> *option = std::get<1>(nopt);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">if</span> (handled.find(option) != handled.end()) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  handled.insert(option);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">if</span> (option->isMultiple())</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="comment">// description</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="comment">// -name1 - description</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="comment">// -name2 - description</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="comment">// ...</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  ss << <span class="stringliteral">" "</span> << option-><a class="code" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a> << std::endl;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classOptionBase.html#a0a048de2a9ea404cb6b6be6276e8f91e">PossibilityDescription</a> &pd : option->possibilityDescriptions)</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> possibility = std::get<0>(pd);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a> = std::get<1>(pd);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  ss << <span class="stringliteral">" -"</span> << possibility << <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>(longest - possibility.length() + 2, <span class="charliteral">' '</span>);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  ss << <span class="stringliteral">"- "</span> << description << std::endl;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  }</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  }</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="comment">// name - description</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="comment">// or</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="comment">// name - description</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="comment">// =opt1 - description</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="comment">// =opt2 - description</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="comment">// ...</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  ss << <span class="stringliteral">" -"</span> << name << <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>(longest - name.length() + 2, <span class="charliteral">' '</span>);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  ss << <span class="stringliteral">"- "</span> << option->description << std::endl;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classOptionBase.html#a0a048de2a9ea404cb6b6be6276e8f91e">PossibilityDescription</a> &pd : option->possibilityDescriptions)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> possibility = std::get<0>(pd);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a> = std::get<1>(pd);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  ss << <span class="stringliteral">" ="</span> << possibility << <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>(longest - possibility.length() + 2, <span class="charliteral">' '</span>);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  ss << <span class="stringliteral">"- "</span> << description << std::endl;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="comment">// Help message.</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  ss << std::endl;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  ss << <span class="stringliteral">" -help"</span> << <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>(longest - 4 + 2, <span class="charliteral">' '</span>) << <span class="stringliteral">"- show usage and exit"</span> << std::endl;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  ss << <span class="stringliteral">" -h"</span> << <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>(longest - 1 + 2, <span class="charliteral">' '</span>) << <span class="stringliteral">"- show usage and exit"</span> << std::endl;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="comment">// How to set boolean options.</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  ss << std::endl;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  ss << <span class="stringliteral">"Note: for boolean options, -name true and -name false are invalid."</span> << std::endl;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  ss << <span class="stringliteral">" Use -name, -name=true, or -name=false."</span> << std::endl;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div><div class="ttc" id="classOptionBase_html_ac68017dd45d05c5fe26ae04bb58f903c"><div class="ttname"><a href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">OptionBase::getOptionsMap</a></div><div class="ttdeci">static std::map< std::string, OptionBase * > & getOptionsMap(void)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00307">CommandLine.h:307</a></div></div>
|
|
380
|
+
<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>
|
|
381
|
+
<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>
|
|
382
|
+
<div class="ttc" id="classOptionBase_html_a0a048de2a9ea404cb6b6be6276e8f91e"><div class="ttname"><a href="classOptionBase.html#a0a048de2a9ea404cb6b6be6276e8f91e">OptionBase::PossibilityDescription</a></div><div class="ttdeci">std::pair< std::string, std::string > PossibilityDescription</div><div class="ttdoc">Name/description pairs. </div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00024">CommandLine.h:24</a></div></div>
|
|
383
|
+
<div class="ttc" id="classOptionBase_html"><div class="ttname"><a href="classOptionBase.html">OptionBase</a></div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00020">CommandLine.h:20</a></div></div>
|
|
384
|
+
<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>
|
|
385
|
+
</div><!-- fragment -->
|
|
386
|
+
</div>
|
|
387
|
+
</div>
|
|
388
|
+
<a id="a41b5697dffc86139fa9341210f7233d9"></a>
|
|
389
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a41b5697dffc86139fa9341210f7233d9">◆ </a></span>canSet()</h2>
|
|
390
|
+
|
|
391
|
+
<div class="memitem">
|
|
392
|
+
<div class="memproto">
|
|
393
|
+
<table class="mlabels">
|
|
394
|
+
<tr>
|
|
395
|
+
<td class="mlabels-left">
|
|
396
|
+
<table class="memname">
|
|
397
|
+
<tr>
|
|
398
|
+
<td class="memname">virtual bool OptionBase::canSet </td>
|
|
399
|
+
<td>(</td>
|
|
400
|
+
<td class="paramtype">void </td>
|
|
401
|
+
<td class="paramname"></td><td>)</td>
|
|
402
|
+
<td> const</td>
|
|
403
|
+
</tr>
|
|
404
|
+
</table>
|
|
405
|
+
</td>
|
|
406
|
+
<td class="mlabels-right">
|
|
407
|
+
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
|
|
408
|
+
</tr>
|
|
409
|
+
</table>
|
|
410
|
+
</div><div class="memdoc">
|
|
411
|
+
|
|
412
|
+
<p>Can this option be set? </p>
|
|
413
|
+
|
|
414
|
+
<p>Implemented in <a class="el" href="classOptionMultiple.html#aa582e95f6546ffd2fc8420699967bca9">OptionMultiple< T ></a>, <a class="el" href="classOptionMultiple.html#aa582e95f6546ffd2fc8420699967bca9">OptionMultiple< PointerAnalysis::PTATY ></a>, <a class="el" href="classOptionMultiple.html#aa582e95f6546ffd2fc8420699967bca9">OptionMultiple< WPAPass::AliasCheckRule ></a>, <a class="el" href="classOptionMap.html#a9fe150111f4ef83a91c5a1a01878ffa3">OptionMap< T ></a>, <a class="el" href="classOptionMap.html#a9fe150111f4ef83a91c5a1a01878ffa3">OptionMap< PointsTo::Type ></a>, <a class="el" href="classOptionMap.html#a9fe150111f4ef83a91c5a1a01878ffa3">OptionMap< SVF::NodeIDAllocator::Strategy ></a>, <a class="el" href="classOptionMap.html#a9fe150111f4ef83a91c5a1a01878ffa3">OptionMap< BVDataPTAImpl::PTBackingType ></a>, <a class="el" href="classOptionMap.html#a9fe150111f4ef83a91c5a1a01878ffa3">OptionMap< enum hclust_fast_methods ></a>, <a class="el" href="classOptionMap.html#a9fe150111f4ef83a91c5a1a01878ffa3">OptionMap< enum PTAStat::ClockType ></a>, <a class="el" href="classOptionMap.html#a9fe150111f4ef83a91c5a1a01878ffa3">OptionMap< MemSSA::MemPartition ></a>, <a class="el" href="classOption.html#a25507245c3b4b8d2d52ab069d756bc31">Option< T ></a>, <a class="el" href="classOption.html#a25507245c3b4b8d2d52ab069d756bc31">Option< std::string ></a>, <a class="el" href="classOption.html#a25507245c3b4b8d2d52ab069d756bc31">Option< u32_t ></a>, and <a class="el" href="classOption.html#a25507245c3b4b8d2d52ab069d756bc31">Option< bool ></a>.</p>
|
|
415
|
+
|
|
416
|
+
</div>
|
|
417
|
+
</div>
|
|
418
|
+
<a id="a21e8ccc08eef254ceee53185a717301d"></a>
|
|
419
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a21e8ccc08eef254ceee53185a717301d">◆ </a></span>extractPossibilityDescriptions()</h2>
|
|
420
|
+
|
|
421
|
+
<div class="memitem">
|
|
422
|
+
<div class="memproto">
|
|
423
|
+
<div class="memtemplate">
|
|
424
|
+
template<typename T > </div>
|
|
425
|
+
<table class="mlabels">
|
|
426
|
+
<tr>
|
|
427
|
+
<td class="mlabels-left">
|
|
428
|
+
<table class="memname">
|
|
429
|
+
<tr>
|
|
430
|
+
<td class="memname">static <a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a> OptionBase::extractPossibilityDescriptions </td>
|
|
431
|
+
<td>(</td>
|
|
432
|
+
<td class="paramtype">const std::vector< <a class="el" href="classOptionBase.html#a8cc760078ccd614db2190d0f87f5da0d">OptionPossibility</a>< T >> </td>
|
|
433
|
+
<td class="paramname"><em>possibilities</em></td><td>)</td>
|
|
434
|
+
<td></td>
|
|
435
|
+
</tr>
|
|
436
|
+
</table>
|
|
437
|
+
</td>
|
|
438
|
+
<td class="mlabels-right">
|
|
439
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
|
|
440
|
+
</tr>
|
|
441
|
+
</table>
|
|
442
|
+
</div><div class="memdoc">
|
|
443
|
+
|
|
444
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00294">294</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
445
|
+
<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a> <a class="code" href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">possibilityDescriptions</a>;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> OptionPossibility<T> &op : possibilities)</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  possibilityDescriptions.push_back(std::make_pair(std::get<1>(op), std::get<2>(op)));</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  }</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span> <a class="code" href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">possibilityDescriptions</a>;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  }</div><div class="ttc" id="classOptionBase_html_adbecc317e1c8a157456c069ca0b4679c"><div class="ttname"><a href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">OptionBase::PossibilityDescriptions</a></div><div class="ttdeci">std::vector< std::pair< std::string, std::string > > PossibilityDescriptions</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00025">CommandLine.h:25</a></div></div>
|
|
446
|
+
<div class="ttc" id="classOptionBase_html_aa6cc4a59e5801eff5d7dcdc0137e16a1"><div class="ttname"><a href="classOptionBase.html#aa6cc4a59e5801eff5d7dcdc0137e16a1">OptionBase::possibilityDescriptions</a></div><div class="ttdeci">PossibilityDescriptions possibilityDescriptions</div><div class="ttdoc">For when we have possibilities like in an OptionMap. </div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00319">CommandLine.h:319</a></div></div>
|
|
447
|
+
</div><!-- fragment -->
|
|
448
|
+
</div>
|
|
449
|
+
</div>
|
|
450
|
+
<a id="abf205790830ba8c3bb7097701ca86a69"></a>
|
|
451
|
+
<h2 class="memtitle"><span class="permalink"><a href="#abf205790830ba8c3bb7097701ca86a69">◆ </a></span>getOption()</h2>
|
|
452
|
+
|
|
453
|
+
<div class="memitem">
|
|
454
|
+
<div class="memproto">
|
|
455
|
+
<table class="mlabels">
|
|
456
|
+
<tr>
|
|
457
|
+
<td class="mlabels-left">
|
|
458
|
+
<table class="memname">
|
|
459
|
+
<tr>
|
|
460
|
+
<td class="memname">static <a class="el" href="classOptionBase.html">OptionBase</a>* OptionBase::getOption </td>
|
|
461
|
+
<td>(</td>
|
|
462
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
463
|
+
<td class="paramname"><em>optName</em></td><td>)</td>
|
|
464
|
+
<td></td>
|
|
465
|
+
</tr>
|
|
466
|
+
</table>
|
|
467
|
+
</td>
|
|
468
|
+
<td class="mlabels-right">
|
|
469
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
|
|
470
|
+
</tr>
|
|
471
|
+
</table>
|
|
472
|
+
</div><div class="memdoc">
|
|
473
|
+
|
|
474
|
+
<p>Find option based on name in options map. Returns nullptr if not found. </p>
|
|
475
|
+
|
|
476
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00269">269</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
477
|
+
<div class="fragment"><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keyword">auto</span> optIt = <a class="code" href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">getOptionsMap</a>().find(optName);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">if</span> (optIt == <a class="code" href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">getOptionsMap</a>().end()) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">else</span> <span class="keywordflow">return</span> optIt->second;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="ttc" id="classOptionBase_html_ac68017dd45d05c5fe26ae04bb58f903c"><div class="ttname"><a href="classOptionBase.html#ac68017dd45d05c5fe26ae04bb58f903c">OptionBase::getOptionsMap</a></div><div class="ttdeci">static std::map< std::string, OptionBase * > & getOptionsMap(void)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00307">CommandLine.h:307</a></div></div>
|
|
478
|
+
</div><!-- fragment -->
|
|
479
|
+
</div>
|
|
480
|
+
</div>
|
|
481
|
+
<a id="ac68017dd45d05c5fe26ae04bb58f903c"></a>
|
|
482
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ac68017dd45d05c5fe26ae04bb58f903c">◆ </a></span>getOptionsMap()</h2>
|
|
483
|
+
|
|
484
|
+
<div class="memitem">
|
|
485
|
+
<div class="memproto">
|
|
486
|
+
<table class="mlabels">
|
|
487
|
+
<tr>
|
|
488
|
+
<td class="mlabels-left">
|
|
489
|
+
<table class="memname">
|
|
490
|
+
<tr>
|
|
491
|
+
<td class="memname">static std::map<<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classOptionBase.html">OptionBase</a> *>& OptionBase::getOptionsMap </td>
|
|
492
|
+
<td>(</td>
|
|
493
|
+
<td class="paramtype">void </td>
|
|
494
|
+
<td class="paramname"></td><td>)</td>
|
|
495
|
+
<td></td>
|
|
496
|
+
</tr>
|
|
497
|
+
</table>
|
|
498
|
+
</td>
|
|
499
|
+
<td class="mlabels-right">
|
|
500
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
|
|
501
|
+
</tr>
|
|
502
|
+
</table>
|
|
503
|
+
</div><div class="memdoc">
|
|
504
|
+
<p>Not unordered map so we can have sorted names when building the usage string. Map of option names to their object. </p>
|
|
505
|
+
|
|
506
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00307">307</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
507
|
+
<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="comment">// Not static member to avoid initialisation order problems.</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keyword">static</span> std::map<std::string, OptionBase *> options;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">return</span> options;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  }</div></div><!-- fragment -->
|
|
508
|
+
</div>
|
|
509
|
+
</div>
|
|
510
|
+
<a id="acd2a32f510c026154665f7d874f3f362"></a>
|
|
511
|
+
<h2 class="memtitle"><span class="permalink"><a href="#acd2a32f510c026154665f7d874f3f362">◆ </a></span>isBool()</h2>
|
|
512
|
+
|
|
513
|
+
<div class="memitem">
|
|
514
|
+
<div class="memproto">
|
|
515
|
+
<table class="mlabels">
|
|
516
|
+
<tr>
|
|
517
|
+
<td class="mlabels-left">
|
|
518
|
+
<table class="memname">
|
|
519
|
+
<tr>
|
|
520
|
+
<td class="memname">virtual bool OptionBase::isBool </td>
|
|
521
|
+
<td>(</td>
|
|
522
|
+
<td class="paramtype">void </td>
|
|
523
|
+
<td class="paramname"></td><td>)</td>
|
|
524
|
+
<td> const</td>
|
|
525
|
+
</tr>
|
|
526
|
+
</table>
|
|
527
|
+
</td>
|
|
528
|
+
<td class="mlabels-right">
|
|
529
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
|
|
530
|
+
</tr>
|
|
531
|
+
</table>
|
|
532
|
+
</div><div class="memdoc">
|
|
533
|
+
<p>Whether this option represents a boolean. Important as such arguments don't require a value. </p>
|
|
534
|
+
|
|
535
|
+
<p>Reimplemented in <a class="el" href="classOption.html#a910cf3c0ac5d45ee169cb8750898ea0b">Option< T ></a>, <a class="el" href="classOption.html#a910cf3c0ac5d45ee169cb8750898ea0b">Option< std::string ></a>, <a class="el" href="classOption.html#a910cf3c0ac5d45ee169cb8750898ea0b">Option< u32_t ></a>, and <a class="el" href="classOption.html#a910cf3c0ac5d45ee169cb8750898ea0b">Option< bool ></a>.</p>
|
|
536
|
+
|
|
537
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00058">58</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
538
|
+
<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div></div><!-- fragment -->
|
|
539
|
+
</div>
|
|
540
|
+
</div>
|
|
541
|
+
<a id="ae446d8507843235d8fe71d32bc4bd04b"></a>
|
|
542
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ae446d8507843235d8fe71d32bc4bd04b">◆ </a></span>isHelpName()</h2>
|
|
543
|
+
|
|
544
|
+
<div class="memitem">
|
|
545
|
+
<div class="memproto">
|
|
546
|
+
<table class="mlabels">
|
|
547
|
+
<tr>
|
|
548
|
+
<td class="mlabels-left">
|
|
549
|
+
<table class="memname">
|
|
550
|
+
<tr>
|
|
551
|
+
<td class="memname">static bool OptionBase::isHelpName </td>
|
|
552
|
+
<td>(</td>
|
|
553
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
554
|
+
<td class="paramname"><em>name</em></td><td>)</td>
|
|
555
|
+
<td></td>
|
|
556
|
+
</tr>
|
|
557
|
+
</table>
|
|
558
|
+
</td>
|
|
559
|
+
<td class="mlabels-right">
|
|
560
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
|
|
561
|
+
</tr>
|
|
562
|
+
</table>
|
|
563
|
+
</div><div class="memdoc">
|
|
564
|
+
|
|
565
|
+
<p>Returns whether name is one of the reserved help options. </p>
|
|
566
|
+
|
|
567
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00285">285</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
568
|
+
<div class="fragment"><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keyword">static</span> std::vector<std::string> helpNames = {<span class="stringliteral">"help"</span>, <span class="stringliteral">"h"</span>, <span class="stringliteral">"-help"</span>};</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> std::find(helpNames.begin(), helpNames.end(), <a class="code" href="classOptionBase.html#a494ea256d6484e4f7e8751de499889fc">name</a>) != helpNames.end();</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div><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>
|
|
569
|
+
</div><!-- fragment -->
|
|
570
|
+
</div>
|
|
571
|
+
</div>
|
|
572
|
+
<a id="ad6fe65a503048686686ea6ced35a2dfd"></a>
|
|
573
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad6fe65a503048686686ea6ced35a2dfd">◆ </a></span>isMultiple()</h2>
|
|
574
|
+
|
|
575
|
+
<div class="memitem">
|
|
576
|
+
<div class="memproto">
|
|
577
|
+
<table class="mlabels">
|
|
578
|
+
<tr>
|
|
579
|
+
<td class="mlabels-left">
|
|
580
|
+
<table class="memname">
|
|
581
|
+
<tr>
|
|
582
|
+
<td class="memname">virtual bool OptionBase::isMultiple </td>
|
|
583
|
+
<td>(</td>
|
|
584
|
+
<td class="paramtype">void </td>
|
|
585
|
+
<td class="paramname"></td><td>)</td>
|
|
586
|
+
<td> const</td>
|
|
587
|
+
</tr>
|
|
588
|
+
</table>
|
|
589
|
+
</td>
|
|
590
|
+
<td class="mlabels-right">
|
|
591
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
|
|
592
|
+
</tr>
|
|
593
|
+
</table>
|
|
594
|
+
</div><div class="memdoc">
|
|
595
|
+
|
|
596
|
+
<p>Whether this option is an <a class="el" href="classOptionMultiple.html">OptionMultiple</a>. </p>
|
|
597
|
+
|
|
598
|
+
<p>Reimplemented in <a class="el" href="classOptionMultiple.html#aebfc1b172ccde004333d9af7248dca4e">OptionMultiple< T ></a>, <a class="el" href="classOptionMultiple.html#aebfc1b172ccde004333d9af7248dca4e">OptionMultiple< PointerAnalysis::PTATY ></a>, and <a class="el" href="classOptionMultiple.html#aebfc1b172ccde004333d9af7248dca4e">OptionMultiple< WPAPass::AliasCheckRule ></a>.</p>
|
|
599
|
+
|
|
600
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00064">64</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
601
|
+
<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }</div></div><!-- fragment -->
|
|
602
|
+
</div>
|
|
603
|
+
</div>
|
|
604
|
+
<a id="af20460d3ee3bcfbb036120339996efd8"></a>
|
|
605
|
+
<h2 class="memtitle"><span class="permalink"><a href="#af20460d3ee3bcfbb036120339996efd8">◆ </a></span>parseAndSetValue()</h2>
|
|
606
|
+
|
|
607
|
+
<div class="memitem">
|
|
608
|
+
<div class="memproto">
|
|
609
|
+
<table class="mlabels">
|
|
610
|
+
<tr>
|
|
611
|
+
<td class="mlabels-left">
|
|
612
|
+
<table class="memname">
|
|
613
|
+
<tr>
|
|
614
|
+
<td class="memname">virtual bool OptionBase::parseAndSetValue </td>
|
|
615
|
+
<td>(</td>
|
|
616
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
617
|
+
<td class="paramname"><em>value</em></td><td>)</td>
|
|
618
|
+
<td></td>
|
|
619
|
+
</tr>
|
|
620
|
+
</table>
|
|
621
|
+
</td>
|
|
622
|
+
<td class="mlabels-right">
|
|
623
|
+
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
|
|
624
|
+
</tr>
|
|
625
|
+
</table>
|
|
626
|
+
</div><div class="memdoc">
|
|
627
|
+
|
|
628
|
+
<p>From a given string, set the value of this option. </p>
|
|
629
|
+
|
|
630
|
+
<p>Implemented in <a class="el" href="classOptionMultiple.html#af175c4dde2e877dbf52eb20bd836615e">OptionMultiple< T ></a>, <a class="el" href="classOptionMultiple.html#af175c4dde2e877dbf52eb20bd836615e">OptionMultiple< PointerAnalysis::PTATY ></a>, <a class="el" href="classOptionMultiple.html#af175c4dde2e877dbf52eb20bd836615e">OptionMultiple< WPAPass::AliasCheckRule ></a>, <a class="el" href="classOptionMap.html#a80523ee22ddb28f5837ad3fb07fd7dd5">OptionMap< T ></a>, <a class="el" href="classOptionMap.html#a80523ee22ddb28f5837ad3fb07fd7dd5">OptionMap< PointsTo::Type ></a>, <a class="el" href="classOptionMap.html#a80523ee22ddb28f5837ad3fb07fd7dd5">OptionMap< SVF::NodeIDAllocator::Strategy ></a>, <a class="el" href="classOptionMap.html#a80523ee22ddb28f5837ad3fb07fd7dd5">OptionMap< BVDataPTAImpl::PTBackingType ></a>, <a class="el" href="classOptionMap.html#a80523ee22ddb28f5837ad3fb07fd7dd5">OptionMap< enum hclust_fast_methods ></a>, <a class="el" href="classOptionMap.html#a80523ee22ddb28f5837ad3fb07fd7dd5">OptionMap< enum PTAStat::ClockType ></a>, <a class="el" href="classOptionMap.html#a80523ee22ddb28f5837ad3fb07fd7dd5">OptionMap< MemSSA::MemPartition ></a>, <a class="el" href="classOption.html#a4bce0f38bb5ae80e3ce435e736df6f50">Option< T ></a>, <a class="el" href="classOption.html#a4bce0f38bb5ae80e3ce435e736df6f50">Option< std::string ></a>, <a class="el" href="classOption.html#a4bce0f38bb5ae80e3ce435e736df6f50">Option< u32_t ></a>, and <a class="el" href="classOption.html#a4bce0f38bb5ae80e3ce435e736df6f50">Option< bool ></a>.</p>
|
|
631
|
+
|
|
632
|
+
</div>
|
|
633
|
+
</div>
|
|
634
|
+
<a id="a4fb6c6e4a1754d702c6c1730f54457e5"></a>
|
|
635
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a4fb6c6e4a1754d702c6c1730f54457e5">◆ </a></span>parseOptions()</h2>
|
|
636
|
+
|
|
637
|
+
<div class="memitem">
|
|
638
|
+
<div class="memproto">
|
|
639
|
+
<table class="mlabels">
|
|
640
|
+
<tr>
|
|
641
|
+
<td class="mlabels-left">
|
|
642
|
+
<table class="memname">
|
|
643
|
+
<tr>
|
|
644
|
+
<td class="memname">static std::vector<<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>> OptionBase::parseOptions </td>
|
|
645
|
+
<td>(</td>
|
|
646
|
+
<td class="paramtype">int </td>
|
|
647
|
+
<td class="paramname"><em>argc</em>, </td>
|
|
648
|
+
</tr>
|
|
649
|
+
<tr>
|
|
650
|
+
<td class="paramkey"></td>
|
|
651
|
+
<td></td>
|
|
652
|
+
<td class="paramtype">char * </td>
|
|
653
|
+
<td class="paramname"><em>argv</em>[], </td>
|
|
654
|
+
</tr>
|
|
655
|
+
<tr>
|
|
656
|
+
<td class="paramkey"></td>
|
|
657
|
+
<td></td>
|
|
658
|
+
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
659
|
+
<td class="paramname"><em>description</em>, </td>
|
|
660
|
+
</tr>
|
|
661
|
+
<tr>
|
|
662
|
+
<td class="paramkey"></td>
|
|
663
|
+
<td></td>
|
|
664
|
+
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
665
|
+
<td class="paramname"><em>callFormat</em> </td>
|
|
666
|
+
</tr>
|
|
667
|
+
<tr>
|
|
668
|
+
<td></td>
|
|
669
|
+
<td>)</td>
|
|
670
|
+
<td></td><td></td>
|
|
671
|
+
</tr>
|
|
672
|
+
</table>
|
|
673
|
+
</td>
|
|
674
|
+
<td class="mlabels-right">
|
|
675
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
|
|
676
|
+
</tr>
|
|
677
|
+
</table>
|
|
678
|
+
</div><div class="memdoc">
|
|
679
|
+
<p>Parse all constructed <a class="el" href="classOptionBase.html">OptionBase</a> children, returning positional arguments in the order they appeared. </p>
|
|
680
|
+
|
|
681
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00075">75</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
682
|
+
<div class="fragment"><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> usage = <a class="code" href="classOptionBase.html#a7dbcdc9ff8df95a2c5ca4bd0723a3965">buildUsage</a>(<a class="code" href="classOptionBase.html#a8fbb1cde9e12a099617c8e8298424b5b">description</a>, <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>(argv[0]), callFormat);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  std::vector<std::string> positionalArguments;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i < argc; ++i)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> arg(argv[i]);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">if</span> (arg.empty()) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span> (arg[0] != <span class="charliteral">'-'</span>)</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="comment">// Positional argument. NOT a value to another argument because we</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">// "skip" over evaluating those without the corresponding argument.</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  positionalArguments.push_back(arg);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// Chop off '-'.</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  arg = arg.substr(1);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> argName;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> argValue;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="classOptionBase.html">OptionBase</a> *opt = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordtype">size_t</span> equalsSign = arg.find(<span class="charliteral">'='</span>);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">if</span> (equalsSign != std::string::npos)</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">// Argument has an equal sign, i.e. argName=argValue</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  argName = arg.substr(0, equalsSign);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> (<a class="code" href="classOptionBase.html#ae446d8507843235d8fe71d32bc4bd04b">isHelpName</a>(argName)) <a class="code" href="classOptionBase.html#ac6df21066e0848e26a718d81a25e2bb0">usageAndExit</a>(usage, <span class="keyword">false</span>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  opt = <a class="code" href="classOptionBase.html#abf205790830ba8c3bb7097701ca86a69">getOption</a>(argName);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">if</span> (opt == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  std::cerr << <span class="stringliteral">"Unknown option: "</span> << argName << std::endl;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classOptionBase.html#ac6df21066e0848e26a718d81a25e2bb0">usageAndExit</a>(usage, <span class="keyword">true</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  argValue = arg.substr(equalsSign + 1);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  argName = arg;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">if</span> (<a class="code" href="classOptionBase.html#ae446d8507843235d8fe71d32bc4bd04b">isHelpName</a>(argName)) <a class="code" href="classOptionBase.html#ac6df21066e0848e26a718d81a25e2bb0">usageAndExit</a>(usage, <span class="keyword">false</span>);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  opt = <a class="code" href="classOptionBase.html#abf205790830ba8c3bb7097701ca86a69">getOption</a>(argName);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">if</span> (opt == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  std::cerr << <span class="stringliteral">"Unknown option: "</span> << argName << std::endl;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="classOptionBase.html#ac6df21066e0848e26a718d81a25e2bb0">usageAndExit</a>(usage, <span class="keyword">true</span>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="comment">// No equals sign means we may need next argument.</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">if</span> (opt-><a class="code" href="classOptionBase.html#acd2a32f510c026154665f7d874f3f362">isBool</a>())</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="comment">// Booleans do not accept -arg true/-arg false.</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="comment">// They must be -arg=true/-arg=false.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  argValue = <span class="stringliteral">"true"</span>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (opt-><a class="code" href="classOptionBase.html#ad6fe65a503048686686ea6ced35a2dfd">isMultiple</a>())</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="comment">// Name is the value and will be converted to an enum.</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  argValue = argName;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  }</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (i + 1 < argc)</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="comment">// On iteration, we'll skip the value.</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  ++i;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  argValue = <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>(argv[i]);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  std::cerr << <span class="stringliteral">"Expected value for: "</span> << argName << std::endl;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <a class="code" href="classOptionBase.html#ac6df21066e0848e26a718d81a25e2bb0">usageAndExit</a>(usage, <span class="keyword">true</span>);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">if</span> (!opt-><a class="code" href="classOptionBase.html#a41b5697dffc86139fa9341210f7233d9">canSet</a>())</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  std::cerr << <span class="stringliteral">"Unable to set: "</span> << argName << <span class="stringliteral">"; check for duplicates"</span> << std::endl;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="classOptionBase.html#ac6df21066e0848e26a718d81a25e2bb0">usageAndExit</a>(usage, <span class="keyword">true</span>);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordtype">bool</span> valueSet = opt-><a class="code" href="classOptionBase.html#af20460d3ee3bcfbb036120339996efd8">parseAndSetValue</a>(argValue);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">if</span> (!valueSet)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  std::cerr << <span class="stringliteral">"Bad value for: "</span> << argName << std::endl;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classOptionBase.html#ac6df21066e0848e26a718d81a25e2bb0">usageAndExit</a>(usage, <span class="keyword">true</span>);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">return</span> positionalArguments;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  }</div><div class="ttc" id="classOptionBase_html_ad6fe65a503048686686ea6ced35a2dfd"><div class="ttname"><a href="classOptionBase.html#ad6fe65a503048686686ea6ced35a2dfd">OptionBase::isMultiple</a></div><div class="ttdeci">virtual bool isMultiple(void) const</div><div class="ttdoc">Whether this option is an OptionMultiple. </div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00064">CommandLine.h:64</a></div></div>
|
|
683
|
+
<div class="ttc" id="classOptionBase_html_ae446d8507843235d8fe71d32bc4bd04b"><div class="ttname"><a href="classOptionBase.html#ae446d8507843235d8fe71d32bc4bd04b">OptionBase::isHelpName</a></div><div class="ttdeci">static bool isHelpName(const std::string name)</div><div class="ttdoc">Returns whether name is one of the reserved help options. </div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00285">CommandLine.h:285</a></div></div>
|
|
684
|
+
<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>
|
|
685
|
+
<div class="ttc" id="classOptionBase_html_ac6df21066e0848e26a718d81a25e2bb0"><div class="ttname"><a href="classOptionBase.html#ac6df21066e0848e26a718d81a25e2bb0">OptionBase::usageAndExit</a></div><div class="ttdeci">static void usageAndExit(const std::string usage, bool error)</div><div class="ttdoc">Print usage and exit. If error is set, print to stderr and exits with code 1. </div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00277">CommandLine.h:277</a></div></div>
|
|
686
|
+
<div class="ttc" id="classOptionBase_html_af20460d3ee3bcfbb036120339996efd8"><div class="ttname"><a href="classOptionBase.html#af20460d3ee3bcfbb036120339996efd8">OptionBase::parseAndSetValue</a></div><div class="ttdeci">virtual bool parseAndSetValue(const std::string value)=0</div><div class="ttdoc">From a given string, set the value of this option. </div></div>
|
|
687
|
+
<div class="ttc" id="classOptionBase_html_a41b5697dffc86139fa9341210f7233d9"><div class="ttname"><a href="classOptionBase.html#a41b5697dffc86139fa9341210f7233d9">OptionBase::canSet</a></div><div class="ttdeci">virtual bool canSet(void) const =0</div><div class="ttdoc">Can this option be set? </div></div>
|
|
688
|
+
<div class="ttc" id="classOptionBase_html"><div class="ttname"><a href="classOptionBase.html">OptionBase</a></div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00020">CommandLine.h:20</a></div></div>
|
|
689
|
+
<div class="ttc" id="classOptionBase_html_abf205790830ba8c3bb7097701ca86a69"><div class="ttname"><a href="classOptionBase.html#abf205790830ba8c3bb7097701ca86a69">OptionBase::getOption</a></div><div class="ttdeci">static OptionBase * getOption(const std::string optName)</div><div class="ttdoc">Find option based on name in options map. Returns nullptr if not found. </div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00269">CommandLine.h:269</a></div></div>
|
|
690
|
+
<div class="ttc" id="classOptionBase_html_acd2a32f510c026154665f7d874f3f362"><div class="ttname"><a href="classOptionBase.html#acd2a32f510c026154665f7d874f3f362">OptionBase::isBool</a></div><div class="ttdeci">virtual bool isBool(void) const</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00058">CommandLine.h:58</a></div></div>
|
|
691
|
+
<div class="ttc" id="classOptionBase_html_a7dbcdc9ff8df95a2c5ca4bd0723a3965"><div class="ttname"><a href="classOptionBase.html#a7dbcdc9ff8df95a2c5ca4bd0723a3965">OptionBase::buildUsage</a></div><div class="ttdeci">static std::string buildUsage(const std::string description, const std::string argv0, const std::string callFormat)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00174">CommandLine.h:174</a></div></div>
|
|
692
|
+
<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>
|
|
693
|
+
</div><!-- fragment -->
|
|
694
|
+
</div>
|
|
695
|
+
</div>
|
|
696
|
+
<a id="ac6df21066e0848e26a718d81a25e2bb0"></a>
|
|
697
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ac6df21066e0848e26a718d81a25e2bb0">◆ </a></span>usageAndExit()</h2>
|
|
698
|
+
|
|
699
|
+
<div class="memitem">
|
|
700
|
+
<div class="memproto">
|
|
701
|
+
<table class="mlabels">
|
|
702
|
+
<tr>
|
|
703
|
+
<td class="mlabels-left">
|
|
704
|
+
<table class="memname">
|
|
705
|
+
<tr>
|
|
706
|
+
<td class="memname">static void OptionBase::usageAndExit </td>
|
|
707
|
+
<td>(</td>
|
|
708
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
709
|
+
<td class="paramname"><em>usage</em>, </td>
|
|
710
|
+
</tr>
|
|
711
|
+
<tr>
|
|
712
|
+
<td class="paramkey"></td>
|
|
713
|
+
<td></td>
|
|
714
|
+
<td class="paramtype">bool </td>
|
|
715
|
+
<td class="paramname"><em>error</em> </td>
|
|
716
|
+
</tr>
|
|
717
|
+
<tr>
|
|
718
|
+
<td></td>
|
|
719
|
+
<td>)</td>
|
|
720
|
+
<td></td><td></td>
|
|
721
|
+
</tr>
|
|
722
|
+
</table>
|
|
723
|
+
</td>
|
|
724
|
+
<td class="mlabels-right">
|
|
725
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
|
|
726
|
+
</tr>
|
|
727
|
+
</table>
|
|
728
|
+
</div><div class="memdoc">
|
|
729
|
+
|
|
730
|
+
<p>Print usage and exit. If error is set, print to stderr and exits with code 1. </p>
|
|
731
|
+
|
|
732
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00277">277</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
733
|
+
<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">if</span> (<a class="code" href="structerror.html">error</a>) std::cerr << usage;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">else</span> std::cout << usage;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  std::exit(<a class="code" href="structerror.html">error</a> ? 1 : 0);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  }</div><div class="ttc" id="structerror_html"><div class="ttname"><a href="structerror.html">error</a></div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00088">cJSON.cpp:88</a></div></div>
|
|
734
|
+
</div><!-- fragment -->
|
|
735
|
+
</div>
|
|
736
|
+
</div>
|
|
737
|
+
<h2 class="groupheader">Member Data Documentation</h2>
|
|
738
|
+
<a id="a8fbb1cde9e12a099617c8e8298424b5b"></a>
|
|
739
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8fbb1cde9e12a099617c8e8298424b5b">◆ </a></span>description</h2>
|
|
740
|
+
|
|
741
|
+
<div class="memitem">
|
|
742
|
+
<div class="memproto">
|
|
743
|
+
<table class="mlabels">
|
|
744
|
+
<tr>
|
|
745
|
+
<td class="mlabels-left">
|
|
746
|
+
<table class="memname">
|
|
747
|
+
<tr>
|
|
748
|
+
<td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> OptionBase::description</td>
|
|
749
|
+
</tr>
|
|
750
|
+
</table>
|
|
751
|
+
</td>
|
|
752
|
+
<td class="mlabels-right">
|
|
753
|
+
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
754
|
+
</tr>
|
|
755
|
+
</table>
|
|
756
|
+
</div><div class="memdoc">
|
|
757
|
+
|
|
758
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00317">317</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
759
|
+
|
|
760
|
+
</div>
|
|
761
|
+
</div>
|
|
762
|
+
<a id="a494ea256d6484e4f7e8751de499889fc"></a>
|
|
763
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a494ea256d6484e4f7e8751de499889fc">◆ </a></span>name</h2>
|
|
764
|
+
|
|
765
|
+
<div class="memitem">
|
|
766
|
+
<div class="memproto">
|
|
767
|
+
<table class="mlabels">
|
|
768
|
+
<tr>
|
|
769
|
+
<td class="mlabels-left">
|
|
770
|
+
<table class="memname">
|
|
771
|
+
<tr>
|
|
772
|
+
<td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> OptionBase::name</td>
|
|
773
|
+
</tr>
|
|
774
|
+
</table>
|
|
775
|
+
</td>
|
|
776
|
+
<td class="mlabels-right">
|
|
777
|
+
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
778
|
+
</tr>
|
|
779
|
+
</table>
|
|
780
|
+
</div><div class="memdoc">
|
|
781
|
+
|
|
782
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00316">316</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
783
|
+
|
|
784
|
+
</div>
|
|
785
|
+
</div>
|
|
786
|
+
<a id="aa6cc4a59e5801eff5d7dcdc0137e16a1"></a>
|
|
787
|
+
<h2 class="memtitle"><span class="permalink"><a href="#aa6cc4a59e5801eff5d7dcdc0137e16a1">◆ </a></span>possibilityDescriptions</h2>
|
|
788
|
+
|
|
789
|
+
<div class="memitem">
|
|
790
|
+
<div class="memproto">
|
|
791
|
+
<table class="mlabels">
|
|
792
|
+
<tr>
|
|
793
|
+
<td class="mlabels-left">
|
|
794
|
+
<table class="memname">
|
|
795
|
+
<tr>
|
|
796
|
+
<td class="memname"><a class="el" href="classOptionBase.html#adbecc317e1c8a157456c069ca0b4679c">PossibilityDescriptions</a> OptionBase::possibilityDescriptions</td>
|
|
797
|
+
</tr>
|
|
798
|
+
</table>
|
|
799
|
+
</td>
|
|
800
|
+
<td class="mlabels-right">
|
|
801
|
+
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
802
|
+
</tr>
|
|
803
|
+
</table>
|
|
804
|
+
</div><div class="memdoc">
|
|
805
|
+
|
|
806
|
+
<p>For when we have possibilities like in an <a class="el" href="classOptionMap.html">OptionMap</a>. </p>
|
|
807
|
+
|
|
808
|
+
<p class="definition">Definition at line <a class="el" href="CommandLine_8h_source.html#l00319">319</a> of file <a class="el" href="CommandLine_8h_source.html">CommandLine.h</a>.</p>
|
|
809
|
+
|
|
810
|
+
</div>
|
|
811
|
+
</div>
|
|
812
|
+
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
813
|
+
<li>/home/runner/work/SVF/SVF/include/Util/<a class="el" href="CommandLine_8h_source.html">CommandLine.h</a></li>
|
|
814
|
+
</ul>
|
|
815
|
+
</div><!-- contents -->
|
|
816
|
+
<!-- start footer part -->
|
|
817
|
+
<hr class="footer"/><address class="footer"><small>
|
|
818
|
+
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
819
|
+
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
820
|
+
</a> 1.8.13
|
|
821
|
+
</small></address>
|
|
822
|
+
</body>
|
|
823
|
+
</html>
|