@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.
Files changed (624) hide show
  1. package/README.md +14 -0
  2. package/binding.gyp +54 -0
  3. package/build/Release/.deps/Release/icebug.node.d +1 -0
  4. package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +291 -0
  5. package/build/Release/icebug.node +0 -0
  6. package/build/Release/obj.target/icebug/src/addon.o +0 -0
  7. package/lib/index.d.ts +361 -0
  8. package/lib/index.js +102 -0
  9. package/package.json +42 -0
  10. package/src/addon.cpp +1253 -0
  11. package/vendor/include/networkit/GlobalState.hpp +86 -0
  12. package/vendor/include/networkit/Globals.hpp +41 -0
  13. package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +27 -0
  14. package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +1292 -0
  15. package/vendor/include/networkit/algebraic/CSRMatrix.hpp +11 -0
  16. package/vendor/include/networkit/algebraic/DenseMatrix.hpp +537 -0
  17. package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +514 -0
  18. package/vendor/include/networkit/algebraic/GraphBLAS.hpp +323 -0
  19. package/vendor/include/networkit/algebraic/MatrixTools.hpp +156 -0
  20. package/vendor/include/networkit/algebraic/Semirings.hpp +171 -0
  21. package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +111 -0
  22. package/vendor/include/networkit/algebraic/Vector.hpp +371 -0
  23. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +72 -0
  24. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +88 -0
  25. package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +96 -0
  26. package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +145 -0
  27. package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +122 -0
  28. package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +76 -0
  29. package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +113 -0
  30. package/vendor/include/networkit/auxiliary/ArrayTools.hpp +85 -0
  31. package/vendor/include/networkit/auxiliary/BloomFilter.hpp +70 -0
  32. package/vendor/include/networkit/auxiliary/BucketPQ.hpp +142 -0
  33. package/vendor/include/networkit/auxiliary/Enforce.hpp +117 -0
  34. package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +74 -0
  35. package/vendor/include/networkit/auxiliary/HashUtils.hpp +28 -0
  36. package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +52 -0
  37. package/vendor/include/networkit/auxiliary/Log.hpp +119 -0
  38. package/vendor/include/networkit/auxiliary/MissingMath.hpp +48 -0
  39. package/vendor/include/networkit/auxiliary/Multiprecision.hpp +17 -0
  40. package/vendor/include/networkit/auxiliary/NumberParsing.hpp +307 -0
  41. package/vendor/include/networkit/auxiliary/NumericTools.hpp +57 -0
  42. package/vendor/include/networkit/auxiliary/Parallel.hpp +56 -0
  43. package/vendor/include/networkit/auxiliary/Parallelism.hpp +33 -0
  44. package/vendor/include/networkit/auxiliary/PrioQueue.hpp +252 -0
  45. package/vendor/include/networkit/auxiliary/Random.hpp +122 -0
  46. package/vendor/include/networkit/auxiliary/SetIntersector.hpp +72 -0
  47. package/vendor/include/networkit/auxiliary/SignalHandling.hpp +39 -0
  48. package/vendor/include/networkit/auxiliary/SortedList.hpp +128 -0
  49. package/vendor/include/networkit/auxiliary/SparseVector.hpp +215 -0
  50. package/vendor/include/networkit/auxiliary/SpinLock.hpp +23 -0
  51. package/vendor/include/networkit/auxiliary/StringBuilder.hpp +322 -0
  52. package/vendor/include/networkit/auxiliary/StringTools.hpp +76 -0
  53. package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +76 -0
  54. package/vendor/include/networkit/auxiliary/Timer.hpp +145 -0
  55. package/vendor/include/networkit/auxiliary/VectorComparator.hpp +32 -0
  56. package/vendor/include/networkit/base/Algorithm.hpp +41 -0
  57. package/vendor/include/networkit/base/DynAlgorithm.hpp +31 -0
  58. package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +62 -0
  59. package/vendor/include/networkit/centrality/ApproxCloseness.hpp +136 -0
  60. package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +156 -0
  61. package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +124 -0
  62. package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +84 -0
  63. package/vendor/include/networkit/centrality/Betweenness.hpp +47 -0
  64. package/vendor/include/networkit/centrality/Centrality.hpp +98 -0
  65. package/vendor/include/networkit/centrality/Closeness.hpp +107 -0
  66. package/vendor/include/networkit/centrality/ComplexPaths.hpp +113 -0
  67. package/vendor/include/networkit/centrality/CoreDecomposition.hpp +161 -0
  68. package/vendor/include/networkit/centrality/DegreeCentrality.hpp +55 -0
  69. package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +95 -0
  70. package/vendor/include/networkit/centrality/DynBetweenness.hpp +99 -0
  71. package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +98 -0
  72. package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +115 -0
  73. package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +223 -0
  74. package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +41 -0
  75. package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +51 -0
  76. package/vendor/include/networkit/centrality/ForestCentrality.hpp +112 -0
  77. package/vendor/include/networkit/centrality/GedWalk.hpp +225 -0
  78. package/vendor/include/networkit/centrality/GroupCloseness.hpp +115 -0
  79. package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +78 -0
  80. package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +77 -0
  81. package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +106 -0
  82. package/vendor/include/networkit/centrality/GroupDegree.hpp +155 -0
  83. package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +83 -0
  84. package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +48 -0
  85. package/vendor/include/networkit/centrality/KPathCentrality.hpp +52 -0
  86. package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +242 -0
  87. package/vendor/include/networkit/centrality/KatzCentrality.hpp +62 -0
  88. package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +44 -0
  89. package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +60 -0
  90. package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +43 -0
  91. package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +42 -0
  92. package/vendor/include/networkit/centrality/PageRank.hpp +101 -0
  93. package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +48 -0
  94. package/vendor/include/networkit/centrality/Sfigality.hpp +45 -0
  95. package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +86 -0
  96. package/vendor/include/networkit/centrality/TopCloseness.hpp +136 -0
  97. package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +151 -0
  98. package/vendor/include/networkit/clique/MaximalCliques.hpp +83 -0
  99. package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +59 -0
  100. package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +156 -0
  101. package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +57 -0
  102. package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +43 -0
  103. package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +33 -0
  104. package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +62 -0
  105. package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +31 -0
  106. package/vendor/include/networkit/community/ClusteringGenerator.hpp +75 -0
  107. package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +58 -0
  108. package/vendor/include/networkit/community/Conductance.hpp +32 -0
  109. package/vendor/include/networkit/community/CoverF1Similarity.hpp +53 -0
  110. package/vendor/include/networkit/community/CoverHubDominance.hpp +38 -0
  111. package/vendor/include/networkit/community/Coverage.hpp +25 -0
  112. package/vendor/include/networkit/community/CutClustering.hpp +62 -0
  113. package/vendor/include/networkit/community/DissimilarityMeasure.hpp +31 -0
  114. package/vendor/include/networkit/community/DynamicNMIDistance.hpp +44 -0
  115. package/vendor/include/networkit/community/EdgeCut.hpp +24 -0
  116. package/vendor/include/networkit/community/GraphClusteringTools.hpp +103 -0
  117. package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +28 -0
  118. package/vendor/include/networkit/community/HubDominance.hpp +46 -0
  119. package/vendor/include/networkit/community/IntrapartitionDensity.hpp +44 -0
  120. package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +40 -0
  121. package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +40 -0
  122. package/vendor/include/networkit/community/JaccardMeasure.hpp +25 -0
  123. package/vendor/include/networkit/community/LFM.hpp +49 -0
  124. package/vendor/include/networkit/community/LPDegreeOrdered.hpp +48 -0
  125. package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +100 -0
  126. package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +31 -0
  127. package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +31 -0
  128. package/vendor/include/networkit/community/LouvainMapEquation.hpp +135 -0
  129. package/vendor/include/networkit/community/Modularity.hpp +54 -0
  130. package/vendor/include/networkit/community/NMIDistance.hpp +28 -0
  131. package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +27 -0
  132. package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +51 -0
  133. package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +175 -0
  134. package/vendor/include/networkit/community/PLM.hpp +89 -0
  135. package/vendor/include/networkit/community/PLP.hpp +83 -0
  136. package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +37 -0
  137. package/vendor/include/networkit/community/ParallelLeiden.hpp +96 -0
  138. package/vendor/include/networkit/community/ParallelLeidenView.hpp +138 -0
  139. package/vendor/include/networkit/community/PartitionFragmentation.hpp +30 -0
  140. package/vendor/include/networkit/community/PartitionHubDominance.hpp +37 -0
  141. package/vendor/include/networkit/community/PartitionIntersection.hpp +25 -0
  142. package/vendor/include/networkit/community/QualityMeasure.hpp +27 -0
  143. package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +40 -0
  144. package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +40 -0
  145. package/vendor/include/networkit/community/StablePartitionNodes.hpp +48 -0
  146. package/vendor/include/networkit/components/BiconnectedComponents.hpp +116 -0
  147. package/vendor/include/networkit/components/ComponentDecomposition.hpp +72 -0
  148. package/vendor/include/networkit/components/ConnectedComponents.hpp +55 -0
  149. package/vendor/include/networkit/components/DynConnectedComponents.hpp +71 -0
  150. package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +73 -0
  151. package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +44 -0
  152. package/vendor/include/networkit/components/RandomSpanningForest.hpp +36 -0
  153. package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +50 -0
  154. package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +59 -0
  155. package/vendor/include/networkit/correlation/Assortativity.hpp +64 -0
  156. package/vendor/include/networkit/distance/APSP.hpp +70 -0
  157. package/vendor/include/networkit/distance/AStar.hpp +68 -0
  158. package/vendor/include/networkit/distance/AStarGeneral.hpp +110 -0
  159. package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +52 -0
  160. package/vendor/include/networkit/distance/AffectedNodes.hpp +130 -0
  161. package/vendor/include/networkit/distance/AlgebraicDistance.hpp +63 -0
  162. package/vendor/include/networkit/distance/BFS.hpp +43 -0
  163. package/vendor/include/networkit/distance/BidirectionalBFS.hpp +51 -0
  164. package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +69 -0
  165. package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +89 -0
  166. package/vendor/include/networkit/distance/Diameter.hpp +97 -0
  167. package/vendor/include/networkit/distance/Dijkstra.hpp +50 -0
  168. package/vendor/include/networkit/distance/DynAPSP.hpp +67 -0
  169. package/vendor/include/networkit/distance/DynBFS.hpp +56 -0
  170. package/vendor/include/networkit/distance/DynDijkstra.hpp +57 -0
  171. package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +67 -0
  172. package/vendor/include/networkit/distance/DynSSSP.hpp +87 -0
  173. package/vendor/include/networkit/distance/Eccentricity.hpp +32 -0
  174. package/vendor/include/networkit/distance/EffectiveDiameter.hpp +47 -0
  175. package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +57 -0
  176. package/vendor/include/networkit/distance/FloydWarshall.hpp +93 -0
  177. package/vendor/include/networkit/distance/GraphDistance.hpp +49 -0
  178. package/vendor/include/networkit/distance/HopPlotApproximation.hpp +62 -0
  179. package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +66 -0
  180. package/vendor/include/networkit/distance/IncompleteSSSP.hpp +41 -0
  181. package/vendor/include/networkit/distance/JaccardDistance.hpp +57 -0
  182. package/vendor/include/networkit/distance/MultiTargetBFS.hpp +32 -0
  183. package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +40 -0
  184. package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +47 -0
  185. package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +56 -0
  186. package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +56 -0
  187. package/vendor/include/networkit/distance/NodeDistance.hpp +54 -0
  188. package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +76 -0
  189. package/vendor/include/networkit/distance/ReverseBFS.hpp +46 -0
  190. package/vendor/include/networkit/distance/SPSP.hpp +143 -0
  191. package/vendor/include/networkit/distance/SSSP.hpp +216 -0
  192. package/vendor/include/networkit/distance/STSP.hpp +193 -0
  193. package/vendor/include/networkit/distance/Volume.hpp +66 -0
  194. package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +40 -0
  195. package/vendor/include/networkit/dynamics/DGSWriter.hpp +30 -0
  196. package/vendor/include/networkit/dynamics/GraphDifference.hpp +110 -0
  197. package/vendor/include/networkit/dynamics/GraphEvent.hpp +55 -0
  198. package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +39 -0
  199. package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +55 -0
  200. package/vendor/include/networkit/dynamics/GraphUpdater.hpp +38 -0
  201. package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +26 -0
  202. package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +33 -0
  203. package/vendor/include/networkit/edgescores/EdgeScore.hpp +50 -0
  204. package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +33 -0
  205. package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +33 -0
  206. package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +32 -0
  207. package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +35 -0
  208. package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +29 -0
  209. package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +23 -0
  210. package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +39 -0
  211. package/vendor/include/networkit/embedding/Node2Vec.hpp +83 -0
  212. package/vendor/include/networkit/flow/EdmondsKarp.hpp +112 -0
  213. package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +87 -0
  214. package/vendor/include/networkit/generators/ChungLuGenerator.hpp +46 -0
  215. package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +63 -0
  216. package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +56 -0
  217. package/vendor/include/networkit/generators/ConfigurationModel.hpp +36 -0
  218. package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +33 -0
  219. package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +33 -0
  220. package/vendor/include/networkit/generators/DynamicDGSParser.hpp +51 -0
  221. package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +34 -0
  222. package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +55 -0
  223. package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +40 -0
  224. package/vendor/include/networkit/generators/DynamicGraphSource.hpp +79 -0
  225. package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +143 -0
  226. package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +26 -0
  227. package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +54 -0
  228. package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +65 -0
  229. package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +318 -0
  230. package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +56 -0
  231. package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +48 -0
  232. package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +236 -0
  233. package/vendor/include/networkit/generators/LFRGenerator.hpp +175 -0
  234. package/vendor/include/networkit/generators/MocnikGenerator.hpp +147 -0
  235. package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +58 -0
  236. package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +128 -0
  237. package/vendor/include/networkit/generators/PubWebGenerator.hpp +94 -0
  238. package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +37 -0
  239. package/vendor/include/networkit/generators/RmatGenerator.hpp +67 -0
  240. package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +42 -0
  241. package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +30 -0
  242. package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +41 -0
  243. package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +43 -0
  244. package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +857 -0
  245. package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +587 -0
  246. package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +726 -0
  247. package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +232 -0
  248. package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +149 -0
  249. package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +143 -0
  250. package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +248 -0
  251. package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +145 -0
  252. package/vendor/include/networkit/global/ClusteringCoefficient.hpp +42 -0
  253. package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +24 -0
  254. package/vendor/include/networkit/graph/Attributes.hpp +568 -0
  255. package/vendor/include/networkit/graph/BFS.hpp +111 -0
  256. package/vendor/include/networkit/graph/DFS.hpp +71 -0
  257. package/vendor/include/networkit/graph/Dijkstra.hpp +83 -0
  258. package/vendor/include/networkit/graph/EdgeIterators.hpp +171 -0
  259. package/vendor/include/networkit/graph/Graph.hpp +2083 -0
  260. package/vendor/include/networkit/graph/GraphBuilder.hpp +289 -0
  261. package/vendor/include/networkit/graph/GraphR.hpp +133 -0
  262. package/vendor/include/networkit/graph/GraphTools.hpp +589 -0
  263. package/vendor/include/networkit/graph/GraphW.hpp +1236 -0
  264. package/vendor/include/networkit/graph/KruskalMSF.hpp +50 -0
  265. package/vendor/include/networkit/graph/NeighborIterators.hpp +163 -0
  266. package/vendor/include/networkit/graph/NodeIterators.hpp +127 -0
  267. package/vendor/include/networkit/graph/PrimMSF.hpp +66 -0
  268. package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +133 -0
  269. package/vendor/include/networkit/graph/SpanningForest.hpp +41 -0
  270. package/vendor/include/networkit/graph/TopologicalSort.hpp +87 -0
  271. package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +126 -0
  272. package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +68 -0
  273. package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +44 -0
  274. package/vendor/include/networkit/independentset/Luby.hpp +27 -0
  275. package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +45 -0
  276. package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +47 -0
  277. package/vendor/include/networkit/io/BinaryPartitionReader.hpp +41 -0
  278. package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +44 -0
  279. package/vendor/include/networkit/io/CoverReader.hpp +27 -0
  280. package/vendor/include/networkit/io/CoverWriter.hpp +21 -0
  281. package/vendor/include/networkit/io/DGSReader.hpp +39 -0
  282. package/vendor/include/networkit/io/DibapGraphReader.hpp +43 -0
  283. package/vendor/include/networkit/io/DotGraphWriter.hpp +39 -0
  284. package/vendor/include/networkit/io/DotPartitionWriter.hpp +23 -0
  285. package/vendor/include/networkit/io/DynamicGraphReader.hpp +29 -0
  286. package/vendor/include/networkit/io/EdgeListCoverReader.hpp +35 -0
  287. package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +43 -0
  288. package/vendor/include/networkit/io/EdgeListReader.hpp +61 -0
  289. package/vendor/include/networkit/io/EdgeListWriter.hpp +48 -0
  290. package/vendor/include/networkit/io/GMLGraphReader.hpp +33 -0
  291. package/vendor/include/networkit/io/GMLGraphWriter.hpp +33 -0
  292. package/vendor/include/networkit/io/GraphIO.hpp +52 -0
  293. package/vendor/include/networkit/io/GraphReader.hpp +40 -0
  294. package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +71 -0
  295. package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +61 -0
  296. package/vendor/include/networkit/io/GraphWriter.hpp +27 -0
  297. package/vendor/include/networkit/io/KONECTGraphReader.hpp +44 -0
  298. package/vendor/include/networkit/io/LineFileReader.hpp +42 -0
  299. package/vendor/include/networkit/io/METISGraphReader.hpp +36 -0
  300. package/vendor/include/networkit/io/METISGraphWriter.hpp +29 -0
  301. package/vendor/include/networkit/io/METISParser.hpp +63 -0
  302. package/vendor/include/networkit/io/MTXGraphReader.hpp +31 -0
  303. package/vendor/include/networkit/io/MTXParser.hpp +87 -0
  304. package/vendor/include/networkit/io/MatrixMarketReader.hpp +33 -0
  305. package/vendor/include/networkit/io/MatrixReader.hpp +33 -0
  306. package/vendor/include/networkit/io/MemoryMappedFile.hpp +80 -0
  307. package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +144 -0
  308. package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +50 -0
  309. package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +71 -0
  310. package/vendor/include/networkit/io/PartitionReader.hpp +34 -0
  311. package/vendor/include/networkit/io/PartitionWriter.hpp +31 -0
  312. package/vendor/include/networkit/io/RBGraphReader.hpp +37 -0
  313. package/vendor/include/networkit/io/RBMatrixReader.hpp +49 -0
  314. package/vendor/include/networkit/io/RasterReader.hpp +40 -0
  315. package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +28 -0
  316. package/vendor/include/networkit/io/SNAPGraphReader.hpp +53 -0
  317. package/vendor/include/networkit/io/SNAPGraphWriter.hpp +53 -0
  318. package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +44 -0
  319. package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +27 -0
  320. package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +39 -0
  321. package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +37 -0
  322. package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +36 -0
  323. package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +70 -0
  324. package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +39 -0
  325. package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +135 -0
  326. package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +44 -0
  327. package/vendor/include/networkit/linkprediction/KatzIndex.hpp +84 -0
  328. package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +98 -0
  329. package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +56 -0
  330. package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +60 -0
  331. package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +42 -0
  332. package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +54 -0
  333. package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +48 -0
  334. package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +40 -0
  335. package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +66 -0
  336. package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +37 -0
  337. package/vendor/include/networkit/linkprediction/ROCMetric.hpp +39 -0
  338. package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +47 -0
  339. package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +38 -0
  340. package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +50 -0
  341. package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +39 -0
  342. package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +35 -0
  343. package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +35 -0
  344. package/vendor/include/networkit/matching/BMatcher.hpp +52 -0
  345. package/vendor/include/networkit/matching/BMatching.hpp +115 -0
  346. package/vendor/include/networkit/matching/BSuitorMatcher.hpp +170 -0
  347. package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +78 -0
  348. package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +35 -0
  349. package/vendor/include/networkit/matching/Matcher.hpp +55 -0
  350. package/vendor/include/networkit/matching/Matching.hpp +111 -0
  351. package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +46 -0
  352. package/vendor/include/networkit/matching/SuitorMatcher.hpp +62 -0
  353. package/vendor/include/networkit/numerics/ConjugateGradient.hpp +163 -0
  354. package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +99 -0
  355. package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +70 -0
  356. package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +460 -0
  357. package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +47 -0
  358. package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +56 -0
  359. package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +52 -0
  360. package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +133 -0
  361. package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +28 -0
  362. package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +165 -0
  363. package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +1090 -0
  364. package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +316 -0
  365. package/vendor/include/networkit/numerics/LinearSolver.hpp +151 -0
  366. package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +61 -0
  367. package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +36 -0
  368. package/vendor/include/networkit/numerics/Smoother.hpp +37 -0
  369. package/vendor/include/networkit/overlap/HashingOverlapper.hpp +28 -0
  370. package/vendor/include/networkit/overlap/Overlapper.hpp +27 -0
  371. package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +113 -0
  372. package/vendor/include/networkit/randomization/Curveball.hpp +49 -0
  373. package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +39 -0
  374. package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +39 -0
  375. package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +82 -0
  376. package/vendor/include/networkit/randomization/EdgeSwitching.hpp +157 -0
  377. package/vendor/include/networkit/randomization/GlobalCurveball.hpp +69 -0
  378. package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +303 -0
  379. package/vendor/include/networkit/reachability/AllSimplePaths.hpp +122 -0
  380. package/vendor/include/networkit/reachability/ReachableNodes.hpp +83 -0
  381. package/vendor/include/networkit/scd/ApproximatePageRank.hpp +51 -0
  382. package/vendor/include/networkit/scd/CliqueDetect.hpp +55 -0
  383. package/vendor/include/networkit/scd/CombinedSCD.hpp +51 -0
  384. package/vendor/include/networkit/scd/GCE.hpp +42 -0
  385. package/vendor/include/networkit/scd/LFMLocal.hpp +54 -0
  386. package/vendor/include/networkit/scd/LocalT.hpp +40 -0
  387. package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +46 -0
  388. package/vendor/include/networkit/scd/PageRankNibble.hpp +55 -0
  389. package/vendor/include/networkit/scd/RandomBFS.hpp +33 -0
  390. package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +121 -0
  391. package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +76 -0
  392. package/vendor/include/networkit/scd/SetConductance.hpp +47 -0
  393. package/vendor/include/networkit/scd/TCE.hpp +41 -0
  394. package/vendor/include/networkit/scd/TwoPhaseL.hpp +40 -0
  395. package/vendor/include/networkit/scoring/EdgeScoring.hpp +44 -0
  396. package/vendor/include/networkit/scoring/ModularityScoring.hpp +79 -0
  397. package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +59 -0
  398. package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +28 -0
  399. package/vendor/include/networkit/sparsification/ForestFireScore.hpp +34 -0
  400. package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +40 -0
  401. package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +30 -0
  402. package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +124 -0
  403. package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +63 -0
  404. package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +38 -0
  405. package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +33 -0
  406. package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +29 -0
  407. package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +23 -0
  408. package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +35 -0
  409. package/vendor/include/networkit/sparsification/SimmelianScore.hpp +92 -0
  410. package/vendor/include/networkit/sparsification/Sparsifiers.hpp +166 -0
  411. package/vendor/include/networkit/structures/Cover.hpp +248 -0
  412. package/vendor/include/networkit/structures/LocalCommunity.hpp +363 -0
  413. package/vendor/include/networkit/structures/Partition.hpp +335 -0
  414. package/vendor/include/networkit/structures/UnionFind.hpp +66 -0
  415. package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +157 -0
  416. package/vendor/include/networkit/viz/MaxentStress.hpp +346 -0
  417. package/vendor/include/networkit/viz/Octree.hpp +428 -0
  418. package/vendor/include/networkit/viz/PivotMDS.hpp +63 -0
  419. package/vendor/include/networkit/viz/Point.hpp +415 -0
  420. package/vendor/include/networkit/viz/PostscriptWriter.hpp +78 -0
  421. package/vendor/include/tlx/algorithm/exclusive_scan.hpp +56 -0
  422. package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +56 -0
  423. package/vendor/include/tlx/algorithm/merge_advance.hpp +177 -0
  424. package/vendor/include/tlx/algorithm/merge_combine.hpp +76 -0
  425. package/vendor/include/tlx/algorithm/multisequence_partition.hpp +346 -0
  426. package/vendor/include/tlx/algorithm/multisequence_selection.hpp +351 -0
  427. package/vendor/include/tlx/algorithm/multiway_merge.hpp +1385 -0
  428. package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +257 -0
  429. package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +408 -0
  430. package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +116 -0
  431. package/vendor/include/tlx/algorithm.hpp +36 -0
  432. package/vendor/include/tlx/allocator_base.hpp +100 -0
  433. package/vendor/include/tlx/backtrace.hpp +54 -0
  434. package/vendor/include/tlx/cmdline_parser.hpp +498 -0
  435. package/vendor/include/tlx/container/btree.hpp +3977 -0
  436. package/vendor/include/tlx/container/btree_map.hpp +634 -0
  437. package/vendor/include/tlx/container/btree_multimap.hpp +627 -0
  438. package/vendor/include/tlx/container/btree_multiset.hpp +612 -0
  439. package/vendor/include/tlx/container/btree_set.hpp +612 -0
  440. package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +416 -0
  441. package/vendor/include/tlx/container/d_ary_heap.hpp +311 -0
  442. package/vendor/include/tlx/container/loser_tree.hpp +1009 -0
  443. package/vendor/include/tlx/container/lru_cache.hpp +319 -0
  444. package/vendor/include/tlx/container/radix_heap.hpp +735 -0
  445. package/vendor/include/tlx/container/ring_buffer.hpp +428 -0
  446. package/vendor/include/tlx/container/simple_vector.hpp +304 -0
  447. package/vendor/include/tlx/container/splay_tree.hpp +399 -0
  448. package/vendor/include/tlx/container/string_view.hpp +805 -0
  449. package/vendor/include/tlx/container.hpp +40 -0
  450. package/vendor/include/tlx/counting_ptr.hpp +522 -0
  451. package/vendor/include/tlx/define/attribute_always_inline.hpp +34 -0
  452. package/vendor/include/tlx/define/attribute_fallthrough.hpp +36 -0
  453. package/vendor/include/tlx/define/attribute_format_printf.hpp +34 -0
  454. package/vendor/include/tlx/define/attribute_packed.hpp +34 -0
  455. package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +34 -0
  456. package/vendor/include/tlx/define/constexpr.hpp +31 -0
  457. package/vendor/include/tlx/define/deprecated.hpp +39 -0
  458. package/vendor/include/tlx/define/endian.hpp +49 -0
  459. package/vendor/include/tlx/define/likely.hpp +33 -0
  460. package/vendor/include/tlx/define/visibility_hidden.hpp +34 -0
  461. package/vendor/include/tlx/define.hpp +36 -0
  462. package/vendor/include/tlx/delegate.hpp +524 -0
  463. package/vendor/include/tlx/die/core.hpp +311 -0
  464. package/vendor/include/tlx/die.hpp +106 -0
  465. package/vendor/include/tlx/digest/md5.hpp +81 -0
  466. package/vendor/include/tlx/digest/sha1.hpp +81 -0
  467. package/vendor/include/tlx/digest/sha256.hpp +81 -0
  468. package/vendor/include/tlx/digest/sha512.hpp +81 -0
  469. package/vendor/include/tlx/digest.hpp +30 -0
  470. package/vendor/include/tlx/logger/all.hpp +33 -0
  471. package/vendor/include/tlx/logger/array.hpp +43 -0
  472. package/vendor/include/tlx/logger/core.hpp +287 -0
  473. package/vendor/include/tlx/logger/deque.hpp +42 -0
  474. package/vendor/include/tlx/logger/map.hpp +65 -0
  475. package/vendor/include/tlx/logger/set.hpp +60 -0
  476. package/vendor/include/tlx/logger/tuple.hpp +66 -0
  477. package/vendor/include/tlx/logger/unordered_map.hpp +68 -0
  478. package/vendor/include/tlx/logger/unordered_set.hpp +64 -0
  479. package/vendor/include/tlx/logger/wrap_unprintable.hpp +75 -0
  480. package/vendor/include/tlx/logger.hpp +44 -0
  481. package/vendor/include/tlx/math/abs_diff.hpp +35 -0
  482. package/vendor/include/tlx/math/aggregate.hpp +231 -0
  483. package/vendor/include/tlx/math/aggregate_min_max.hpp +116 -0
  484. package/vendor/include/tlx/math/bswap.hpp +148 -0
  485. package/vendor/include/tlx/math/bswap_be.hpp +79 -0
  486. package/vendor/include/tlx/math/bswap_le.hpp +79 -0
  487. package/vendor/include/tlx/math/clz.hpp +174 -0
  488. package/vendor/include/tlx/math/ctz.hpp +174 -0
  489. package/vendor/include/tlx/math/div_ceil.hpp +36 -0
  490. package/vendor/include/tlx/math/ffs.hpp +123 -0
  491. package/vendor/include/tlx/math/integer_log2.hpp +189 -0
  492. package/vendor/include/tlx/math/is_power_of_two.hpp +74 -0
  493. package/vendor/include/tlx/math/polynomial_regression.hpp +243 -0
  494. package/vendor/include/tlx/math/popcount.hpp +173 -0
  495. package/vendor/include/tlx/math/power_to_the.hpp +44 -0
  496. package/vendor/include/tlx/math/rol.hpp +112 -0
  497. package/vendor/include/tlx/math/ror.hpp +112 -0
  498. package/vendor/include/tlx/math/round_to_power_of_two.hpp +121 -0
  499. package/vendor/include/tlx/math/round_up.hpp +36 -0
  500. package/vendor/include/tlx/math/sgn.hpp +38 -0
  501. package/vendor/include/tlx/math.hpp +46 -0
  502. package/vendor/include/tlx/meta/apply_tuple.hpp +55 -0
  503. package/vendor/include/tlx/meta/call_for_range.hpp +78 -0
  504. package/vendor/include/tlx/meta/call_foreach.hpp +60 -0
  505. package/vendor/include/tlx/meta/call_foreach_tuple.hpp +60 -0
  506. package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +61 -0
  507. package/vendor/include/tlx/meta/call_foreach_with_index.hpp +64 -0
  508. package/vendor/include/tlx/meta/enable_if.hpp +37 -0
  509. package/vendor/include/tlx/meta/fold_left.hpp +63 -0
  510. package/vendor/include/tlx/meta/fold_left_tuple.hpp +60 -0
  511. package/vendor/include/tlx/meta/fold_right.hpp +63 -0
  512. package/vendor/include/tlx/meta/fold_right_tuple.hpp +60 -0
  513. package/vendor/include/tlx/meta/function_chain.hpp +197 -0
  514. package/vendor/include/tlx/meta/function_stack.hpp +189 -0
  515. package/vendor/include/tlx/meta/has_member.hpp +80 -0
  516. package/vendor/include/tlx/meta/has_method.hpp +117 -0
  517. package/vendor/include/tlx/meta/index_sequence.hpp +66 -0
  518. package/vendor/include/tlx/meta/is_std_array.hpp +40 -0
  519. package/vendor/include/tlx/meta/is_std_pair.hpp +39 -0
  520. package/vendor/include/tlx/meta/is_std_tuple.hpp +39 -0
  521. package/vendor/include/tlx/meta/is_std_vector.hpp +39 -0
  522. package/vendor/include/tlx/meta/log2.hpp +101 -0
  523. package/vendor/include/tlx/meta/no_operation.hpp +55 -0
  524. package/vendor/include/tlx/meta/static_index.hpp +42 -0
  525. package/vendor/include/tlx/meta/vexpand.hpp +34 -0
  526. package/vendor/include/tlx/meta/vmap_for_range.hpp +84 -0
  527. package/vendor/include/tlx/meta/vmap_foreach.hpp +63 -0
  528. package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +59 -0
  529. package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +62 -0
  530. package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +70 -0
  531. package/vendor/include/tlx/meta.hpp +55 -0
  532. package/vendor/include/tlx/multi_timer.hpp +148 -0
  533. package/vendor/include/tlx/port/setenv.hpp +31 -0
  534. package/vendor/include/tlx/port.hpp +27 -0
  535. package/vendor/include/tlx/semaphore.hpp +119 -0
  536. package/vendor/include/tlx/simple_vector.hpp +20 -0
  537. package/vendor/include/tlx/siphash.hpp +282 -0
  538. package/vendor/include/tlx/sort/networks/best.hpp +611 -0
  539. package/vendor/include/tlx/sort/networks/bose_nelson.hpp +412 -0
  540. package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +507 -0
  541. package/vendor/include/tlx/sort/networks/cswap.hpp +60 -0
  542. package/vendor/include/tlx/sort/parallel_mergesort.hpp +398 -0
  543. package/vendor/include/tlx/sort/strings/insertion_sort.hpp +232 -0
  544. package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +185 -0
  545. package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +1647 -0
  546. package/vendor/include/tlx/sort/strings/radix_sort.hpp +934 -0
  547. package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +756 -0
  548. package/vendor/include/tlx/sort/strings/string_ptr.hpp +426 -0
  549. package/vendor/include/tlx/sort/strings/string_set.hpp +800 -0
  550. package/vendor/include/tlx/sort/strings.hpp +329 -0
  551. package/vendor/include/tlx/sort/strings_parallel.hpp +325 -0
  552. package/vendor/include/tlx/sort.hpp +29 -0
  553. package/vendor/include/tlx/stack_allocator.hpp +226 -0
  554. package/vendor/include/tlx/string/appendline.hpp +35 -0
  555. package/vendor/include/tlx/string/base64.hpp +87 -0
  556. package/vendor/include/tlx/string/bitdump.hpp +139 -0
  557. package/vendor/include/tlx/string/compare_icase.hpp +42 -0
  558. package/vendor/include/tlx/string/contains.hpp +36 -0
  559. package/vendor/include/tlx/string/contains_word.hpp +42 -0
  560. package/vendor/include/tlx/string/ends_with.hpp +79 -0
  561. package/vendor/include/tlx/string/equal_icase.hpp +42 -0
  562. package/vendor/include/tlx/string/erase_all.hpp +70 -0
  563. package/vendor/include/tlx/string/escape_html.hpp +34 -0
  564. package/vendor/include/tlx/string/escape_uri.hpp +34 -0
  565. package/vendor/include/tlx/string/expand_environment_variables.hpp +49 -0
  566. package/vendor/include/tlx/string/extract_between.hpp +40 -0
  567. package/vendor/include/tlx/string/format_iec_units.hpp +32 -0
  568. package/vendor/include/tlx/string/format_si_iec_units.hpp +19 -0
  569. package/vendor/include/tlx/string/format_si_units.hpp +32 -0
  570. package/vendor/include/tlx/string/hash_djb2.hpp +87 -0
  571. package/vendor/include/tlx/string/hash_sdbm.hpp +86 -0
  572. package/vendor/include/tlx/string/hexdump.hpp +154 -0
  573. package/vendor/include/tlx/string/index_of.hpp +56 -0
  574. package/vendor/include/tlx/string/join.hpp +65 -0
  575. package/vendor/include/tlx/string/join_generic.hpp +89 -0
  576. package/vendor/include/tlx/string/join_quoted.hpp +46 -0
  577. package/vendor/include/tlx/string/less_icase.hpp +64 -0
  578. package/vendor/include/tlx/string/levenshtein.hpp +193 -0
  579. package/vendor/include/tlx/string/pad.hpp +39 -0
  580. package/vendor/include/tlx/string/parse_si_iec_units.hpp +46 -0
  581. package/vendor/include/tlx/string/parse_uri.hpp +66 -0
  582. package/vendor/include/tlx/string/parse_uri_form_data.hpp +136 -0
  583. package/vendor/include/tlx/string/replace.hpp +141 -0
  584. package/vendor/include/tlx/string/split.hpp +170 -0
  585. package/vendor/include/tlx/string/split_quoted.hpp +49 -0
  586. package/vendor/include/tlx/string/split_view.hpp +218 -0
  587. package/vendor/include/tlx/string/split_words.hpp +53 -0
  588. package/vendor/include/tlx/string/ssprintf.hpp +45 -0
  589. package/vendor/include/tlx/string/ssprintf_generic.hpp +95 -0
  590. package/vendor/include/tlx/string/starts_with.hpp +44 -0
  591. package/vendor/include/tlx/string/to_lower.hpp +47 -0
  592. package/vendor/include/tlx/string/to_upper.hpp +47 -0
  593. package/vendor/include/tlx/string/trim.hpp +298 -0
  594. package/vendor/include/tlx/string/union_words.hpp +33 -0
  595. package/vendor/include/tlx/string/word_wrap.hpp +35 -0
  596. package/vendor/include/tlx/string.hpp +68 -0
  597. package/vendor/include/tlx/thread_barrier_mutex.hpp +109 -0
  598. package/vendor/include/tlx/thread_barrier_spin.hpp +127 -0
  599. package/vendor/include/tlx/thread_pool.hpp +151 -0
  600. package/vendor/include/tlx/timestamp.hpp +23 -0
  601. package/vendor/include/tlx/unused.hpp +28 -0
  602. package/vendor/include/tlx/vector_free.hpp +30 -0
  603. package/vendor/include/tlx/version.hpp +49 -0
  604. package/vendor/include/ttmath/ttmath.h +2881 -0
  605. package/vendor/include/ttmath/ttmathbig.h +6111 -0
  606. package/vendor/include/ttmath/ttmathdec.h +419 -0
  607. package/vendor/include/ttmath/ttmathint.h +1923 -0
  608. package/vendor/include/ttmath/ttmathmisc.h +250 -0
  609. package/vendor/include/ttmath/ttmathobjects.h +812 -0
  610. package/vendor/include/ttmath/ttmathparser.h +2791 -0
  611. package/vendor/include/ttmath/ttmaththreads.h +252 -0
  612. package/vendor/include/ttmath/ttmathtypes.h +707 -0
  613. package/vendor/include/ttmath/ttmathuint.h +4190 -0
  614. package/vendor/include/ttmath/ttmathuint_noasm.h +1038 -0
  615. package/vendor/include/ttmath/ttmathuint_x86.h +1620 -0
  616. package/vendor/include/ttmath/ttmathuint_x86_64.h +1177 -0
  617. package/vendor/lib/cmake/tlx/tlx-config.cmake +51 -0
  618. package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +19 -0
  619. package/vendor/lib/cmake/tlx/tlx-targets.cmake +106 -0
  620. package/vendor/lib/cmake/tlx/tlx-version.cmake +11 -0
  621. package/vendor/lib/libnetworkit.dylib +0 -0
  622. package/vendor/lib/libtlx.a +0 -0
  623. package/vendor/lib/pkgconfig/networkit.pc +11 -0
  624. 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
+ /******************************************************************************/