@ladybugmem/icebug 0.1.0
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/README.md +14 -0
- package/binding.gyp +54 -0
- package/build/Release/.deps/Release/icebug.node.d +1 -0
- package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +291 -0
- package/build/Release/icebug.node +0 -0
- package/build/Release/obj.target/icebug/src/addon.o +0 -0
- package/lib/index.d.ts +361 -0
- package/lib/index.js +102 -0
- package/package.json +42 -0
- package/src/addon.cpp +1253 -0
- package/vendor/include/networkit/GlobalState.hpp +86 -0
- package/vendor/include/networkit/Globals.hpp +41 -0
- package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +27 -0
- package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +1292 -0
- package/vendor/include/networkit/algebraic/CSRMatrix.hpp +11 -0
- package/vendor/include/networkit/algebraic/DenseMatrix.hpp +537 -0
- package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +514 -0
- package/vendor/include/networkit/algebraic/GraphBLAS.hpp +323 -0
- package/vendor/include/networkit/algebraic/MatrixTools.hpp +156 -0
- package/vendor/include/networkit/algebraic/Semirings.hpp +171 -0
- package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +111 -0
- package/vendor/include/networkit/algebraic/Vector.hpp +371 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +72 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +88 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +96 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +145 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +122 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +76 -0
- package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +113 -0
- package/vendor/include/networkit/auxiliary/ArrayTools.hpp +85 -0
- package/vendor/include/networkit/auxiliary/BloomFilter.hpp +70 -0
- package/vendor/include/networkit/auxiliary/BucketPQ.hpp +142 -0
- package/vendor/include/networkit/auxiliary/Enforce.hpp +117 -0
- package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +74 -0
- package/vendor/include/networkit/auxiliary/HashUtils.hpp +28 -0
- package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +52 -0
- package/vendor/include/networkit/auxiliary/Log.hpp +119 -0
- package/vendor/include/networkit/auxiliary/MissingMath.hpp +48 -0
- package/vendor/include/networkit/auxiliary/Multiprecision.hpp +17 -0
- package/vendor/include/networkit/auxiliary/NumberParsing.hpp +307 -0
- package/vendor/include/networkit/auxiliary/NumericTools.hpp +57 -0
- package/vendor/include/networkit/auxiliary/Parallel.hpp +56 -0
- package/vendor/include/networkit/auxiliary/Parallelism.hpp +33 -0
- package/vendor/include/networkit/auxiliary/PrioQueue.hpp +252 -0
- package/vendor/include/networkit/auxiliary/Random.hpp +122 -0
- package/vendor/include/networkit/auxiliary/SetIntersector.hpp +72 -0
- package/vendor/include/networkit/auxiliary/SignalHandling.hpp +39 -0
- package/vendor/include/networkit/auxiliary/SortedList.hpp +128 -0
- package/vendor/include/networkit/auxiliary/SparseVector.hpp +215 -0
- package/vendor/include/networkit/auxiliary/SpinLock.hpp +23 -0
- package/vendor/include/networkit/auxiliary/StringBuilder.hpp +322 -0
- package/vendor/include/networkit/auxiliary/StringTools.hpp +76 -0
- package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +76 -0
- package/vendor/include/networkit/auxiliary/Timer.hpp +145 -0
- package/vendor/include/networkit/auxiliary/VectorComparator.hpp +32 -0
- package/vendor/include/networkit/base/Algorithm.hpp +41 -0
- package/vendor/include/networkit/base/DynAlgorithm.hpp +31 -0
- package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +62 -0
- package/vendor/include/networkit/centrality/ApproxCloseness.hpp +136 -0
- package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +156 -0
- package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +124 -0
- package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +84 -0
- package/vendor/include/networkit/centrality/Betweenness.hpp +47 -0
- package/vendor/include/networkit/centrality/Centrality.hpp +98 -0
- package/vendor/include/networkit/centrality/Closeness.hpp +107 -0
- package/vendor/include/networkit/centrality/ComplexPaths.hpp +113 -0
- package/vendor/include/networkit/centrality/CoreDecomposition.hpp +161 -0
- package/vendor/include/networkit/centrality/DegreeCentrality.hpp +55 -0
- package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +95 -0
- package/vendor/include/networkit/centrality/DynBetweenness.hpp +99 -0
- package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +98 -0
- package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +115 -0
- package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +223 -0
- package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +41 -0
- package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +51 -0
- package/vendor/include/networkit/centrality/ForestCentrality.hpp +112 -0
- package/vendor/include/networkit/centrality/GedWalk.hpp +225 -0
- package/vendor/include/networkit/centrality/GroupCloseness.hpp +115 -0
- package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +78 -0
- package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +77 -0
- package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +106 -0
- package/vendor/include/networkit/centrality/GroupDegree.hpp +155 -0
- package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +83 -0
- package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +48 -0
- package/vendor/include/networkit/centrality/KPathCentrality.hpp +52 -0
- package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +242 -0
- package/vendor/include/networkit/centrality/KatzCentrality.hpp +62 -0
- package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +44 -0
- package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +60 -0
- package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +43 -0
- package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +42 -0
- package/vendor/include/networkit/centrality/PageRank.hpp +101 -0
- package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +48 -0
- package/vendor/include/networkit/centrality/Sfigality.hpp +45 -0
- package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +86 -0
- package/vendor/include/networkit/centrality/TopCloseness.hpp +136 -0
- package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +151 -0
- package/vendor/include/networkit/clique/MaximalCliques.hpp +83 -0
- package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +59 -0
- package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +156 -0
- package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +57 -0
- package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +43 -0
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +33 -0
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +62 -0
- package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +31 -0
- package/vendor/include/networkit/community/ClusteringGenerator.hpp +75 -0
- package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +58 -0
- package/vendor/include/networkit/community/Conductance.hpp +32 -0
- package/vendor/include/networkit/community/CoverF1Similarity.hpp +53 -0
- package/vendor/include/networkit/community/CoverHubDominance.hpp +38 -0
- package/vendor/include/networkit/community/Coverage.hpp +25 -0
- package/vendor/include/networkit/community/CutClustering.hpp +62 -0
- package/vendor/include/networkit/community/DissimilarityMeasure.hpp +31 -0
- package/vendor/include/networkit/community/DynamicNMIDistance.hpp +44 -0
- package/vendor/include/networkit/community/EdgeCut.hpp +24 -0
- package/vendor/include/networkit/community/GraphClusteringTools.hpp +103 -0
- package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +28 -0
- package/vendor/include/networkit/community/HubDominance.hpp +46 -0
- package/vendor/include/networkit/community/IntrapartitionDensity.hpp +44 -0
- package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +40 -0
- package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +40 -0
- package/vendor/include/networkit/community/JaccardMeasure.hpp +25 -0
- package/vendor/include/networkit/community/LFM.hpp +49 -0
- package/vendor/include/networkit/community/LPDegreeOrdered.hpp +48 -0
- package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +100 -0
- package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +31 -0
- package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +31 -0
- package/vendor/include/networkit/community/LouvainMapEquation.hpp +135 -0
- package/vendor/include/networkit/community/Modularity.hpp +54 -0
- package/vendor/include/networkit/community/NMIDistance.hpp +28 -0
- package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +27 -0
- package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +51 -0
- package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +175 -0
- package/vendor/include/networkit/community/PLM.hpp +89 -0
- package/vendor/include/networkit/community/PLP.hpp +83 -0
- package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +37 -0
- package/vendor/include/networkit/community/ParallelLeiden.hpp +96 -0
- package/vendor/include/networkit/community/ParallelLeidenView.hpp +138 -0
- package/vendor/include/networkit/community/PartitionFragmentation.hpp +30 -0
- package/vendor/include/networkit/community/PartitionHubDominance.hpp +37 -0
- package/vendor/include/networkit/community/PartitionIntersection.hpp +25 -0
- package/vendor/include/networkit/community/QualityMeasure.hpp +27 -0
- package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +40 -0
- package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +40 -0
- package/vendor/include/networkit/community/StablePartitionNodes.hpp +48 -0
- package/vendor/include/networkit/components/BiconnectedComponents.hpp +116 -0
- package/vendor/include/networkit/components/ComponentDecomposition.hpp +72 -0
- package/vendor/include/networkit/components/ConnectedComponents.hpp +55 -0
- package/vendor/include/networkit/components/DynConnectedComponents.hpp +71 -0
- package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +73 -0
- package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +44 -0
- package/vendor/include/networkit/components/RandomSpanningForest.hpp +36 -0
- package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +50 -0
- package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +59 -0
- package/vendor/include/networkit/correlation/Assortativity.hpp +64 -0
- package/vendor/include/networkit/distance/APSP.hpp +70 -0
- package/vendor/include/networkit/distance/AStar.hpp +68 -0
- package/vendor/include/networkit/distance/AStarGeneral.hpp +110 -0
- package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +52 -0
- package/vendor/include/networkit/distance/AffectedNodes.hpp +130 -0
- package/vendor/include/networkit/distance/AlgebraicDistance.hpp +63 -0
- package/vendor/include/networkit/distance/BFS.hpp +43 -0
- package/vendor/include/networkit/distance/BidirectionalBFS.hpp +51 -0
- package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +69 -0
- package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +89 -0
- package/vendor/include/networkit/distance/Diameter.hpp +97 -0
- package/vendor/include/networkit/distance/Dijkstra.hpp +50 -0
- package/vendor/include/networkit/distance/DynAPSP.hpp +67 -0
- package/vendor/include/networkit/distance/DynBFS.hpp +56 -0
- package/vendor/include/networkit/distance/DynDijkstra.hpp +57 -0
- package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +67 -0
- package/vendor/include/networkit/distance/DynSSSP.hpp +87 -0
- package/vendor/include/networkit/distance/Eccentricity.hpp +32 -0
- package/vendor/include/networkit/distance/EffectiveDiameter.hpp +47 -0
- package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +57 -0
- package/vendor/include/networkit/distance/FloydWarshall.hpp +93 -0
- package/vendor/include/networkit/distance/GraphDistance.hpp +49 -0
- package/vendor/include/networkit/distance/HopPlotApproximation.hpp +62 -0
- package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +66 -0
- package/vendor/include/networkit/distance/IncompleteSSSP.hpp +41 -0
- package/vendor/include/networkit/distance/JaccardDistance.hpp +57 -0
- package/vendor/include/networkit/distance/MultiTargetBFS.hpp +32 -0
- package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +40 -0
- package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +47 -0
- package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +56 -0
- package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +56 -0
- package/vendor/include/networkit/distance/NodeDistance.hpp +54 -0
- package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +76 -0
- package/vendor/include/networkit/distance/ReverseBFS.hpp +46 -0
- package/vendor/include/networkit/distance/SPSP.hpp +143 -0
- package/vendor/include/networkit/distance/SSSP.hpp +216 -0
- package/vendor/include/networkit/distance/STSP.hpp +193 -0
- package/vendor/include/networkit/distance/Volume.hpp +66 -0
- package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +40 -0
- package/vendor/include/networkit/dynamics/DGSWriter.hpp +30 -0
- package/vendor/include/networkit/dynamics/GraphDifference.hpp +110 -0
- package/vendor/include/networkit/dynamics/GraphEvent.hpp +55 -0
- package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +39 -0
- package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +55 -0
- package/vendor/include/networkit/dynamics/GraphUpdater.hpp +38 -0
- package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +26 -0
- package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +33 -0
- package/vendor/include/networkit/edgescores/EdgeScore.hpp +50 -0
- package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +33 -0
- package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +33 -0
- package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +32 -0
- package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +35 -0
- package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +29 -0
- package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +23 -0
- package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +39 -0
- package/vendor/include/networkit/embedding/Node2Vec.hpp +83 -0
- package/vendor/include/networkit/flow/EdmondsKarp.hpp +112 -0
- package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +87 -0
- package/vendor/include/networkit/generators/ChungLuGenerator.hpp +46 -0
- package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +63 -0
- package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +56 -0
- package/vendor/include/networkit/generators/ConfigurationModel.hpp +36 -0
- package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +33 -0
- package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +33 -0
- package/vendor/include/networkit/generators/DynamicDGSParser.hpp +51 -0
- package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +34 -0
- package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +55 -0
- package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +40 -0
- package/vendor/include/networkit/generators/DynamicGraphSource.hpp +79 -0
- package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +143 -0
- package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +26 -0
- package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +54 -0
- package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +65 -0
- package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +318 -0
- package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +56 -0
- package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +48 -0
- package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +236 -0
- package/vendor/include/networkit/generators/LFRGenerator.hpp +175 -0
- package/vendor/include/networkit/generators/MocnikGenerator.hpp +147 -0
- package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +58 -0
- package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +128 -0
- package/vendor/include/networkit/generators/PubWebGenerator.hpp +94 -0
- package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +37 -0
- package/vendor/include/networkit/generators/RmatGenerator.hpp +67 -0
- package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +42 -0
- package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +30 -0
- package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +41 -0
- package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +43 -0
- package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +857 -0
- package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +587 -0
- package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +726 -0
- package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +232 -0
- package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +149 -0
- package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +143 -0
- package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +248 -0
- package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +145 -0
- package/vendor/include/networkit/global/ClusteringCoefficient.hpp +42 -0
- package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +24 -0
- package/vendor/include/networkit/graph/Attributes.hpp +568 -0
- package/vendor/include/networkit/graph/BFS.hpp +111 -0
- package/vendor/include/networkit/graph/DFS.hpp +71 -0
- package/vendor/include/networkit/graph/Dijkstra.hpp +83 -0
- package/vendor/include/networkit/graph/EdgeIterators.hpp +171 -0
- package/vendor/include/networkit/graph/Graph.hpp +2083 -0
- package/vendor/include/networkit/graph/GraphBuilder.hpp +289 -0
- package/vendor/include/networkit/graph/GraphR.hpp +133 -0
- package/vendor/include/networkit/graph/GraphTools.hpp +589 -0
- package/vendor/include/networkit/graph/GraphW.hpp +1236 -0
- package/vendor/include/networkit/graph/KruskalMSF.hpp +50 -0
- package/vendor/include/networkit/graph/NeighborIterators.hpp +163 -0
- package/vendor/include/networkit/graph/NodeIterators.hpp +127 -0
- package/vendor/include/networkit/graph/PrimMSF.hpp +66 -0
- package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +133 -0
- package/vendor/include/networkit/graph/SpanningForest.hpp +41 -0
- package/vendor/include/networkit/graph/TopologicalSort.hpp +87 -0
- package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +126 -0
- package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +68 -0
- package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +44 -0
- package/vendor/include/networkit/independentset/Luby.hpp +27 -0
- package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +45 -0
- package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +47 -0
- package/vendor/include/networkit/io/BinaryPartitionReader.hpp +41 -0
- package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +44 -0
- package/vendor/include/networkit/io/CoverReader.hpp +27 -0
- package/vendor/include/networkit/io/CoverWriter.hpp +21 -0
- package/vendor/include/networkit/io/DGSReader.hpp +39 -0
- package/vendor/include/networkit/io/DibapGraphReader.hpp +43 -0
- package/vendor/include/networkit/io/DotGraphWriter.hpp +39 -0
- package/vendor/include/networkit/io/DotPartitionWriter.hpp +23 -0
- package/vendor/include/networkit/io/DynamicGraphReader.hpp +29 -0
- package/vendor/include/networkit/io/EdgeListCoverReader.hpp +35 -0
- package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +43 -0
- package/vendor/include/networkit/io/EdgeListReader.hpp +61 -0
- package/vendor/include/networkit/io/EdgeListWriter.hpp +48 -0
- package/vendor/include/networkit/io/GMLGraphReader.hpp +33 -0
- package/vendor/include/networkit/io/GMLGraphWriter.hpp +33 -0
- package/vendor/include/networkit/io/GraphIO.hpp +52 -0
- package/vendor/include/networkit/io/GraphReader.hpp +40 -0
- package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +71 -0
- package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +61 -0
- package/vendor/include/networkit/io/GraphWriter.hpp +27 -0
- package/vendor/include/networkit/io/KONECTGraphReader.hpp +44 -0
- package/vendor/include/networkit/io/LineFileReader.hpp +42 -0
- package/vendor/include/networkit/io/METISGraphReader.hpp +36 -0
- package/vendor/include/networkit/io/METISGraphWriter.hpp +29 -0
- package/vendor/include/networkit/io/METISParser.hpp +63 -0
- package/vendor/include/networkit/io/MTXGraphReader.hpp +31 -0
- package/vendor/include/networkit/io/MTXParser.hpp +87 -0
- package/vendor/include/networkit/io/MatrixMarketReader.hpp +33 -0
- package/vendor/include/networkit/io/MatrixReader.hpp +33 -0
- package/vendor/include/networkit/io/MemoryMappedFile.hpp +80 -0
- package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +144 -0
- package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +50 -0
- package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +71 -0
- package/vendor/include/networkit/io/PartitionReader.hpp +34 -0
- package/vendor/include/networkit/io/PartitionWriter.hpp +31 -0
- package/vendor/include/networkit/io/RBGraphReader.hpp +37 -0
- package/vendor/include/networkit/io/RBMatrixReader.hpp +49 -0
- package/vendor/include/networkit/io/RasterReader.hpp +40 -0
- package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +28 -0
- package/vendor/include/networkit/io/SNAPGraphReader.hpp +53 -0
- package/vendor/include/networkit/io/SNAPGraphWriter.hpp +53 -0
- package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +44 -0
- package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +27 -0
- package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +39 -0
- package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +37 -0
- package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +36 -0
- package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +70 -0
- package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +39 -0
- package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +135 -0
- package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +44 -0
- package/vendor/include/networkit/linkprediction/KatzIndex.hpp +84 -0
- package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +98 -0
- package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +56 -0
- package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +60 -0
- package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +42 -0
- package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +54 -0
- package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +48 -0
- package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +40 -0
- package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +66 -0
- package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +37 -0
- package/vendor/include/networkit/linkprediction/ROCMetric.hpp +39 -0
- package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +47 -0
- package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +38 -0
- package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +50 -0
- package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +39 -0
- package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +35 -0
- package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +35 -0
- package/vendor/include/networkit/matching/BMatcher.hpp +52 -0
- package/vendor/include/networkit/matching/BMatching.hpp +115 -0
- package/vendor/include/networkit/matching/BSuitorMatcher.hpp +170 -0
- package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +78 -0
- package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +35 -0
- package/vendor/include/networkit/matching/Matcher.hpp +55 -0
- package/vendor/include/networkit/matching/Matching.hpp +111 -0
- package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +46 -0
- package/vendor/include/networkit/matching/SuitorMatcher.hpp +62 -0
- package/vendor/include/networkit/numerics/ConjugateGradient.hpp +163 -0
- package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +99 -0
- package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +70 -0
- package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +460 -0
- package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +47 -0
- package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +56 -0
- package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +52 -0
- package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +133 -0
- package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +28 -0
- package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +165 -0
- package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +1090 -0
- package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +316 -0
- package/vendor/include/networkit/numerics/LinearSolver.hpp +151 -0
- package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +61 -0
- package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +36 -0
- package/vendor/include/networkit/numerics/Smoother.hpp +37 -0
- package/vendor/include/networkit/overlap/HashingOverlapper.hpp +28 -0
- package/vendor/include/networkit/overlap/Overlapper.hpp +27 -0
- package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +113 -0
- package/vendor/include/networkit/randomization/Curveball.hpp +49 -0
- package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +39 -0
- package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +39 -0
- package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +82 -0
- package/vendor/include/networkit/randomization/EdgeSwitching.hpp +157 -0
- package/vendor/include/networkit/randomization/GlobalCurveball.hpp +69 -0
- package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +303 -0
- package/vendor/include/networkit/reachability/AllSimplePaths.hpp +122 -0
- package/vendor/include/networkit/reachability/ReachableNodes.hpp +83 -0
- package/vendor/include/networkit/scd/ApproximatePageRank.hpp +51 -0
- package/vendor/include/networkit/scd/CliqueDetect.hpp +55 -0
- package/vendor/include/networkit/scd/CombinedSCD.hpp +51 -0
- package/vendor/include/networkit/scd/GCE.hpp +42 -0
- package/vendor/include/networkit/scd/LFMLocal.hpp +54 -0
- package/vendor/include/networkit/scd/LocalT.hpp +40 -0
- package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +46 -0
- package/vendor/include/networkit/scd/PageRankNibble.hpp +55 -0
- package/vendor/include/networkit/scd/RandomBFS.hpp +33 -0
- package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +121 -0
- package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +76 -0
- package/vendor/include/networkit/scd/SetConductance.hpp +47 -0
- package/vendor/include/networkit/scd/TCE.hpp +41 -0
- package/vendor/include/networkit/scd/TwoPhaseL.hpp +40 -0
- package/vendor/include/networkit/scoring/EdgeScoring.hpp +44 -0
- package/vendor/include/networkit/scoring/ModularityScoring.hpp +79 -0
- package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +59 -0
- package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +28 -0
- package/vendor/include/networkit/sparsification/ForestFireScore.hpp +34 -0
- package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +40 -0
- package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +30 -0
- package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +124 -0
- package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +63 -0
- package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +38 -0
- package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +33 -0
- package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +29 -0
- package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +23 -0
- package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +35 -0
- package/vendor/include/networkit/sparsification/SimmelianScore.hpp +92 -0
- package/vendor/include/networkit/sparsification/Sparsifiers.hpp +166 -0
- package/vendor/include/networkit/structures/Cover.hpp +248 -0
- package/vendor/include/networkit/structures/LocalCommunity.hpp +363 -0
- package/vendor/include/networkit/structures/Partition.hpp +335 -0
- package/vendor/include/networkit/structures/UnionFind.hpp +66 -0
- package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +157 -0
- package/vendor/include/networkit/viz/MaxentStress.hpp +346 -0
- package/vendor/include/networkit/viz/Octree.hpp +428 -0
- package/vendor/include/networkit/viz/PivotMDS.hpp +63 -0
- package/vendor/include/networkit/viz/Point.hpp +415 -0
- package/vendor/include/networkit/viz/PostscriptWriter.hpp +78 -0
- package/vendor/include/tlx/algorithm/exclusive_scan.hpp +56 -0
- package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +56 -0
- package/vendor/include/tlx/algorithm/merge_advance.hpp +177 -0
- package/vendor/include/tlx/algorithm/merge_combine.hpp +76 -0
- package/vendor/include/tlx/algorithm/multisequence_partition.hpp +346 -0
- package/vendor/include/tlx/algorithm/multisequence_selection.hpp +351 -0
- package/vendor/include/tlx/algorithm/multiway_merge.hpp +1385 -0
- package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +257 -0
- package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +408 -0
- package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +116 -0
- package/vendor/include/tlx/algorithm.hpp +36 -0
- package/vendor/include/tlx/allocator_base.hpp +100 -0
- package/vendor/include/tlx/backtrace.hpp +54 -0
- package/vendor/include/tlx/cmdline_parser.hpp +498 -0
- package/vendor/include/tlx/container/btree.hpp +3977 -0
- package/vendor/include/tlx/container/btree_map.hpp +634 -0
- package/vendor/include/tlx/container/btree_multimap.hpp +627 -0
- package/vendor/include/tlx/container/btree_multiset.hpp +612 -0
- package/vendor/include/tlx/container/btree_set.hpp +612 -0
- package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +416 -0
- package/vendor/include/tlx/container/d_ary_heap.hpp +311 -0
- package/vendor/include/tlx/container/loser_tree.hpp +1009 -0
- package/vendor/include/tlx/container/lru_cache.hpp +319 -0
- package/vendor/include/tlx/container/radix_heap.hpp +735 -0
- package/vendor/include/tlx/container/ring_buffer.hpp +428 -0
- package/vendor/include/tlx/container/simple_vector.hpp +304 -0
- package/vendor/include/tlx/container/splay_tree.hpp +399 -0
- package/vendor/include/tlx/container/string_view.hpp +805 -0
- package/vendor/include/tlx/container.hpp +40 -0
- package/vendor/include/tlx/counting_ptr.hpp +522 -0
- package/vendor/include/tlx/define/attribute_always_inline.hpp +34 -0
- package/vendor/include/tlx/define/attribute_fallthrough.hpp +36 -0
- package/vendor/include/tlx/define/attribute_format_printf.hpp +34 -0
- package/vendor/include/tlx/define/attribute_packed.hpp +34 -0
- package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +34 -0
- package/vendor/include/tlx/define/constexpr.hpp +31 -0
- package/vendor/include/tlx/define/deprecated.hpp +39 -0
- package/vendor/include/tlx/define/endian.hpp +49 -0
- package/vendor/include/tlx/define/likely.hpp +33 -0
- package/vendor/include/tlx/define/visibility_hidden.hpp +34 -0
- package/vendor/include/tlx/define.hpp +36 -0
- package/vendor/include/tlx/delegate.hpp +524 -0
- package/vendor/include/tlx/die/core.hpp +311 -0
- package/vendor/include/tlx/die.hpp +106 -0
- package/vendor/include/tlx/digest/md5.hpp +81 -0
- package/vendor/include/tlx/digest/sha1.hpp +81 -0
- package/vendor/include/tlx/digest/sha256.hpp +81 -0
- package/vendor/include/tlx/digest/sha512.hpp +81 -0
- package/vendor/include/tlx/digest.hpp +30 -0
- package/vendor/include/tlx/logger/all.hpp +33 -0
- package/vendor/include/tlx/logger/array.hpp +43 -0
- package/vendor/include/tlx/logger/core.hpp +287 -0
- package/vendor/include/tlx/logger/deque.hpp +42 -0
- package/vendor/include/tlx/logger/map.hpp +65 -0
- package/vendor/include/tlx/logger/set.hpp +60 -0
- package/vendor/include/tlx/logger/tuple.hpp +66 -0
- package/vendor/include/tlx/logger/unordered_map.hpp +68 -0
- package/vendor/include/tlx/logger/unordered_set.hpp +64 -0
- package/vendor/include/tlx/logger/wrap_unprintable.hpp +75 -0
- package/vendor/include/tlx/logger.hpp +44 -0
- package/vendor/include/tlx/math/abs_diff.hpp +35 -0
- package/vendor/include/tlx/math/aggregate.hpp +231 -0
- package/vendor/include/tlx/math/aggregate_min_max.hpp +116 -0
- package/vendor/include/tlx/math/bswap.hpp +148 -0
- package/vendor/include/tlx/math/bswap_be.hpp +79 -0
- package/vendor/include/tlx/math/bswap_le.hpp +79 -0
- package/vendor/include/tlx/math/clz.hpp +174 -0
- package/vendor/include/tlx/math/ctz.hpp +174 -0
- package/vendor/include/tlx/math/div_ceil.hpp +36 -0
- package/vendor/include/tlx/math/ffs.hpp +123 -0
- package/vendor/include/tlx/math/integer_log2.hpp +189 -0
- package/vendor/include/tlx/math/is_power_of_two.hpp +74 -0
- package/vendor/include/tlx/math/polynomial_regression.hpp +243 -0
- package/vendor/include/tlx/math/popcount.hpp +173 -0
- package/vendor/include/tlx/math/power_to_the.hpp +44 -0
- package/vendor/include/tlx/math/rol.hpp +112 -0
- package/vendor/include/tlx/math/ror.hpp +112 -0
- package/vendor/include/tlx/math/round_to_power_of_two.hpp +121 -0
- package/vendor/include/tlx/math/round_up.hpp +36 -0
- package/vendor/include/tlx/math/sgn.hpp +38 -0
- package/vendor/include/tlx/math.hpp +46 -0
- package/vendor/include/tlx/meta/apply_tuple.hpp +55 -0
- package/vendor/include/tlx/meta/call_for_range.hpp +78 -0
- package/vendor/include/tlx/meta/call_foreach.hpp +60 -0
- package/vendor/include/tlx/meta/call_foreach_tuple.hpp +60 -0
- package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +61 -0
- package/vendor/include/tlx/meta/call_foreach_with_index.hpp +64 -0
- package/vendor/include/tlx/meta/enable_if.hpp +37 -0
- package/vendor/include/tlx/meta/fold_left.hpp +63 -0
- package/vendor/include/tlx/meta/fold_left_tuple.hpp +60 -0
- package/vendor/include/tlx/meta/fold_right.hpp +63 -0
- package/vendor/include/tlx/meta/fold_right_tuple.hpp +60 -0
- package/vendor/include/tlx/meta/function_chain.hpp +197 -0
- package/vendor/include/tlx/meta/function_stack.hpp +189 -0
- package/vendor/include/tlx/meta/has_member.hpp +80 -0
- package/vendor/include/tlx/meta/has_method.hpp +117 -0
- package/vendor/include/tlx/meta/index_sequence.hpp +66 -0
- package/vendor/include/tlx/meta/is_std_array.hpp +40 -0
- package/vendor/include/tlx/meta/is_std_pair.hpp +39 -0
- package/vendor/include/tlx/meta/is_std_tuple.hpp +39 -0
- package/vendor/include/tlx/meta/is_std_vector.hpp +39 -0
- package/vendor/include/tlx/meta/log2.hpp +101 -0
- package/vendor/include/tlx/meta/no_operation.hpp +55 -0
- package/vendor/include/tlx/meta/static_index.hpp +42 -0
- package/vendor/include/tlx/meta/vexpand.hpp +34 -0
- package/vendor/include/tlx/meta/vmap_for_range.hpp +84 -0
- package/vendor/include/tlx/meta/vmap_foreach.hpp +63 -0
- package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +59 -0
- package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +62 -0
- package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +70 -0
- package/vendor/include/tlx/meta.hpp +55 -0
- package/vendor/include/tlx/multi_timer.hpp +148 -0
- package/vendor/include/tlx/port/setenv.hpp +31 -0
- package/vendor/include/tlx/port.hpp +27 -0
- package/vendor/include/tlx/semaphore.hpp +119 -0
- package/vendor/include/tlx/simple_vector.hpp +20 -0
- package/vendor/include/tlx/siphash.hpp +282 -0
- package/vendor/include/tlx/sort/networks/best.hpp +611 -0
- package/vendor/include/tlx/sort/networks/bose_nelson.hpp +412 -0
- package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +507 -0
- package/vendor/include/tlx/sort/networks/cswap.hpp +60 -0
- package/vendor/include/tlx/sort/parallel_mergesort.hpp +398 -0
- package/vendor/include/tlx/sort/strings/insertion_sort.hpp +232 -0
- package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +185 -0
- package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +1647 -0
- package/vendor/include/tlx/sort/strings/radix_sort.hpp +934 -0
- package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +756 -0
- package/vendor/include/tlx/sort/strings/string_ptr.hpp +426 -0
- package/vendor/include/tlx/sort/strings/string_set.hpp +800 -0
- package/vendor/include/tlx/sort/strings.hpp +329 -0
- package/vendor/include/tlx/sort/strings_parallel.hpp +325 -0
- package/vendor/include/tlx/sort.hpp +29 -0
- package/vendor/include/tlx/stack_allocator.hpp +226 -0
- package/vendor/include/tlx/string/appendline.hpp +35 -0
- package/vendor/include/tlx/string/base64.hpp +87 -0
- package/vendor/include/tlx/string/bitdump.hpp +139 -0
- package/vendor/include/tlx/string/compare_icase.hpp +42 -0
- package/vendor/include/tlx/string/contains.hpp +36 -0
- package/vendor/include/tlx/string/contains_word.hpp +42 -0
- package/vendor/include/tlx/string/ends_with.hpp +79 -0
- package/vendor/include/tlx/string/equal_icase.hpp +42 -0
- package/vendor/include/tlx/string/erase_all.hpp +70 -0
- package/vendor/include/tlx/string/escape_html.hpp +34 -0
- package/vendor/include/tlx/string/escape_uri.hpp +34 -0
- package/vendor/include/tlx/string/expand_environment_variables.hpp +49 -0
- package/vendor/include/tlx/string/extract_between.hpp +40 -0
- package/vendor/include/tlx/string/format_iec_units.hpp +32 -0
- package/vendor/include/tlx/string/format_si_iec_units.hpp +19 -0
- package/vendor/include/tlx/string/format_si_units.hpp +32 -0
- package/vendor/include/tlx/string/hash_djb2.hpp +87 -0
- package/vendor/include/tlx/string/hash_sdbm.hpp +86 -0
- package/vendor/include/tlx/string/hexdump.hpp +154 -0
- package/vendor/include/tlx/string/index_of.hpp +56 -0
- package/vendor/include/tlx/string/join.hpp +65 -0
- package/vendor/include/tlx/string/join_generic.hpp +89 -0
- package/vendor/include/tlx/string/join_quoted.hpp +46 -0
- package/vendor/include/tlx/string/less_icase.hpp +64 -0
- package/vendor/include/tlx/string/levenshtein.hpp +193 -0
- package/vendor/include/tlx/string/pad.hpp +39 -0
- package/vendor/include/tlx/string/parse_si_iec_units.hpp +46 -0
- package/vendor/include/tlx/string/parse_uri.hpp +66 -0
- package/vendor/include/tlx/string/parse_uri_form_data.hpp +136 -0
- package/vendor/include/tlx/string/replace.hpp +141 -0
- package/vendor/include/tlx/string/split.hpp +170 -0
- package/vendor/include/tlx/string/split_quoted.hpp +49 -0
- package/vendor/include/tlx/string/split_view.hpp +218 -0
- package/vendor/include/tlx/string/split_words.hpp +53 -0
- package/vendor/include/tlx/string/ssprintf.hpp +45 -0
- package/vendor/include/tlx/string/ssprintf_generic.hpp +95 -0
- package/vendor/include/tlx/string/starts_with.hpp +44 -0
- package/vendor/include/tlx/string/to_lower.hpp +47 -0
- package/vendor/include/tlx/string/to_upper.hpp +47 -0
- package/vendor/include/tlx/string/trim.hpp +298 -0
- package/vendor/include/tlx/string/union_words.hpp +33 -0
- package/vendor/include/tlx/string/word_wrap.hpp +35 -0
- package/vendor/include/tlx/string.hpp +68 -0
- package/vendor/include/tlx/thread_barrier_mutex.hpp +109 -0
- package/vendor/include/tlx/thread_barrier_spin.hpp +127 -0
- package/vendor/include/tlx/thread_pool.hpp +151 -0
- package/vendor/include/tlx/timestamp.hpp +23 -0
- package/vendor/include/tlx/unused.hpp +28 -0
- package/vendor/include/tlx/vector_free.hpp +30 -0
- package/vendor/include/tlx/version.hpp +49 -0
- package/vendor/include/ttmath/ttmath.h +2881 -0
- package/vendor/include/ttmath/ttmathbig.h +6111 -0
- package/vendor/include/ttmath/ttmathdec.h +419 -0
- package/vendor/include/ttmath/ttmathint.h +1923 -0
- package/vendor/include/ttmath/ttmathmisc.h +250 -0
- package/vendor/include/ttmath/ttmathobjects.h +812 -0
- package/vendor/include/ttmath/ttmathparser.h +2791 -0
- package/vendor/include/ttmath/ttmaththreads.h +252 -0
- package/vendor/include/ttmath/ttmathtypes.h +707 -0
- package/vendor/include/ttmath/ttmathuint.h +4190 -0
- package/vendor/include/ttmath/ttmathuint_noasm.h +1038 -0
- package/vendor/include/ttmath/ttmathuint_x86.h +1620 -0
- package/vendor/include/ttmath/ttmathuint_x86_64.h +1177 -0
- package/vendor/lib/cmake/tlx/tlx-config.cmake +51 -0
- package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +19 -0
- package/vendor/lib/cmake/tlx/tlx-targets.cmake +106 -0
- package/vendor/lib/cmake/tlx/tlx-version.cmake +11 -0
- package/vendor/lib/libnetworkit.dylib +0 -0
- package/vendor/lib/libtlx.a +0 -0
- package/vendor/lib/pkgconfig/networkit.pc +11 -0
- package/vendor/lib/pkgconfig/tlx.pc +11 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/string/trim.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2007-2024 Timo Bingmann <tb@panthema.net>
|
|
7
|
+
*
|
|
8
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
9
|
+
******************************************************************************/
|
|
10
|
+
|
|
11
|
+
#ifndef TLX_STRING_TRIM_HEADER
|
|
12
|
+
#define TLX_STRING_TRIM_HEADER
|
|
13
|
+
|
|
14
|
+
#include <tlx/container/string_view.hpp>
|
|
15
|
+
#include <string>
|
|
16
|
+
|
|
17
|
+
namespace tlx {
|
|
18
|
+
|
|
19
|
+
//! \addtogroup tlx_string
|
|
20
|
+
//! \{
|
|
21
|
+
//! \name Trim
|
|
22
|
+
//! \{
|
|
23
|
+
|
|
24
|
+
/******************************************************************************/
|
|
25
|
+
|
|
26
|
+
/*!
|
|
27
|
+
* Trims the given string in-place on the left and right. Removes all
|
|
28
|
+
* characters in the given drop array, which defaults to " \r\n\t".
|
|
29
|
+
*
|
|
30
|
+
* \param str string to process
|
|
31
|
+
* \return reference to the modified string
|
|
32
|
+
*/
|
|
33
|
+
std::string& trim(std::string* str);
|
|
34
|
+
|
|
35
|
+
/*!
|
|
36
|
+
* Trims the given string in-place on the left and right. Removes all
|
|
37
|
+
* characters in the given drop array, which defaults to " \r\n\t".
|
|
38
|
+
*
|
|
39
|
+
* \param str string to process
|
|
40
|
+
* \param drop remove these characters
|
|
41
|
+
* \return reference to the modified string
|
|
42
|
+
*/
|
|
43
|
+
std::string& trim(std::string* str, tlx::string_view drop);
|
|
44
|
+
|
|
45
|
+
/*!
|
|
46
|
+
* Trims the given string in-place on the left and right. Removes all
|
|
47
|
+
* characters equal to the given drop character.
|
|
48
|
+
*
|
|
49
|
+
* \param str string to process
|
|
50
|
+
* \param drop remove this character
|
|
51
|
+
* \return reference to the modified string
|
|
52
|
+
*/
|
|
53
|
+
std::string& trim(std::string* str, char drop);
|
|
54
|
+
|
|
55
|
+
/*!
|
|
56
|
+
* Trims the given string in-place on the left and right. Removes all
|
|
57
|
+
* characters in the given drop array, which defaults to " \r\n\t".
|
|
58
|
+
*
|
|
59
|
+
* \param str string to process
|
|
60
|
+
* \return reference to the modified string
|
|
61
|
+
*/
|
|
62
|
+
tlx::string_view& trim(tlx::string_view* str);
|
|
63
|
+
|
|
64
|
+
/*!
|
|
65
|
+
* Trims the given string in-place on the left and right. Removes all
|
|
66
|
+
* characters in the given drop array, which defaults to " \r\n\t".
|
|
67
|
+
*
|
|
68
|
+
* \param str string to process
|
|
69
|
+
* \param drop remove these characters
|
|
70
|
+
* \return reference to the modified string
|
|
71
|
+
*/
|
|
72
|
+
tlx::string_view& trim(tlx::string_view* str, tlx::string_view drop);
|
|
73
|
+
|
|
74
|
+
/*!
|
|
75
|
+
* Trims the given string in-place on the left and right. Removes all
|
|
76
|
+
* characters equal to the given drop character.
|
|
77
|
+
*
|
|
78
|
+
* \param str string to process
|
|
79
|
+
* \param drop remove this character
|
|
80
|
+
* \return reference to the modified string
|
|
81
|
+
*/
|
|
82
|
+
tlx::string_view& trim(tlx::string_view* str, char drop);
|
|
83
|
+
|
|
84
|
+
/*!
|
|
85
|
+
* Trims the given string in-place on the left and right. Removes all
|
|
86
|
+
* characters in the given drop array, which defaults to " \r\n\t".
|
|
87
|
+
*
|
|
88
|
+
* \param str string to process
|
|
89
|
+
* \return reference to the modified string
|
|
90
|
+
*/
|
|
91
|
+
tlx::string_view trim(tlx::string_view str);
|
|
92
|
+
|
|
93
|
+
/*!
|
|
94
|
+
* Trims the given string in-place on the left and right. Removes all
|
|
95
|
+
* characters in the given drop array, which defaults to " \r\n\t".
|
|
96
|
+
*
|
|
97
|
+
* \param str string to process
|
|
98
|
+
* \param drop remove these characters
|
|
99
|
+
* \return reference to the modified string
|
|
100
|
+
*/
|
|
101
|
+
tlx::string_view trim(tlx::string_view str, tlx::string_view drop);
|
|
102
|
+
|
|
103
|
+
/*!
|
|
104
|
+
* Trims the given string in-place on the left and right. Removes all
|
|
105
|
+
* characters equal to the given drop character.
|
|
106
|
+
*
|
|
107
|
+
* \param str string to process
|
|
108
|
+
* \param drop remove this character
|
|
109
|
+
* \return reference to the modified string
|
|
110
|
+
*/
|
|
111
|
+
tlx::string_view trim(tlx::string_view str, char drop);
|
|
112
|
+
|
|
113
|
+
/******************************************************************************/
|
|
114
|
+
|
|
115
|
+
/*!
|
|
116
|
+
* Trims the given string in-place only on the right. Removes all characters in
|
|
117
|
+
* the given drop array, which defaults to " \r\n\t".
|
|
118
|
+
*
|
|
119
|
+
* \param str string to process
|
|
120
|
+
* \return reference to the modified string
|
|
121
|
+
*/
|
|
122
|
+
std::string& trim_right(std::string* str);
|
|
123
|
+
|
|
124
|
+
/*!
|
|
125
|
+
* Trims the given string in-place only on the right. Removes all characters in
|
|
126
|
+
* the given drop array, which defaults to " \r\n\t".
|
|
127
|
+
*
|
|
128
|
+
* \param str string to process
|
|
129
|
+
* \param drop remove these characters
|
|
130
|
+
* \return reference to the modified string
|
|
131
|
+
*/
|
|
132
|
+
std::string& trim_right(std::string* str, tlx::string_view drop);
|
|
133
|
+
|
|
134
|
+
/*!
|
|
135
|
+
* Trims the given string in-place only on the right. Removes all
|
|
136
|
+
* characters equal to the given drop character.
|
|
137
|
+
*
|
|
138
|
+
* \param str string to process
|
|
139
|
+
* \param drop remove this character
|
|
140
|
+
* \return reference to the modified string
|
|
141
|
+
*/
|
|
142
|
+
std::string& trim_right(std::string* str, char drop);
|
|
143
|
+
|
|
144
|
+
/*!
|
|
145
|
+
* Trims the given string in-place only on the right. Removes all characters in
|
|
146
|
+
* the given drop array, which defaults to " \r\n\t".
|
|
147
|
+
*
|
|
148
|
+
* \param str string to process
|
|
149
|
+
* \return reference to the modified string
|
|
150
|
+
*/
|
|
151
|
+
tlx::string_view& trim_right(tlx::string_view* str);
|
|
152
|
+
|
|
153
|
+
/*!
|
|
154
|
+
* Trims the given string in-place only on the right. Removes all characters in
|
|
155
|
+
* the given drop array, which defaults to " \r\n\t".
|
|
156
|
+
*
|
|
157
|
+
* \param str string to process
|
|
158
|
+
* \param drop remove these characters
|
|
159
|
+
* \return reference to the modified string
|
|
160
|
+
*/
|
|
161
|
+
tlx::string_view& trim_right(tlx::string_view* str, tlx::string_view drop);
|
|
162
|
+
|
|
163
|
+
/*!
|
|
164
|
+
* Trims the given string in-place only on the right. Removes all
|
|
165
|
+
* characters equal to the given drop character.
|
|
166
|
+
*
|
|
167
|
+
* \param str string to process
|
|
168
|
+
* \param drop remove this character
|
|
169
|
+
* \return reference to the modified string
|
|
170
|
+
*/
|
|
171
|
+
tlx::string_view& trim_right(tlx::string_view* str, char drop);
|
|
172
|
+
|
|
173
|
+
/*!
|
|
174
|
+
* Trims the given string only on the right. Removes all characters in the
|
|
175
|
+
* given drop array, which defaults to " \r\n\t". Returns a copy of the string.
|
|
176
|
+
*
|
|
177
|
+
* \param str string to process
|
|
178
|
+
* \return new trimmed string
|
|
179
|
+
*/
|
|
180
|
+
tlx::string_view trim_right(tlx::string_view str);
|
|
181
|
+
|
|
182
|
+
/*!
|
|
183
|
+
* Trims the given string only on the right. Removes all characters in the
|
|
184
|
+
* given drop array, which defaults to " \r\n\t". Returns a copy of the string.
|
|
185
|
+
*
|
|
186
|
+
* \param str string to process
|
|
187
|
+
* \param drop remove these characters
|
|
188
|
+
* \return new trimmed string
|
|
189
|
+
*/
|
|
190
|
+
tlx::string_view trim_right(tlx::string_view str, tlx::string_view drop);
|
|
191
|
+
|
|
192
|
+
/*!
|
|
193
|
+
* Trims the given string only on the right. Removes all
|
|
194
|
+
* characters equal to the given drop character.
|
|
195
|
+
*
|
|
196
|
+
* \param str string to process
|
|
197
|
+
* \param drop remove this character
|
|
198
|
+
* \return new trimmed string
|
|
199
|
+
*/
|
|
200
|
+
tlx::string_view trim_right(tlx::string_view str, char drop);
|
|
201
|
+
|
|
202
|
+
/******************************************************************************/
|
|
203
|
+
|
|
204
|
+
/*!
|
|
205
|
+
* Trims the given string in-place only on the left. Removes all characters in
|
|
206
|
+
* the given drop array, which defaults to " \r\n\t".
|
|
207
|
+
*
|
|
208
|
+
* \param str string to process
|
|
209
|
+
* \return reference to the modified string
|
|
210
|
+
*/
|
|
211
|
+
std::string& trim_left(std::string* str);
|
|
212
|
+
|
|
213
|
+
/*!
|
|
214
|
+
* Trims the given string in-place only on the left. Removes all characters in
|
|
215
|
+
* the given drop array, which defaults to " \r\n\t".
|
|
216
|
+
*
|
|
217
|
+
* \param str string to process
|
|
218
|
+
* \param drop remove these characters
|
|
219
|
+
* \return reference to the modified string
|
|
220
|
+
*/
|
|
221
|
+
std::string& trim_left(std::string* str, tlx::string_view drop);
|
|
222
|
+
|
|
223
|
+
/*!
|
|
224
|
+
* Trims the given string in-place only on the left. Removes all
|
|
225
|
+
* characters equal to the given drop character.
|
|
226
|
+
*
|
|
227
|
+
* \param str string to process
|
|
228
|
+
* \param drop remove this character
|
|
229
|
+
* \return reference to the modified string
|
|
230
|
+
*/
|
|
231
|
+
std::string& trim_left(std::string* str, char drop);
|
|
232
|
+
|
|
233
|
+
/*!
|
|
234
|
+
* Trims the given string in-place only on the left. Removes all characters in
|
|
235
|
+
* the given drop array, which defaults to " \r\n\t".
|
|
236
|
+
*
|
|
237
|
+
* \param str string to process
|
|
238
|
+
* \return reference to the modified string
|
|
239
|
+
*/
|
|
240
|
+
tlx::string_view& trim_left(tlx::string_view* str);
|
|
241
|
+
|
|
242
|
+
/*!
|
|
243
|
+
* Trims the given string in-place only on the left. Removes all characters in
|
|
244
|
+
* the given drop array, which defaults to " \r\n\t".
|
|
245
|
+
*
|
|
246
|
+
* \param str string to process
|
|
247
|
+
* \param drop remove these characters
|
|
248
|
+
* \return reference to the modified string
|
|
249
|
+
*/
|
|
250
|
+
tlx::string_view& trim_left(tlx::string_view* str, tlx::string_view drop);
|
|
251
|
+
|
|
252
|
+
/*!
|
|
253
|
+
* Trims the given string in-place only on the left. Removes all
|
|
254
|
+
* characters equal to the given drop character.
|
|
255
|
+
*
|
|
256
|
+
* \param str string to process
|
|
257
|
+
* \param drop remove this character
|
|
258
|
+
* \return reference to the modified string
|
|
259
|
+
*/
|
|
260
|
+
tlx::string_view& trim_left(tlx::string_view* str, char drop);
|
|
261
|
+
|
|
262
|
+
/*!
|
|
263
|
+
* Trims the given string only on the left. Removes all characters in the given
|
|
264
|
+
* drop array, which defaults to " \r\n\t". Returns a copy of the string.
|
|
265
|
+
*
|
|
266
|
+
* \param str string to process
|
|
267
|
+
* \return new trimmed string
|
|
268
|
+
*/
|
|
269
|
+
tlx::string_view trim_left(tlx::string_view str);
|
|
270
|
+
|
|
271
|
+
/*!
|
|
272
|
+
* Trims the given string only on the left. Removes all characters in the given
|
|
273
|
+
* drop array, which defaults to " \r\n\t". Returns a copy of the string.
|
|
274
|
+
*
|
|
275
|
+
* \param str string to process
|
|
276
|
+
* \param drop remove these characters
|
|
277
|
+
* \return new trimmed string
|
|
278
|
+
*/
|
|
279
|
+
tlx::string_view trim_left(tlx::string_view str, tlx::string_view drop);
|
|
280
|
+
|
|
281
|
+
/*!
|
|
282
|
+
* Trims the given string only on the left. Removes all characters equal to the
|
|
283
|
+
* given drop character. Returns a copy of the string.
|
|
284
|
+
*
|
|
285
|
+
* \param str string to process
|
|
286
|
+
* \param drop remove this character
|
|
287
|
+
* \return new trimmed string
|
|
288
|
+
*/
|
|
289
|
+
tlx::string_view trim_left(tlx::string_view str, char drop);
|
|
290
|
+
|
|
291
|
+
//! \}
|
|
292
|
+
//! \}
|
|
293
|
+
|
|
294
|
+
} // namespace tlx
|
|
295
|
+
|
|
296
|
+
#endif // !TLX_STRING_TRIM_HEADER
|
|
297
|
+
|
|
298
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/string/union_words.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2016-2024 Timo Bingmann <tb@panthema.net>
|
|
7
|
+
*
|
|
8
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
9
|
+
******************************************************************************/
|
|
10
|
+
|
|
11
|
+
#ifndef TLX_STRING_UNION_WORDS_HEADER
|
|
12
|
+
#define TLX_STRING_UNION_WORDS_HEADER
|
|
13
|
+
|
|
14
|
+
#include <tlx/container/string_view.hpp>
|
|
15
|
+
#include <string>
|
|
16
|
+
|
|
17
|
+
namespace tlx {
|
|
18
|
+
|
|
19
|
+
//! \addtogroup tlx_string
|
|
20
|
+
//! \{
|
|
21
|
+
|
|
22
|
+
/*!
|
|
23
|
+
* Return union of two keyword sets.
|
|
24
|
+
*/
|
|
25
|
+
std::string union_words(tlx::string_view wordsA, tlx::string_view wordsB);
|
|
26
|
+
|
|
27
|
+
//! \}
|
|
28
|
+
|
|
29
|
+
} // namespace tlx
|
|
30
|
+
|
|
31
|
+
#endif // !TLX_STRING_UNION_WORDS_HEADER
|
|
32
|
+
|
|
33
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/string/word_wrap.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2016-2024 Timo Bingmann <tb@panthema.net>
|
|
7
|
+
*
|
|
8
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
9
|
+
******************************************************************************/
|
|
10
|
+
|
|
11
|
+
#ifndef TLX_STRING_WORD_WRAP_HEADER
|
|
12
|
+
#define TLX_STRING_WORD_WRAP_HEADER
|
|
13
|
+
|
|
14
|
+
#include <tlx/container/string_view.hpp>
|
|
15
|
+
#include <string>
|
|
16
|
+
|
|
17
|
+
namespace tlx {
|
|
18
|
+
|
|
19
|
+
//! \addtogroup tlx_string
|
|
20
|
+
//! \{
|
|
21
|
+
|
|
22
|
+
/*!
|
|
23
|
+
* Try to wrap a string to 80 columns without split words. All newlines are
|
|
24
|
+
* kept, new newline characters are inserted only at spaces, hence, words are
|
|
25
|
+
* never split. If words longer than 80 columns occur they are NOT broken.
|
|
26
|
+
*/
|
|
27
|
+
std::string word_wrap(tlx::string_view str, unsigned int wrap = 80);
|
|
28
|
+
|
|
29
|
+
//! \}
|
|
30
|
+
|
|
31
|
+
} // namespace tlx
|
|
32
|
+
|
|
33
|
+
#endif // !TLX_STRING_WORD_WRAP_HEADER
|
|
34
|
+
|
|
35
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/string.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2017 Timo Bingmann <tb@panthema.net>
|
|
7
|
+
*
|
|
8
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
9
|
+
******************************************************************************/
|
|
10
|
+
|
|
11
|
+
#ifndef TLX_STRING_HEADER
|
|
12
|
+
#define TLX_STRING_HEADER
|
|
13
|
+
|
|
14
|
+
//! \defgroup tlx_string String Algorithms
|
|
15
|
+
//! Simple string manipulations
|
|
16
|
+
|
|
17
|
+
/*[[[perl
|
|
18
|
+
my %exclude = ("tlx/string/appendline.hpp" => 1,
|
|
19
|
+
"tlx/string/ssprintf_generic.hpp" => 1);
|
|
20
|
+
foreach (grep {!$exclude{$_}} sort glob("tlx/string/"."*.hpp")) {
|
|
21
|
+
print "#include <$_> // NOLINT(misc-include-cleaner)\n"
|
|
22
|
+
}
|
|
23
|
+
]]]*/
|
|
24
|
+
#include <tlx/string/base64.hpp> // NOLINT(misc-include-cleaner)
|
|
25
|
+
#include <tlx/string/bitdump.hpp> // NOLINT(misc-include-cleaner)
|
|
26
|
+
#include <tlx/string/compare_icase.hpp> // NOLINT(misc-include-cleaner)
|
|
27
|
+
#include <tlx/string/contains.hpp> // NOLINT(misc-include-cleaner)
|
|
28
|
+
#include <tlx/string/contains_word.hpp> // NOLINT(misc-include-cleaner)
|
|
29
|
+
#include <tlx/string/ends_with.hpp> // NOLINT(misc-include-cleaner)
|
|
30
|
+
#include <tlx/string/equal_icase.hpp> // NOLINT(misc-include-cleaner)
|
|
31
|
+
#include <tlx/string/erase_all.hpp> // NOLINT(misc-include-cleaner)
|
|
32
|
+
#include <tlx/string/escape_html.hpp> // NOLINT(misc-include-cleaner)
|
|
33
|
+
#include <tlx/string/escape_uri.hpp> // NOLINT(misc-include-cleaner)
|
|
34
|
+
#include <tlx/string/expand_environment_variables.hpp> // NOLINT(misc-include-cleaner)
|
|
35
|
+
#include <tlx/string/extract_between.hpp> // NOLINT(misc-include-cleaner)
|
|
36
|
+
#include <tlx/string/format_iec_units.hpp> // NOLINT(misc-include-cleaner)
|
|
37
|
+
#include <tlx/string/format_si_iec_units.hpp> // NOLINT(misc-include-cleaner)
|
|
38
|
+
#include <tlx/string/format_si_units.hpp> // NOLINT(misc-include-cleaner)
|
|
39
|
+
#include <tlx/string/hash_djb2.hpp> // NOLINT(misc-include-cleaner)
|
|
40
|
+
#include <tlx/string/hash_sdbm.hpp> // NOLINT(misc-include-cleaner)
|
|
41
|
+
#include <tlx/string/hexdump.hpp> // NOLINT(misc-include-cleaner)
|
|
42
|
+
#include <tlx/string/index_of.hpp> // NOLINT(misc-include-cleaner)
|
|
43
|
+
#include <tlx/string/join.hpp> // NOLINT(misc-include-cleaner)
|
|
44
|
+
#include <tlx/string/join_generic.hpp> // NOLINT(misc-include-cleaner)
|
|
45
|
+
#include <tlx/string/join_quoted.hpp> // NOLINT(misc-include-cleaner)
|
|
46
|
+
#include <tlx/string/less_icase.hpp> // NOLINT(misc-include-cleaner)
|
|
47
|
+
#include <tlx/string/levenshtein.hpp> // NOLINT(misc-include-cleaner)
|
|
48
|
+
#include <tlx/string/pad.hpp> // NOLINT(misc-include-cleaner)
|
|
49
|
+
#include <tlx/string/parse_si_iec_units.hpp> // NOLINT(misc-include-cleaner)
|
|
50
|
+
#include <tlx/string/parse_uri.hpp> // NOLINT(misc-include-cleaner)
|
|
51
|
+
#include <tlx/string/parse_uri_form_data.hpp> // NOLINT(misc-include-cleaner)
|
|
52
|
+
#include <tlx/string/replace.hpp> // NOLINT(misc-include-cleaner)
|
|
53
|
+
#include <tlx/string/split.hpp> // NOLINT(misc-include-cleaner)
|
|
54
|
+
#include <tlx/string/split_quoted.hpp> // NOLINT(misc-include-cleaner)
|
|
55
|
+
#include <tlx/string/split_view.hpp> // NOLINT(misc-include-cleaner)
|
|
56
|
+
#include <tlx/string/split_words.hpp> // NOLINT(misc-include-cleaner)
|
|
57
|
+
#include <tlx/string/ssprintf.hpp> // NOLINT(misc-include-cleaner)
|
|
58
|
+
#include <tlx/string/starts_with.hpp> // NOLINT(misc-include-cleaner)
|
|
59
|
+
#include <tlx/string/to_lower.hpp> // NOLINT(misc-include-cleaner)
|
|
60
|
+
#include <tlx/string/to_upper.hpp> // NOLINT(misc-include-cleaner)
|
|
61
|
+
#include <tlx/string/trim.hpp> // NOLINT(misc-include-cleaner)
|
|
62
|
+
#include <tlx/string/union_words.hpp> // NOLINT(misc-include-cleaner)
|
|
63
|
+
#include <tlx/string/word_wrap.hpp> // NOLINT(misc-include-cleaner)
|
|
64
|
+
// [[[end]]]
|
|
65
|
+
|
|
66
|
+
#endif // !TLX_STRING_HEADER
|
|
67
|
+
|
|
68
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/thread_barrier_mutex.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2015-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_THREAD_BARRIER_MUTEX_HEADER
|
|
12
|
+
#define TLX_THREAD_BARRIER_MUTEX_HEADER
|
|
13
|
+
|
|
14
|
+
#include <tlx/meta/no_operation.hpp>
|
|
15
|
+
#include <condition_variable>
|
|
16
|
+
#include <cstddef>
|
|
17
|
+
#include <mutex>
|
|
18
|
+
|
|
19
|
+
namespace tlx {
|
|
20
|
+
|
|
21
|
+
/*!
|
|
22
|
+
* Implements a thread barrier using mutex locking and condition variables that
|
|
23
|
+
* can be used to synchronize threads.
|
|
24
|
+
*/
|
|
25
|
+
class ThreadBarrierMutex
|
|
26
|
+
{
|
|
27
|
+
public:
|
|
28
|
+
/*!
|
|
29
|
+
* Creates a new barrier that waits for n threads.
|
|
30
|
+
*/
|
|
31
|
+
explicit ThreadBarrierMutex(size_t thread_count)
|
|
32
|
+
: thread_count_(thread_count)
|
|
33
|
+
{
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/*!
|
|
37
|
+
* Waits for n threads to arrive.
|
|
38
|
+
*
|
|
39
|
+
* This method blocks and returns as soon as n threads are waiting inside
|
|
40
|
+
* the method. Prior to continuing work, the lambda functor is called by the
|
|
41
|
+
* last thread entering the barrier.
|
|
42
|
+
*/
|
|
43
|
+
template <typename Lambda = NoOperation<void> >
|
|
44
|
+
void wait(Lambda lambda = Lambda())
|
|
45
|
+
{
|
|
46
|
+
std::unique_lock<std::mutex> lock(mutex_);
|
|
47
|
+
|
|
48
|
+
size_t current = step_;
|
|
49
|
+
counts_[current]++;
|
|
50
|
+
|
|
51
|
+
if (counts_[current] < thread_count_)
|
|
52
|
+
{
|
|
53
|
+
while (counts_[current] < thread_count_)
|
|
54
|
+
{
|
|
55
|
+
cv_.wait(lock);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else
|
|
59
|
+
{
|
|
60
|
+
// last thread has reached the barrier
|
|
61
|
+
step_ = step_ ? 0 : 1;
|
|
62
|
+
counts_[step_] = 0;
|
|
63
|
+
lambda();
|
|
64
|
+
cv_.notify_all();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/*!
|
|
69
|
+
* Waits for n threads to arrive. Identical with wait() for
|
|
70
|
+
* ThreadBarrierMutex.
|
|
71
|
+
*
|
|
72
|
+
* This method blocks and returns as soon as n threads are waiting inside
|
|
73
|
+
* the method. Prior to continuing work, the lambda functor is called by the
|
|
74
|
+
* last thread entering the barrier.
|
|
75
|
+
*/
|
|
76
|
+
template <typename Lambda = NoOperation<void> >
|
|
77
|
+
void wait_yield(Lambda lambda = Lambda())
|
|
78
|
+
{
|
|
79
|
+
return wait(lambda);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
//! return generation step bit: 0 or 1
|
|
83
|
+
size_t step() const
|
|
84
|
+
{
|
|
85
|
+
return step_;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
private:
|
|
89
|
+
//! number of threads
|
|
90
|
+
const size_t thread_count_;
|
|
91
|
+
|
|
92
|
+
//! mutex to synchronize access to the counters
|
|
93
|
+
std::mutex mutex_;
|
|
94
|
+
|
|
95
|
+
//! condition variable everyone waits on for the last thread to signal
|
|
96
|
+
std::condition_variable cv_;
|
|
97
|
+
|
|
98
|
+
//! two counters: switch between them every run.
|
|
99
|
+
size_t counts_[2] = {0, 0};
|
|
100
|
+
|
|
101
|
+
//! current counter used.
|
|
102
|
+
size_t step_ = 0;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
} // namespace tlx
|
|
106
|
+
|
|
107
|
+
#endif // !TLX_THREAD_BARRIER_MUTEX_HEADER
|
|
108
|
+
|
|
109
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/thread_barrier_spin.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2015-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_THREAD_BARRIER_SPIN_HEADER
|
|
12
|
+
#define TLX_THREAD_BARRIER_SPIN_HEADER
|
|
13
|
+
|
|
14
|
+
#include <tlx/meta/no_operation.hpp>
|
|
15
|
+
#include <atomic>
|
|
16
|
+
#include <cstddef>
|
|
17
|
+
#include <thread>
|
|
18
|
+
|
|
19
|
+
namespace tlx {
|
|
20
|
+
|
|
21
|
+
/*!
|
|
22
|
+
* Implements a thread barrier using atomics and a spin lock that can be used to
|
|
23
|
+
* synchronize threads.
|
|
24
|
+
*
|
|
25
|
+
* This ThreadBarrier implementation was a lot faster in tests than
|
|
26
|
+
* ThreadBarrierMutex, but ThreadSanitizer shows data races (probably due to the
|
|
27
|
+
* generation counter).
|
|
28
|
+
*/
|
|
29
|
+
class ThreadBarrierSpin
|
|
30
|
+
{
|
|
31
|
+
public:
|
|
32
|
+
/*!
|
|
33
|
+
* Creates a new barrier that waits for n threads.
|
|
34
|
+
*/
|
|
35
|
+
explicit ThreadBarrierSpin(size_t thread_count)
|
|
36
|
+
: thread_count_(thread_count - 1)
|
|
37
|
+
{
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/*!
|
|
41
|
+
* Waits for n threads to arrive. When they have arrive, execute lambda on
|
|
42
|
+
* the one thread, which arrived last. After lambda, step the generation
|
|
43
|
+
* counter.
|
|
44
|
+
*
|
|
45
|
+
* This method blocks and returns as soon as n threads are waiting inside
|
|
46
|
+
* the method.
|
|
47
|
+
*/
|
|
48
|
+
template <typename Lambda = NoOperation<void> >
|
|
49
|
+
void wait(Lambda lambda = Lambda())
|
|
50
|
+
{
|
|
51
|
+
// get synchronization generation step counter.
|
|
52
|
+
size_t this_step = step_.load(std::memory_order_acquire);
|
|
53
|
+
|
|
54
|
+
if (waiting_.fetch_add(1, std::memory_order_acq_rel) == thread_count_)
|
|
55
|
+
{
|
|
56
|
+
// we are the last thread to wait() -> reset and increment step.
|
|
57
|
+
waiting_.store(0, std::memory_order_release);
|
|
58
|
+
// step other generation counters.
|
|
59
|
+
lambda();
|
|
60
|
+
// the following statement releases all threads from busy waiting.
|
|
61
|
+
step_.fetch_add(1, std::memory_order_acq_rel);
|
|
62
|
+
}
|
|
63
|
+
else
|
|
64
|
+
{
|
|
65
|
+
// spin lock awaiting the last thread to increment the step counter.
|
|
66
|
+
while (step_.load(std::memory_order_acquire) == this_step)
|
|
67
|
+
{
|
|
68
|
+
// busy spinning loop
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/*!
|
|
74
|
+
* Waits for n threads to arrive, yield thread while spinning. When they
|
|
75
|
+
* have arrive, execute lambda on the one thread, which arrived last. After
|
|
76
|
+
* lambda, step the generation counter.
|
|
77
|
+
*
|
|
78
|
+
* This method blocks and returns as soon as n threads are waiting inside
|
|
79
|
+
* the method.
|
|
80
|
+
*/
|
|
81
|
+
template <typename Lambda = NoOperation<void> >
|
|
82
|
+
void wait_yield(Lambda lambda = Lambda())
|
|
83
|
+
{
|
|
84
|
+
// get synchronization generation step counter.
|
|
85
|
+
size_t this_step = step_.load(std::memory_order_acquire);
|
|
86
|
+
|
|
87
|
+
if (waiting_.fetch_add(1, std::memory_order_acq_rel) == thread_count_)
|
|
88
|
+
{
|
|
89
|
+
// we are the last thread to wait() -> reset and increment step.
|
|
90
|
+
waiting_.store(0, std::memory_order_release);
|
|
91
|
+
// step other generation counters.
|
|
92
|
+
lambda();
|
|
93
|
+
// the following statement releases all threads from busy waiting.
|
|
94
|
+
step_.fetch_add(1, std::memory_order_acq_rel);
|
|
95
|
+
}
|
|
96
|
+
else
|
|
97
|
+
{
|
|
98
|
+
// spin lock awaiting the last thread to increment the step counter.
|
|
99
|
+
while (step_.load(std::memory_order_acquire) == this_step)
|
|
100
|
+
{
|
|
101
|
+
std::this_thread::yield();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
//! Return generation step counter
|
|
107
|
+
size_t step() const
|
|
108
|
+
{
|
|
109
|
+
return step_.load(std::memory_order_acquire);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
private:
|
|
113
|
+
//! number of threads, minus one due to comparison needed in loop
|
|
114
|
+
const size_t thread_count_;
|
|
115
|
+
|
|
116
|
+
//! number of threads in spin lock
|
|
117
|
+
std::atomic<size_t> waiting_{0};
|
|
118
|
+
|
|
119
|
+
//! barrier synchronization generation
|
|
120
|
+
std::atomic<size_t> step_{0};
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
} // namespace tlx
|
|
124
|
+
|
|
125
|
+
#endif // !TLX_THREAD_BARRIER_SPIN_HEADER
|
|
126
|
+
|
|
127
|
+
/******************************************************************************/
|