@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,805 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/container/string_view.hpp
|
|
3
|
+
*
|
|
4
|
+
* A simplified string_view implementation for portability.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2012-2015 Marshall Clow
|
|
7
|
+
* Copyright (C) 2015 Beman Dawes
|
|
8
|
+
*
|
|
9
|
+
* Based on the StringRef implementation in LLVM (http://llvm.org) and
|
|
10
|
+
* N3422 by Jeffrey Yasskin
|
|
11
|
+
* http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3442.html
|
|
12
|
+
* Updated July 2015 to reflect the Library Fundamentals TS
|
|
13
|
+
* http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4480.html
|
|
14
|
+
*
|
|
15
|
+
* Part of tlx - http://panthema.net/tlx
|
|
16
|
+
*
|
|
17
|
+
* Copyright (C) 2016-2024 Timo Bingmann <tb@panthema.net>
|
|
18
|
+
*
|
|
19
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
20
|
+
******************************************************************************/
|
|
21
|
+
|
|
22
|
+
#ifndef TLX_CONTAINER_STRING_VIEW_HEADER
|
|
23
|
+
#define TLX_CONTAINER_STRING_VIEW_HEADER
|
|
24
|
+
|
|
25
|
+
#include <algorithm>
|
|
26
|
+
#include <cstddef>
|
|
27
|
+
#include <cstdint>
|
|
28
|
+
#include <cstring>
|
|
29
|
+
#include <functional>
|
|
30
|
+
#include <iterator>
|
|
31
|
+
#include <ostream>
|
|
32
|
+
#include <stdexcept>
|
|
33
|
+
#include <string>
|
|
34
|
+
|
|
35
|
+
#if __cplusplus >= 201703L
|
|
36
|
+
#include <string_view>
|
|
37
|
+
#endif
|
|
38
|
+
|
|
39
|
+
namespace tlx {
|
|
40
|
+
|
|
41
|
+
//! \addtogroup tlx_container
|
|
42
|
+
//! \{
|
|
43
|
+
|
|
44
|
+
/*!
|
|
45
|
+
* StringView is a reference to a part of a string, consisting of only a char
|
|
46
|
+
* pointer and a length. It does not have ownership of the substring and is used
|
|
47
|
+
* mainly for temporary objects.
|
|
48
|
+
*/
|
|
49
|
+
class StringView
|
|
50
|
+
{
|
|
51
|
+
public:
|
|
52
|
+
// types
|
|
53
|
+
typedef char value_type;
|
|
54
|
+
typedef char* pointer;
|
|
55
|
+
typedef const char* const_pointer;
|
|
56
|
+
typedef char& reference;
|
|
57
|
+
typedef const char& const_reference;
|
|
58
|
+
typedef const_pointer const_iterator;
|
|
59
|
+
typedef const_iterator iterator;
|
|
60
|
+
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
|
61
|
+
typedef const_reverse_iterator reverse_iterator;
|
|
62
|
+
typedef std::size_t size_type;
|
|
63
|
+
typedef std::ptrdiff_t difference_type;
|
|
64
|
+
|
|
65
|
+
static constexpr size_type npos = size_type(-1);
|
|
66
|
+
|
|
67
|
+
//! default construction
|
|
68
|
+
StringView() noexcept : ptr_(nullptr), size_(0)
|
|
69
|
+
{
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
//! copy construction
|
|
73
|
+
StringView(const StringView& rhs) noexcept = default;
|
|
74
|
+
//! assignment
|
|
75
|
+
StringView& operator=(const StringView& rhs) noexcept = default;
|
|
76
|
+
|
|
77
|
+
//! assign a whole string
|
|
78
|
+
StringView(const std::string& str) noexcept : ptr_(str.data()),
|
|
79
|
+
size_(str.size())
|
|
80
|
+
{
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
//! assign a r-value string
|
|
84
|
+
StringView(std::string&& str) : ptr_(str.data()), size_(str.size())
|
|
85
|
+
{
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
//! assign a C-style string
|
|
89
|
+
StringView(const char* str) noexcept
|
|
90
|
+
: ptr_(str),
|
|
91
|
+
size_(str != nullptr ? std::strlen(str) : 0)
|
|
92
|
+
{
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
//! assign a C-style string with given length
|
|
96
|
+
StringView(const char* str, size_type size) noexcept : ptr_(str),
|
|
97
|
+
size_(size)
|
|
98
|
+
{
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
//! assign a string between two iterators
|
|
102
|
+
StringView(const const_iterator& begin, const const_iterator& end) noexcept
|
|
103
|
+
: StringView(begin, end - begin)
|
|
104
|
+
{
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
//! assign a string iterator with given length
|
|
108
|
+
StringView(const std::string::const_iterator& begin, size_t size) noexcept
|
|
109
|
+
: ptr_(&(*begin)),
|
|
110
|
+
size_(size)
|
|
111
|
+
{
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
//! assign a string between two iterators
|
|
115
|
+
StringView(const std::string::const_iterator& begin,
|
|
116
|
+
const std::string::const_iterator& end) noexcept
|
|
117
|
+
: StringView(begin, end - begin)
|
|
118
|
+
{
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
#if __cplusplus >= 201703L
|
|
122
|
+
//! implicit construction from a std::string_view
|
|
123
|
+
StringView(std::string_view sv) noexcept : StringView(sv.data(), sv.size())
|
|
124
|
+
{
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
//! implicit conversion to std::string_view
|
|
128
|
+
operator std::string_view() const { return std::string_view(data(), size()); }
|
|
129
|
+
#endif
|
|
130
|
+
|
|
131
|
+
//! \name iterators
|
|
132
|
+
//! \{
|
|
133
|
+
|
|
134
|
+
const_iterator begin() const noexcept
|
|
135
|
+
{
|
|
136
|
+
return ptr_;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const_iterator cbegin() const noexcept
|
|
140
|
+
{
|
|
141
|
+
return ptr_;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
const_iterator end() const noexcept
|
|
145
|
+
{
|
|
146
|
+
return ptr_ + size_;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const_iterator cend() const noexcept
|
|
150
|
+
{
|
|
151
|
+
return ptr_ + size_;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const_reverse_iterator rbegin() const noexcept
|
|
155
|
+
{
|
|
156
|
+
return const_reverse_iterator(end());
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const_reverse_iterator crbegin() const noexcept
|
|
160
|
+
{
|
|
161
|
+
return const_reverse_iterator(end());
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
const_reverse_iterator rend() const noexcept
|
|
165
|
+
{
|
|
166
|
+
return const_reverse_iterator(begin());
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const_reverse_iterator crend() const noexcept
|
|
170
|
+
{
|
|
171
|
+
return const_reverse_iterator(begin());
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
//! \}
|
|
175
|
+
|
|
176
|
+
//! \name capacity
|
|
177
|
+
//! \{
|
|
178
|
+
|
|
179
|
+
size_type size() const noexcept
|
|
180
|
+
{
|
|
181
|
+
return size_;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
size_type length() const noexcept
|
|
185
|
+
{
|
|
186
|
+
return size_;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
size_type max_size() const noexcept
|
|
190
|
+
{
|
|
191
|
+
return size_;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
bool empty() const noexcept
|
|
195
|
+
{
|
|
196
|
+
return size_ == 0;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
//! \}
|
|
200
|
+
|
|
201
|
+
//! \name element access
|
|
202
|
+
//! \{
|
|
203
|
+
|
|
204
|
+
const_pointer data() const noexcept
|
|
205
|
+
{
|
|
206
|
+
return ptr_;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
const_reference operator[](size_type pos) const noexcept
|
|
210
|
+
{
|
|
211
|
+
return ptr_[pos];
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
const_reference at(size_t pos) const
|
|
215
|
+
{
|
|
216
|
+
if (pos >= size_)
|
|
217
|
+
throw std::out_of_range("StringView::at");
|
|
218
|
+
return ptr_[pos];
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
const_reference front() const
|
|
222
|
+
{
|
|
223
|
+
return ptr_[0];
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
const_reference back() const
|
|
227
|
+
{
|
|
228
|
+
return ptr_[size_ - 1];
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
//! \}
|
|
232
|
+
|
|
233
|
+
//! \name modifiers
|
|
234
|
+
//! \{
|
|
235
|
+
|
|
236
|
+
void clear() noexcept
|
|
237
|
+
{
|
|
238
|
+
size_ = 0;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
void remove_prefix(size_type n)
|
|
242
|
+
{
|
|
243
|
+
if (n > size_)
|
|
244
|
+
n = size_;
|
|
245
|
+
ptr_ += n;
|
|
246
|
+
size_ -= n;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
void remove_suffix(size_type n)
|
|
250
|
+
{
|
|
251
|
+
if (n > size_)
|
|
252
|
+
n = size_;
|
|
253
|
+
size_ -= n;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
void swap(StringView& s) noexcept
|
|
257
|
+
{
|
|
258
|
+
std::swap(ptr_, s.ptr_);
|
|
259
|
+
std::swap(size_, s.size_);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
//! \}
|
|
263
|
+
|
|
264
|
+
// StringView string operations
|
|
265
|
+
explicit operator std::string() const
|
|
266
|
+
{
|
|
267
|
+
return std::string(begin(), end());
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
//! Returns the data of this StringView as a std::string
|
|
271
|
+
std::string to_string() const
|
|
272
|
+
{
|
|
273
|
+
return std::string(ptr_, size_);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
size_type copy(char* s, size_type n, size_type pos = 0) const
|
|
277
|
+
{
|
|
278
|
+
if (pos > size())
|
|
279
|
+
throw std::out_of_range("StringView::copy");
|
|
280
|
+
size_type rsize = std::min(n, size_ - pos);
|
|
281
|
+
std::copy(data(), data() + rsize, s);
|
|
282
|
+
return rsize;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
StringView substr(size_type pos, size_type n = npos) const
|
|
286
|
+
{
|
|
287
|
+
if (pos > size())
|
|
288
|
+
throw std::out_of_range("StringView::substr");
|
|
289
|
+
return StringView(data() + pos, (std::min)(size() - pos, n));
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
//! \name comparisons
|
|
293
|
+
//! \{
|
|
294
|
+
|
|
295
|
+
int compare(StringView x) const noexcept
|
|
296
|
+
{
|
|
297
|
+
const int cmp = std::strncmp(ptr_, x.ptr_, std::min(size_, x.size_));
|
|
298
|
+
return cmp != 0 ? cmp :
|
|
299
|
+
(size_ == x.size_ ? 0 :
|
|
300
|
+
size_ < x.size_ ? -1 :
|
|
301
|
+
1);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
int compare(size_type pos1, size_type n1, StringView x) const noexcept
|
|
305
|
+
{
|
|
306
|
+
return substr(pos1, n1).compare(x);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
int compare(size_type pos1, size_type n1, StringView x, size_type pos2,
|
|
310
|
+
size_type n2) const
|
|
311
|
+
{
|
|
312
|
+
return substr(pos1, n1).compare(x.substr(pos2, n2));
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
int compare(const char* x) const
|
|
316
|
+
{
|
|
317
|
+
return compare(StringView(x));
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
int compare(size_type pos1, size_type n1, const char* x) const
|
|
321
|
+
{
|
|
322
|
+
return substr(pos1, n1).compare(StringView(x));
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
int compare(size_type pos1, size_type n1, const char* x, size_type n2) const
|
|
326
|
+
{
|
|
327
|
+
return substr(pos1, n1).compare(StringView(x, n2));
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
//! \}
|
|
331
|
+
|
|
332
|
+
//! \name comparison operators
|
|
333
|
+
//! \{
|
|
334
|
+
|
|
335
|
+
//! Equality operator to compare a StringView with another StringView
|
|
336
|
+
bool operator==(const StringView& other) const noexcept
|
|
337
|
+
{
|
|
338
|
+
return size_ == other.size_ &&
|
|
339
|
+
std::equal(ptr_, ptr_ + size_, other.ptr_);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
//! Inequality operator to compare a StringView with another StringView
|
|
343
|
+
bool operator!=(const StringView& other) const noexcept
|
|
344
|
+
{
|
|
345
|
+
return !(operator==(other));
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
//! Less operator to compare a StringView with another StringView
|
|
349
|
+
//! lexicographically
|
|
350
|
+
bool operator<(const StringView& other) const noexcept
|
|
351
|
+
{
|
|
352
|
+
return std::lexicographical_compare(ptr_, ptr_ + size_, other.ptr_,
|
|
353
|
+
other.ptr_ + other.size_);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
//! Greater than
|
|
357
|
+
bool operator>(const StringView& other) const noexcept
|
|
358
|
+
{
|
|
359
|
+
return other.operator<(*this);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
//! Less than or equal to
|
|
363
|
+
bool operator<=(const StringView& other) const noexcept
|
|
364
|
+
{
|
|
365
|
+
return !other.operator<(*this);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
//! Less than or equal to
|
|
369
|
+
bool operator>=(const StringView& other) const noexcept
|
|
370
|
+
{
|
|
371
|
+
return !operator<(other);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
//! \}
|
|
375
|
+
|
|
376
|
+
//! \name searches
|
|
377
|
+
//! \{
|
|
378
|
+
|
|
379
|
+
bool starts_with(char c) const noexcept
|
|
380
|
+
{
|
|
381
|
+
return !empty() && c == front();
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
bool starts_with(StringView x) const noexcept
|
|
385
|
+
{
|
|
386
|
+
return size_ >= x.size_ && std::equal(ptr_, ptr_ + x.size_, x.ptr_);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
bool ends_with(char c) const noexcept
|
|
390
|
+
{
|
|
391
|
+
return !empty() && c == back();
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
bool ends_with(StringView x) const noexcept
|
|
395
|
+
{
|
|
396
|
+
return size_ >= x.size_ &&
|
|
397
|
+
std::equal(ptr_ + size_ - x.size_, ptr_ + size_, x.ptr_);
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
//! \}
|
|
401
|
+
|
|
402
|
+
//! \name find
|
|
403
|
+
//! \{
|
|
404
|
+
|
|
405
|
+
size_type find(StringView s, size_type pos = 0) const noexcept
|
|
406
|
+
{
|
|
407
|
+
if (pos > size())
|
|
408
|
+
return npos;
|
|
409
|
+
if (s.empty())
|
|
410
|
+
return pos;
|
|
411
|
+
const_iterator iter =
|
|
412
|
+
std::search(cbegin() + pos, cend(), s.cbegin(), s.cend());
|
|
413
|
+
return iter == cend() ? npos : std::distance(cbegin(), iter);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
size_type find(char c, size_type pos = 0) const noexcept
|
|
417
|
+
{
|
|
418
|
+
return find(StringView(&c, 1), pos);
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
size_type find(const char* s, size_type pos, size_type n) const noexcept
|
|
422
|
+
{
|
|
423
|
+
return find(StringView(s, n), pos);
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
size_type find(const char* s, size_type pos = 0) const noexcept
|
|
427
|
+
{
|
|
428
|
+
return find(StringView(s), pos);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
//! \}
|
|
432
|
+
|
|
433
|
+
//! \name rfind
|
|
434
|
+
//! \{
|
|
435
|
+
|
|
436
|
+
size_type rfind(StringView s, size_type pos = npos) const noexcept
|
|
437
|
+
{
|
|
438
|
+
if (size_ < s.size_)
|
|
439
|
+
return npos;
|
|
440
|
+
if (pos > size_ - s.size_)
|
|
441
|
+
pos = size_ - s.size_;
|
|
442
|
+
if (s.size_ == 0U) // an empty string is always found
|
|
443
|
+
return pos;
|
|
444
|
+
for (const char* cur = ptr_ + pos;; --cur)
|
|
445
|
+
{
|
|
446
|
+
if (std::strncmp(cur, s.ptr_, s.size_) == 0)
|
|
447
|
+
return cur - ptr_;
|
|
448
|
+
if (cur == ptr_)
|
|
449
|
+
return npos;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
size_type rfind(char c, size_type pos = npos) const noexcept
|
|
454
|
+
{
|
|
455
|
+
return rfind(StringView(&c, 1), pos);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
size_type rfind(const char* s, size_type pos, size_type n) const noexcept
|
|
459
|
+
{
|
|
460
|
+
return rfind(StringView(s, n), pos);
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
size_type rfind(const char* s, size_type pos = npos) const noexcept
|
|
464
|
+
{
|
|
465
|
+
return rfind(StringView(s), pos);
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
//! \}
|
|
469
|
+
|
|
470
|
+
//! \name find_first_of
|
|
471
|
+
//! \{
|
|
472
|
+
|
|
473
|
+
size_type find_first_of(StringView s, size_type pos = 0) const noexcept
|
|
474
|
+
{
|
|
475
|
+
if (pos >= size_ || s.size_ == 0)
|
|
476
|
+
return npos;
|
|
477
|
+
const_iterator iter =
|
|
478
|
+
std::find_first_of(cbegin() + pos, cend(), s.cbegin(), s.cend());
|
|
479
|
+
return iter == cend() ? npos : std::distance(cbegin(), iter);
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
size_type find_first_of(char c, size_type pos = 0) const noexcept
|
|
483
|
+
{
|
|
484
|
+
return find_first_of(StringView(&c, 1), pos);
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
size_type find_first_of(const char* s, size_type pos,
|
|
488
|
+
size_type n) const noexcept
|
|
489
|
+
{
|
|
490
|
+
return find_first_of(StringView(s, n), pos);
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
size_type find_first_of(const char* s, size_type pos = 0) const noexcept
|
|
494
|
+
{
|
|
495
|
+
return find_first_of(StringView(s), pos);
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
//! \}
|
|
499
|
+
|
|
500
|
+
//! \name find_last_of
|
|
501
|
+
//! \{
|
|
502
|
+
|
|
503
|
+
size_type find_last_of(StringView s, size_type pos = npos) const noexcept
|
|
504
|
+
{
|
|
505
|
+
if (s.size_ == 0U)
|
|
506
|
+
return npos;
|
|
507
|
+
if (pos >= size_)
|
|
508
|
+
pos = 0;
|
|
509
|
+
else
|
|
510
|
+
pos = size_ - (pos + 1);
|
|
511
|
+
const_reverse_iterator iter =
|
|
512
|
+
std::find_first_of(crbegin() + pos, crend(), s.cbegin(), s.cend());
|
|
513
|
+
return iter == crend() ? npos : reverse_distance(crbegin(), iter);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
size_type find_last_of(char c, size_type pos = npos) const noexcept
|
|
517
|
+
{
|
|
518
|
+
return find_last_of(StringView(&c, 1), pos);
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
size_type find_last_of(const char* s, size_type pos,
|
|
522
|
+
size_type n) const noexcept
|
|
523
|
+
{
|
|
524
|
+
return find_last_of(StringView(s, n), pos);
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
size_type find_last_of(const char* s, size_type pos = npos) const noexcept
|
|
528
|
+
{
|
|
529
|
+
return find_last_of(StringView(s), pos);
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
//! \}
|
|
533
|
+
|
|
534
|
+
//! \name find_first_not_of
|
|
535
|
+
//! \{
|
|
536
|
+
|
|
537
|
+
size_type find_first_not_of(StringView s, size_type pos = 0) const noexcept
|
|
538
|
+
{
|
|
539
|
+
if (pos >= size_)
|
|
540
|
+
return npos;
|
|
541
|
+
if (s.size_ == 0)
|
|
542
|
+
return pos;
|
|
543
|
+
const_iterator iter = find_not_of(cbegin() + pos, cend(), s);
|
|
544
|
+
return iter == cend() ? npos : std::distance(cbegin(), iter);
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
size_type find_first_not_of(char c, size_type pos = 0) const noexcept
|
|
548
|
+
{
|
|
549
|
+
return find_first_not_of(StringView(&c, 1), pos);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
size_type find_first_not_of(const char* s, size_type pos,
|
|
553
|
+
size_type n) const noexcept
|
|
554
|
+
{
|
|
555
|
+
return find_first_not_of(StringView(s, n), pos);
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
size_type find_first_not_of(const char* s, size_type pos = 0) const noexcept
|
|
559
|
+
{
|
|
560
|
+
return find_first_not_of(StringView(s), pos);
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
//! \}
|
|
564
|
+
|
|
565
|
+
//! \name find_last_not_of
|
|
566
|
+
//! \{
|
|
567
|
+
|
|
568
|
+
size_type find_last_not_of(StringView s,
|
|
569
|
+
size_type pos = npos) const noexcept
|
|
570
|
+
{
|
|
571
|
+
if (pos >= size_)
|
|
572
|
+
pos = size_ - 1;
|
|
573
|
+
if (s.size_ == 0U)
|
|
574
|
+
return pos;
|
|
575
|
+
pos = size_ - (pos + 1);
|
|
576
|
+
const_reverse_iterator iter = find_not_of(crbegin() + pos, crend(), s);
|
|
577
|
+
return iter == crend() ? npos : reverse_distance(crbegin(), iter);
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
size_type find_last_not_of(char c, size_type pos = npos) const noexcept
|
|
581
|
+
{
|
|
582
|
+
return find_last_not_of(StringView(&c, 1), pos);
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
size_type find_last_not_of(const char* s, size_type pos,
|
|
586
|
+
size_type n) const noexcept
|
|
587
|
+
{
|
|
588
|
+
return find_last_not_of(StringView(s, n), pos);
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
size_type find_last_not_of(const char* s,
|
|
592
|
+
size_type pos = npos) const noexcept
|
|
593
|
+
{
|
|
594
|
+
return find_last_not_of(StringView(s), pos);
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
//! \}
|
|
598
|
+
|
|
599
|
+
// ostream
|
|
600
|
+
friend std::ostream& operator<<(std::ostream& os, const StringView& v)
|
|
601
|
+
{
|
|
602
|
+
os.write(v.data(), v.size());
|
|
603
|
+
return os;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
private:
|
|
607
|
+
template <typename r_iter>
|
|
608
|
+
size_type reverse_distance(r_iter first, r_iter last) const noexcept
|
|
609
|
+
{
|
|
610
|
+
// Portability note here: std::distance is not NOEXCEPT, but calling it
|
|
611
|
+
// with a StringView::reverse_iterator will not throw.
|
|
612
|
+
return size_ - 1 - std::distance(first, last);
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
template <typename Iterator>
|
|
616
|
+
Iterator find_not_of(Iterator first, Iterator last,
|
|
617
|
+
StringView s) const noexcept
|
|
618
|
+
{
|
|
619
|
+
for (; first != last; ++first)
|
|
620
|
+
if (0 == std::char_traits<char>::find(s.ptr_, s.size_, *first))
|
|
621
|
+
return first;
|
|
622
|
+
return last;
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
const char* ptr_;
|
|
626
|
+
size_type size_;
|
|
627
|
+
};
|
|
628
|
+
|
|
629
|
+
/*----------------------------------------------------------------------------*/
|
|
630
|
+
|
|
631
|
+
//! make alias due to STL similarity
|
|
632
|
+
using string_view = StringView;
|
|
633
|
+
|
|
634
|
+
/*----------------------------------------------------------------------------*/
|
|
635
|
+
// comparison operators: StringView with std::string
|
|
636
|
+
|
|
637
|
+
//! equality operator to compare a StringView with a std::string
|
|
638
|
+
static inline bool operator==(const StringView& a,
|
|
639
|
+
const std::string& b) noexcept
|
|
640
|
+
{
|
|
641
|
+
return a.size() == b.size() && std::equal(a.begin(), a.end(), b.begin());
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
//! equality operator to compare a StringView with a std::string
|
|
645
|
+
static inline bool operator==(const std::string& a,
|
|
646
|
+
const StringView& b) noexcept
|
|
647
|
+
{
|
|
648
|
+
return a.size() == b.size() && std::equal(a.begin(), a.end(), b.begin());
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
//! inequality operator to compare a StringView with a std::string
|
|
652
|
+
static inline bool operator!=(const StringView& a,
|
|
653
|
+
const std::string& b) noexcept
|
|
654
|
+
{
|
|
655
|
+
return !(a.operator==(b));
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
//! inequality operator to compare a StringView with a std::string
|
|
659
|
+
static inline bool operator!=(const std::string& a,
|
|
660
|
+
const StringView& b) noexcept
|
|
661
|
+
{
|
|
662
|
+
return !(b.operator==(a));
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
//! less operator to compare a StringView with a std::string
|
|
666
|
+
//! lexicographically
|
|
667
|
+
static inline bool operator<(const StringView& a, const std::string& b) noexcept
|
|
668
|
+
{
|
|
669
|
+
return std::lexicographical_compare(a.begin(), a.end(), b.begin(), b.end());
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
//! less operator to compare a StringView with a std::string
|
|
673
|
+
//! lexicographically
|
|
674
|
+
static inline bool operator<(const std::string& a, const StringView& b) noexcept
|
|
675
|
+
{
|
|
676
|
+
return std::lexicographical_compare(a.begin(), a.end(), b.begin(), b.end());
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
static inline bool operator>(const StringView& x, const std::string& y) noexcept
|
|
680
|
+
{
|
|
681
|
+
return x > StringView(y);
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
static inline bool operator>(const std::string& x, const StringView& y) noexcept
|
|
685
|
+
{
|
|
686
|
+
return StringView(x) > y;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
static inline bool operator<=(const StringView& x,
|
|
690
|
+
const std::string& y) noexcept
|
|
691
|
+
{
|
|
692
|
+
return x <= StringView(y);
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
static inline bool operator<=(const std::string& x,
|
|
696
|
+
const StringView& y) noexcept
|
|
697
|
+
{
|
|
698
|
+
return StringView(x) <= y;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
static inline bool operator>=(const StringView& x,
|
|
702
|
+
const std::string& y) noexcept
|
|
703
|
+
{
|
|
704
|
+
return x >= StringView(y);
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
static inline bool operator>=(const std::string& x,
|
|
708
|
+
const StringView& y) noexcept
|
|
709
|
+
{
|
|
710
|
+
return StringView(x) >= y;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
/*----------------------------------------------------------------------------*/
|
|
714
|
+
// comparison operators: StringView with const char*
|
|
715
|
+
|
|
716
|
+
//! equality operator to compare a StringView with a const char*
|
|
717
|
+
static inline bool operator==(const StringView& x, const char* y) noexcept
|
|
718
|
+
{
|
|
719
|
+
return x == StringView(y);
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
//! equality operator to compare a StringView with a const char*
|
|
723
|
+
static inline bool operator==(const char* x, const StringView& y) noexcept
|
|
724
|
+
{
|
|
725
|
+
return StringView(x) == y;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
//! inequality operator to compare a StringView with a const char*
|
|
729
|
+
static inline bool operator!=(const StringView& x, const char* y) noexcept
|
|
730
|
+
{
|
|
731
|
+
return x != StringView(y);
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
//! inequality operator to compare a StringView with a const char*
|
|
735
|
+
static inline bool operator!=(const char* x, const StringView& y) noexcept
|
|
736
|
+
{
|
|
737
|
+
return StringView(x) != y;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
static inline bool operator<(const StringView& x, const char* y) noexcept
|
|
741
|
+
{
|
|
742
|
+
return x < StringView(y);
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
static inline bool operator<(const char* x, const StringView& y) noexcept
|
|
746
|
+
{
|
|
747
|
+
return StringView(x) < y;
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
static inline bool operator>(const StringView& x, const char* y) noexcept
|
|
751
|
+
{
|
|
752
|
+
return x > StringView(y);
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
static inline bool operator>(const char* x, const StringView& y) noexcept
|
|
756
|
+
{
|
|
757
|
+
return StringView(x) > y;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
static inline bool operator<=(const StringView& x, const char* y) noexcept
|
|
761
|
+
{
|
|
762
|
+
return x <= StringView(y);
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
static inline bool operator<=(const char* x, const StringView& y) noexcept
|
|
766
|
+
{
|
|
767
|
+
return StringView(x) <= y;
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
static inline bool operator>=(const StringView& x, const char* y) noexcept
|
|
771
|
+
{
|
|
772
|
+
return x >= StringView(y);
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
static inline bool operator>=(const char* x, const StringView& y) noexcept
|
|
776
|
+
{
|
|
777
|
+
return StringView(x) >= y;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
//! \}
|
|
781
|
+
|
|
782
|
+
} // namespace tlx
|
|
783
|
+
|
|
784
|
+
namespace std {
|
|
785
|
+
template <>
|
|
786
|
+
struct hash<tlx::StringView>
|
|
787
|
+
{
|
|
788
|
+
size_t operator()(const tlx::StringView& sv) const
|
|
789
|
+
{
|
|
790
|
+
std::uint32_t h = 5381;
|
|
791
|
+
for (tlx::StringView::const_iterator it = sv.begin(); it != sv.end();
|
|
792
|
+
++it)
|
|
793
|
+
{
|
|
794
|
+
// hash * 33 + c
|
|
795
|
+
h = ((h << 5) + h) + static_cast<unsigned char>(*it);
|
|
796
|
+
}
|
|
797
|
+
return h;
|
|
798
|
+
}
|
|
799
|
+
};
|
|
800
|
+
|
|
801
|
+
} // namespace std
|
|
802
|
+
|
|
803
|
+
#endif // !TLX_CONTAINER_STRING_VIEW_HEADER
|
|
804
|
+
|
|
805
|
+
/******************************************************************************/
|