@ladybugmem/icebug 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/binding.gyp +32 -10
  2. package/lib/index.js +23 -11
  3. package/package.json +9 -15
  4. package/prebuilds/darwin-arm64/icebug.node +0 -0
  5. package/{vendor/lib → prebuilds/darwin-arm64}/libnetworkit.dylib +0 -0
  6. package/prebuilds/linux-x64/icebug.node +0 -0
  7. package/prebuilds/linux-x64/libnetworkit.so +0 -0
  8. package/scripts/download-icebug.sh +92 -0
  9. package/build/Release/.deps/Release/icebug.node.d +0 -1
  10. package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +0 -291
  11. package/build/Release/icebug.node +0 -0
  12. package/build/Release/obj.target/icebug/src/addon.o +0 -0
  13. package/vendor/include/networkit/GlobalState.hpp +0 -86
  14. package/vendor/include/networkit/Globals.hpp +0 -41
  15. package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +0 -27
  16. package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +0 -1292
  17. package/vendor/include/networkit/algebraic/CSRMatrix.hpp +0 -11
  18. package/vendor/include/networkit/algebraic/DenseMatrix.hpp +0 -537
  19. package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +0 -514
  20. package/vendor/include/networkit/algebraic/GraphBLAS.hpp +0 -323
  21. package/vendor/include/networkit/algebraic/MatrixTools.hpp +0 -156
  22. package/vendor/include/networkit/algebraic/Semirings.hpp +0 -171
  23. package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +0 -111
  24. package/vendor/include/networkit/algebraic/Vector.hpp +0 -371
  25. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +0 -72
  26. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +0 -88
  27. package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +0 -96
  28. package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +0 -145
  29. package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +0 -122
  30. package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +0 -76
  31. package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +0 -113
  32. package/vendor/include/networkit/auxiliary/ArrayTools.hpp +0 -85
  33. package/vendor/include/networkit/auxiliary/BloomFilter.hpp +0 -70
  34. package/vendor/include/networkit/auxiliary/BucketPQ.hpp +0 -142
  35. package/vendor/include/networkit/auxiliary/Enforce.hpp +0 -117
  36. package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +0 -74
  37. package/vendor/include/networkit/auxiliary/HashUtils.hpp +0 -28
  38. package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +0 -52
  39. package/vendor/include/networkit/auxiliary/Log.hpp +0 -119
  40. package/vendor/include/networkit/auxiliary/MissingMath.hpp +0 -48
  41. package/vendor/include/networkit/auxiliary/Multiprecision.hpp +0 -17
  42. package/vendor/include/networkit/auxiliary/NumberParsing.hpp +0 -307
  43. package/vendor/include/networkit/auxiliary/NumericTools.hpp +0 -57
  44. package/vendor/include/networkit/auxiliary/Parallel.hpp +0 -56
  45. package/vendor/include/networkit/auxiliary/Parallelism.hpp +0 -33
  46. package/vendor/include/networkit/auxiliary/PrioQueue.hpp +0 -252
  47. package/vendor/include/networkit/auxiliary/Random.hpp +0 -122
  48. package/vendor/include/networkit/auxiliary/SetIntersector.hpp +0 -72
  49. package/vendor/include/networkit/auxiliary/SignalHandling.hpp +0 -39
  50. package/vendor/include/networkit/auxiliary/SortedList.hpp +0 -128
  51. package/vendor/include/networkit/auxiliary/SparseVector.hpp +0 -215
  52. package/vendor/include/networkit/auxiliary/SpinLock.hpp +0 -23
  53. package/vendor/include/networkit/auxiliary/StringBuilder.hpp +0 -322
  54. package/vendor/include/networkit/auxiliary/StringTools.hpp +0 -76
  55. package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +0 -76
  56. package/vendor/include/networkit/auxiliary/Timer.hpp +0 -145
  57. package/vendor/include/networkit/auxiliary/VectorComparator.hpp +0 -32
  58. package/vendor/include/networkit/base/Algorithm.hpp +0 -41
  59. package/vendor/include/networkit/base/DynAlgorithm.hpp +0 -31
  60. package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +0 -62
  61. package/vendor/include/networkit/centrality/ApproxCloseness.hpp +0 -136
  62. package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +0 -156
  63. package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +0 -124
  64. package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +0 -84
  65. package/vendor/include/networkit/centrality/Betweenness.hpp +0 -47
  66. package/vendor/include/networkit/centrality/Centrality.hpp +0 -98
  67. package/vendor/include/networkit/centrality/Closeness.hpp +0 -107
  68. package/vendor/include/networkit/centrality/ComplexPaths.hpp +0 -113
  69. package/vendor/include/networkit/centrality/CoreDecomposition.hpp +0 -161
  70. package/vendor/include/networkit/centrality/DegreeCentrality.hpp +0 -55
  71. package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +0 -95
  72. package/vendor/include/networkit/centrality/DynBetweenness.hpp +0 -99
  73. package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +0 -98
  74. package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +0 -115
  75. package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +0 -223
  76. package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +0 -41
  77. package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +0 -51
  78. package/vendor/include/networkit/centrality/ForestCentrality.hpp +0 -112
  79. package/vendor/include/networkit/centrality/GedWalk.hpp +0 -225
  80. package/vendor/include/networkit/centrality/GroupCloseness.hpp +0 -115
  81. package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +0 -78
  82. package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +0 -77
  83. package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +0 -106
  84. package/vendor/include/networkit/centrality/GroupDegree.hpp +0 -155
  85. package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +0 -83
  86. package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +0 -48
  87. package/vendor/include/networkit/centrality/KPathCentrality.hpp +0 -52
  88. package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +0 -242
  89. package/vendor/include/networkit/centrality/KatzCentrality.hpp +0 -62
  90. package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +0 -44
  91. package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +0 -60
  92. package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +0 -43
  93. package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +0 -42
  94. package/vendor/include/networkit/centrality/PageRank.hpp +0 -101
  95. package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +0 -48
  96. package/vendor/include/networkit/centrality/Sfigality.hpp +0 -45
  97. package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +0 -86
  98. package/vendor/include/networkit/centrality/TopCloseness.hpp +0 -136
  99. package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +0 -151
  100. package/vendor/include/networkit/clique/MaximalCliques.hpp +0 -83
  101. package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +0 -59
  102. package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +0 -156
  103. package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +0 -57
  104. package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +0 -43
  105. package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +0 -33
  106. package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +0 -62
  107. package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +0 -31
  108. package/vendor/include/networkit/community/ClusteringGenerator.hpp +0 -75
  109. package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +0 -58
  110. package/vendor/include/networkit/community/Conductance.hpp +0 -32
  111. package/vendor/include/networkit/community/CoverF1Similarity.hpp +0 -53
  112. package/vendor/include/networkit/community/CoverHubDominance.hpp +0 -38
  113. package/vendor/include/networkit/community/Coverage.hpp +0 -25
  114. package/vendor/include/networkit/community/CutClustering.hpp +0 -62
  115. package/vendor/include/networkit/community/DissimilarityMeasure.hpp +0 -31
  116. package/vendor/include/networkit/community/DynamicNMIDistance.hpp +0 -44
  117. package/vendor/include/networkit/community/EdgeCut.hpp +0 -24
  118. package/vendor/include/networkit/community/GraphClusteringTools.hpp +0 -103
  119. package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +0 -28
  120. package/vendor/include/networkit/community/HubDominance.hpp +0 -46
  121. package/vendor/include/networkit/community/IntrapartitionDensity.hpp +0 -44
  122. package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +0 -40
  123. package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +0 -40
  124. package/vendor/include/networkit/community/JaccardMeasure.hpp +0 -25
  125. package/vendor/include/networkit/community/LFM.hpp +0 -49
  126. package/vendor/include/networkit/community/LPDegreeOrdered.hpp +0 -48
  127. package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +0 -100
  128. package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +0 -31
  129. package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +0 -31
  130. package/vendor/include/networkit/community/LouvainMapEquation.hpp +0 -135
  131. package/vendor/include/networkit/community/Modularity.hpp +0 -54
  132. package/vendor/include/networkit/community/NMIDistance.hpp +0 -28
  133. package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +0 -27
  134. package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +0 -51
  135. package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +0 -175
  136. package/vendor/include/networkit/community/PLM.hpp +0 -89
  137. package/vendor/include/networkit/community/PLP.hpp +0 -83
  138. package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +0 -37
  139. package/vendor/include/networkit/community/ParallelLeiden.hpp +0 -96
  140. package/vendor/include/networkit/community/ParallelLeidenView.hpp +0 -138
  141. package/vendor/include/networkit/community/PartitionFragmentation.hpp +0 -30
  142. package/vendor/include/networkit/community/PartitionHubDominance.hpp +0 -37
  143. package/vendor/include/networkit/community/PartitionIntersection.hpp +0 -25
  144. package/vendor/include/networkit/community/QualityMeasure.hpp +0 -27
  145. package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +0 -40
  146. package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +0 -40
  147. package/vendor/include/networkit/community/StablePartitionNodes.hpp +0 -48
  148. package/vendor/include/networkit/components/BiconnectedComponents.hpp +0 -116
  149. package/vendor/include/networkit/components/ComponentDecomposition.hpp +0 -72
  150. package/vendor/include/networkit/components/ConnectedComponents.hpp +0 -55
  151. package/vendor/include/networkit/components/DynConnectedComponents.hpp +0 -71
  152. package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +0 -73
  153. package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +0 -44
  154. package/vendor/include/networkit/components/RandomSpanningForest.hpp +0 -36
  155. package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +0 -50
  156. package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +0 -59
  157. package/vendor/include/networkit/correlation/Assortativity.hpp +0 -64
  158. package/vendor/include/networkit/distance/APSP.hpp +0 -70
  159. package/vendor/include/networkit/distance/AStar.hpp +0 -68
  160. package/vendor/include/networkit/distance/AStarGeneral.hpp +0 -110
  161. package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +0 -52
  162. package/vendor/include/networkit/distance/AffectedNodes.hpp +0 -130
  163. package/vendor/include/networkit/distance/AlgebraicDistance.hpp +0 -63
  164. package/vendor/include/networkit/distance/BFS.hpp +0 -43
  165. package/vendor/include/networkit/distance/BidirectionalBFS.hpp +0 -51
  166. package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +0 -69
  167. package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +0 -89
  168. package/vendor/include/networkit/distance/Diameter.hpp +0 -97
  169. package/vendor/include/networkit/distance/Dijkstra.hpp +0 -50
  170. package/vendor/include/networkit/distance/DynAPSP.hpp +0 -67
  171. package/vendor/include/networkit/distance/DynBFS.hpp +0 -56
  172. package/vendor/include/networkit/distance/DynDijkstra.hpp +0 -57
  173. package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +0 -67
  174. package/vendor/include/networkit/distance/DynSSSP.hpp +0 -87
  175. package/vendor/include/networkit/distance/Eccentricity.hpp +0 -32
  176. package/vendor/include/networkit/distance/EffectiveDiameter.hpp +0 -47
  177. package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +0 -57
  178. package/vendor/include/networkit/distance/FloydWarshall.hpp +0 -93
  179. package/vendor/include/networkit/distance/GraphDistance.hpp +0 -49
  180. package/vendor/include/networkit/distance/HopPlotApproximation.hpp +0 -62
  181. package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +0 -66
  182. package/vendor/include/networkit/distance/IncompleteSSSP.hpp +0 -41
  183. package/vendor/include/networkit/distance/JaccardDistance.hpp +0 -57
  184. package/vendor/include/networkit/distance/MultiTargetBFS.hpp +0 -32
  185. package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +0 -40
  186. package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +0 -47
  187. package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +0 -56
  188. package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +0 -56
  189. package/vendor/include/networkit/distance/NodeDistance.hpp +0 -54
  190. package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +0 -76
  191. package/vendor/include/networkit/distance/ReverseBFS.hpp +0 -46
  192. package/vendor/include/networkit/distance/SPSP.hpp +0 -143
  193. package/vendor/include/networkit/distance/SSSP.hpp +0 -216
  194. package/vendor/include/networkit/distance/STSP.hpp +0 -193
  195. package/vendor/include/networkit/distance/Volume.hpp +0 -66
  196. package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +0 -40
  197. package/vendor/include/networkit/dynamics/DGSWriter.hpp +0 -30
  198. package/vendor/include/networkit/dynamics/GraphDifference.hpp +0 -110
  199. package/vendor/include/networkit/dynamics/GraphEvent.hpp +0 -55
  200. package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +0 -39
  201. package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +0 -55
  202. package/vendor/include/networkit/dynamics/GraphUpdater.hpp +0 -38
  203. package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +0 -26
  204. package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +0 -33
  205. package/vendor/include/networkit/edgescores/EdgeScore.hpp +0 -50
  206. package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +0 -33
  207. package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +0 -33
  208. package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +0 -32
  209. package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +0 -35
  210. package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +0 -29
  211. package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +0 -23
  212. package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +0 -39
  213. package/vendor/include/networkit/embedding/Node2Vec.hpp +0 -83
  214. package/vendor/include/networkit/flow/EdmondsKarp.hpp +0 -112
  215. package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +0 -87
  216. package/vendor/include/networkit/generators/ChungLuGenerator.hpp +0 -46
  217. package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +0 -63
  218. package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +0 -56
  219. package/vendor/include/networkit/generators/ConfigurationModel.hpp +0 -36
  220. package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +0 -33
  221. package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +0 -33
  222. package/vendor/include/networkit/generators/DynamicDGSParser.hpp +0 -51
  223. package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +0 -34
  224. package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +0 -55
  225. package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +0 -40
  226. package/vendor/include/networkit/generators/DynamicGraphSource.hpp +0 -79
  227. package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +0 -143
  228. package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +0 -26
  229. package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +0 -54
  230. package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +0 -65
  231. package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +0 -318
  232. package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +0 -56
  233. package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +0 -48
  234. package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +0 -236
  235. package/vendor/include/networkit/generators/LFRGenerator.hpp +0 -175
  236. package/vendor/include/networkit/generators/MocnikGenerator.hpp +0 -147
  237. package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +0 -58
  238. package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +0 -128
  239. package/vendor/include/networkit/generators/PubWebGenerator.hpp +0 -94
  240. package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +0 -37
  241. package/vendor/include/networkit/generators/RmatGenerator.hpp +0 -67
  242. package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +0 -42
  243. package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +0 -30
  244. package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +0 -41
  245. package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +0 -43
  246. package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +0 -857
  247. package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +0 -587
  248. package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +0 -726
  249. package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +0 -232
  250. package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +0 -149
  251. package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +0 -143
  252. package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +0 -248
  253. package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +0 -145
  254. package/vendor/include/networkit/global/ClusteringCoefficient.hpp +0 -42
  255. package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +0 -24
  256. package/vendor/include/networkit/graph/Attributes.hpp +0 -568
  257. package/vendor/include/networkit/graph/BFS.hpp +0 -111
  258. package/vendor/include/networkit/graph/DFS.hpp +0 -71
  259. package/vendor/include/networkit/graph/Dijkstra.hpp +0 -83
  260. package/vendor/include/networkit/graph/EdgeIterators.hpp +0 -171
  261. package/vendor/include/networkit/graph/Graph.hpp +0 -2083
  262. package/vendor/include/networkit/graph/GraphBuilder.hpp +0 -289
  263. package/vendor/include/networkit/graph/GraphR.hpp +0 -133
  264. package/vendor/include/networkit/graph/GraphTools.hpp +0 -589
  265. package/vendor/include/networkit/graph/GraphW.hpp +0 -1236
  266. package/vendor/include/networkit/graph/KruskalMSF.hpp +0 -50
  267. package/vendor/include/networkit/graph/NeighborIterators.hpp +0 -163
  268. package/vendor/include/networkit/graph/NodeIterators.hpp +0 -127
  269. package/vendor/include/networkit/graph/PrimMSF.hpp +0 -66
  270. package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +0 -133
  271. package/vendor/include/networkit/graph/SpanningForest.hpp +0 -41
  272. package/vendor/include/networkit/graph/TopologicalSort.hpp +0 -87
  273. package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +0 -126
  274. package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +0 -68
  275. package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +0 -44
  276. package/vendor/include/networkit/independentset/Luby.hpp +0 -27
  277. package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +0 -45
  278. package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +0 -47
  279. package/vendor/include/networkit/io/BinaryPartitionReader.hpp +0 -41
  280. package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +0 -44
  281. package/vendor/include/networkit/io/CoverReader.hpp +0 -27
  282. package/vendor/include/networkit/io/CoverWriter.hpp +0 -21
  283. package/vendor/include/networkit/io/DGSReader.hpp +0 -39
  284. package/vendor/include/networkit/io/DibapGraphReader.hpp +0 -43
  285. package/vendor/include/networkit/io/DotGraphWriter.hpp +0 -39
  286. package/vendor/include/networkit/io/DotPartitionWriter.hpp +0 -23
  287. package/vendor/include/networkit/io/DynamicGraphReader.hpp +0 -29
  288. package/vendor/include/networkit/io/EdgeListCoverReader.hpp +0 -35
  289. package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +0 -43
  290. package/vendor/include/networkit/io/EdgeListReader.hpp +0 -61
  291. package/vendor/include/networkit/io/EdgeListWriter.hpp +0 -48
  292. package/vendor/include/networkit/io/GMLGraphReader.hpp +0 -33
  293. package/vendor/include/networkit/io/GMLGraphWriter.hpp +0 -33
  294. package/vendor/include/networkit/io/GraphIO.hpp +0 -52
  295. package/vendor/include/networkit/io/GraphReader.hpp +0 -40
  296. package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +0 -71
  297. package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +0 -61
  298. package/vendor/include/networkit/io/GraphWriter.hpp +0 -27
  299. package/vendor/include/networkit/io/KONECTGraphReader.hpp +0 -44
  300. package/vendor/include/networkit/io/LineFileReader.hpp +0 -42
  301. package/vendor/include/networkit/io/METISGraphReader.hpp +0 -36
  302. package/vendor/include/networkit/io/METISGraphWriter.hpp +0 -29
  303. package/vendor/include/networkit/io/METISParser.hpp +0 -63
  304. package/vendor/include/networkit/io/MTXGraphReader.hpp +0 -31
  305. package/vendor/include/networkit/io/MTXParser.hpp +0 -87
  306. package/vendor/include/networkit/io/MatrixMarketReader.hpp +0 -33
  307. package/vendor/include/networkit/io/MatrixReader.hpp +0 -33
  308. package/vendor/include/networkit/io/MemoryMappedFile.hpp +0 -80
  309. package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +0 -144
  310. package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +0 -50
  311. package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +0 -71
  312. package/vendor/include/networkit/io/PartitionReader.hpp +0 -34
  313. package/vendor/include/networkit/io/PartitionWriter.hpp +0 -31
  314. package/vendor/include/networkit/io/RBGraphReader.hpp +0 -37
  315. package/vendor/include/networkit/io/RBMatrixReader.hpp +0 -49
  316. package/vendor/include/networkit/io/RasterReader.hpp +0 -40
  317. package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +0 -28
  318. package/vendor/include/networkit/io/SNAPGraphReader.hpp +0 -53
  319. package/vendor/include/networkit/io/SNAPGraphWriter.hpp +0 -53
  320. package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +0 -44
  321. package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +0 -27
  322. package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +0 -39
  323. package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +0 -37
  324. package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +0 -36
  325. package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +0 -70
  326. package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +0 -39
  327. package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +0 -135
  328. package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +0 -44
  329. package/vendor/include/networkit/linkprediction/KatzIndex.hpp +0 -84
  330. package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +0 -98
  331. package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +0 -56
  332. package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +0 -60
  333. package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +0 -42
  334. package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +0 -54
  335. package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +0 -48
  336. package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +0 -40
  337. package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +0 -66
  338. package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +0 -37
  339. package/vendor/include/networkit/linkprediction/ROCMetric.hpp +0 -39
  340. package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +0 -47
  341. package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +0 -38
  342. package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +0 -50
  343. package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +0 -39
  344. package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +0 -35
  345. package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +0 -35
  346. package/vendor/include/networkit/matching/BMatcher.hpp +0 -52
  347. package/vendor/include/networkit/matching/BMatching.hpp +0 -115
  348. package/vendor/include/networkit/matching/BSuitorMatcher.hpp +0 -170
  349. package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +0 -78
  350. package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +0 -35
  351. package/vendor/include/networkit/matching/Matcher.hpp +0 -55
  352. package/vendor/include/networkit/matching/Matching.hpp +0 -111
  353. package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +0 -46
  354. package/vendor/include/networkit/matching/SuitorMatcher.hpp +0 -62
  355. package/vendor/include/networkit/numerics/ConjugateGradient.hpp +0 -163
  356. package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +0 -99
  357. package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +0 -70
  358. package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +0 -460
  359. package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +0 -47
  360. package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +0 -56
  361. package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +0 -52
  362. package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +0 -133
  363. package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +0 -28
  364. package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +0 -165
  365. package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +0 -1090
  366. package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +0 -316
  367. package/vendor/include/networkit/numerics/LinearSolver.hpp +0 -151
  368. package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +0 -61
  369. package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +0 -36
  370. package/vendor/include/networkit/numerics/Smoother.hpp +0 -37
  371. package/vendor/include/networkit/overlap/HashingOverlapper.hpp +0 -28
  372. package/vendor/include/networkit/overlap/Overlapper.hpp +0 -27
  373. package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +0 -113
  374. package/vendor/include/networkit/randomization/Curveball.hpp +0 -49
  375. package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +0 -39
  376. package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +0 -39
  377. package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +0 -82
  378. package/vendor/include/networkit/randomization/EdgeSwitching.hpp +0 -157
  379. package/vendor/include/networkit/randomization/GlobalCurveball.hpp +0 -69
  380. package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +0 -303
  381. package/vendor/include/networkit/reachability/AllSimplePaths.hpp +0 -122
  382. package/vendor/include/networkit/reachability/ReachableNodes.hpp +0 -83
  383. package/vendor/include/networkit/scd/ApproximatePageRank.hpp +0 -51
  384. package/vendor/include/networkit/scd/CliqueDetect.hpp +0 -55
  385. package/vendor/include/networkit/scd/CombinedSCD.hpp +0 -51
  386. package/vendor/include/networkit/scd/GCE.hpp +0 -42
  387. package/vendor/include/networkit/scd/LFMLocal.hpp +0 -54
  388. package/vendor/include/networkit/scd/LocalT.hpp +0 -40
  389. package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +0 -46
  390. package/vendor/include/networkit/scd/PageRankNibble.hpp +0 -55
  391. package/vendor/include/networkit/scd/RandomBFS.hpp +0 -33
  392. package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +0 -121
  393. package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +0 -76
  394. package/vendor/include/networkit/scd/SetConductance.hpp +0 -47
  395. package/vendor/include/networkit/scd/TCE.hpp +0 -41
  396. package/vendor/include/networkit/scd/TwoPhaseL.hpp +0 -40
  397. package/vendor/include/networkit/scoring/EdgeScoring.hpp +0 -44
  398. package/vendor/include/networkit/scoring/ModularityScoring.hpp +0 -79
  399. package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +0 -59
  400. package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +0 -28
  401. package/vendor/include/networkit/sparsification/ForestFireScore.hpp +0 -34
  402. package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +0 -40
  403. package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +0 -30
  404. package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +0 -124
  405. package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +0 -63
  406. package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +0 -38
  407. package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +0 -33
  408. package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +0 -29
  409. package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +0 -23
  410. package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +0 -35
  411. package/vendor/include/networkit/sparsification/SimmelianScore.hpp +0 -92
  412. package/vendor/include/networkit/sparsification/Sparsifiers.hpp +0 -166
  413. package/vendor/include/networkit/structures/Cover.hpp +0 -248
  414. package/vendor/include/networkit/structures/LocalCommunity.hpp +0 -363
  415. package/vendor/include/networkit/structures/Partition.hpp +0 -335
  416. package/vendor/include/networkit/structures/UnionFind.hpp +0 -66
  417. package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +0 -157
  418. package/vendor/include/networkit/viz/MaxentStress.hpp +0 -346
  419. package/vendor/include/networkit/viz/Octree.hpp +0 -428
  420. package/vendor/include/networkit/viz/PivotMDS.hpp +0 -63
  421. package/vendor/include/networkit/viz/Point.hpp +0 -415
  422. package/vendor/include/networkit/viz/PostscriptWriter.hpp +0 -78
  423. package/vendor/include/tlx/algorithm/exclusive_scan.hpp +0 -56
  424. package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +0 -56
  425. package/vendor/include/tlx/algorithm/merge_advance.hpp +0 -177
  426. package/vendor/include/tlx/algorithm/merge_combine.hpp +0 -76
  427. package/vendor/include/tlx/algorithm/multisequence_partition.hpp +0 -346
  428. package/vendor/include/tlx/algorithm/multisequence_selection.hpp +0 -351
  429. package/vendor/include/tlx/algorithm/multiway_merge.hpp +0 -1385
  430. package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +0 -257
  431. package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +0 -408
  432. package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +0 -116
  433. package/vendor/include/tlx/algorithm.hpp +0 -36
  434. package/vendor/include/tlx/allocator_base.hpp +0 -100
  435. package/vendor/include/tlx/backtrace.hpp +0 -54
  436. package/vendor/include/tlx/cmdline_parser.hpp +0 -498
  437. package/vendor/include/tlx/container/btree.hpp +0 -3977
  438. package/vendor/include/tlx/container/btree_map.hpp +0 -634
  439. package/vendor/include/tlx/container/btree_multimap.hpp +0 -627
  440. package/vendor/include/tlx/container/btree_multiset.hpp +0 -612
  441. package/vendor/include/tlx/container/btree_set.hpp +0 -612
  442. package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +0 -416
  443. package/vendor/include/tlx/container/d_ary_heap.hpp +0 -311
  444. package/vendor/include/tlx/container/loser_tree.hpp +0 -1009
  445. package/vendor/include/tlx/container/lru_cache.hpp +0 -319
  446. package/vendor/include/tlx/container/radix_heap.hpp +0 -735
  447. package/vendor/include/tlx/container/ring_buffer.hpp +0 -428
  448. package/vendor/include/tlx/container/simple_vector.hpp +0 -304
  449. package/vendor/include/tlx/container/splay_tree.hpp +0 -399
  450. package/vendor/include/tlx/container/string_view.hpp +0 -805
  451. package/vendor/include/tlx/container.hpp +0 -40
  452. package/vendor/include/tlx/counting_ptr.hpp +0 -522
  453. package/vendor/include/tlx/define/attribute_always_inline.hpp +0 -34
  454. package/vendor/include/tlx/define/attribute_fallthrough.hpp +0 -36
  455. package/vendor/include/tlx/define/attribute_format_printf.hpp +0 -34
  456. package/vendor/include/tlx/define/attribute_packed.hpp +0 -34
  457. package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +0 -34
  458. package/vendor/include/tlx/define/constexpr.hpp +0 -31
  459. package/vendor/include/tlx/define/deprecated.hpp +0 -39
  460. package/vendor/include/tlx/define/endian.hpp +0 -49
  461. package/vendor/include/tlx/define/likely.hpp +0 -33
  462. package/vendor/include/tlx/define/visibility_hidden.hpp +0 -34
  463. package/vendor/include/tlx/define.hpp +0 -36
  464. package/vendor/include/tlx/delegate.hpp +0 -524
  465. package/vendor/include/tlx/die/core.hpp +0 -311
  466. package/vendor/include/tlx/die.hpp +0 -106
  467. package/vendor/include/tlx/digest/md5.hpp +0 -81
  468. package/vendor/include/tlx/digest/sha1.hpp +0 -81
  469. package/vendor/include/tlx/digest/sha256.hpp +0 -81
  470. package/vendor/include/tlx/digest/sha512.hpp +0 -81
  471. package/vendor/include/tlx/digest.hpp +0 -30
  472. package/vendor/include/tlx/logger/all.hpp +0 -33
  473. package/vendor/include/tlx/logger/array.hpp +0 -43
  474. package/vendor/include/tlx/logger/core.hpp +0 -287
  475. package/vendor/include/tlx/logger/deque.hpp +0 -42
  476. package/vendor/include/tlx/logger/map.hpp +0 -65
  477. package/vendor/include/tlx/logger/set.hpp +0 -60
  478. package/vendor/include/tlx/logger/tuple.hpp +0 -66
  479. package/vendor/include/tlx/logger/unordered_map.hpp +0 -68
  480. package/vendor/include/tlx/logger/unordered_set.hpp +0 -64
  481. package/vendor/include/tlx/logger/wrap_unprintable.hpp +0 -75
  482. package/vendor/include/tlx/logger.hpp +0 -44
  483. package/vendor/include/tlx/math/abs_diff.hpp +0 -35
  484. package/vendor/include/tlx/math/aggregate.hpp +0 -231
  485. package/vendor/include/tlx/math/aggregate_min_max.hpp +0 -116
  486. package/vendor/include/tlx/math/bswap.hpp +0 -148
  487. package/vendor/include/tlx/math/bswap_be.hpp +0 -79
  488. package/vendor/include/tlx/math/bswap_le.hpp +0 -79
  489. package/vendor/include/tlx/math/clz.hpp +0 -174
  490. package/vendor/include/tlx/math/ctz.hpp +0 -174
  491. package/vendor/include/tlx/math/div_ceil.hpp +0 -36
  492. package/vendor/include/tlx/math/ffs.hpp +0 -123
  493. package/vendor/include/tlx/math/integer_log2.hpp +0 -189
  494. package/vendor/include/tlx/math/is_power_of_two.hpp +0 -74
  495. package/vendor/include/tlx/math/polynomial_regression.hpp +0 -243
  496. package/vendor/include/tlx/math/popcount.hpp +0 -173
  497. package/vendor/include/tlx/math/power_to_the.hpp +0 -44
  498. package/vendor/include/tlx/math/rol.hpp +0 -112
  499. package/vendor/include/tlx/math/ror.hpp +0 -112
  500. package/vendor/include/tlx/math/round_to_power_of_two.hpp +0 -121
  501. package/vendor/include/tlx/math/round_up.hpp +0 -36
  502. package/vendor/include/tlx/math/sgn.hpp +0 -38
  503. package/vendor/include/tlx/math.hpp +0 -46
  504. package/vendor/include/tlx/meta/apply_tuple.hpp +0 -55
  505. package/vendor/include/tlx/meta/call_for_range.hpp +0 -78
  506. package/vendor/include/tlx/meta/call_foreach.hpp +0 -60
  507. package/vendor/include/tlx/meta/call_foreach_tuple.hpp +0 -60
  508. package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +0 -61
  509. package/vendor/include/tlx/meta/call_foreach_with_index.hpp +0 -64
  510. package/vendor/include/tlx/meta/enable_if.hpp +0 -37
  511. package/vendor/include/tlx/meta/fold_left.hpp +0 -63
  512. package/vendor/include/tlx/meta/fold_left_tuple.hpp +0 -60
  513. package/vendor/include/tlx/meta/fold_right.hpp +0 -63
  514. package/vendor/include/tlx/meta/fold_right_tuple.hpp +0 -60
  515. package/vendor/include/tlx/meta/function_chain.hpp +0 -197
  516. package/vendor/include/tlx/meta/function_stack.hpp +0 -189
  517. package/vendor/include/tlx/meta/has_member.hpp +0 -80
  518. package/vendor/include/tlx/meta/has_method.hpp +0 -117
  519. package/vendor/include/tlx/meta/index_sequence.hpp +0 -66
  520. package/vendor/include/tlx/meta/is_std_array.hpp +0 -40
  521. package/vendor/include/tlx/meta/is_std_pair.hpp +0 -39
  522. package/vendor/include/tlx/meta/is_std_tuple.hpp +0 -39
  523. package/vendor/include/tlx/meta/is_std_vector.hpp +0 -39
  524. package/vendor/include/tlx/meta/log2.hpp +0 -101
  525. package/vendor/include/tlx/meta/no_operation.hpp +0 -55
  526. package/vendor/include/tlx/meta/static_index.hpp +0 -42
  527. package/vendor/include/tlx/meta/vexpand.hpp +0 -34
  528. package/vendor/include/tlx/meta/vmap_for_range.hpp +0 -84
  529. package/vendor/include/tlx/meta/vmap_foreach.hpp +0 -63
  530. package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +0 -59
  531. package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +0 -62
  532. package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +0 -70
  533. package/vendor/include/tlx/meta.hpp +0 -55
  534. package/vendor/include/tlx/multi_timer.hpp +0 -148
  535. package/vendor/include/tlx/port/setenv.hpp +0 -31
  536. package/vendor/include/tlx/port.hpp +0 -27
  537. package/vendor/include/tlx/semaphore.hpp +0 -119
  538. package/vendor/include/tlx/simple_vector.hpp +0 -20
  539. package/vendor/include/tlx/siphash.hpp +0 -282
  540. package/vendor/include/tlx/sort/networks/best.hpp +0 -611
  541. package/vendor/include/tlx/sort/networks/bose_nelson.hpp +0 -412
  542. package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +0 -507
  543. package/vendor/include/tlx/sort/networks/cswap.hpp +0 -60
  544. package/vendor/include/tlx/sort/parallel_mergesort.hpp +0 -398
  545. package/vendor/include/tlx/sort/strings/insertion_sort.hpp +0 -232
  546. package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +0 -185
  547. package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +0 -1647
  548. package/vendor/include/tlx/sort/strings/radix_sort.hpp +0 -934
  549. package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +0 -756
  550. package/vendor/include/tlx/sort/strings/string_ptr.hpp +0 -426
  551. package/vendor/include/tlx/sort/strings/string_set.hpp +0 -800
  552. package/vendor/include/tlx/sort/strings.hpp +0 -329
  553. package/vendor/include/tlx/sort/strings_parallel.hpp +0 -325
  554. package/vendor/include/tlx/sort.hpp +0 -29
  555. package/vendor/include/tlx/stack_allocator.hpp +0 -226
  556. package/vendor/include/tlx/string/appendline.hpp +0 -35
  557. package/vendor/include/tlx/string/base64.hpp +0 -87
  558. package/vendor/include/tlx/string/bitdump.hpp +0 -139
  559. package/vendor/include/tlx/string/compare_icase.hpp +0 -42
  560. package/vendor/include/tlx/string/contains.hpp +0 -36
  561. package/vendor/include/tlx/string/contains_word.hpp +0 -42
  562. package/vendor/include/tlx/string/ends_with.hpp +0 -79
  563. package/vendor/include/tlx/string/equal_icase.hpp +0 -42
  564. package/vendor/include/tlx/string/erase_all.hpp +0 -70
  565. package/vendor/include/tlx/string/escape_html.hpp +0 -34
  566. package/vendor/include/tlx/string/escape_uri.hpp +0 -34
  567. package/vendor/include/tlx/string/expand_environment_variables.hpp +0 -49
  568. package/vendor/include/tlx/string/extract_between.hpp +0 -40
  569. package/vendor/include/tlx/string/format_iec_units.hpp +0 -32
  570. package/vendor/include/tlx/string/format_si_iec_units.hpp +0 -19
  571. package/vendor/include/tlx/string/format_si_units.hpp +0 -32
  572. package/vendor/include/tlx/string/hash_djb2.hpp +0 -87
  573. package/vendor/include/tlx/string/hash_sdbm.hpp +0 -86
  574. package/vendor/include/tlx/string/hexdump.hpp +0 -154
  575. package/vendor/include/tlx/string/index_of.hpp +0 -56
  576. package/vendor/include/tlx/string/join.hpp +0 -65
  577. package/vendor/include/tlx/string/join_generic.hpp +0 -89
  578. package/vendor/include/tlx/string/join_quoted.hpp +0 -46
  579. package/vendor/include/tlx/string/less_icase.hpp +0 -64
  580. package/vendor/include/tlx/string/levenshtein.hpp +0 -193
  581. package/vendor/include/tlx/string/pad.hpp +0 -39
  582. package/vendor/include/tlx/string/parse_si_iec_units.hpp +0 -46
  583. package/vendor/include/tlx/string/parse_uri.hpp +0 -66
  584. package/vendor/include/tlx/string/parse_uri_form_data.hpp +0 -136
  585. package/vendor/include/tlx/string/replace.hpp +0 -141
  586. package/vendor/include/tlx/string/split.hpp +0 -170
  587. package/vendor/include/tlx/string/split_quoted.hpp +0 -49
  588. package/vendor/include/tlx/string/split_view.hpp +0 -218
  589. package/vendor/include/tlx/string/split_words.hpp +0 -53
  590. package/vendor/include/tlx/string/ssprintf.hpp +0 -45
  591. package/vendor/include/tlx/string/ssprintf_generic.hpp +0 -95
  592. package/vendor/include/tlx/string/starts_with.hpp +0 -44
  593. package/vendor/include/tlx/string/to_lower.hpp +0 -47
  594. package/vendor/include/tlx/string/to_upper.hpp +0 -47
  595. package/vendor/include/tlx/string/trim.hpp +0 -298
  596. package/vendor/include/tlx/string/union_words.hpp +0 -33
  597. package/vendor/include/tlx/string/word_wrap.hpp +0 -35
  598. package/vendor/include/tlx/string.hpp +0 -68
  599. package/vendor/include/tlx/thread_barrier_mutex.hpp +0 -109
  600. package/vendor/include/tlx/thread_barrier_spin.hpp +0 -127
  601. package/vendor/include/tlx/thread_pool.hpp +0 -151
  602. package/vendor/include/tlx/timestamp.hpp +0 -23
  603. package/vendor/include/tlx/unused.hpp +0 -28
  604. package/vendor/include/tlx/vector_free.hpp +0 -30
  605. package/vendor/include/tlx/version.hpp +0 -49
  606. package/vendor/include/ttmath/ttmath.h +0 -2881
  607. package/vendor/include/ttmath/ttmathbig.h +0 -6111
  608. package/vendor/include/ttmath/ttmathdec.h +0 -419
  609. package/vendor/include/ttmath/ttmathint.h +0 -1923
  610. package/vendor/include/ttmath/ttmathmisc.h +0 -250
  611. package/vendor/include/ttmath/ttmathobjects.h +0 -812
  612. package/vendor/include/ttmath/ttmathparser.h +0 -2791
  613. package/vendor/include/ttmath/ttmaththreads.h +0 -252
  614. package/vendor/include/ttmath/ttmathtypes.h +0 -707
  615. package/vendor/include/ttmath/ttmathuint.h +0 -4190
  616. package/vendor/include/ttmath/ttmathuint_noasm.h +0 -1038
  617. package/vendor/include/ttmath/ttmathuint_x86.h +0 -1620
  618. package/vendor/include/ttmath/ttmathuint_x86_64.h +0 -1177
  619. package/vendor/lib/cmake/tlx/tlx-config.cmake +0 -51
  620. package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +0 -19
  621. package/vendor/lib/cmake/tlx/tlx-targets.cmake +0 -106
  622. package/vendor/lib/cmake/tlx/tlx-version.cmake +0 -11
  623. package/vendor/lib/libtlx.a +0 -0
  624. package/vendor/lib/pkgconfig/networkit.pc +0 -11
  625. package/vendor/lib/pkgconfig/tlx.pc +0 -11
