@ladybugmem/icebug 0.1.0 → 0.1.2
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/binding.gyp +32 -10
- package/lib/index.js +23 -11
- package/package.json +9 -15
- package/prebuilds/darwin-arm64/icebug.node +0 -0
- package/{vendor/lib → prebuilds/darwin-arm64}/libnetworkit.dylib +0 -0
- package/prebuilds/linux-x64/icebug.node +0 -0
- package/prebuilds/linux-x64/libnetworkit.so +0 -0
- package/scripts/download-icebug.sh +92 -0
- package/build/Release/.deps/Release/icebug.node.d +0 -1
- package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +0 -291
- package/build/Release/icebug.node +0 -0
- package/build/Release/obj.target/icebug/src/addon.o +0 -0
- package/vendor/include/networkit/GlobalState.hpp +0 -86
- package/vendor/include/networkit/Globals.hpp +0 -41
- package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +0 -27
- package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +0 -1292
- package/vendor/include/networkit/algebraic/CSRMatrix.hpp +0 -11
- package/vendor/include/networkit/algebraic/DenseMatrix.hpp +0 -537
- package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +0 -514
- package/vendor/include/networkit/algebraic/GraphBLAS.hpp +0 -323
- package/vendor/include/networkit/algebraic/MatrixTools.hpp +0 -156
- package/vendor/include/networkit/algebraic/Semirings.hpp +0 -171
- package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +0 -111
- package/vendor/include/networkit/algebraic/Vector.hpp +0 -371
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +0 -72
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +0 -88
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +0 -96
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +0 -145
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +0 -122
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +0 -76
- package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +0 -113
- package/vendor/include/networkit/auxiliary/ArrayTools.hpp +0 -85
- package/vendor/include/networkit/auxiliary/BloomFilter.hpp +0 -70
- package/vendor/include/networkit/auxiliary/BucketPQ.hpp +0 -142
- package/vendor/include/networkit/auxiliary/Enforce.hpp +0 -117
- package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +0 -74
- package/vendor/include/networkit/auxiliary/HashUtils.hpp +0 -28
- package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +0 -52
- package/vendor/include/networkit/auxiliary/Log.hpp +0 -119
- package/vendor/include/networkit/auxiliary/MissingMath.hpp +0 -48
- package/vendor/include/networkit/auxiliary/Multiprecision.hpp +0 -17
- package/vendor/include/networkit/auxiliary/NumberParsing.hpp +0 -307
- package/vendor/include/networkit/auxiliary/NumericTools.hpp +0 -57
- package/vendor/include/networkit/auxiliary/Parallel.hpp +0 -56
- package/vendor/include/networkit/auxiliary/Parallelism.hpp +0 -33
- package/vendor/include/networkit/auxiliary/PrioQueue.hpp +0 -252
- package/vendor/include/networkit/auxiliary/Random.hpp +0 -122
- package/vendor/include/networkit/auxiliary/SetIntersector.hpp +0 -72
- package/vendor/include/networkit/auxiliary/SignalHandling.hpp +0 -39
- package/vendor/include/networkit/auxiliary/SortedList.hpp +0 -128
- package/vendor/include/networkit/auxiliary/SparseVector.hpp +0 -215
- package/vendor/include/networkit/auxiliary/SpinLock.hpp +0 -23
- package/vendor/include/networkit/auxiliary/StringBuilder.hpp +0 -322
- package/vendor/include/networkit/auxiliary/StringTools.hpp +0 -76
- package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +0 -76
- package/vendor/include/networkit/auxiliary/Timer.hpp +0 -145
- package/vendor/include/networkit/auxiliary/VectorComparator.hpp +0 -32
- package/vendor/include/networkit/base/Algorithm.hpp +0 -41
- package/vendor/include/networkit/base/DynAlgorithm.hpp +0 -31
- package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +0 -62
- package/vendor/include/networkit/centrality/ApproxCloseness.hpp +0 -136
- package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +0 -156
- package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +0 -124
- package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +0 -84
- package/vendor/include/networkit/centrality/Betweenness.hpp +0 -47
- package/vendor/include/networkit/centrality/Centrality.hpp +0 -98
- package/vendor/include/networkit/centrality/Closeness.hpp +0 -107
- package/vendor/include/networkit/centrality/ComplexPaths.hpp +0 -113
- package/vendor/include/networkit/centrality/CoreDecomposition.hpp +0 -161
- package/vendor/include/networkit/centrality/DegreeCentrality.hpp +0 -55
- package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +0 -95
- package/vendor/include/networkit/centrality/DynBetweenness.hpp +0 -99
- package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +0 -98
- package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +0 -115
- package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +0 -223
- package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +0 -41
- package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +0 -51
- package/vendor/include/networkit/centrality/ForestCentrality.hpp +0 -112
- package/vendor/include/networkit/centrality/GedWalk.hpp +0 -225
- package/vendor/include/networkit/centrality/GroupCloseness.hpp +0 -115
- package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +0 -78
- package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +0 -77
- package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +0 -106
- package/vendor/include/networkit/centrality/GroupDegree.hpp +0 -155
- package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +0 -83
- package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +0 -48
- package/vendor/include/networkit/centrality/KPathCentrality.hpp +0 -52
- package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +0 -242
- package/vendor/include/networkit/centrality/KatzCentrality.hpp +0 -62
- package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +0 -44
- package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +0 -60
- package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +0 -43
- package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +0 -42
- package/vendor/include/networkit/centrality/PageRank.hpp +0 -101
- package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +0 -48
- package/vendor/include/networkit/centrality/Sfigality.hpp +0 -45
- package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +0 -86
- package/vendor/include/networkit/centrality/TopCloseness.hpp +0 -136
- package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +0 -151
- package/vendor/include/networkit/clique/MaximalCliques.hpp +0 -83
- package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +0 -59
- package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +0 -156
- package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +0 -57
- package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +0 -43
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +0 -33
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +0 -62
- package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +0 -31
- package/vendor/include/networkit/community/ClusteringGenerator.hpp +0 -75
- package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +0 -58
- package/vendor/include/networkit/community/Conductance.hpp +0 -32
- package/vendor/include/networkit/community/CoverF1Similarity.hpp +0 -53
- package/vendor/include/networkit/community/CoverHubDominance.hpp +0 -38
- package/vendor/include/networkit/community/Coverage.hpp +0 -25
- package/vendor/include/networkit/community/CutClustering.hpp +0 -62
- package/vendor/include/networkit/community/DissimilarityMeasure.hpp +0 -31
- package/vendor/include/networkit/community/DynamicNMIDistance.hpp +0 -44
- package/vendor/include/networkit/community/EdgeCut.hpp +0 -24
- package/vendor/include/networkit/community/GraphClusteringTools.hpp +0 -103
- package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +0 -28
- package/vendor/include/networkit/community/HubDominance.hpp +0 -46
- package/vendor/include/networkit/community/IntrapartitionDensity.hpp +0 -44
- package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +0 -40
- package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +0 -40
- package/vendor/include/networkit/community/JaccardMeasure.hpp +0 -25
- package/vendor/include/networkit/community/LFM.hpp +0 -49
- package/vendor/include/networkit/community/LPDegreeOrdered.hpp +0 -48
- package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +0 -100
- package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +0 -31
- package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +0 -31
- package/vendor/include/networkit/community/LouvainMapEquation.hpp +0 -135
- package/vendor/include/networkit/community/Modularity.hpp +0 -54
- package/vendor/include/networkit/community/NMIDistance.hpp +0 -28
- package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +0 -27
- package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +0 -51
- package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +0 -175
- package/vendor/include/networkit/community/PLM.hpp +0 -89
- package/vendor/include/networkit/community/PLP.hpp +0 -83
- package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +0 -37
- package/vendor/include/networkit/community/ParallelLeiden.hpp +0 -96
- package/vendor/include/networkit/community/ParallelLeidenView.hpp +0 -138
- package/vendor/include/networkit/community/PartitionFragmentation.hpp +0 -30
- package/vendor/include/networkit/community/PartitionHubDominance.hpp +0 -37
- package/vendor/include/networkit/community/PartitionIntersection.hpp +0 -25
- package/vendor/include/networkit/community/QualityMeasure.hpp +0 -27
- package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +0 -40
- package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +0 -40
- package/vendor/include/networkit/community/StablePartitionNodes.hpp +0 -48
- package/vendor/include/networkit/components/BiconnectedComponents.hpp +0 -116
- package/vendor/include/networkit/components/ComponentDecomposition.hpp +0 -72
- package/vendor/include/networkit/components/ConnectedComponents.hpp +0 -55
- package/vendor/include/networkit/components/DynConnectedComponents.hpp +0 -71
- package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +0 -73
- package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +0 -44
- package/vendor/include/networkit/components/RandomSpanningForest.hpp +0 -36
- package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +0 -50
- package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +0 -59
- package/vendor/include/networkit/correlation/Assortativity.hpp +0 -64
- package/vendor/include/networkit/distance/APSP.hpp +0 -70
- package/vendor/include/networkit/distance/AStar.hpp +0 -68
- package/vendor/include/networkit/distance/AStarGeneral.hpp +0 -110
- package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +0 -52
- package/vendor/include/networkit/distance/AffectedNodes.hpp +0 -130
- package/vendor/include/networkit/distance/AlgebraicDistance.hpp +0 -63
- package/vendor/include/networkit/distance/BFS.hpp +0 -43
- package/vendor/include/networkit/distance/BidirectionalBFS.hpp +0 -51
- package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +0 -69
- package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +0 -89
- package/vendor/include/networkit/distance/Diameter.hpp +0 -97
- package/vendor/include/networkit/distance/Dijkstra.hpp +0 -50
- package/vendor/include/networkit/distance/DynAPSP.hpp +0 -67
- package/vendor/include/networkit/distance/DynBFS.hpp +0 -56
- package/vendor/include/networkit/distance/DynDijkstra.hpp +0 -57
- package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +0 -67
- package/vendor/include/networkit/distance/DynSSSP.hpp +0 -87
- package/vendor/include/networkit/distance/Eccentricity.hpp +0 -32
- package/vendor/include/networkit/distance/EffectiveDiameter.hpp +0 -47
- package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +0 -57
- package/vendor/include/networkit/distance/FloydWarshall.hpp +0 -93
- package/vendor/include/networkit/distance/GraphDistance.hpp +0 -49
- package/vendor/include/networkit/distance/HopPlotApproximation.hpp +0 -62
- package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +0 -66
- package/vendor/include/networkit/distance/IncompleteSSSP.hpp +0 -41
- package/vendor/include/networkit/distance/JaccardDistance.hpp +0 -57
- package/vendor/include/networkit/distance/MultiTargetBFS.hpp +0 -32
- package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +0 -40
- package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +0 -47
- package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +0 -56
- package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +0 -56
- package/vendor/include/networkit/distance/NodeDistance.hpp +0 -54
- package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +0 -76
- package/vendor/include/networkit/distance/ReverseBFS.hpp +0 -46
- package/vendor/include/networkit/distance/SPSP.hpp +0 -143
- package/vendor/include/networkit/distance/SSSP.hpp +0 -216
- package/vendor/include/networkit/distance/STSP.hpp +0 -193
- package/vendor/include/networkit/distance/Volume.hpp +0 -66
- package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +0 -40
- package/vendor/include/networkit/dynamics/DGSWriter.hpp +0 -30
- package/vendor/include/networkit/dynamics/GraphDifference.hpp +0 -110
- package/vendor/include/networkit/dynamics/GraphEvent.hpp +0 -55
- package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +0 -39
- package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +0 -55
- package/vendor/include/networkit/dynamics/GraphUpdater.hpp +0 -38
- package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +0 -26
- package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +0 -33
- package/vendor/include/networkit/edgescores/EdgeScore.hpp +0 -50
- package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +0 -33
- package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +0 -33
- package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +0 -32
- package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +0 -35
- package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +0 -29
- package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +0 -23
- package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +0 -39
- package/vendor/include/networkit/embedding/Node2Vec.hpp +0 -83
- package/vendor/include/networkit/flow/EdmondsKarp.hpp +0 -112
- package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +0 -87
- package/vendor/include/networkit/generators/ChungLuGenerator.hpp +0 -46
- package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +0 -63
- package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +0 -56
- package/vendor/include/networkit/generators/ConfigurationModel.hpp +0 -36
- package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +0 -33
- package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +0 -33
- package/vendor/include/networkit/generators/DynamicDGSParser.hpp +0 -51
- package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +0 -34
- package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +0 -55
- package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +0 -40
- package/vendor/include/networkit/generators/DynamicGraphSource.hpp +0 -79
- package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +0 -143
- package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +0 -26
- package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +0 -54
- package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +0 -65
- package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +0 -318
- package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +0 -56
- package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +0 -48
- package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +0 -236
- package/vendor/include/networkit/generators/LFRGenerator.hpp +0 -175
- package/vendor/include/networkit/generators/MocnikGenerator.hpp +0 -147
- package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +0 -58
- package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +0 -128
- package/vendor/include/networkit/generators/PubWebGenerator.hpp +0 -94
- package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +0 -37
- package/vendor/include/networkit/generators/RmatGenerator.hpp +0 -67
- package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +0 -42
- package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +0 -30
- package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +0 -41
- package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +0 -43
- package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +0 -857
- package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +0 -587
- package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +0 -726
- package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +0 -232
- package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +0 -149
- package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +0 -143
- package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +0 -248
- package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +0 -145
- package/vendor/include/networkit/global/ClusteringCoefficient.hpp +0 -42
- package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +0 -24
- package/vendor/include/networkit/graph/Attributes.hpp +0 -568
- package/vendor/include/networkit/graph/BFS.hpp +0 -111
- package/vendor/include/networkit/graph/DFS.hpp +0 -71
- package/vendor/include/networkit/graph/Dijkstra.hpp +0 -83
- package/vendor/include/networkit/graph/EdgeIterators.hpp +0 -171
- package/vendor/include/networkit/graph/Graph.hpp +0 -2083
- package/vendor/include/networkit/graph/GraphBuilder.hpp +0 -289
- package/vendor/include/networkit/graph/GraphR.hpp +0 -133
- package/vendor/include/networkit/graph/GraphTools.hpp +0 -589
- package/vendor/include/networkit/graph/GraphW.hpp +0 -1236
- package/vendor/include/networkit/graph/KruskalMSF.hpp +0 -50
- package/vendor/include/networkit/graph/NeighborIterators.hpp +0 -163
- package/vendor/include/networkit/graph/NodeIterators.hpp +0 -127
- package/vendor/include/networkit/graph/PrimMSF.hpp +0 -66
- package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +0 -133
- package/vendor/include/networkit/graph/SpanningForest.hpp +0 -41
- package/vendor/include/networkit/graph/TopologicalSort.hpp +0 -87
- package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +0 -126
- package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +0 -68
- package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +0 -44
- package/vendor/include/networkit/independentset/Luby.hpp +0 -27
- package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +0 -45
- package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +0 -47
- package/vendor/include/networkit/io/BinaryPartitionReader.hpp +0 -41
- package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +0 -44
- package/vendor/include/networkit/io/CoverReader.hpp +0 -27
- package/vendor/include/networkit/io/CoverWriter.hpp +0 -21
- package/vendor/include/networkit/io/DGSReader.hpp +0 -39
- package/vendor/include/networkit/io/DibapGraphReader.hpp +0 -43
- package/vendor/include/networkit/io/DotGraphWriter.hpp +0 -39
- package/vendor/include/networkit/io/DotPartitionWriter.hpp +0 -23
- package/vendor/include/networkit/io/DynamicGraphReader.hpp +0 -29
- package/vendor/include/networkit/io/EdgeListCoverReader.hpp +0 -35
- package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +0 -43
- package/vendor/include/networkit/io/EdgeListReader.hpp +0 -61
- package/vendor/include/networkit/io/EdgeListWriter.hpp +0 -48
- package/vendor/include/networkit/io/GMLGraphReader.hpp +0 -33
- package/vendor/include/networkit/io/GMLGraphWriter.hpp +0 -33
- package/vendor/include/networkit/io/GraphIO.hpp +0 -52
- package/vendor/include/networkit/io/GraphReader.hpp +0 -40
- package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +0 -71
- package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +0 -61
- package/vendor/include/networkit/io/GraphWriter.hpp +0 -27
- package/vendor/include/networkit/io/KONECTGraphReader.hpp +0 -44
- package/vendor/include/networkit/io/LineFileReader.hpp +0 -42
- package/vendor/include/networkit/io/METISGraphReader.hpp +0 -36
- package/vendor/include/networkit/io/METISGraphWriter.hpp +0 -29
- package/vendor/include/networkit/io/METISParser.hpp +0 -63
- package/vendor/include/networkit/io/MTXGraphReader.hpp +0 -31
- package/vendor/include/networkit/io/MTXParser.hpp +0 -87
- package/vendor/include/networkit/io/MatrixMarketReader.hpp +0 -33
- package/vendor/include/networkit/io/MatrixReader.hpp +0 -33
- package/vendor/include/networkit/io/MemoryMappedFile.hpp +0 -80
- package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +0 -144
- package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +0 -50
- package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +0 -71
- package/vendor/include/networkit/io/PartitionReader.hpp +0 -34
- package/vendor/include/networkit/io/PartitionWriter.hpp +0 -31
- package/vendor/include/networkit/io/RBGraphReader.hpp +0 -37
- package/vendor/include/networkit/io/RBMatrixReader.hpp +0 -49
- package/vendor/include/networkit/io/RasterReader.hpp +0 -40
- package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +0 -28
- package/vendor/include/networkit/io/SNAPGraphReader.hpp +0 -53
- package/vendor/include/networkit/io/SNAPGraphWriter.hpp +0 -53
- package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +0 -44
- package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +0 -27
- package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +0 -39
- package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +0 -37
- package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +0 -36
- package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +0 -70
- package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +0 -39
- package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +0 -135
- package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +0 -44
- package/vendor/include/networkit/linkprediction/KatzIndex.hpp +0 -84
- package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +0 -98
- package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +0 -56
- package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +0 -60
- package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +0 -42
- package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +0 -54
- package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +0 -48
- package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +0 -40
- package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +0 -66
- package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +0 -37
- package/vendor/include/networkit/linkprediction/ROCMetric.hpp +0 -39
- package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +0 -47
- package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +0 -38
- package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +0 -50
- package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +0 -39
- package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +0 -35
- package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +0 -35
- package/vendor/include/networkit/matching/BMatcher.hpp +0 -52
- package/vendor/include/networkit/matching/BMatching.hpp +0 -115
- package/vendor/include/networkit/matching/BSuitorMatcher.hpp +0 -170
- package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +0 -78
- package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +0 -35
- package/vendor/include/networkit/matching/Matcher.hpp +0 -55
- package/vendor/include/networkit/matching/Matching.hpp +0 -111
- package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +0 -46
- package/vendor/include/networkit/matching/SuitorMatcher.hpp +0 -62
- package/vendor/include/networkit/numerics/ConjugateGradient.hpp +0 -163
- package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +0 -99
- package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +0 -70
- package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +0 -460
- package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +0 -47
- package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +0 -56
- package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +0 -52
- package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +0 -133
- package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +0 -28
- package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +0 -165
- package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +0 -1090
- package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +0 -316
- package/vendor/include/networkit/numerics/LinearSolver.hpp +0 -151
- package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +0 -61
- package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +0 -36
- package/vendor/include/networkit/numerics/Smoother.hpp +0 -37
- package/vendor/include/networkit/overlap/HashingOverlapper.hpp +0 -28
- package/vendor/include/networkit/overlap/Overlapper.hpp +0 -27
- package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +0 -113
- package/vendor/include/networkit/randomization/Curveball.hpp +0 -49
- package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +0 -39
- package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +0 -39
- package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +0 -82
- package/vendor/include/networkit/randomization/EdgeSwitching.hpp +0 -157
- package/vendor/include/networkit/randomization/GlobalCurveball.hpp +0 -69
- package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +0 -303
- package/vendor/include/networkit/reachability/AllSimplePaths.hpp +0 -122
- package/vendor/include/networkit/reachability/ReachableNodes.hpp +0 -83
- package/vendor/include/networkit/scd/ApproximatePageRank.hpp +0 -51
- package/vendor/include/networkit/scd/CliqueDetect.hpp +0 -55
- package/vendor/include/networkit/scd/CombinedSCD.hpp +0 -51
- package/vendor/include/networkit/scd/GCE.hpp +0 -42
- package/vendor/include/networkit/scd/LFMLocal.hpp +0 -54
- package/vendor/include/networkit/scd/LocalT.hpp +0 -40
- package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +0 -46
- package/vendor/include/networkit/scd/PageRankNibble.hpp +0 -55
- package/vendor/include/networkit/scd/RandomBFS.hpp +0 -33
- package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +0 -121
- package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +0 -76
- package/vendor/include/networkit/scd/SetConductance.hpp +0 -47
- package/vendor/include/networkit/scd/TCE.hpp +0 -41
- package/vendor/include/networkit/scd/TwoPhaseL.hpp +0 -40
- package/vendor/include/networkit/scoring/EdgeScoring.hpp +0 -44
- package/vendor/include/networkit/scoring/ModularityScoring.hpp +0 -79
- package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +0 -59
- package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +0 -28
- package/vendor/include/networkit/sparsification/ForestFireScore.hpp +0 -34
- package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +0 -40
- package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +0 -30
- package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +0 -124
- package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +0 -63
- package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +0 -38
- package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +0 -33
- package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +0 -29
- package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +0 -23
- package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +0 -35
- package/vendor/include/networkit/sparsification/SimmelianScore.hpp +0 -92
- package/vendor/include/networkit/sparsification/Sparsifiers.hpp +0 -166
- package/vendor/include/networkit/structures/Cover.hpp +0 -248
- package/vendor/include/networkit/structures/LocalCommunity.hpp +0 -363
- package/vendor/include/networkit/structures/Partition.hpp +0 -335
- package/vendor/include/networkit/structures/UnionFind.hpp +0 -66
- package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +0 -157
- package/vendor/include/networkit/viz/MaxentStress.hpp +0 -346
- package/vendor/include/networkit/viz/Octree.hpp +0 -428
- package/vendor/include/networkit/viz/PivotMDS.hpp +0 -63
- package/vendor/include/networkit/viz/Point.hpp +0 -415
- package/vendor/include/networkit/viz/PostscriptWriter.hpp +0 -78
- package/vendor/include/tlx/algorithm/exclusive_scan.hpp +0 -56
- package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +0 -56
- package/vendor/include/tlx/algorithm/merge_advance.hpp +0 -177
- package/vendor/include/tlx/algorithm/merge_combine.hpp +0 -76
- package/vendor/include/tlx/algorithm/multisequence_partition.hpp +0 -346
- package/vendor/include/tlx/algorithm/multisequence_selection.hpp +0 -351
- package/vendor/include/tlx/algorithm/multiway_merge.hpp +0 -1385
- package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +0 -257
- package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +0 -408
- package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +0 -116
- package/vendor/include/tlx/algorithm.hpp +0 -36
- package/vendor/include/tlx/allocator_base.hpp +0 -100
- package/vendor/include/tlx/backtrace.hpp +0 -54
- package/vendor/include/tlx/cmdline_parser.hpp +0 -498
- package/vendor/include/tlx/container/btree.hpp +0 -3977
- package/vendor/include/tlx/container/btree_map.hpp +0 -634
- package/vendor/include/tlx/container/btree_multimap.hpp +0 -627
- package/vendor/include/tlx/container/btree_multiset.hpp +0 -612
- package/vendor/include/tlx/container/btree_set.hpp +0 -612
- package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +0 -416
- package/vendor/include/tlx/container/d_ary_heap.hpp +0 -311
- package/vendor/include/tlx/container/loser_tree.hpp +0 -1009
- package/vendor/include/tlx/container/lru_cache.hpp +0 -319
- package/vendor/include/tlx/container/radix_heap.hpp +0 -735
- package/vendor/include/tlx/container/ring_buffer.hpp +0 -428
- package/vendor/include/tlx/container/simple_vector.hpp +0 -304
- package/vendor/include/tlx/container/splay_tree.hpp +0 -399
- package/vendor/include/tlx/container/string_view.hpp +0 -805
- package/vendor/include/tlx/container.hpp +0 -40
- package/vendor/include/tlx/counting_ptr.hpp +0 -522
- package/vendor/include/tlx/define/attribute_always_inline.hpp +0 -34
- package/vendor/include/tlx/define/attribute_fallthrough.hpp +0 -36
- package/vendor/include/tlx/define/attribute_format_printf.hpp +0 -34
- package/vendor/include/tlx/define/attribute_packed.hpp +0 -34
- package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +0 -34
- package/vendor/include/tlx/define/constexpr.hpp +0 -31
- package/vendor/include/tlx/define/deprecated.hpp +0 -39
- package/vendor/include/tlx/define/endian.hpp +0 -49
- package/vendor/include/tlx/define/likely.hpp +0 -33
- package/vendor/include/tlx/define/visibility_hidden.hpp +0 -34
- package/vendor/include/tlx/define.hpp +0 -36
- package/vendor/include/tlx/delegate.hpp +0 -524
- package/vendor/include/tlx/die/core.hpp +0 -311
- package/vendor/include/tlx/die.hpp +0 -106
- package/vendor/include/tlx/digest/md5.hpp +0 -81
- package/vendor/include/tlx/digest/sha1.hpp +0 -81
- package/vendor/include/tlx/digest/sha256.hpp +0 -81
- package/vendor/include/tlx/digest/sha512.hpp +0 -81
- package/vendor/include/tlx/digest.hpp +0 -30
- package/vendor/include/tlx/logger/all.hpp +0 -33
- package/vendor/include/tlx/logger/array.hpp +0 -43
- package/vendor/include/tlx/logger/core.hpp +0 -287
- package/vendor/include/tlx/logger/deque.hpp +0 -42
- package/vendor/include/tlx/logger/map.hpp +0 -65
- package/vendor/include/tlx/logger/set.hpp +0 -60
- package/vendor/include/tlx/logger/tuple.hpp +0 -66
- package/vendor/include/tlx/logger/unordered_map.hpp +0 -68
- package/vendor/include/tlx/logger/unordered_set.hpp +0 -64
- package/vendor/include/tlx/logger/wrap_unprintable.hpp +0 -75
- package/vendor/include/tlx/logger.hpp +0 -44
- package/vendor/include/tlx/math/abs_diff.hpp +0 -35
- package/vendor/include/tlx/math/aggregate.hpp +0 -231
- package/vendor/include/tlx/math/aggregate_min_max.hpp +0 -116
- package/vendor/include/tlx/math/bswap.hpp +0 -148
- package/vendor/include/tlx/math/bswap_be.hpp +0 -79
- package/vendor/include/tlx/math/bswap_le.hpp +0 -79
- package/vendor/include/tlx/math/clz.hpp +0 -174
- package/vendor/include/tlx/math/ctz.hpp +0 -174
- package/vendor/include/tlx/math/div_ceil.hpp +0 -36
- package/vendor/include/tlx/math/ffs.hpp +0 -123
- package/vendor/include/tlx/math/integer_log2.hpp +0 -189
- package/vendor/include/tlx/math/is_power_of_two.hpp +0 -74
- package/vendor/include/tlx/math/polynomial_regression.hpp +0 -243
- package/vendor/include/tlx/math/popcount.hpp +0 -173
- package/vendor/include/tlx/math/power_to_the.hpp +0 -44
- package/vendor/include/tlx/math/rol.hpp +0 -112
- package/vendor/include/tlx/math/ror.hpp +0 -112
- package/vendor/include/tlx/math/round_to_power_of_two.hpp +0 -121
- package/vendor/include/tlx/math/round_up.hpp +0 -36
- package/vendor/include/tlx/math/sgn.hpp +0 -38
- package/vendor/include/tlx/math.hpp +0 -46
- package/vendor/include/tlx/meta/apply_tuple.hpp +0 -55
- package/vendor/include/tlx/meta/call_for_range.hpp +0 -78
- package/vendor/include/tlx/meta/call_foreach.hpp +0 -60
- package/vendor/include/tlx/meta/call_foreach_tuple.hpp +0 -60
- package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +0 -61
- package/vendor/include/tlx/meta/call_foreach_with_index.hpp +0 -64
- package/vendor/include/tlx/meta/enable_if.hpp +0 -37
- package/vendor/include/tlx/meta/fold_left.hpp +0 -63
- package/vendor/include/tlx/meta/fold_left_tuple.hpp +0 -60
- package/vendor/include/tlx/meta/fold_right.hpp +0 -63
- package/vendor/include/tlx/meta/fold_right_tuple.hpp +0 -60
- package/vendor/include/tlx/meta/function_chain.hpp +0 -197
- package/vendor/include/tlx/meta/function_stack.hpp +0 -189
- package/vendor/include/tlx/meta/has_member.hpp +0 -80
- package/vendor/include/tlx/meta/has_method.hpp +0 -117
- package/vendor/include/tlx/meta/index_sequence.hpp +0 -66
- package/vendor/include/tlx/meta/is_std_array.hpp +0 -40
- package/vendor/include/tlx/meta/is_std_pair.hpp +0 -39
- package/vendor/include/tlx/meta/is_std_tuple.hpp +0 -39
- package/vendor/include/tlx/meta/is_std_vector.hpp +0 -39
- package/vendor/include/tlx/meta/log2.hpp +0 -101
- package/vendor/include/tlx/meta/no_operation.hpp +0 -55
- package/vendor/include/tlx/meta/static_index.hpp +0 -42
- package/vendor/include/tlx/meta/vexpand.hpp +0 -34
- package/vendor/include/tlx/meta/vmap_for_range.hpp +0 -84
- package/vendor/include/tlx/meta/vmap_foreach.hpp +0 -63
- package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +0 -59
- package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +0 -62
- package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +0 -70
- package/vendor/include/tlx/meta.hpp +0 -55
- package/vendor/include/tlx/multi_timer.hpp +0 -148
- package/vendor/include/tlx/port/setenv.hpp +0 -31
- package/vendor/include/tlx/port.hpp +0 -27
- package/vendor/include/tlx/semaphore.hpp +0 -119
- package/vendor/include/tlx/simple_vector.hpp +0 -20
- package/vendor/include/tlx/siphash.hpp +0 -282
- package/vendor/include/tlx/sort/networks/best.hpp +0 -611
- package/vendor/include/tlx/sort/networks/bose_nelson.hpp +0 -412
- package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +0 -507
- package/vendor/include/tlx/sort/networks/cswap.hpp +0 -60
- package/vendor/include/tlx/sort/parallel_mergesort.hpp +0 -398
- package/vendor/include/tlx/sort/strings/insertion_sort.hpp +0 -232
- package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +0 -185
- package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +0 -1647
- package/vendor/include/tlx/sort/strings/radix_sort.hpp +0 -934
- package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +0 -756
- package/vendor/include/tlx/sort/strings/string_ptr.hpp +0 -426
- package/vendor/include/tlx/sort/strings/string_set.hpp +0 -800
- package/vendor/include/tlx/sort/strings.hpp +0 -329
- package/vendor/include/tlx/sort/strings_parallel.hpp +0 -325
- package/vendor/include/tlx/sort.hpp +0 -29
- package/vendor/include/tlx/stack_allocator.hpp +0 -226
- package/vendor/include/tlx/string/appendline.hpp +0 -35
- package/vendor/include/tlx/string/base64.hpp +0 -87
- package/vendor/include/tlx/string/bitdump.hpp +0 -139
- package/vendor/include/tlx/string/compare_icase.hpp +0 -42
- package/vendor/include/tlx/string/contains.hpp +0 -36
- package/vendor/include/tlx/string/contains_word.hpp +0 -42
- package/vendor/include/tlx/string/ends_with.hpp +0 -79
- package/vendor/include/tlx/string/equal_icase.hpp +0 -42
- package/vendor/include/tlx/string/erase_all.hpp +0 -70
- package/vendor/include/tlx/string/escape_html.hpp +0 -34
- package/vendor/include/tlx/string/escape_uri.hpp +0 -34
- package/vendor/include/tlx/string/expand_environment_variables.hpp +0 -49
- package/vendor/include/tlx/string/extract_between.hpp +0 -40
- package/vendor/include/tlx/string/format_iec_units.hpp +0 -32
- package/vendor/include/tlx/string/format_si_iec_units.hpp +0 -19
- package/vendor/include/tlx/string/format_si_units.hpp +0 -32
- package/vendor/include/tlx/string/hash_djb2.hpp +0 -87
- package/vendor/include/tlx/string/hash_sdbm.hpp +0 -86
- package/vendor/include/tlx/string/hexdump.hpp +0 -154
- package/vendor/include/tlx/string/index_of.hpp +0 -56
- package/vendor/include/tlx/string/join.hpp +0 -65
- package/vendor/include/tlx/string/join_generic.hpp +0 -89
- package/vendor/include/tlx/string/join_quoted.hpp +0 -46
- package/vendor/include/tlx/string/less_icase.hpp +0 -64
- package/vendor/include/tlx/string/levenshtein.hpp +0 -193
- package/vendor/include/tlx/string/pad.hpp +0 -39
- package/vendor/include/tlx/string/parse_si_iec_units.hpp +0 -46
- package/vendor/include/tlx/string/parse_uri.hpp +0 -66
- package/vendor/include/tlx/string/parse_uri_form_data.hpp +0 -136
- package/vendor/include/tlx/string/replace.hpp +0 -141
- package/vendor/include/tlx/string/split.hpp +0 -170
- package/vendor/include/tlx/string/split_quoted.hpp +0 -49
- package/vendor/include/tlx/string/split_view.hpp +0 -218
- package/vendor/include/tlx/string/split_words.hpp +0 -53
- package/vendor/include/tlx/string/ssprintf.hpp +0 -45
- package/vendor/include/tlx/string/ssprintf_generic.hpp +0 -95
- package/vendor/include/tlx/string/starts_with.hpp +0 -44
- package/vendor/include/tlx/string/to_lower.hpp +0 -47
- package/vendor/include/tlx/string/to_upper.hpp +0 -47
- package/vendor/include/tlx/string/trim.hpp +0 -298
- package/vendor/include/tlx/string/union_words.hpp +0 -33
- package/vendor/include/tlx/string/word_wrap.hpp +0 -35
- package/vendor/include/tlx/string.hpp +0 -68
- package/vendor/include/tlx/thread_barrier_mutex.hpp +0 -109
- package/vendor/include/tlx/thread_barrier_spin.hpp +0 -127
- package/vendor/include/tlx/thread_pool.hpp +0 -151
- package/vendor/include/tlx/timestamp.hpp +0 -23
- package/vendor/include/tlx/unused.hpp +0 -28
- package/vendor/include/tlx/vector_free.hpp +0 -30
- package/vendor/include/tlx/version.hpp +0 -49
- package/vendor/include/ttmath/ttmath.h +0 -2881
- package/vendor/include/ttmath/ttmathbig.h +0 -6111
- package/vendor/include/ttmath/ttmathdec.h +0 -419
- package/vendor/include/ttmath/ttmathint.h +0 -1923
- package/vendor/include/ttmath/ttmathmisc.h +0 -250
- package/vendor/include/ttmath/ttmathobjects.h +0 -812
- package/vendor/include/ttmath/ttmathparser.h +0 -2791
- package/vendor/include/ttmath/ttmaththreads.h +0 -252
- package/vendor/include/ttmath/ttmathtypes.h +0 -707
- package/vendor/include/ttmath/ttmathuint.h +0 -4190
- package/vendor/include/ttmath/ttmathuint_noasm.h +0 -1038
- package/vendor/include/ttmath/ttmathuint_x86.h +0 -1620
- package/vendor/include/ttmath/ttmathuint_x86_64.h +0 -1177
- package/vendor/lib/cmake/tlx/tlx-config.cmake +0 -51
- package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +0 -19
- package/vendor/lib/cmake/tlx/tlx-targets.cmake +0 -106
- package/vendor/lib/cmake/tlx/tlx-version.cmake +0 -11
- package/vendor/lib/libtlx.a +0 -0
- package/vendor/lib/pkgconfig/networkit.pc +0 -11
- package/vendor/lib/pkgconfig/tlx.pc +0 -11
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* tlx/container/simple_vector.hpp
|
|
3
|
-
*
|
|
4
|
-
* Copied and modified from STXXL, see http://stxxl.org
|
|
5
|
-
*
|
|
6
|
-
* Part of tlx - http://panthema.net/tlx
|
|
7
|
-
*
|
|
8
|
-
* Copyright (C) 2002 Roman Dementiev <dementiev@mpi-sb.mpg.de>
|
|
9
|
-
* Copyright (C) 2008, 2011 Andreas Beckmann <beckmann@cs.uni-frankfurt.de>
|
|
10
|
-
* Copyright (C) 2013-2017 Timo Bingmann <tb@panthema.net>
|
|
11
|
-
*
|
|
12
|
-
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
13
|
-
******************************************************************************/
|
|
14
|
-
|
|
15
|
-
#ifndef TLX_CONTAINER_SIMPLE_VECTOR_HEADER
|
|
16
|
-
#define TLX_CONTAINER_SIMPLE_VECTOR_HEADER
|
|
17
|
-
|
|
18
|
-
#include <algorithm>
|
|
19
|
-
#include <cstdlib>
|
|
20
|
-
#include <new>
|
|
21
|
-
#include <utility>
|
|
22
|
-
|
|
23
|
-
namespace tlx {
|
|
24
|
-
|
|
25
|
-
//! \addtogroup tlx_container
|
|
26
|
-
//! \{
|
|
27
|
-
|
|
28
|
-
//! enum class to select SimpleVector object initialization
|
|
29
|
-
enum class SimpleVectorMode
|
|
30
|
-
{
|
|
31
|
-
//! Initialize objects at allocation and destroy on deallocation
|
|
32
|
-
Normal,
|
|
33
|
-
//! Do not initialize objects at allocation, but destroy on
|
|
34
|
-
//! deallocation. Thus, all objects must be constructed from outside.
|
|
35
|
-
NoInitButDestroy,
|
|
36
|
-
//! Do not initialize objects at allocation and do not destroy them.
|
|
37
|
-
NoInitNoDestroy,
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
/*!
|
|
41
|
-
* Simpler non-growing vector without initialization.
|
|
42
|
-
*
|
|
43
|
-
* SimpleVector can be used a replacement for std::vector when only a
|
|
44
|
-
* non-growing array of simple types is needed. The advantages of SimpleVector
|
|
45
|
-
* are that it does not initilize memory for POD types (-> faster), while normal
|
|
46
|
-
* structs are supported as well if default-contractible. The simple pointer
|
|
47
|
-
* types allow faster compilation and is less error prone to copying and other
|
|
48
|
-
* problems.
|
|
49
|
-
*/
|
|
50
|
-
template <typename ValueType, SimpleVectorMode Mode = SimpleVectorMode::Normal>
|
|
51
|
-
class SimpleVector
|
|
52
|
-
{
|
|
53
|
-
public:
|
|
54
|
-
using value_type = ValueType;
|
|
55
|
-
using size_type = size_t;
|
|
56
|
-
|
|
57
|
-
private:
|
|
58
|
-
//! size of allocated memory
|
|
59
|
-
size_type size_;
|
|
60
|
-
|
|
61
|
-
//! pointer to allocated memory area
|
|
62
|
-
value_type* array_;
|
|
63
|
-
|
|
64
|
-
public:
|
|
65
|
-
// *** simple pointer iterators
|
|
66
|
-
|
|
67
|
-
using iterator = value_type*;
|
|
68
|
-
using const_iterator = const value_type*;
|
|
69
|
-
using reference = value_type&;
|
|
70
|
-
using const_reference = const value_type&;
|
|
71
|
-
|
|
72
|
-
public:
|
|
73
|
-
//! allocate empty simple vector
|
|
74
|
-
SimpleVector() : size_(0), array_(nullptr)
|
|
75
|
-
{
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
//! allocate vector's memory
|
|
79
|
-
explicit SimpleVector(const size_type& sz) : size_(sz), array_(nullptr)
|
|
80
|
-
{
|
|
81
|
-
if (size_ > 0)
|
|
82
|
-
array_ = create_array(size_);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
//! non-copyable: delete copy-constructor
|
|
86
|
-
SimpleVector(const SimpleVector&) = delete;
|
|
87
|
-
//! non-copyable: delete assignment operator
|
|
88
|
-
SimpleVector& operator=(const SimpleVector&) = delete;
|
|
89
|
-
|
|
90
|
-
//! move-constructor
|
|
91
|
-
SimpleVector(SimpleVector&& v) noexcept : size_(v.size_), array_(v.array_)
|
|
92
|
-
{
|
|
93
|
-
v.size_ = 0, v.array_ = nullptr;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
//! move-assignment
|
|
97
|
-
SimpleVector& operator=(SimpleVector&& v) noexcept
|
|
98
|
-
{
|
|
99
|
-
if (&v == this)
|
|
100
|
-
return *this;
|
|
101
|
-
destroy_array(array_, size_);
|
|
102
|
-
size_ = v.size_, array_ = v.array_;
|
|
103
|
-
v.size_ = 0, v.array_ = nullptr;
|
|
104
|
-
return *this;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
//! swap vector with another one
|
|
108
|
-
void swap(SimpleVector& obj) noexcept
|
|
109
|
-
{
|
|
110
|
-
std::swap(size_, obj.size_);
|
|
111
|
-
std::swap(array_, obj.array_);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
//! delete vector
|
|
115
|
-
~SimpleVector()
|
|
116
|
-
{
|
|
117
|
-
destroy_array(array_, size_);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
//! return iterator to beginning of vector
|
|
121
|
-
iterator data() noexcept
|
|
122
|
-
{
|
|
123
|
-
return array_;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
//! return iterator to beginning of vector
|
|
127
|
-
const_iterator data() const noexcept
|
|
128
|
-
{
|
|
129
|
-
return array_;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
//! return number of items in vector
|
|
133
|
-
size_type size() const noexcept
|
|
134
|
-
{
|
|
135
|
-
return size_;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
//! return mutable iterator to first element
|
|
139
|
-
iterator begin() noexcept
|
|
140
|
-
{
|
|
141
|
-
return array_;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
//! return constant iterator to first element
|
|
145
|
-
const_iterator begin() const noexcept
|
|
146
|
-
{
|
|
147
|
-
return array_;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
//! return constant iterator to first element
|
|
151
|
-
const_iterator cbegin() const noexcept
|
|
152
|
-
{
|
|
153
|
-
return begin();
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
//! return mutable iterator beyond last element
|
|
157
|
-
iterator end() noexcept
|
|
158
|
-
{
|
|
159
|
-
return array_ + size_;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
//! return constant iterator beyond last element
|
|
163
|
-
const_iterator end() const noexcept
|
|
164
|
-
{
|
|
165
|
-
return array_ + size_;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
//! return constant iterator beyond last element
|
|
169
|
-
const_iterator cend() const noexcept
|
|
170
|
-
{
|
|
171
|
-
return end();
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
//! returns reference to the last element in the container
|
|
175
|
-
reference front() noexcept
|
|
176
|
-
{
|
|
177
|
-
return array_[0];
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
//! returns reference to the first element in the container
|
|
181
|
-
const_reference front() const noexcept
|
|
182
|
-
{
|
|
183
|
-
return array_[0];
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
//! returns reference to the first element in the container
|
|
187
|
-
reference back() noexcept
|
|
188
|
-
{
|
|
189
|
-
return array_[size_ - 1];
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
//! returns reference to the last element in the container
|
|
193
|
-
const_reference back() const noexcept
|
|
194
|
-
{
|
|
195
|
-
return array_[size_ - 1];
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
//! return the i-th position of the vector
|
|
199
|
-
reference operator[](size_type i) noexcept
|
|
200
|
-
{
|
|
201
|
-
return *(begin() + i);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
//! return constant reference to the i-th position of the vector
|
|
205
|
-
const_reference operator[](size_type i) const noexcept
|
|
206
|
-
{
|
|
207
|
-
return *(begin() + i);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
//! return the i-th position of the vector
|
|
211
|
-
reference at(size_type i) noexcept
|
|
212
|
-
{
|
|
213
|
-
return *(begin() + i);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
//! return constant reference to the i-th position of the vector
|
|
217
|
-
const_reference at(size_type i) const noexcept
|
|
218
|
-
{
|
|
219
|
-
return *(begin() + i);
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
//! resize the array to contain exactly new_size items
|
|
223
|
-
void resize(size_type new_size)
|
|
224
|
-
{
|
|
225
|
-
if (array_)
|
|
226
|
-
{
|
|
227
|
-
value_type* tmp = array_;
|
|
228
|
-
array_ = create_array(new_size);
|
|
229
|
-
std::move(tmp, tmp + std::min(size_, new_size), array_);
|
|
230
|
-
destroy_array(tmp, size_);
|
|
231
|
-
size_ = new_size;
|
|
232
|
-
}
|
|
233
|
-
else
|
|
234
|
-
{
|
|
235
|
-
array_ = create_array(new_size);
|
|
236
|
-
size_ = new_size;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
//! deallocate contained array
|
|
241
|
-
void destroy()
|
|
242
|
-
{
|
|
243
|
-
destroy_array(array_, size_);
|
|
244
|
-
array_ = nullptr;
|
|
245
|
-
size_ = 0;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
//! Zero the whole array content.
|
|
249
|
-
void fill(const value_type& v = value_type()) noexcept
|
|
250
|
-
{
|
|
251
|
-
std::fill(array_, array_ + size_, v);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
private:
|
|
255
|
-
static ValueType* create_array(size_t size)
|
|
256
|
-
{
|
|
257
|
-
switch (Mode)
|
|
258
|
-
{
|
|
259
|
-
case SimpleVectorMode::Normal:
|
|
260
|
-
// with normal object construction
|
|
261
|
-
return new value_type[size];
|
|
262
|
-
case SimpleVectorMode::NoInitButDestroy:
|
|
263
|
-
case SimpleVectorMode::NoInitNoDestroy:
|
|
264
|
-
// operator new allocates bytes
|
|
265
|
-
return static_cast<ValueType*>(operator new(size *
|
|
266
|
-
sizeof(ValueType)));
|
|
267
|
-
}
|
|
268
|
-
std::abort();
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
static void destroy_array(ValueType* array, size_t size)
|
|
272
|
-
{
|
|
273
|
-
switch (Mode)
|
|
274
|
-
{
|
|
275
|
-
case SimpleVectorMode::Normal:
|
|
276
|
-
// with normal object destruction
|
|
277
|
-
delete[] array;
|
|
278
|
-
return;
|
|
279
|
-
case SimpleVectorMode::NoInitButDestroy:
|
|
280
|
-
// destroy objects and deallocate memory
|
|
281
|
-
for (size_t i = 0; i < size; ++i)
|
|
282
|
-
array[i].~ValueType();
|
|
283
|
-
operator delete(array);
|
|
284
|
-
return;
|
|
285
|
-
case SimpleVectorMode::NoInitNoDestroy:
|
|
286
|
-
// only deallocate memory
|
|
287
|
-
operator delete(array);
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
std::abort();
|
|
291
|
-
}
|
|
292
|
-
};
|
|
293
|
-
|
|
294
|
-
//! make template alias due to similarity with std::vector
|
|
295
|
-
template <typename T>
|
|
296
|
-
using simple_vector = SimpleVector<T>;
|
|
297
|
-
|
|
298
|
-
//! \}
|
|
299
|
-
|
|
300
|
-
} // namespace tlx
|
|
301
|
-
|
|
302
|
-
#endif // !TLX_CONTAINER_SIMPLE_VECTOR_HEADER
|
|
303
|
-
|
|
304
|
-
/******************************************************************************/
|
|
@@ -1,399 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* tlx/container/splay_tree.hpp
|
|
3
|
-
*
|
|
4
|
-
* Part of tlx - http://panthema.net/tlx
|
|
5
|
-
*
|
|
6
|
-
* Copyright (C) 2016-2019 Timo Bingmann <tb@panthema.net>
|
|
7
|
-
*
|
|
8
|
-
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
9
|
-
******************************************************************************/
|
|
10
|
-
|
|
11
|
-
#ifndef TLX_CONTAINER_SPLAY_TREE_HEADER
|
|
12
|
-
#define TLX_CONTAINER_SPLAY_TREE_HEADER
|
|
13
|
-
|
|
14
|
-
#include <cstddef>
|
|
15
|
-
#include <functional>
|
|
16
|
-
#include <memory>
|
|
17
|
-
|
|
18
|
-
namespace tlx {
|
|
19
|
-
|
|
20
|
-
//! \addtogroup tlx_container
|
|
21
|
-
//! \{
|
|
22
|
-
|
|
23
|
-
/******************************************************************************/
|
|
24
|
-
// splay -- free Splay Tree methods
|
|
25
|
-
|
|
26
|
-
/*
|
|
27
|
-
An implementation of top-down splaying
|
|
28
|
-
D. Sleator <sleator@cs.cmu.edu>
|
|
29
|
-
March 1992
|
|
30
|
-
|
|
31
|
-
"Splay trees", or "self-adjusting search trees" are a simple and efficient
|
|
32
|
-
data structure for storing an ordered set. The data structure consists of a
|
|
33
|
-
binary tree, without parent pointers, and no additional fields. It allows
|
|
34
|
-
searching, insertion, deletion, deletemin, deletemax, splitting, joining, and
|
|
35
|
-
many other operations, all with amortized logarithmic performance. Since the
|
|
36
|
-
trees adapt to the sequence of requests, their performance on real access
|
|
37
|
-
patterns is typically even better. Splay trees are described in a number of
|
|
38
|
-
texts and papers [1,2,3,4,5].
|
|
39
|
-
|
|
40
|
-
The code here is adapted from simple top-down splay, at the bottom of page 669
|
|
41
|
-
of [3]. It can be obtained via anonymous ftp from spade.pc.cs.cmu.edu in
|
|
42
|
-
directory /usr/sleator/public.
|
|
43
|
-
|
|
44
|
-
The chief modification here is that the splay operation works even if the item
|
|
45
|
-
being splayed is not in the tree, and even if the tree root of the tree is
|
|
46
|
-
nullptr. So the line:
|
|
47
|
-
|
|
48
|
-
t = splay(i, t);
|
|
49
|
-
|
|
50
|
-
causes it to search for item with key i in the tree rooted at t. If it's
|
|
51
|
-
there, it is splayed to the root. If it isn't there, then the node put at the
|
|
52
|
-
root is the last one before nullptr that would have been reached in a normal
|
|
53
|
-
binary search for i. (It's a neighbor of i in the tree.) This allows many
|
|
54
|
-
other operations to be easily implemented, as shown below.
|
|
55
|
-
|
|
56
|
-
[1] "Fundamentals of data structures in C", Horowitz, Sahni,
|
|
57
|
-
and Anderson-Freed, Computer Science Press, pp 542-547.
|
|
58
|
-
[2] "Data Structures and Their Algorithms", Lewis and Denenberg,
|
|
59
|
-
Harper Collins, 1991, pp 243-251.
|
|
60
|
-
[3] "Self-adjusting Binary Search Trees" Sleator and Tarjan,
|
|
61
|
-
JACM Volume 32, No 3, July 1985, pp 652-686.
|
|
62
|
-
[4] "Data Structure and Algorithm Analysis", Mark Weiss,
|
|
63
|
-
Benjamin Cummins, 1992, pp 119-130.
|
|
64
|
-
[5] "Data Structures, Algorithms, and Performance", Derick Wood,
|
|
65
|
-
Addison-Wesley, 1993, pp 367-375.
|
|
66
|
-
*/
|
|
67
|
-
|
|
68
|
-
//! check the tree order, recursively calculate min and max elements
|
|
69
|
-
template <typename Tree, typename Compare>
|
|
70
|
-
bool splay_check(const Tree* t, const Tree*& out_tmin, const Tree*& out_tmax,
|
|
71
|
-
const Compare& cmp)
|
|
72
|
-
{
|
|
73
|
-
if (t == nullptr)
|
|
74
|
-
return true;
|
|
75
|
-
|
|
76
|
-
const Tree *tmin = nullptr, *tmax = nullptr;
|
|
77
|
-
if (!splay_check(t->left, out_tmin, tmax, cmp) ||
|
|
78
|
-
!splay_check(t->right, tmin, out_tmax, cmp))
|
|
79
|
-
return false;
|
|
80
|
-
|
|
81
|
-
if (tmax && !cmp(tmax->key, t->key))
|
|
82
|
-
return false;
|
|
83
|
-
if (tmin && !cmp(t->key, tmin->key))
|
|
84
|
-
return false;
|
|
85
|
-
return true;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
//! check the tree order
|
|
89
|
-
template <typename Tree, typename Compare>
|
|
90
|
-
bool splay_check(const Tree* t, const Compare& cmp)
|
|
91
|
-
{
|
|
92
|
-
if (t == nullptr)
|
|
93
|
-
return true;
|
|
94
|
-
const Tree *tmin = nullptr, *tmax = nullptr;
|
|
95
|
-
return splay_check(t, tmin, tmax, cmp);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
//! Splay using the key i (which may or may not be in the tree.) The starting
|
|
99
|
-
//! root is t, and the tree used is defined by rat size fields are maintained.
|
|
100
|
-
template <typename Key, typename Tree, typename Compare>
|
|
101
|
-
Tree* splay(const Key& k, Tree* t, const Compare& cmp)
|
|
102
|
-
{
|
|
103
|
-
Tree *N_left = nullptr, *N_right = nullptr;
|
|
104
|
-
Tree *l = nullptr, *r = nullptr;
|
|
105
|
-
|
|
106
|
-
if (t == nullptr)
|
|
107
|
-
return t;
|
|
108
|
-
|
|
109
|
-
for (;;)
|
|
110
|
-
{
|
|
111
|
-
if (cmp(k, t->key))
|
|
112
|
-
{
|
|
113
|
-
if (t->left == nullptr)
|
|
114
|
-
break;
|
|
115
|
-
|
|
116
|
-
if (cmp(k, t->left->key))
|
|
117
|
-
{
|
|
118
|
-
// rotate right
|
|
119
|
-
Tree* y = t->left;
|
|
120
|
-
t->left = y->right;
|
|
121
|
-
y->right = t;
|
|
122
|
-
t = y;
|
|
123
|
-
if (t->left == nullptr)
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
// link right
|
|
127
|
-
(r ? r->left : N_left) = t;
|
|
128
|
-
r = t;
|
|
129
|
-
t = t->left;
|
|
130
|
-
}
|
|
131
|
-
else if (cmp(t->key, k))
|
|
132
|
-
{
|
|
133
|
-
if (t->right == nullptr)
|
|
134
|
-
break;
|
|
135
|
-
|
|
136
|
-
if (cmp(t->right->key, k))
|
|
137
|
-
{
|
|
138
|
-
// rotate left
|
|
139
|
-
Tree* y = t->right;
|
|
140
|
-
t->right = y->left;
|
|
141
|
-
y->left = t;
|
|
142
|
-
t = y;
|
|
143
|
-
if (t->right == nullptr)
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
// link left
|
|
147
|
-
(l ? l->right : N_right) = t;
|
|
148
|
-
l = t;
|
|
149
|
-
t = t->right;
|
|
150
|
-
}
|
|
151
|
-
else
|
|
152
|
-
{
|
|
153
|
-
break;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
(l ? l->right : N_right) = (r ? r->left : N_left) = nullptr;
|
|
158
|
-
|
|
159
|
-
// assemble
|
|
160
|
-
(l ? l->right : N_right) = t->left;
|
|
161
|
-
(r ? r->left : N_left) = t->right;
|
|
162
|
-
t->left = N_right;
|
|
163
|
-
t->right = N_left;
|
|
164
|
-
|
|
165
|
-
return t;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
//! Insert key i into the tree t, if it is not already there. Before calling
|
|
169
|
-
//! this method, one *MUST* call splay() to rotate the tree to the right
|
|
170
|
-
//! position. Return a pointer to the resulting tree.
|
|
171
|
-
template <typename Tree, typename Compare>
|
|
172
|
-
Tree* splay_insert(Tree* nn, Tree* t, const Compare& cmp)
|
|
173
|
-
{
|
|
174
|
-
if (t == nullptr)
|
|
175
|
-
{
|
|
176
|
-
nn->left = nn->right = nullptr;
|
|
177
|
-
}
|
|
178
|
-
else if (cmp(nn->key, t->key))
|
|
179
|
-
{
|
|
180
|
-
nn->left = t->left;
|
|
181
|
-
nn->right = t;
|
|
182
|
-
t->left = nullptr;
|
|
183
|
-
}
|
|
184
|
-
else
|
|
185
|
-
{
|
|
186
|
-
nn->right = t->right;
|
|
187
|
-
nn->left = t;
|
|
188
|
-
t->right = nullptr;
|
|
189
|
-
}
|
|
190
|
-
return nn;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
//! Erases i from the tree if it's there. Return a pointer to the resulting
|
|
194
|
-
//! tree.
|
|
195
|
-
template <typename Key, typename Tree, typename Compare>
|
|
196
|
-
Tree* splay_erase(const Key& k, Tree*& t, const Compare& cmp)
|
|
197
|
-
{
|
|
198
|
-
if (t == nullptr)
|
|
199
|
-
return nullptr;
|
|
200
|
-
t = splay(k, t, cmp);
|
|
201
|
-
// k == t->key ?
|
|
202
|
-
if (!cmp(k, t->key) && !cmp(t->key, k))
|
|
203
|
-
{
|
|
204
|
-
// found it
|
|
205
|
-
Tree* r = t;
|
|
206
|
-
if (t->left == nullptr)
|
|
207
|
-
{
|
|
208
|
-
t = t->right;
|
|
209
|
-
}
|
|
210
|
-
else
|
|
211
|
-
{
|
|
212
|
-
Tree* x = splay(k, t->left, cmp);
|
|
213
|
-
x->right = t->right;
|
|
214
|
-
t = x;
|
|
215
|
-
}
|
|
216
|
-
return r;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
// it wasn't there
|
|
220
|
-
return nullptr;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
//! traverse the tree in preorder (left, node, right)
|
|
224
|
-
template <typename Tree, typename Functor>
|
|
225
|
-
void splay_traverse_preorder(const Functor& f, const Tree* t)
|
|
226
|
-
{
|
|
227
|
-
if (t == nullptr)
|
|
228
|
-
return;
|
|
229
|
-
splay_traverse_preorder(f, t->left);
|
|
230
|
-
f(t);
|
|
231
|
-
splay_traverse_preorder(f, t->right);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
//! traverse the tree in postorder (left, right, node)
|
|
235
|
-
template <typename Tree, typename Functor>
|
|
236
|
-
void splay_traverse_postorder(const Functor& f, Tree* t)
|
|
237
|
-
{
|
|
238
|
-
if (t == nullptr)
|
|
239
|
-
return;
|
|
240
|
-
splay_traverse_postorder(f, t->left);
|
|
241
|
-
splay_traverse_postorder(f, t->right);
|
|
242
|
-
f(t);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/******************************************************************************/
|
|
246
|
-
// Splay Tree
|
|
247
|
-
|
|
248
|
-
template <typename Key, typename Compare = std::less<Key>,
|
|
249
|
-
bool Duplicates = false, typename Allocator = std::allocator<Key> >
|
|
250
|
-
class SplayTree
|
|
251
|
-
{
|
|
252
|
-
public:
|
|
253
|
-
//! splay tree node, also seen as public iterator
|
|
254
|
-
struct Node
|
|
255
|
-
{
|
|
256
|
-
Node *left = nullptr, *right = nullptr;
|
|
257
|
-
Key key;
|
|
258
|
-
|
|
259
|
-
explicit Node(const Key& k) : key(k)
|
|
260
|
-
{
|
|
261
|
-
}
|
|
262
|
-
};
|
|
263
|
-
|
|
264
|
-
explicit SplayTree(Allocator alloc = Allocator()) : node_allocator_(alloc)
|
|
265
|
-
{
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
explicit SplayTree(Compare cmp, Allocator alloc = Allocator())
|
|
269
|
-
: cmp_(cmp), node_allocator_(alloc)
|
|
270
|
-
{
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
~SplayTree()
|
|
274
|
-
{
|
|
275
|
-
clear();
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
//! insert key into tree if it does not exist, returns true if inserted.
|
|
279
|
-
bool insert(const Key& k)
|
|
280
|
-
{
|
|
281
|
-
if (root_ != nullptr)
|
|
282
|
-
{
|
|
283
|
-
root_ = splay(k, root_, cmp_);
|
|
284
|
-
// k == t->key ?
|
|
285
|
-
if (!Duplicates && !cmp_(k, root_->key) && !cmp_(root_->key, k))
|
|
286
|
-
{
|
|
287
|
-
// it's already there
|
|
288
|
-
return false;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
Node* nn = new (node_allocator_.allocate(1)) Node(k);
|
|
292
|
-
root_ = splay_insert(nn, root_, cmp_);
|
|
293
|
-
size_++;
|
|
294
|
-
return true;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
//! erase key from tree, return true if it existed.
|
|
298
|
-
bool erase(const Key& k)
|
|
299
|
-
{
|
|
300
|
-
Node* out = splay_erase(k, root_, cmp_);
|
|
301
|
-
if (!out)
|
|
302
|
-
return false;
|
|
303
|
-
delete_node(out);
|
|
304
|
-
return true;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
//! erase node from tree, return true if it existed.
|
|
308
|
-
bool erase(const Node* n)
|
|
309
|
-
{
|
|
310
|
-
return erase(n->key);
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
//! free all nodes
|
|
314
|
-
void clear()
|
|
315
|
-
{
|
|
316
|
-
splay_traverse_postorder([this](Node* n) { delete_node(n); }, root_);
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
//! check if key exists
|
|
320
|
-
bool exists(const Key& k)
|
|
321
|
-
{
|
|
322
|
-
root_ = splay(k, root_, cmp_);
|
|
323
|
-
return !cmp_(root_->key, k) && !cmp_(k, root_->key);
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
//! return number of items in tree
|
|
327
|
-
size_t size() const
|
|
328
|
-
{
|
|
329
|
-
return size_;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
//! return true if tree is empty
|
|
333
|
-
bool empty() const
|
|
334
|
-
{
|
|
335
|
-
return size_ == 0;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
//! find tree node containing key or return smallest key larger than k
|
|
339
|
-
Node* find(const Key& k)
|
|
340
|
-
{
|
|
341
|
-
return (root_ = splay(k, root_, cmp_));
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
//! check the tree order
|
|
345
|
-
bool check() const
|
|
346
|
-
{
|
|
347
|
-
return splay_check(root_, cmp_);
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
//! traverse the whole tree in preorder (key order)s
|
|
351
|
-
template <typename Functor>
|
|
352
|
-
void traverse_preorder(const Functor& f) const
|
|
353
|
-
{
|
|
354
|
-
splay_traverse_preorder([&f](const Node* n) { f(n->key); }, root_);
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
private:
|
|
358
|
-
//! root tree node
|
|
359
|
-
Node* root_ = nullptr;
|
|
360
|
-
//! number of items in tree container
|
|
361
|
-
size_t size_ = 0;
|
|
362
|
-
//! key comparator
|
|
363
|
-
Compare cmp_;
|
|
364
|
-
//! key allocator
|
|
365
|
-
Allocator alloc_;
|
|
366
|
-
|
|
367
|
-
//! node allocator
|
|
368
|
-
typedef
|
|
369
|
-
typename std::allocator_traits<Allocator>::template rebind_alloc<Node>
|
|
370
|
-
node_alloc_type;
|
|
371
|
-
|
|
372
|
-
//! node allocator
|
|
373
|
-
node_alloc_type node_allocator_;
|
|
374
|
-
|
|
375
|
-
//! delete node
|
|
376
|
-
void delete_node(Node* n)
|
|
377
|
-
{
|
|
378
|
-
n->~Node();
|
|
379
|
-
node_allocator_.deallocate(n, 1);
|
|
380
|
-
size_--;
|
|
381
|
-
}
|
|
382
|
-
};
|
|
383
|
-
|
|
384
|
-
template <typename Key, typename Compare = std::less<Key>,
|
|
385
|
-
typename Allocator = std::allocator<Key> >
|
|
386
|
-
using splay_set = SplayTree<Key, Compare, /* Duplicates */ false, Allocator>;
|
|
387
|
-
|
|
388
|
-
template <typename Key, typename Compare = std::less<Key>,
|
|
389
|
-
typename Allocator = std::allocator<Key> >
|
|
390
|
-
using splay_multiset =
|
|
391
|
-
SplayTree<Key, Compare, /* Duplicates */ true, Allocator>;
|
|
392
|
-
|
|
393
|
-
//! \}
|
|
394
|
-
|
|
395
|
-
} // namespace tlx
|
|
396
|
-
|
|
397
|
-
#endif // !TLX_CONTAINER_SPLAY_TREE_HEADER
|
|
398
|
-
|
|
399
|
-
/******************************************************************************/
|