svf-tools 1.0.613 → 1.0.615
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/CMakeLists.txt +13 -0
- package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +7 -6
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +22 -22
- package/SVF-doxygen/html/html/Andersen_8h_source.html +16 -16
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +7 -7
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +14 -14
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ConsG_8h_source.html +9 -9
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +9 -9
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +4 -6
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +22 -22
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +27 -28
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +65 -65
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +24 -29
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +8 -8
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/MHP_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +12 -17
- package/SVF-doxygen/html/html/MTA_8h_source.html +3 -4
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +16 -15
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +53 -52
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +7 -8
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/Options_8cpp_source.html +52 -53
- package/SVF-doxygen/html/html/Options_8h_source.html +53 -54
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +33 -33
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +91 -95
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +31 -39
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +85 -92
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +20 -20
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +16 -16
- package/SVF-doxygen/html/html/PointsTo_8cpp.html +1 -0
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +51 -51
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +38 -38
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SCC_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +11 -22
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +14 -17
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +21 -19
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +49 -62
- package/SVF-doxygen/html/html/SVFG_8h_source.html +45 -45
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +10 -16
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +83 -83
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/SVFType_8h.html +22 -22
- package/SVF-doxygen/html/html/SVFType_8h_source.html +76 -77
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFValue_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -3
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +69 -71
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +39 -39
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +49 -51
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +13 -13
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/VFG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +33 -33
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +4 -4
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +11 -11
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +2 -2
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +25 -25
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/cfl_8cpp.html +1 -5
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -5
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +187 -188
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +104 -107
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +163 -164
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +47 -50
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +194 -195
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +45 -48
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +204 -205
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +35 -38
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +191 -192
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +29 -32
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +122 -123
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +158 -219
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +137 -138
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +57 -49
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +138 -139
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +140 -141
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallSite-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +114 -114
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +17 -31
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1DFPTData.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1DiffPTData.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +228 -229
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +62 -65
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +194 -195
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +219 -220
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +335 -342
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +57 -57
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +20 -14
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +108 -94
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +87 -87
- package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +27 -33
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder-members.html +41 -43
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +57 -80
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +54 -54
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +4 -3
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +170 -143
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData.html +13 -15
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +17 -18
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +53 -79
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PTData.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData-members.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +174 -177
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData-members.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +99 -102
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData-members.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +125 -127
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData-members.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +83 -86
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +122 -122
- package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData-members.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData.html +137 -140
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +56 -56
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo-members.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +183 -178
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator-members.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +87 -65
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFArrayType.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +13 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunctionType.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +211 -236
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder-members.html +7 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +50 -138
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +82 -82
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +203 -215
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +79 -79
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIntergerType.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +0 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherType.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFPointerType.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1SVFStructType.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +4 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +12 -14
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +42 -68
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +108 -109
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +146 -146
- package/SVF-doxygen/html/html/classSVF_1_1StInfo-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +48 -61
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +178 -179
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +35 -38
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +42 -46
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +169 -170
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +31 -34
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +263 -264
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +112 -115
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedPTData.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +76 -81
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +2 -2
- package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/functions.html +1 -1
- package/SVF-doxygen/html/html/functions_0x7e.html +16 -16
- package/SVF-doxygen/html/html/functions_a.html +7 -7
- package/SVF-doxygen/html/html/functions_b.html +6 -6
- package/SVF-doxygen/html/html/functions_c.html +27 -27
- package/SVF-doxygen/html/html/functions_d.html +10 -11
- package/SVF-doxygen/html/html/functions_e.html +2 -2
- package/SVF-doxygen/html/html/functions_f.html +6 -6
- package/SVF-doxygen/html/html/functions_func.html +6 -6
- package/SVF-doxygen/html/html/functions_func_0x7e.html +16 -16
- package/SVF-doxygen/html/html/functions_func_b.html +6 -6
- package/SVF-doxygen/html/html/functions_func_c.html +27 -27
- package/SVF-doxygen/html/html/functions_func_d.html +10 -11
- package/SVF-doxygen/html/html/functions_func_e.html +2 -2
- package/SVF-doxygen/html/html/functions_func_f.html +5 -5
- package/SVF-doxygen/html/html/functions_func_g.html +22 -22
- package/SVF-doxygen/html/html/functions_func_h.html +3 -3
- package/SVF-doxygen/html/html/functions_func_i.html +3 -3
- package/SVF-doxygen/html/html/functions_func_o.html +3 -3
- package/SVF-doxygen/html/html/functions_func_p.html +5 -5
- package/SVF-doxygen/html/html/functions_func_r.html +5 -8
- package/SVF-doxygen/html/html/functions_func_s.html +6 -6
- package/SVF-doxygen/html/html/functions_func_t.html +1 -1
- package/SVF-doxygen/html/html/functions_func_u.html +23 -23
- package/SVF-doxygen/html/html/functions_g.html +25 -28
- package/SVF-doxygen/html/html/functions_h.html +3 -3
- package/SVF-doxygen/html/html/functions_i.html +6 -6
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +13 -13
- package/SVF-doxygen/html/html/functions_p.html +19 -19
- package/SVF-doxygen/html/html/functions_r.html +11 -12
- package/SVF-doxygen/html/html/functions_s.html +33 -36
- package/SVF-doxygen/html/html/functions_t.html +12 -12
- package/SVF-doxygen/html/html/functions_type_t.html +1 -1
- package/SVF-doxygen/html/html/functions_u.html +26 -23
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_vars.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_g.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_i.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_p.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_s.html +5 -8
- package/SVF-doxygen/html/html/functions_vars_t.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_u.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +3 -7
- package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +35 -35
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +2 -2
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +4 -4
- package/SVF-doxygen/html/html/saber_8cpp.html +1 -5
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -5
- package/SVF-doxygen/html/html/search/all_0.js +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +4 -4
- package/SVF-doxygen/html/html/search/all_10.js +15 -15
- package/SVF-doxygen/html/html/search/all_11.js +1 -2
- package/SVF-doxygen/html/html/search/all_12.js +20 -21
- package/SVF-doxygen/html/html/search/all_13.js +8 -8
- package/SVF-doxygen/html/html/search/all_14.js +13 -12
- package/SVF-doxygen/html/html/search/all_15.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_19.js +16 -16
- package/SVF-doxygen/html/html/search/all_2.js +6 -6
- package/SVF-doxygen/html/html/search/all_3.js +14 -14
- package/SVF-doxygen/html/html/search/all_4.js +5 -5
- package/SVF-doxygen/html/html/search/all_5.js +2 -2
- package/SVF-doxygen/html/html/search/all_6.js +5 -5
- package/SVF-doxygen/html/html/search/all_7.js +11 -12
- package/SVF-doxygen/html/html/search/all_8.js +3 -3
- package/SVF-doxygen/html/html/search/all_9.js +4 -4
- package/SVF-doxygen/html/html/search/all_b.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +3 -3
- package/SVF-doxygen/html/html/search/all_d.js +3 -3
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +5 -5
- package/SVF-doxygen/html/html/search/functions_0.js +4 -4
- package/SVF-doxygen/html/html/search/functions_1.js +6 -6
- package/SVF-doxygen/html/html/search/functions_10.js +1 -2
- package/SVF-doxygen/html/html/search/functions_11.js +11 -11
- package/SVF-doxygen/html/html/search/functions_12.js +1 -1
- package/SVF-doxygen/html/html/search/functions_13.js +12 -12
- package/SVF-doxygen/html/html/search/functions_17.js +16 -16
- package/SVF-doxygen/html/html/search/functions_2.js +14 -14
- package/SVF-doxygen/html/html/search/functions_3.js +5 -5
- package/SVF-doxygen/html/html/search/functions_4.js +2 -2
- package/SVF-doxygen/html/html/search/functions_5.js +4 -4
- package/SVF-doxygen/html/html/search/functions_6.js +11 -11
- package/SVF-doxygen/html/html/search/functions_7.js +3 -3
- package/SVF-doxygen/html/html/search/functions_8.js +3 -3
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +3 -3
- package/SVF-doxygen/html/html/search/functions_f.js +5 -5
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/variables_0.js +1 -1
- package/SVF-doxygen/html/html/search/variables_10.js +2 -2
- package/SVF-doxygen/html/html/search/variables_12.js +5 -6
- package/SVF-doxygen/html/html/search/variables_13.js +3 -3
- package/SVF-doxygen/html/html/search/variables_14.js +1 -0
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +0 -1
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +14 -14
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +2 -2
- 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 +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement-members.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +47 -57
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +5 -5
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +6 -7
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/build.sh +2 -2
- package/include/DDA/DDAPass.h +1 -1
- package/include/DDA/FlowDDA.h +1 -1
- package/include/Graphs/ICFG.h +1 -1
- package/include/Graphs/SVFG.h +3 -4
- package/include/Graphs/SVFGOPT.h +7 -7
- package/include/MSSA/MemSSA.h +2 -0
- package/include/MSSA/SVFGBuilder.h +5 -14
- package/include/MTA/MTA.h +2 -2
- package/include/MemoryModel/MutablePointsToDS.h +3 -3
- package/include/MemoryModel/PersistentPointsToCache.h +7 -8
- package/include/MemoryModel/PersistentPointsToDS.h +93 -93
- package/include/MemoryModel/PointerAnalysisImpl.h +17 -28
- package/include/MemoryModel/PointsTo.h +24 -24
- package/include/SABER/SrcSnkDDA.h +10 -13
- package/include/SVF-LLVM/LLVMLoopAnalysis.h +2 -1
- package/include/SVF-LLVM/LLVMModule.h +6 -6
- package/include/SVFIR/SVFIR.h +3 -5
- package/include/SVFIR/SVFType.h +6 -8
- package/include/SVFIR/SVFValue.h +5 -5
- package/include/Util/Options.h +0 -1
- package/include/Util/SparseBitVector.h +6 -14
- package/include/WPA/FlowSensitive.h +13 -20
- package/include/WPA/WPASolver.h +5 -9
- package/lib/DDA/DDAPass.cpp +4 -4
- package/lib/Graphs/CFLGraph.cpp +3 -0
- package/lib/Graphs/SVFG.cpp +1 -1
- package/lib/MSSA/MemSSA.cpp +5 -3
- package/lib/MSSA/SVFGBuilder.cpp +9 -27
- package/lib/MTA/MTA.cpp +4 -4
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +10 -10
- package/lib/MemoryModel/PointsTo.cpp +23 -19
- package/lib/SVF-LLVM/LLVMLoopAnalysis.cpp +3 -4
- package/lib/SVF-LLVM/LLVMModule.cpp +32 -21
- package/lib/SVFIR/SVFIR.cpp +1 -1
- package/lib/SVFIR/SymbolTableInfo.cpp +4 -15
- package/lib/Util/Options.cpp +0 -6
- package/lib/WPA/AndersenSFR.cpp +1 -1
- package/lib/WPA/FlowSensitive.cpp +1 -1
- package/package.json +1 -1
- package/tools/CFL/cfl.cpp +5 -4
- package/tools/DDA/dda.cpp +3 -2
- package/tools/Example/svf-ex.cpp +3 -2
- package/tools/MTA/mta.cpp +6 -4
- package/tools/SABER/saber.cpp +7 -5
- package/tools/WPA/wpa.cpp +3 -2
|
@@ -93,8 +93,8 @@ Public Member Functions</h2></td></tr>
|
|
|
93
93
|
<tr class="separator:a4f618377a31eba119de672b0be4936bc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
94
94
|
<tr class="memitem:a9cb4261779da0cbeb8d09b8fbd5cf557"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SparseBitVector.html#a9cb4261779da0cbeb8d09b8fbd5cf557">SparseBitVector</a> (const <a class="el" href="classSVF_1_1SparseBitVector.html">SparseBitVector</a> &RHS)</td></tr>
|
|
95
95
|
<tr class="separator:a9cb4261779da0cbeb8d09b8fbd5cf557"><td class="memSeparator" colspan="2"> </td></tr>
|
|
96
|
-
<tr class="memitem:
|
|
97
|
-
<tr class="separator:
|
|
96
|
+
<tr class="memitem:a8bb2c6e68fadfae0428bc6ce5d63ad88"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SparseBitVector.html#a8bb2c6e68fadfae0428bc6ce5d63ad88">SparseBitVector</a> (<a class="el" href="classSVF_1_1SparseBitVector.html">SparseBitVector</a> &&RHS) noexcept</td></tr>
|
|
97
|
+
<tr class="separator:a8bb2c6e68fadfae0428bc6ce5d63ad88"><td class="memSeparator" colspan="2"> </td></tr>
|
|
98
98
|
<tr class="memitem:a5afe3e74412a1f3f728d7e0eaae70c13"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SparseBitVector.html#a5afe3e74412a1f3f728d7e0eaae70c13">clear</a> ()</td></tr>
|
|
99
99
|
<tr class="separator:a5afe3e74412a1f3f728d7e0eaae70c13"><td class="memSeparator" colspan="2"> </td></tr>
|
|
100
100
|
<tr class="memitem:adeed46c25650bdbccdef0519906d1030"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SparseBitVector.html">SparseBitVector</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SparseBitVector.html#adeed46c25650bdbccdef0519906d1030">operator=</a> (const <a class="el" href="classSVF_1_1SparseBitVector.html">SparseBitVector</a> &RHS)</td></tr>
|
|
@@ -177,7 +177,7 @@ Private Attributes</h2></td></tr>
|
|
|
177
177
|
class SVF::SparseBitVector< ElementSize ></h3>
|
|
178
178
|
|
|
179
179
|
|
|
180
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
180
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00454">454</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
181
181
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
182
182
|
<a id="a74ab73c1674200bb4560070c8b10346d"></a>
|
|
183
183
|
<h2 class="memtitle"><span class="permalink"><a href="#a74ab73c1674200bb4560070c8b10346d">◆ </a></span>ElementList</h2>
|
|
@@ -201,7 +201,7 @@ template<unsigned ElementSize = 128> </div>
|
|
|
201
201
|
</table>
|
|
202
202
|
</div><div class="memdoc">
|
|
203
203
|
|
|
204
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
204
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00456">456</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
205
205
|
|
|
206
206
|
</div>
|
|
207
207
|
</div>
|
|
@@ -227,7 +227,7 @@ template<unsigned ElementSize = 128> </div>
|
|
|
227
227
|
</table>
|
|
228
228
|
</div><div class="memdoc">
|
|
229
229
|
|
|
230
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
230
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00458">458</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
231
231
|
|
|
232
232
|
</div>
|
|
233
233
|
</div>
|
|
@@ -253,7 +253,7 @@ template<unsigned ElementSize = 128> </div>
|
|
|
253
253
|
</table>
|
|
254
254
|
</div><div class="memdoc">
|
|
255
255
|
|
|
256
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
256
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00457">457</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
257
257
|
|
|
258
258
|
</div>
|
|
259
259
|
</div>
|
|
@@ -271,7 +271,7 @@ template<unsigned ElementSize = 128> </div>
|
|
|
271
271
|
</table>
|
|
272
272
|
</div><div class="memdoc">
|
|
273
273
|
|
|
274
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
274
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00667">667</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
275
275
|
|
|
276
276
|
</div>
|
|
277
277
|
</div>
|
|
@@ -301,9 +301,9 @@ template<unsigned ElementSize = 128> </div>
|
|
|
301
301
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab0a250ed14fc688ffb38c8f00aca0bd4a887a4856f51078b02a23348b7331453e"></a>BITWORD_SIZE </td><td class="fielddoc"></td></tr>
|
|
302
302
|
</table>
|
|
303
303
|
|
|
304
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
305
|
-
<div class="fragment"><div class="line"><a name="
|
|
306
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab0a250ed14fc688ffb38c8f00aca0bd4a887a4856f51078b02a23348b7331453e"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab0a250ed14fc688ffb38c8f00aca0bd4a887a4856f51078b02a23348b7331453e">SVF::SparseBitVector::BITWORD_SIZE</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
304
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00459">459</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
305
|
+
<div class="fragment"><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  {</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab0a250ed14fc688ffb38c8f00aca0bd4a887a4856f51078b02a23348b7331453e">BITWORD_SIZE</a> = <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a2dfc62db92b64481fe56fafaa923dce0a3335c07a7225c80110e998246f96d6c4">SparseBitVectorElement<ElementSize>::BITWORD_SIZE</a></div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  };</div><div class="ttc" id="structSVF_1_1SparseBitVectorElement_html_a2dfc62db92b64481fe56fafaa923dce0a3335c07a7225c80110e998246f96d6c4"><div class="ttname"><a href="structSVF_1_1SparseBitVectorElement.html#a2dfc62db92b64481fe56fafaa923dce0a3335c07a7225c80110e998246f96d6c4">SVF::SparseBitVectorElement::BITWORD_SIZE</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00224">SparseBitVector.h:224</a></div></div>
|
|
306
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab0a250ed14fc688ffb38c8f00aca0bd4a887a4856f51078b02a23348b7331453e"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab0a250ed14fc688ffb38c8f00aca0bd4a887a4856f51078b02a23348b7331453e">SVF::SparseBitVector::BITWORD_SIZE</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00461">SparseBitVector.h:461</a></div></div>
|
|
307
307
|
</div><!-- fragment -->
|
|
308
308
|
</div>
|
|
309
309
|
</div>
|
|
@@ -333,9 +333,9 @@ template<unsigned ElementSize = 128> </div>
|
|
|
333
333
|
</table>
|
|
334
334
|
</div><div class="memdoc">
|
|
335
335
|
|
|
336
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
337
|
-
<div class="fragment"><div class="line"><a name="
|
|
338
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
336
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00669">669</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
337
|
+
<div class="fragment"><div class="line"><a name="l00669"></a><span class="lineno"> 669</span> : <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>(), <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin()) {}</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
338
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
339
339
|
</div><!-- fragment -->
|
|
340
340
|
</div>
|
|
341
341
|
</div>
|
|
@@ -365,14 +365,14 @@ template<unsigned ElementSize = 128> </div>
|
|
|
365
365
|
</table>
|
|
366
366
|
</div><div class="memdoc">
|
|
367
367
|
|
|
368
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
369
|
-
<div class="fragment"><div class="line"><a name="
|
|
370
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
368
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00671">671</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
369
|
+
<div class="fragment"><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  : <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>(RHS.Elements), <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin()) {}</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
370
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
371
371
|
</div><!-- fragment -->
|
|
372
372
|
</div>
|
|
373
373
|
</div>
|
|
374
|
-
<a id="
|
|
375
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
374
|
+
<a id="a8bb2c6e68fadfae0428bc6ce5d63ad88"></a>
|
|
375
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8bb2c6e68fadfae0428bc6ce5d63ad88">◆ </a></span>SparseBitVector() <span class="overload">[3/3]</span></h2>
|
|
376
376
|
|
|
377
377
|
<div class="memitem">
|
|
378
378
|
<div class="memproto">
|
|
@@ -392,15 +392,15 @@ template<unsigned ElementSize = 128> </div>
|
|
|
392
392
|
</table>
|
|
393
393
|
</td>
|
|
394
394
|
<td class="mlabels-right">
|
|
395
|
-
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
395
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
|
396
396
|
</tr>
|
|
397
397
|
</table>
|
|
398
398
|
</div><div class="memdoc">
|
|
399
399
|
|
|
400
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
401
|
-
<div class="fragment"><div class="line"><a name="
|
|
400
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00673">673</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
401
|
+
<div class="fragment"><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  : <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(RHS.Elements)), <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin()) {}</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
402
402
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00657">SVFUtil.h:657</a></div></div>
|
|
403
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
403
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
404
404
|
</div><!-- fragment -->
|
|
405
405
|
</div>
|
|
406
406
|
</div>
|
|
@@ -431,8 +431,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
431
431
|
</table>
|
|
432
432
|
</div><div class="memdoc">
|
|
433
433
|
|
|
434
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
435
|
-
<div class="fragment"><div class="line"><a name="
|
|
434
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01107">1107</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
435
|
+
<div class="fragment"><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  {</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">iterator</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00667">SparseBitVector.h:667</a></div></div>
|
|
436
436
|
</div><!-- fragment -->
|
|
437
437
|
</div>
|
|
438
438
|
</div>
|
|
@@ -462,8 +462,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
462
462
|
</table>
|
|
463
463
|
</div><div class="memdoc">
|
|
464
464
|
|
|
465
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
466
|
-
<div class="fragment"><div class="line"><a name="
|
|
465
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00677">677</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
466
|
+
<div class="fragment"><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  {</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.clear();</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
467
467
|
</div><!-- fragment -->
|
|
468
468
|
</div>
|
|
469
469
|
</div>
|
|
@@ -493,8 +493,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
493
493
|
</table>
|
|
494
494
|
</div><div class="memdoc">
|
|
495
495
|
|
|
496
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
497
|
-
<div class="fragment"><div class="line"><a name="
|
|
496
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01065">1065</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
497
|
+
<div class="fragment"><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  {</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  SparseBitVector<ElementSize> Result(*<span class="keyword">this</span>);</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  Result &= RHS;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <span class="keywordflow">return</span> (Result == RHS);</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  }</div></div><!-- fragment -->
|
|
498
498
|
</div>
|
|
499
499
|
</div>
|
|
500
500
|
<a id="a9f96e6a886fa69e07cda5dbfaed8b7c9"></a>
|
|
@@ -523,9 +523,9 @@ template<unsigned ElementSize = 128> </div>
|
|
|
523
523
|
</table>
|
|
524
524
|
</div><div class="memdoc">
|
|
525
525
|
|
|
526
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
527
|
-
<div class="fragment"><div class="line"><a name="
|
|
528
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
526
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01096">1096</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
527
|
+
<div class="fragment"><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  {</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  <span class="keywordtype">unsigned</span> BitCount = 0;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  Iter != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end();</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>  ++Iter)</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>  BitCount += Iter->count();</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> </div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  <span class="keywordflow">return</span> BitCount;</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
528
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00458">SparseBitVector.h:458</a></div></div>
|
|
529
529
|
</div><!-- fragment -->
|
|
530
530
|
</div>
|
|
531
531
|
</div>
|
|
@@ -555,8 +555,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
555
555
|
</table>
|
|
556
556
|
</div><div class="memdoc">
|
|
557
557
|
|
|
558
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
559
|
-
<div class="fragment"><div class="line"><a name="
|
|
558
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01091">1091</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
559
|
+
<div class="fragment"><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>  {</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty();</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
560
560
|
</div><!-- fragment -->
|
|
561
561
|
</div>
|
|
562
562
|
</div>
|
|
@@ -586,8 +586,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
586
586
|
</table>
|
|
587
587
|
</div><div class="memdoc">
|
|
588
588
|
|
|
589
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
590
|
-
<div class="fragment"><div class="line"><a name="
|
|
589
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01112">1112</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
590
|
+
<div class="fragment"><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  {</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">iterator</a>(<span class="keyword">this</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00667">SparseBitVector.h:667</a></div></div>
|
|
591
591
|
</div><!-- fragment -->
|
|
592
592
|
</div>
|
|
593
593
|
</div>
|
|
@@ -605,7 +605,6 @@ template<unsigned ElementSize = 128> </div>
|
|
|
605
605
|
<tr>
|
|
606
606
|
<td class="memname">int <a class="el" href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a>< ElementSize >::find_first </td>
|
|
607
607
|
<td>(</td>
|
|
608
|
-
<td class="paramtype">void </td>
|
|
609
608
|
<td class="paramname"></td><td>)</td>
|
|
610
609
|
<td> const</td>
|
|
611
610
|
</tr>
|
|
@@ -617,8 +616,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
617
616
|
</table>
|
|
618
617
|
</div><div class="memdoc">
|
|
619
618
|
|
|
620
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
621
|
-
<div class="fragment"><div class="line"><a name="
|
|
619
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01073">1073</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
620
|
+
<div class="fragment"><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  {</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  <span class="keyword">const</span> SparseBitVectorElement<ElementSize> &First = *(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin());</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="keywordflow">return</span> (First.index() * ElementSize) + First.find_first();</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
622
621
|
</div><!-- fragment -->
|
|
623
622
|
</div>
|
|
624
623
|
</div>
|
|
@@ -647,8 +646,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
647
646
|
</table>
|
|
648
647
|
</div><div class="memdoc">
|
|
649
648
|
|
|
650
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
651
|
-
<div class="fragment"><div class="line"><a name="
|
|
649
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01082">1082</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
650
|
+
<div class="fragment"><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  {</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="keyword">const</span> SparseBitVectorElement<ElementSize> &Last = *(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.rbegin());</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  <span class="keywordflow">return</span> (Last.index() * ElementSize) + Last.find_last();</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
652
651
|
</div><!-- fragment -->
|
|
653
652
|
</div>
|
|
654
653
|
</div>
|
|
@@ -678,8 +677,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
678
677
|
</table>
|
|
679
678
|
</div><div class="memdoc">
|
|
680
679
|
|
|
681
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
682
|
-
<div class="fragment"><div class="line"><a name="
|
|
680
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00521">521</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
681
|
+
<div class="fragment"><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">FindLowerBoundImpl</a>(ElementIndex);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ad53d20775e5445a438f579743aa77cf3"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">SVF::SparseBitVector::FindLowerBoundImpl</a></div><div class="ttdeci">ElementListIter FindLowerBoundImpl(unsigned ElementIndex) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
|
|
683
682
|
</div><!-- fragment -->
|
|
684
683
|
</div>
|
|
685
684
|
</div>
|
|
@@ -709,8 +708,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
709
708
|
</table>
|
|
710
709
|
</div><div class="memdoc">
|
|
711
710
|
|
|
712
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
713
|
-
<div class="fragment"><div class="line"><a name="
|
|
711
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00517">517</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
712
|
+
<div class="fragment"><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  {</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">FindLowerBoundImpl</a>(ElementIndex);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ad53d20775e5445a438f579743aa77cf3"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ad53d20775e5445a438f579743aa77cf3">SVF::SparseBitVector::FindLowerBoundImpl</a></div><div class="ttdeci">ElementListIter FindLowerBoundImpl(unsigned ElementIndex) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00472">SparseBitVector.h:472</a></div></div>
|
|
714
713
|
</div><!-- fragment -->
|
|
715
714
|
</div>
|
|
716
715
|
</div>
|
|
@@ -740,10 +739,10 @@ template<unsigned ElementSize = 128> </div>
|
|
|
740
739
|
</table>
|
|
741
740
|
</div><div class="memdoc">
|
|
742
741
|
|
|
743
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
744
|
-
<div class="fragment"><div class="line"><a name="
|
|
745
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
746
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
742
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00472">472</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
743
|
+
<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="comment">// We cache a non-const iterator so we're forced to resort to const_cast to</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="comment">// get the begin/end in the case where 'this' is const. To avoid duplication</span></div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="comment">// of code with the only difference being whether the const cast is present</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="comment">// 'this' is always const in this particular function and we sort out the</span></div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="comment">// difference in FindLowerBound and FindLowerBoundConst.</span></div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Begin =</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keyword">const_cast<</span>SparseBitVector<ElementSize> *<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> End =</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keyword">const_cast<</span>SparseBitVector<ElementSize> *<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end();</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  {</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = Begin;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  }</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="comment">// Make sure our current iterator is valid.</span></div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> == End)</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  --<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="comment">// Search from our current iterator, either backwards or forwards,</span></div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="comment">// depending on what element we are looking for.</span></div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>->index() == ElementIndex)</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span> ElementIter;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  }</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>->index() > ElementIndex)</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">while</span> (ElementIter != Begin</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  && ElementIter->index() > ElementIndex)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  --ElementIter;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">while</span> (ElementIter != End &&</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  ElementIter->index() < ElementIndex)</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  ++ElementIter;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  }</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = ElementIter;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">return</span> ElementIter;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
744
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
745
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00457">SparseBitVector.h:457</a></div></div>
|
|
747
746
|
</div><!-- fragment -->
|
|
748
747
|
</div>
|
|
749
748
|
</div>
|
|
@@ -773,8 +772,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
773
772
|
</table>
|
|
774
773
|
</div><div class="memdoc">
|
|
775
774
|
|
|
776
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
777
|
-
<div class="fragment"><div class="line"><a name="
|
|
775
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01023">1023</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
776
|
+
<div class="fragment"><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  {</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(*RHS);</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector< ElementSize > *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01023">SparseBitVector.h:1023</a></div></div>
|
|
778
777
|
</div><!-- fragment -->
|
|
779
778
|
</div>
|
|
780
779
|
</div>
|
|
@@ -804,9 +803,9 @@ template<unsigned ElementSize = 128> </div>
|
|
|
804
803
|
</table>
|
|
805
804
|
</div><div class="memdoc">
|
|
806
805
|
|
|
807
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
808
|
-
<div class="fragment"><div class="line"><a name="
|
|
809
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
806
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01029">1029</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
807
|
+
<div class="fragment"><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  {</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="comment">// Check if both bitmaps are empty.</span></div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty() && RHS.Elements.empty())</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> </div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  <span class="comment">// Loop through, intersecting stopping when we hit bits in common.</span></div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  {</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> </div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <span class="keywordflow">if</span> (Iter1->index() > Iter2->index())</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  {</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  ++Iter2;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  }</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1->index() == Iter2->index())</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  {</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <span class="keywordflow">if</span> (Iter1->intersects(*Iter2))</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>  ++Iter1;</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  ++Iter2;</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>  }</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  {</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  ++Iter1;</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  }</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  }</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
808
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00458">SparseBitVector.h:458</a></div></div>
|
|
810
809
|
</div><!-- fragment -->
|
|
811
810
|
</div>
|
|
812
811
|
</div>
|
|
@@ -836,13 +835,13 @@ template<unsigned ElementSize = 128> </div>
|
|
|
836
835
|
</table>
|
|
837
836
|
</div><div class="memdoc">
|
|
838
837
|
|
|
839
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
840
|
-
<div class="fragment"><div class="line"><a name="
|
|
841
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
842
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a5afe3e74412a1f3f728d7e0eaae70c13"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a5afe3e74412a1f3f728d7e0eaae70c13">SVF::SparseBitVector::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
843
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
844
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
845
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_aea5389ad7e5fe4c8bef686940a1a6056"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">SVF::SparseBitVector::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
838
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00897">897</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
839
|
+
<div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  {</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <span class="keywordflow">if</span> (<span class="keyword">this</span> == &RHS)</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  {</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">empty</a>())</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  {</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a5afe3e74412a1f3f728d7e0eaae70c13">clear</a>();</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  }</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  }</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <span class="comment">// If either our bitmap or RHS is empty, we are done</span></div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty() || RHS.Elements.empty())</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span> </div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <span class="comment">// Loop through, intersecting as we go, erasing elements when necessary.</span></div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  {</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  {</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  }</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span> </div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <span class="keywordflow">if</span> (Iter1->index() > Iter2->index())</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  {</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  ++Iter2;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  }</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1->index() == Iter2->index())</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  {</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="keywordtype">bool</span> BecameZero;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  changed |= Iter1->intersectWithComplement(*Iter2, BecameZero);</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">if</span> (BecameZero)</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  {</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> IterTmp = Iter1;</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  ++Iter1;</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(IterTmp);</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  }</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  {</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  ++Iter1;</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  }</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  ++Iter2;</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  }</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  {</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  ++Iter1;</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  }</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  }</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
840
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
841
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a5afe3e74412a1f3f728d7e0eaae70c13"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a5afe3e74412a1f3f728d7e0eaae70c13">SVF::SparseBitVector::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00677">SparseBitVector.h:677</a></div></div>
|
|
842
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00458">SparseBitVector.h:458</a></div></div>
|
|
843
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00457">SparseBitVector.h:457</a></div></div>
|
|
844
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_aea5389ad7e5fe4c8bef686940a1a6056"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">SVF::SparseBitVector::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01091">SparseBitVector.h:1091</a></div></div>
|
|
846
845
|
</div><!-- fragment -->
|
|
847
846
|
</div>
|
|
848
847
|
</div>
|
|
@@ -872,8 +871,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
872
871
|
</table>
|
|
873
872
|
</div><div class="memdoc">
|
|
874
873
|
|
|
875
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
876
|
-
<div class="fragment"><div class="line"><a name="
|
|
874
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00955">955</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
875
|
+
<div class="fragment"><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  {</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(*RHS);</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00897">SparseBitVector.h:897</a></div></div>
|
|
877
876
|
</div><!-- fragment -->
|
|
878
877
|
</div>
|
|
879
878
|
</div>
|
|
@@ -913,13 +912,13 @@ template<unsigned ElementSize = 128> </div>
|
|
|
913
912
|
</table>
|
|
914
913
|
</div><div class="memdoc">
|
|
915
914
|
|
|
916
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
917
|
-
<div class="fragment"><div class="line"><a name="
|
|
918
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
919
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
920
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a4f618377a31eba119de672b0be4936bc"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a4f618377a31eba119de672b0be4936bc">SVF::SparseBitVector::SparseBitVector</a></div><div class="ttdeci">SparseBitVector()</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
915
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00962">962</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
916
|
+
<div class="fragment"><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  {</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="keywordflow">if</span> (<span class="keyword">this</span> == &RHS1)</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  {</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(RHS2);</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  }</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">this</span> == &RHS2)</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  {</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a4f618377a31eba119de672b0be4936bc">SparseBitVector</a> RHS2Copy(RHS2);</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(RHS1, RHS2Copy);</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  }</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.clear();</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter1 = RHS1.Elements.begin();</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS2.Elements.begin();</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span> </div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="comment">// If RHS1 is empty, we are done</span></div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <span class="comment">// If RHS2 is empty, we still have to copy RHS1</span></div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  <span class="keywordflow">if</span> (RHS1.Elements.empty())</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span> </div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  <span class="comment">// Loop through, intersecting as we go, erasing elements when necessary.</span></div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="keywordflow">while</span> (Iter2 != RHS2.Elements.end())</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  {</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <span class="keywordflow">if</span> (Iter1 == RHS1.Elements.end())</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="keywordflow">if</span> (Iter1->index() > Iter2->index())</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  {</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  ++Iter2;</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  }</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1->index() == Iter2->index())</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  {</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <span class="keywordtype">bool</span> BecameZero = <span class="keyword">false</span>;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.emplace_back(Iter1->index());</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.back().intersectWithComplement(*Iter1, *Iter2, BecameZero);</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="keywordflow">if</span> (BecameZero)</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.pop_back();</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  ++Iter1;</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  ++Iter2;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  }</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  {</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.push_back(*Iter1++);</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  }</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  }</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> </div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  <span class="comment">// copy the remaining elements</span></div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>  <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">std::copy</a>(Iter1, RHS1.Elements.end(), std::back_inserter(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>));</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
917
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00897">SparseBitVector.h:897</a></div></div>
|
|
918
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
919
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a4f618377a31eba119de672b0be4936bc"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a4f618377a31eba119de672b0be4936bc">SVF::SparseBitVector::SparseBitVector</a></div><div class="ttdeci">SparseBitVector()</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00669">SparseBitVector.h:669</a></div></div>
|
|
921
920
|
<div class="ttc" id="cJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
|
|
922
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
921
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00458">SparseBitVector.h:458</a></div></div>
|
|
923
922
|
</div><!-- fragment -->
|
|
924
923
|
</div>
|
|
925
924
|
</div>
|
|
@@ -959,8 +958,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
959
958
|
</table>
|
|
960
959
|
</div><div class="memdoc">
|
|
961
960
|
|
|
962
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
963
|
-
<div class="fragment"><div class="line"><a name="
|
|
961
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l01017">1017</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
962
|
+
<div class="fragment"><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  {</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(*RHS1, *RHS2);</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00897">SparseBitVector.h:897</a></div></div>
|
|
964
963
|
</div><!-- fragment -->
|
|
965
964
|
</div>
|
|
966
965
|
</div>
|
|
@@ -990,11 +989,11 @@ template<unsigned ElementSize = 128> </div>
|
|
|
990
989
|
</table>
|
|
991
990
|
</div><div class="memdoc">
|
|
992
991
|
|
|
993
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
994
|
-
<div class="fragment"><div class="line"><a name="
|
|
995
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
996
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
997
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
992
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00836">836</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
993
|
+
<div class="fragment"><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  {</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="keywordflow">if</span> (<span class="keyword">this</span> == &RHS)</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="comment">// Check if both bitmaps are empty.</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty() && RHS.Elements.empty())</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="comment">// Loop through, intersecting as we go, erasing elements when necessary.</span></div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  {</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  {</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  }</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keywordflow">if</span> (Iter1->index() > Iter2->index())</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  {</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  ++Iter2;</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  }</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1->index() == Iter2->index())</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  {</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordtype">bool</span> BecameZero;</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  changed |= Iter1->intersectWith(*Iter2, BecameZero);</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <span class="keywordflow">if</span> (BecameZero)</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  {</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> IterTmp = Iter1;</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  ++Iter1;</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(IterTmp);</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  }</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  {</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  ++Iter1;</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  }</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  ++Iter2;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  }</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  {</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> IterTmp = Iter1;</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  ++Iter1;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(IterTmp);</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  }</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  }</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">if</span> (Iter1 != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end())</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  {</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(Iter1, <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end());</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  }</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
994
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
995
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00458">SparseBitVector.h:458</a></div></div>
|
|
996
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00457">SparseBitVector.h:457</a></div></div>
|
|
998
997
|
</div><!-- fragment -->
|
|
999
998
|
</div>
|
|
1000
999
|
</div>
|
|
@@ -1024,8 +1023,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1024
1023
|
</table>
|
|
1025
1024
|
</div><div class="memdoc">
|
|
1026
1025
|
|
|
1027
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1028
|
-
<div class="fragment"><div class="line"><a name="
|
|
1026
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00779">779</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1027
|
+
<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  {</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == RHS);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  }</div></div><!-- fragment -->
|
|
1029
1028
|
</div>
|
|
1030
1029
|
</div>
|
|
1031
1030
|
<a id="adeed46c25650bdbccdef0519906d1030"></a>
|
|
@@ -1054,9 +1053,9 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1054
1053
|
</table>
|
|
1055
1054
|
</div><div class="memdoc">
|
|
1056
1055
|
|
|
1057
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1058
|
-
<div class="fragment"><div class="line"><a name="
|
|
1059
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1056
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00683">683</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1057
|
+
<div class="fragment"><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  {</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <span class="keywordflow">if</span> (<span class="keyword">this</span> == &RHS)</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a> = RHS.Elements;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
1058
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
1060
1059
|
</div><!-- fragment -->
|
|
1061
1060
|
</div>
|
|
1062
1061
|
</div>
|
|
@@ -1086,10 +1085,10 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1086
1085
|
</table>
|
|
1087
1086
|
</div><div class="memdoc">
|
|
1088
1087
|
|
|
1089
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1090
|
-
<div class="fragment"><div class="line"><a name="
|
|
1088
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00692">692</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1089
|
+
<div class="fragment"><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  {</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(RHS.Elements);</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
1091
1090
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00657">SVFUtil.h:657</a></div></div>
|
|
1092
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1091
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
1093
1092
|
</div><!-- fragment -->
|
|
1094
1093
|
</div>
|
|
1095
1094
|
</div>
|
|
@@ -1119,9 +1118,9 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1119
1118
|
</table>
|
|
1120
1119
|
</div><div class="memdoc">
|
|
1121
1120
|
|
|
1122
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1123
|
-
<div class="fragment"><div class="line"><a name="
|
|
1124
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1121
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00784">784</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1122
|
+
<div class="fragment"><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  {</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keywordflow">for</span> (; Iter1 != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() && Iter2 != RHS.Elements.end();</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  ++Iter1, ++Iter2)</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  {</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">if</span> (*Iter1 != *Iter2)</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  }</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keywordflow">return</span> Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() && Iter2 == RHS.Elements.end();</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
1123
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00458">SparseBitVector.h:458</a></div></div>
|
|
1125
1124
|
</div><!-- fragment -->
|
|
1126
1125
|
</div>
|
|
1127
1126
|
</div>
|
|
@@ -1151,11 +1150,11 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1151
1150
|
</table>
|
|
1152
1151
|
</div><div class="memdoc">
|
|
1153
1152
|
|
|
1154
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1155
|
-
<div class="fragment"><div class="line"><a name="
|
|
1156
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1157
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1158
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1153
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00799">799</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1154
|
+
<div class="fragment"><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  {</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">if</span> (<span class="keyword">this</span> == &RHS)</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> Iter1 = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> Iter2 = RHS.Elements.begin();</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="comment">// If RHS is empty, we are done</span></div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keywordflow">if</span> (RHS.Elements.empty())</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span> </div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="keywordflow">while</span> (Iter2 != RHS.Elements.end())</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  {</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="keywordflow">if</span> (Iter1 == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() || Iter1->index() > Iter2->index())</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  {</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.insert(Iter1, *Iter2);</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  ++Iter2;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  }</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Iter1->index() == Iter2->index())</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  {</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  changed |= Iter1->unionWith(*Iter2);</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  ++Iter1;</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  ++Iter2;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  }</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  {</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  ++Iter1;</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  }</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  }</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.begin();</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
1155
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
1156
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00458">SparseBitVector.h:458</a></div></div>
|
|
1157
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00457">SparseBitVector.h:457</a></div></div>
|
|
1159
1158
|
</div><!-- fragment -->
|
|
1160
1159
|
</div>
|
|
1161
1160
|
</div>
|
|
@@ -1185,11 +1184,11 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1185
1184
|
</table>
|
|
1186
1185
|
</div><div class="memdoc">
|
|
1187
1186
|
|
|
1188
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1189
|
-
<div class="fragment"><div class="line"><a name="
|
|
1190
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_aaac61c8dd5477ecc6e76c664bf45c0b0"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">SVF::SparseBitVector::FindLowerBound</a></div><div class="ttdeci">ElementListIter FindLowerBound(unsigned ElementIndex)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1191
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1192
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1187
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00716">716</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1188
|
+
<div class="fragment"><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  {</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keywordtype">unsigned</span> ElementIndex = Idx / ElementSize;</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">FindLowerBound</a>(ElementIndex);</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="comment">// If we can't find an element that is supposed to contain this bit, there</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="comment">// is nothing more to do.</span></div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">if</span> (ElementIter == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() ||</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  ElementIter->index() != ElementIndex)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  ElementIter->reset(Idx % ElementSize);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="comment">// When the element is zeroed out, delete it.</span></div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="keywordflow">if</span> (ElementIter->empty())</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  {</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  ++<a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a>;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.erase(ElementIter);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  }</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
1189
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_aaac61c8dd5477ecc6e76c664bf45c0b0"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">SVF::SparseBitVector::FindLowerBound</a></div><div class="ttdeci">ElementListIter FindLowerBound(unsigned ElementIndex)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00521">SparseBitVector.h:521</a></div></div>
|
|
1190
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
1191
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00457">SparseBitVector.h:457</a></div></div>
|
|
1193
1192
|
</div><!-- fragment -->
|
|
1194
1193
|
</div>
|
|
1195
1194
|
</div>
|
|
@@ -1219,11 +1218,11 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1219
1218
|
</table>
|
|
1220
1219
|
</div><div class="memdoc">
|
|
1221
1220
|
|
|
1222
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1223
|
-
<div class="fragment"><div class="line"><a name="
|
|
1224
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_aaac61c8dd5477ecc6e76c664bf45c0b0"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">SVF::SparseBitVector::FindLowerBound</a></div><div class="ttdeci">ElementListIter FindLowerBound(unsigned ElementIndex)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1225
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1226
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1221
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00739">739</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1222
|
+
<div class="fragment"><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  {</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="keywordtype">unsigned</span> ElementIndex = Idx / ElementSize;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">ElementListIter</a> ElementIter;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  {</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.emplace(<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end(), ElementIndex);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  }</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  {</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">FindLowerBound</a>(ElementIndex);</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keywordflow">if</span> (ElementIter == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() ||</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  ElementIter->index() != ElementIndex)</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  {</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="comment">// We may have hit the beginning of our SparseBitVector, in which case,</span></div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="comment">// we may need to insert right after this element, which requires moving</span></div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="comment">// the current iterator forward one, because insert does insert before.</span></div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="keywordflow">if</span> (ElementIter != <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() &&</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  ElementIter->index() < ElementIndex)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  ++ElementIter;</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.emplace(ElementIter, ElementIndex);</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  }</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  }</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">CurrElementIter</a> = ElementIter;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span> </div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  ElementIter->set(Idx % ElementSize);</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ada7cb2e144c2fccd0d50138778b152dd"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ada7cb2e144c2fccd0d50138778b152dd">SVF::SparseBitVector::CurrElementIter</a></div><div class="ttdeci">ElementListIter CurrElementIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00468">SparseBitVector.h:468</a></div></div>
|
|
1223
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_aaac61c8dd5477ecc6e76c664bf45c0b0"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aaac61c8dd5477ecc6e76c664bf45c0b0">SVF::SparseBitVector::FindLowerBound</a></div><div class="ttdeci">ElementListIter FindLowerBound(unsigned ElementIndex)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00521">SparseBitVector.h:521</a></div></div>
|
|
1224
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
1225
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a399721230d13a4153766e6e8ed1f9aed"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a399721230d13a4153766e6e8ed1f9aed">SVF::SparseBitVector::ElementListIter</a></div><div class="ttdeci">typename ElementList::iterator ElementListIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00457">SparseBitVector.h:457</a></div></div>
|
|
1227
1226
|
</div><!-- fragment -->
|
|
1228
1227
|
</div>
|
|
1229
1228
|
</div>
|
|
@@ -1253,10 +1252,10 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1253
1252
|
</table>
|
|
1254
1253
|
</div><div class="memdoc">
|
|
1255
1254
|
|
|
1256
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1257
|
-
<div class="fragment"><div class="line"><a name="
|
|
1258
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1259
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1255
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00700">700</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1256
|
+
<div class="fragment"><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.empty())</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <span class="keywordtype">unsigned</span> ElementIndex = Idx / ElementSize;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <a class="code" href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">ElementListConstIter</a> ElementIter = <a class="code" href="classSVF_1_1SparseBitVector.html#ab4787f96a5f7cab926f9c7426aa92fc1">FindLowerBoundConst</a>(ElementIndex);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="comment">// If we can't find an element that is supposed to contain this bit, there</span></div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <span class="comment">// is nothing more to do.</span></div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">if</span> (ElementIter == <a class="code" href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">Elements</a>.end() ||</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  ElementIter->index() != ElementIndex)</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">return</span> ElementIter->test(Idx % ElementSize);</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_ab4787f96a5f7cab926f9c7426aa92fc1"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab4787f96a5f7cab926f9c7426aa92fc1">SVF::SparseBitVector::FindLowerBoundConst</a></div><div class="ttdeci">ElementListConstIter FindLowerBoundConst(unsigned ElementIndex) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00517">SparseBitVector.h:517</a></div></div>
|
|
1257
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ab094576b73de3c8580ea152f90d63636"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ab094576b73de3c8580ea152f90d63636">SVF::SparseBitVector::Elements</a></div><div class="ttdeci">ElementList Elements</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00464">SparseBitVector.h:464</a></div></div>
|
|
1258
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_acdc2e97bfeeba3a91d8793992df9451f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#acdc2e97bfeeba3a91d8793992df9451f">SVF::SparseBitVector::ElementListConstIter</a></div><div class="ttdeci">typename ElementList::const_iterator ElementListConstIter</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00458">SparseBitVector.h:458</a></div></div>
|
|
1260
1259
|
</div><!-- fragment -->
|
|
1261
1260
|
</div>
|
|
1262
1261
|
</div>
|
|
@@ -1286,8 +1285,8 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1286
1285
|
</table>
|
|
1287
1286
|
</div><div class="memdoc">
|
|
1288
1287
|
|
|
1289
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1290
|
-
<div class="fragment"><div class="line"><a name="
|
|
1288
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00768">768</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1289
|
+
<div class="fragment"><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  {</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordtype">bool</span> old = <a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(Idx);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span> (!old)</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  {</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keyword">set</span>(Idx);</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  }</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00700">SparseBitVector.h:700</a></div></div>
|
|
1291
1290
|
</div><!-- fragment -->
|
|
1292
1291
|
</div>
|
|
1293
1292
|
</div>
|
|
@@ -1314,7 +1313,7 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1314
1313
|
</table>
|
|
1315
1314
|
</div><div class="memdoc">
|
|
1316
1315
|
|
|
1317
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1316
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00468">468</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1318
1317
|
|
|
1319
1318
|
</div>
|
|
1320
1319
|
</div>
|
|
@@ -1340,7 +1339,7 @@ template<unsigned ElementSize = 128> </div>
|
|
|
1340
1339
|
</table>
|
|
1341
1340
|
</div><div class="memdoc">
|
|
1342
1341
|
|
|
1343
|
-
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#
|
|
1342
|
+
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00464">464</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
1344
1343
|
|
|
1345
1344
|
</div>
|
|
1346
1345
|
</div>
|