@@ -1,568 +0,0 @@
1
- /*
2
- * Attributes.hpp
3
- *
4
- * Created on: 14.05.2024
5
- * Author: Klaus Ahrens
6
- * Eugenio Angriman
7
- * Lukas Berner
8
- * Fabian Brandt-Tumescheit
9
- * Alexander van der Grinten
10
- */
11
-
12
- #ifndef NETWORKIT_GRAPH_ATTRIBUTES_HPP_
13
- #define NETWORKIT_GRAPH_ATTRIBUTES_HPP_
14
-
15
- #include <fstream>
16
- #include <iostream>
17
- #include <memory>
18
- #include <string>
19
- #include <typeindex>
20
- #include <unordered_map>
21
- #include <vector>
22
-
23
- #include <networkit/Globals.hpp>
24
- #include <networkit/auxiliary/Log.hpp>
25
-
26
- namespace NetworKit {
27
-
28
- // Forward declaration
29
- class GraphW;
30
-
31
- // base class for all node (and edge) attribute
32
- // storages with attribute type info
33
- // independent of the attribute type, holds bookkeeping info only:
34
- // - attribute name
35
- // - type info of derived (real storage holding) classes
36
- // - which indices are valid
37
- // - number of valid indices
38
- // - the associated graph (who knows, which nodes/edges exist)
39
- // - the validity of the whole storage (initially true, false after detach)
40
- // all indexed accesses by NetworKit::index: synonym both for node and edgeid
41
-
42
- template <typename NodeOrEdge, typename GraphType>
43
- class AttributeStorageBase { // alias ASB
44
- public:
45
- AttributeStorageBase(const std::string &name, std::type_index type)
46
- : name{std::move(name)}, type{type}, validStorage{true} {}
47
-
48
- void invalidateStorage() { validStorage = false; }
49
-
50
- const std::string &getName() const noexcept { return name; }
51
-
52
- std::type_index getType() const noexcept { return type; }
53
-
54
- virtual std::shared_ptr<AttributeStorageBase> clone() const = 0;
55
- virtual void erase(index i) = 0;
56
- virtual void swapData(index i, index j) = 0;
57
-
58
- bool isValid(index n) const noexcept { return n < valid.size() && valid[n]; }
59
-
60
- // Called by Graph when node/edgeid n is deleted.
61
- void invalidate(index n) {
62
- if (isValid(n)) {
63
- valid[n] = false;
64
- --validElements;
65
- }
66
- }
67
-
68
- protected:
69
- void markValid(index n) {
70
- if (n >= valid.size())
71
- valid.resize(n + 1);
72
- if (!valid[n]) {
73
- valid[n] = true;
74
- ++validElements;
75
- }
76
- }
77
-
78
- void checkIndex(index n) const {
79
- if (!isValid(n)) {
80
- throw std::runtime_error("Invalid attribute value");
81
- }
82
- }
83
-
84
- private:
85
- std::string name;
86
- std::type_index type;
87
-
88
- protected:
89
- index validElements = 0;
90
- bool validStorage; // Validity of the whole storage
91
- std::vector<bool> valid; // For each node/edgeid: whether attribute is set or not.
92
-
93
- }; // class AttributeStorageBase
94
-
95
- template <typename NodeOrEdge, typename GraphType>
96
- using ASB = AttributeStorageBase<NodeOrEdge, GraphType>;
97
-
98
- template <typename NodeOrEdge, typename GraphType, typename T, bool isConst>
99
- class Attribute;
100
-
101
- template <typename NodeOrEdge, typename GraphType, template <typename, typename> class Base,
102
- typename T>
103
- class AttributeStorage final : public Base<NodeOrEdge, GraphType> {
104
- public:
105
- AttributeStorage(const std::string &name) : Base<NodeOrEdge, GraphType>{name, typeid(T)} {}
106
-
107
- std::shared_ptr<Base<NodeOrEdge, GraphType>> clone() const override {
108
- return std::make_shared<AttributeStorage>(*this);
109
- };
110
-
111
- void swapData(index i, index j) override {
112
- assert(i < values.size());
113
- assert(j < values.size());
114
- using std::swap;
115
- swap(values[i], values[j]);
116
- swap(this->valid[i], this->valid[j]);
117
- }
118
-
119
- void erase(index i) override {
120
- assert(i < values.size());
121
- values.erase(values.begin() + i);
122
- this->valid.erase(this->valid.begin() + i);
123
- }
124
-
125
- void resize(index i) {
126
- if (i >= values.size())
127
- values.resize(i + 1);
128
- }
129
-
130
- auto size() const noexcept { return this->validElements; }
131
-
132
- void set(index i, T &&v) {
133
- this->markValid(i);
134
- resize(i);
135
- values[i] = std::move(v);
136
- }
137
-
138
- // instead of returning an std::optional (C++17) we provide these
139
- // C++14 options
140
- // (1) throw an exception when invalid:
141
- T get(index i) const { // may throw
142
- this->checkIndex(i);
143
- return values[i];
144
- }
145
-
146
- // (2) give default value when invalid:
147
- T get(index i, T defaultT) const noexcept {
148
- if (i >= values.size() || !this->isValid(i))
149
- return defaultT;
150
- return values[i];
151
- }
152
-
153
- friend Attribute<NodeOrEdge, GraphType, T, true>;
154
- friend Attribute<NodeOrEdge, GraphType, T, false>;
155
-
156
- private:
157
- std::vector<T> values; // the real attribute storage
158
- }; // class AttributeStorage<NodeOrEdge, Base, T>
159
-
160
- template <typename NodeOrEdge, typename GraphType, typename T, bool isConst>
161
- class Attribute {
162
- public:
163
- using AttributeStorage_type =
164
- std::conditional_t<isConst, const AttributeStorage<NodeOrEdge, GraphType, ASB, T>,
165
- AttributeStorage<NodeOrEdge, GraphType, ASB, T>>;
166
- class Iterator {
167
- public:
168
- // The value type of the attribute. Returned by
169
- // operator*().
170
- using value_type = T;
171
-
172
- // Reference to the value_type, required by STL.
173
- using reference = std::conditional_t<isConst, const value_type &, value_type &>;
174
-
175
- // Pointer to the value_type, required by STL.
176
- using pointer = std::conditional_t<isConst, const value_type *, value_type *>;
177
-
178
- // STL iterator category.
179
- using iterator_category = std::forward_iterator_tag;
180
-
181
- // Signed integer type of the result of subtracting two pointers,
182
- // required by STL.
183
- using difference_type = ptrdiff_t;
184
-
185
- Iterator() : storage{nullptr}, idx{0} {}
186
- Iterator(AttributeStorage_type *storage) : storage{storage}, idx{0} {
187
- if (storage) {
188
- nextValid();
189
- }
190
- }
191
-
192
- Iterator &nextValid() {
193
- while (storage && !storage->isValid(idx)) {
194
- if (idx >= storage->values.size()) {
195
- storage = nullptr;
196
- return *this;
197
- }
198
- ++idx;
199
- }
200
- return *this;
201
- }
202
-
203
- Iterator &operator++() {
204
- if (!storage) {
205
- throw std::runtime_error("Invalid attribute iterator");
206
- }
207
- ++idx;
208
- return nextValid();
209
- }
210
-
211
- auto operator*() const {
212
- if (!storage) {
213
- throw std::runtime_error("Invalid attribute iterator");
214
- }
215
- return std::make_pair(idx, storage->values[idx]);
216
- }
217
-
218
- bool operator==(Iterator const &iter) const noexcept {
219
- if (storage == nullptr && iter.storage == nullptr) {
220
- return true;
221
- }
222
- return storage == iter.storage && idx == iter.idx;
223
- }
224
-
225
- bool operator!=(Iterator const &iter) const noexcept { return !(*this == iter); }
226
-
227
- private:
228
- AttributeStorage_type *storage;
229
- index idx;
230
- }; // class Iterator
231
-
232
- private:
233
- class IndexProxy {
234
- // a helper class for distinguished read and write on an indexed
235
- // attribute
236
- // operator[] on an attribute yields an IndexProxy holding
237
- // location and index of access
238
- // - casting an IndexProxy to the attribute type reads the value
239
- // - assigning to it (operator=) writes the value
240
- public:
241
- IndexProxy(AttributeStorage_type *storage, index idx) : storage{storage}, idx{idx} {}
242
- IndexProxy(IndexProxy &&) = delete;
243
- IndexProxy(const IndexProxy &) = delete;
244
-
245
- // reading at idx
246
- operator T() const {
247
- storage->checkIndex(idx);
248
- return storage->values[idx];
249
- }
250
-
251
- // writing at idx
252
- IndexProxy &operator=(T &&other)
253
- requires(!isConst)
254
- {
255
- storage->set(idx, std::move(other));
256
- return *this;
257
- }
258
-
259
- // move + copy assignment from other proxy objects
260
-
261
- IndexProxy &operator=(IndexProxy &&other) noexcept
262
- requires(!isConst)
263
- {
264
- storage->set(idx, static_cast<T>(other));
265
- return *this;
266
- }
267
-
268
- IndexProxy &operator=(const IndexProxy &other)
269
- requires(!isConst)
270
- {
271
- storage->set(idx, static_cast<T>(other));
272
- return *this;
273
- }
274
-
275
- private:
276
- AttributeStorage_type *storage;
277
- index idx;
278
- }; // class IndexProxy
279
- public:
280
- explicit Attribute(std::shared_ptr<AttributeStorage_type> ownedStorage = nullptr,
281
- const GraphType *graph = nullptr)
282
- : ownedStorage{ownedStorage}, theGraph{graph},
283
- valid{ownedStorage != nullptr && graph != nullptr} {}
284
-
285
- Attribute(Attribute const &other)
286
- : ownedStorage{other.ownedStorage}, theGraph{other.theGraph}, valid{other.valid} {}
287
-
288
- template <bool ic = isConst, std::enable_if_t<ic, int> = 0>
289
- Attribute(Attribute<NodeOrEdge, GraphType, T, false> const &other)
290
- : ownedStorage{other.ownedStorage}, theGraph{other.theGraph}, valid{other.valid} {}
291
-
292
- Attribute &operator=(Attribute other) {
293
- this->swap(other);
294
- return *this;
295
- }
296
-
297
- void swap(Attribute &other) {
298
- std::swap(ownedStorage, other.ownedStorage);
299
- std::swap(theGraph, other.theGraph);
300
- std::swap(valid, other.valid);
301
- }
302
-
303
- Attribute(Attribute &&other) noexcept
304
- : ownedStorage{std::move(other.ownedStorage)}, theGraph{std::move(other.theGraph)},
305
- valid{std::move(other.valid)} {
306
- other.valid = false;
307
- }
308
-
309
- template <bool ic = isConst, std::enable_if_t<ic, int> = 0>
310
- Attribute(Attribute<NodeOrEdge, GraphType, T, false> &&other) noexcept
311
- : ownedStorage{std::move(other.ownedStorage)}, theGraph{std::move(other.theGraph)},
312
- valid{std::move(other.valid)} {
313
- other.valid = false;
314
- }
315
-
316
- auto begin() const {
317
- checkAttribute();
318
- return Iterator(lockStorage().get()).nextValid();
319
- }
320
-
321
- auto end() const { return Iterator(nullptr); }
322
-
323
- auto size() const noexcept { return lockStorage()->size(); }
324
-
325
- template <bool ic = isConst>
326
- std::enable_if_t<!ic> set(index i, T v) {
327
- checkAttribute();
328
- #ifndef NDEBUG
329
- indexOK(i);
330
- #endif // NDEBUG
331
- lockStorage()->set(i, std::move(v));
332
- }
333
-
334
- template <bool ic = isConst>
335
- std::enable_if_t<!ic> set2(node u, node v, T t) {
336
- static_assert(NodeOrEdge::edges, "attribute(u,v) for edges only");
337
- checkAttribute();
338
- set(theGraph->edgeId(u, v), t);
339
- }
340
-
341
- auto get(index i) const {
342
- checkAttribute();
343
- #ifndef NDEBUG
344
- indexOK(i);
345
- #endif // NDEBUG
346
- return lockStorage()->get(i);
347
- }
348
-
349
- auto get2(node u, node v) const {
350
- static_assert(NodeOrEdge::edges, "attribute(u,v) for edges only");
351
- checkAttribute();
352
- return get(theGraph->edgeId(u, v));
353
- }
354
-
355
- auto get(index i, T defaultT) const {
356
- checkAttribute();
357
- #ifndef NDEBUG
358
- indexOK(i);
359
- #endif // NDEBUG
360
- return lockStorage()->get(i, defaultT);
361
- }
362
-
363
- auto get2(node u, node v, T defaultT) const {
364
- static_assert(NodeOrEdge::edges, "attribute(u,v) for edges only");
365
- checkAttribute();
366
- return get(theGraph->edgeId(u, v), defaultT);
367
- }
368
-
369
- IndexProxy operator[](index i) const {
370
- checkAttribute();
371
- #ifndef NDEBUG
372
- indexOK(i);
373
- #endif // NDEBUG
374
- return IndexProxy(lockStorage().get(), i);
375
- }
376
-
377
- IndexProxy operator()(node u, node v) const {
378
- static_assert(NodeOrEdge::edges, "attribute(u,v) for edges only");
379
- checkAttribute();
380
- auto idx = theGraph->edgeId(u, v);
381
- #ifndef NDEBUG
382
- indexOK(idx);
383
- #endif // NDEBUG
384
- return IndexProxy(lockStorage().get(), idx);
385
- }
386
-
387
- void checkAttribute() const {
388
- if (!lockStorage()->validStorage || !valid)
389
- throw std::runtime_error("Invalid attribute");
390
- }
391
-
392
- auto getName() const {
393
- checkAttribute();
394
- return lockStorage()->getName();
395
- }
396
-
397
- void write(std::string const &filename) const {
398
- std::ofstream out(filename);
399
- if (!out)
400
- ERROR("cannot open ", filename, " for writing");
401
-
402
- for (auto it = begin(); it != end(); ++it) {
403
- auto pair = *it;
404
- auto n = pair.first; // node/edgeid
405
- auto v = pair.second; // value
406
- out << n << "\t" << v << "\n";
407
- }
408
- out.close();
409
- }
410
-
411
- template <bool ic = isConst>
412
- std::enable_if_t<!ic> read(const std::string &filename) {
413
- std::ifstream in(filename);
414
- if (!in) {
415
- ERROR("cannot open ", filename, " for reading");
416
- }
417
- index n; // node/edgeid
418
- T v; // value
419
- std::string line;
420
- while (std::getline(in, line)) {
421
- std::istringstream istring(line);
422
- if constexpr (std::is_same_v<T, std::string>) {
423
- istring >> n >> std::ws;
424
- std::getline(istring, v);
425
- } else {
426
- istring >> n >> v;
427
- }
428
- set(n, v);
429
- }
430
- }
431
-
432
- private:
433
- #ifndef NDEBUG
434
- void indexOK(index n) const {
435
- if constexpr (NodeOrEdge::edges) {
436
- auto uv = theGraph->edgeById(n);
437
- if (uv.first == none) {
438
- throw std::runtime_error("This edgeId does not exist");
439
- }
440
- } else {
441
- if (!theGraph->hasNode(n)) {
442
- throw std::runtime_error("This node does not exist");
443
- }
444
- }
445
- };
446
- #endif // NDEBUG
447
-
448
- auto lockStorage() const {
449
- auto s = ownedStorage.lock();
450
- if (s)
451
- return s;
452
- throw std::runtime_error("Attribute does not exist");
453
- }
454
-
455
- std::weak_ptr<AttributeStorage_type> ownedStorage;
456
- const GraphType *theGraph;
457
- bool valid;
458
- }; // class Attribute
459
-
460
- template <typename NodeOrEdge, typename GraphType>
461
- class AttributeMap {
462
- friend GraphType;
463
- friend class GraphW;
464
- const GraphType *theGraph;
465
-
466
- std::unordered_map<std::string, std::shared_ptr<ASB<NodeOrEdge, GraphType>>> attrMap;
467
-
468
- public:
469
- AttributeMap(const GraphType *g) : theGraph{g} { assert(theGraph != nullptr); }
470
-
471
- // do not allow copying of AttributeMap. There is a 1:1 relation to the Graph!
472
- AttributeMap(AttributeMap &) = delete;
473
- AttributeMap &operator=(const AttributeMap &) = delete;
474
-
475
- // copying is only allowed with a new graph pointer. This constructor copies all data.
476
- AttributeMap(const AttributeMap &other, const GraphType *g) : theGraph(g) {
477
- assert(theGraph != nullptr);
478
- // manual copy is required here since the copy constructor for unordered_map would only copy
479
- // the shared_ptr and not the data
480
- for (auto &[key, value] : other.attrMap) {
481
- auto ptr = value->clone();
482
- attrMap.emplace(key, ptr);
483
- }
484
- }
485
-
486
- // move operators
487
- AttributeMap(AttributeMap &&other) = default;
488
- AttributeMap &operator=(AttributeMap &&other) = default;
489
-
490
- auto find(std::string const &name) {
491
- auto it = attrMap.find(name);
492
- if (it == attrMap.end()) {
493
- throw std::runtime_error("No such attribute");
494
- }
495
- return it;
496
- }
497
-
498
- auto find(std::string const &name) const {
499
- auto it = attrMap.find(name);
500
- if (it == attrMap.end()) {
501
- throw std::runtime_error("No such attribute");
502
- }
503
- return it;
504
- }
505
-
506
- template <typename T>
507
- auto attach(const std::string &name) {
508
- if constexpr (NodeOrEdge::edges) {
509
- if (!theGraph->hasEdgeIds()) {
510
- throw std::runtime_error("Edges must be indexed");
511
- }
512
- }
513
- auto ownedPtr =
514
- std::make_shared<AttributeStorage<NodeOrEdge, GraphType, ASB, T>>(std::string{name});
515
- auto insertResult = attrMap.emplace(ownedPtr->getName(), ownedPtr);
516
- auto success = insertResult.second;
517
- if (!success) {
518
- throw std::runtime_error("Attribute with same name already exists");
519
- }
520
- return Attribute<NodeOrEdge, GraphType, T, false>{ownedPtr, theGraph};
521
- }
522
-
523
- void detach(const std::string &name) {
524
- auto it = find(name);
525
- auto storage = it->second.get();
526
- storage->invalidateStorage();
527
- it->second.reset();
528
- attrMap.erase(name);
529
- }
530
-
531
- template <typename T>
532
- auto get(const std::string &name) {
533
- auto it = find(name);
534
- if (it->second.get()->getType() != typeid(T))
535
- throw std::runtime_error("Type mismatch in Attributes().get()");
536
- return Attribute<NodeOrEdge, GraphType, T, false>{
537
- std::static_pointer_cast<AttributeStorage<NodeOrEdge, GraphType, ASB, T>>(it->second),
538
- theGraph};
539
- }
540
-
541
- template <typename T>
542
- auto get(const std::string &name) const {
543
- auto it = find(name);
544
- if (it->second.get()->getType() != typeid(T))
545
- throw std::runtime_error("Type mismatch in Attributes().get()");
546
- return Attribute<NodeOrEdge, GraphType, T, true>{
547
- std::static_pointer_cast<const AttributeStorage<NodeOrEdge, GraphType, ASB, T>>(
548
- it->second),
549
- theGraph};
550
- }
551
-
552
- }; // class AttributeMap
553
-
554
- /// @private
555
- class PerNode {
556
- public:
557
- static constexpr bool edges = false;
558
- };
559
-
560
- /// @private
561
- class PerEdge {
562
- public:
563
- static constexpr bool edges = true;
564
- };
565
-
566
- } // namespace NetworKit
567
-
568
- #endif // NETWORKIT_GRAPH_ATTRIBUTES_HPP_
@@ -1,111 +0,0 @@
1
-
2
- #ifndef NETWORKIT_GRAPH_BFS_HPP_
3
- #define NETWORKIT_GRAPH_BFS_HPP_
4
-
5
- #include <array>
6
- #include <queue>
7
- #include <vector>
8
-
9
- #include <networkit/graph/Graph.hpp>
10
-
11
- namespace NetworKit {
12
-
13
- namespace Traversal {
14
-
15
- /**
16
- * Calls the given BFS handle with distance parameter
17
- */
18
- template <class F>
19
- auto callBFSHandle(F &f, node u, count dist) -> decltype(f(u, dist)) {
20
- return f(u, dist);
21
- }
22
-
23
- /**
24
- * Calls the given BFS handle without distance parameter
25
- */
26
- template <class F>
27
- auto callBFSHandle(F &f, node u, count) -> decltype(f(u)) {
28
- return f(u);
29
- }
30
-
31
- /**
32
- * Iterate over nodes in breadth-first search order starting from the nodes within the given range.
33
- *
34
- * @param G The input graph.
35
- * @param first The first element of the range.
36
- * @param last The end of the range.
37
- * @param handle Takes a node as input parameter.
38
- */
39
- template <class InputIt, typename L>
40
- void BFSfrom(const Graph &G, InputIt first, InputIt last, L handle) {
41
- std::vector<bool> marked(G.upperNodeIdBound());
42
- std::queue<node> q, qNext;
43
- count dist = 0;
44
- // enqueue start nodes
45
- for (; first != last; ++first) {
46
- q.push(*first);
47
- marked[*first] = true;
48
- }
49
- do {
50
- const auto u = q.front();
51
- q.pop();
52
- // apply function
53
- callBFSHandle(handle, u, dist);
54
- G.forNeighborsOf(u, [&](node v) {
55
- if (!marked[v]) {
56
- qNext.push(v);
57
- marked[v] = true;
58
- }
59
- });
60
- if (q.empty() && !qNext.empty()) {
61
- q.swap(qNext);
62
- ++dist;
63
- }
64
- } while (!q.empty());
65
- }
66
-
67
- /**
68
- * Iterate over nodes in breadth-first search order starting from the given source node.
69
- *
70
- * @param G The input graph.
71
- * @param source The source node.
72
- * @param handle Takes a node as input parameter.
73
- */
74
- template <typename L>
75
- void BFSfrom(const Graph &G, node source, L handle) {
76
- std::array<node, 1> startNodes{{source}};
77
- BFSfrom(G, startNodes.begin(), startNodes.end(), handle);
78
- }
79
-
80
- /**
81
- * Iterate over edges in breadth-first search order starting from the given source node.
82
- *
83
- * @param G The input graph.
84
- * @param source The source node.
85
- * @param handle Takes a node as input parameter.
86
- */
87
- template <typename L>
88
- void BFSEdgesFrom(const Graph &G, node source, L handle) {
89
- std::vector<bool> marked(G.upperNodeIdBound());
90
- std::queue<node> q;
91
- q.push(source); // enqueue root
92
- marked[source] = true;
93
- do {
94
- const auto u = q.front();
95
- q.pop();
96
- // apply function
97
- G.forNeighborsOf(u, [&](node, node v, edgeweight w, edgeid eid) {
98
- if (!marked[v]) {
99
- handle(u, v, w, eid);
100
- q.push(v);
101
- marked[v] = true;
102
- }
103
- });
104
- } while (!q.empty());
105
- }
106
-
107
- } // namespace Traversal
108
-
109
- } // namespace NetworKit
110
-
111
- #endif // NETWORKIT_GRAPH_BFS_HPP_