@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,197 @@
1
+ /*******************************************************************************
2
+ * tlx/meta/function_chain.hpp
3
+ *
4
+ * A FunctionChain stores a sequence of lambdas or functors f_1, f_2, ... f_n,
5
+ * which are composed together as f_n(... f_2(f_1(x))). Each lambda/functor is
6
+ * called with the result of the previous. This basically implements
7
+ * compile-time function composition.
8
+ *
9
+ * Part of tlx - http://panthema.net/tlx
10
+ *
11
+ * Copyright (C) 2015 Sebastian Lamm <seba.lamm@gmail.com>
12
+ * Copyright (C) 2015-2017 Timo Bingmann <tb@panthema.net>
13
+ *
14
+ * All rights reserved. Published under the Boost Software License, Version 1.0
15
+ ******************************************************************************/
16
+
17
+ #ifndef TLX_META_FUNCTION_CHAIN_HEADER
18
+ #define TLX_META_FUNCTION_CHAIN_HEADER
19
+
20
+ #include <tlx/meta/index_sequence.hpp>
21
+ #include <cstddef>
22
+ #include <tuple>
23
+
24
+ namespace tlx {
25
+
26
+ //! \addtogroup tlx_meta
27
+ //! \{
28
+
29
+ namespace meta_detail {
30
+
31
+ /*!
32
+ * Base case for the chaining of functors: zero functors, returns the identity.
33
+ */
34
+ static inline auto call_chain()
35
+ {
36
+ return [](const auto& input) mutable -> auto { return input; };
37
+ }
38
+
39
+ /*!
40
+ * Base case for the chaining of functors. The one functor receives an input
41
+ * element
42
+ *
43
+ * \param functor functor that represents the chain end.
44
+ */
45
+ template <typename Functor>
46
+ auto call_chain(const Functor& functor)
47
+ {
48
+ // the functor is captured by non-const copy so that we can use functors
49
+ // with non-const operator(), i.e. stateful functors (e.g. for sampling)
50
+ return [functor = functor](const auto& input) mutable -> auto {
51
+ return functor(input);
52
+ };
53
+ }
54
+
55
+ /*!
56
+ * Recursive case for the chaining of functors. The first functor receives an
57
+ * input element, and the remaining chain is applied to the result.
58
+ *
59
+ * \param functor Current functor to be chained.
60
+ *
61
+ * \param rest Remaining functors.
62
+ */
63
+ template <typename Functor, typename... MoreFunctors>
64
+ auto call_chain(const Functor& functor, const MoreFunctors&... rest)
65
+ {
66
+ // the functor is captured by non-const copy so that we can use functors
67
+ // with non-const operator(), i.e. stateful functors (e.g. for sampling)
68
+ return [=, functor = functor](const auto& input) mutable -> auto {
69
+ return call_chain(rest...)(functor(input));
70
+ };
71
+ }
72
+
73
+ } // namespace meta_detail
74
+
75
+ /*!
76
+ * A FunctionChain is a chain of functors that can be folded to a single
77
+ * functors. All functors within the chain receive a single input value, which
78
+ * is the result of all preceding functors in the chain.
79
+ *
80
+ * The FunctionChain basically consists of a tuple that contains functors of
81
+ * varying types.
82
+ *
83
+ * \tparam Input_ Input to first functor functor.
84
+ *
85
+ * \tparam Functors Types of the different functors.
86
+ */
87
+ template <typename... Functors>
88
+ class FunctionChain
89
+ {
90
+ public:
91
+ //! default constructor: empty functor chain.
92
+ FunctionChain() = default;
93
+
94
+ /*!
95
+ * Initialize the function chain with a given tuple of functions.
96
+ *
97
+ * \param chain Tuple of functors.
98
+ */
99
+ explicit FunctionChain(const std::tuple<Functors...>& chain) : chain_(chain)
100
+ {
101
+ }
102
+
103
+ /*!
104
+ * Add a functor to the end of the chain.
105
+ *
106
+ * \tparam Functor Type of the functors.
107
+ *
108
+ * \param functor functor that should be added to the chain.
109
+ *
110
+ * \return New chain containing the previous and new functor(s).
111
+ */
112
+ template <typename Functor>
113
+ auto push(const Functor& functor) const
114
+ {
115
+ // append to function chain's type the new function.
116
+ return FunctionChain<Functors..., Functor>(
117
+ std::tuple_cat(chain_, std::make_tuple(functor)));
118
+ }
119
+
120
+ /*!
121
+ * Add a functor to the end of the chain. Alias for fold().
122
+ *
123
+ * \tparam Functor Type of the functors.
124
+ *
125
+ * \param functor functor that should be added to the chain.
126
+ *
127
+ * \return New chain containing the previous and new functor(s).
128
+ */
129
+ template <typename Functor>
130
+ auto operator&(const Functor& functor) const
131
+ {
132
+ return push(functor);
133
+ }
134
+
135
+ /*!
136
+ * Build a single functor by "folding" the chain. Folding means
137
+ * that the chain is processed from front to back.
138
+ *
139
+ * \return Single "folded" functor representing the chain.
140
+ */
141
+ auto fold() const
142
+ {
143
+ return fold_chain(make_index_sequence<sizeof...(Functors)>{});
144
+ }
145
+
146
+ /*!
147
+ * Directly call the folded function chain with a value.
148
+ */
149
+ template <typename... Input>
150
+ auto operator()(Input&&... value) const
151
+ {
152
+ return fold()(std::move(value...));
153
+ }
154
+
155
+ //! Is true if the FunctionChain is empty.
156
+ static constexpr bool empty = (sizeof...(Functors) == 0);
157
+
158
+ //! Number of functors in the FunctionChain
159
+ static constexpr size_t size = sizeof...(Functors);
160
+
161
+ private:
162
+ //! Tuple of varying type that stores all functors.
163
+ std::tuple<Functors...> chain_;
164
+
165
+ /*!
166
+ * Auxilary function for "folding" the chain. This is needed to send all
167
+ * functors as parameters to the function that folds them together.
168
+ *
169
+ * \return Single "folded" functor representing the chain.
170
+ */
171
+ template <size_t... Is>
172
+ auto fold_chain(index_sequence<Is...>) const
173
+ {
174
+ return meta_detail::call_chain(std::get<Is>(chain_)...);
175
+ }
176
+ };
177
+
178
+ //! Functor chain maker. Can also be called with a lambda function.
179
+ template <typename Functor>
180
+ static inline auto make_function_chain(const Functor& functor)
181
+ {
182
+ return FunctionChain<Functor>(std::make_tuple(functor));
183
+ }
184
+
185
+ //! Construct and empty function chain.
186
+ static inline auto make_function_chain()
187
+ {
188
+ return FunctionChain<>();
189
+ }
190
+
191
+ //! \}
192
+
193
+ } // namespace tlx
194
+
195
+ #endif // !TLX_META_FUNCTION_CHAIN_HEADER
196
+
197
+ /******************************************************************************/
@@ -0,0 +1,189 @@
1
+ /*******************************************************************************
2
+ * tlx/meta/function_stack.hpp
3
+ *
4
+ * A FunctionStack stores a sequence of lambdas or functors which _emit_ items
5
+ * to the next stage. Each lambda/functor is called with (item, emit) where emit
6
+ * is the chain of subsequent functors. This "push-down items" method is used by
7
+ * Thrill to enable expanding of one item to many in FlatMap().
8
+ *
9
+ * Given functors f_1, f_2, ... f_n, the FunctionStack calls f_1(x, f_2), for x,
10
+ * and f_1 calls f_2(y, f_3) for each y it emits.
11
+ *
12
+ * Part of tlx - http://panthema.net/tlx
13
+ *
14
+ * Copyright (C) 2015 Sebastian Lamm <seba.lamm@gmail.com>
15
+ * Copyright (C) 2015-2017 Timo Bingmann <tb@panthema.net>
16
+ *
17
+ * All rights reserved. Published under the Boost Software License, Version 1.0
18
+ ******************************************************************************/
19
+
20
+ #ifndef TLX_META_FUNCTION_STACK_HEADER
21
+ #define TLX_META_FUNCTION_STACK_HEADER
22
+
23
+ #include <tlx/meta/index_sequence.hpp>
24
+ #include <cstddef>
25
+ #include <tuple>
26
+
27
+ namespace tlx {
28
+
29
+ //! \addtogroup tlx_meta
30
+ //! \{
31
+
32
+ namespace meta_detail {
33
+
34
+ /*!
35
+ * Base case for the chaining of functors. The last functor receives an input
36
+ * element, no emitter and should have no return type. It should therefore
37
+ * store the input parameter externally.
38
+ *
39
+ * \param functor Functor that represents the chain end.
40
+ */
41
+ template <typename Functor>
42
+ auto call_stack(const Functor& functor)
43
+ {
44
+ // the functor object is captured by non-const copy so that we can use
45
+ // functors with non-const operator(), i.e. stateful functors (e.g. for
46
+ // sampling)
47
+ return [=, functor = functor](const auto& input) mutable -> void {
48
+ functor(input);
49
+ };
50
+ }
51
+
52
+ /*!
53
+ * Recursive case for the chaining of functors. The given functor receives an
54
+ * input element, an emitter and should have no return type. The emitter will
55
+ * be built using the chain of remaining functors.
56
+ *
57
+ * \param functor Current functor to be chained.
58
+ *
59
+ * \param rest Remaining functors.
60
+ */
61
+ template <typename Functor, typename... MoreFunctors>
62
+ auto call_stack(const Functor& functor, const MoreFunctors&... rest)
63
+ {
64
+ // the functor object is captured by non-const copy so that we can use
65
+ // functors with non-const operator(), i.e. stateful functors (e.g. for
66
+ // sampling)
67
+ return [=, functor = functor](const auto& input) mutable -> void {
68
+ functor(input, call_stack(rest...));
69
+ };
70
+ }
71
+
72
+ } // namespace meta_detail
73
+
74
+ /*!
75
+ * A FunctionStack is a chain of functor that can be folded to a single functor
76
+ * (which is usually optimize by the compiler).
77
+ *
78
+ * All functors within the chain receive a single input value and a emitter
79
+ * function. The emitter function is used for chaining functors together by
80
+ * enabling items to pushed down the sequence. The single exception to this is
81
+ * the last functor, which receives no emitter, and hence usually stores the
82
+ * items somehow.
83
+ *
84
+ * The FunctionStack basically consists of a tuple that contains functor objects
85
+ * of varying types.
86
+ *
87
+ * \tparam Input_ Input to first functor.
88
+ *
89
+ * \tparam Functors Types of the different functor.
90
+ */
91
+ template <typename Input_, typename... Functors>
92
+ class FunctionStack
93
+ {
94
+ public:
95
+ using Input = Input_;
96
+
97
+ //! Construct an empty FunctionStack
98
+ FunctionStack() = default;
99
+
100
+ /*!
101
+ * Initialize the function stack with a given tuple of functors.
102
+ *
103
+ * \param stack Tuple of functor.
104
+ */
105
+ explicit FunctionStack(const std::tuple<Functors...>& stack) : stack_(stack)
106
+ {
107
+ }
108
+
109
+ /*!
110
+ * Add a functor function to the end of the stack.
111
+ *
112
+ * \tparam Functor Type of the functor.
113
+ *
114
+ * \param functor Functor that should be added to the stack.
115
+ *
116
+ * \return New stack containing the previous and new functor(s).
117
+ */
118
+ template <typename Functor>
119
+ auto push(const Functor& functor) const
120
+ {
121
+ // append to function stack's type the new function.
122
+ return FunctionStack<Input, Functors..., Functor>(
123
+ std::tuple_cat(stack_, std::make_tuple(functor)));
124
+ }
125
+
126
+ /*!
127
+ * Add a functor to the end of the stack. Alias for push().
128
+ *
129
+ * \tparam Functor Type of the functors.
130
+ *
131
+ * \param functor functor that should be added to the stack.
132
+ *
133
+ * \return New stack containing the previous and new functor(s).
134
+ */
135
+ template <typename Functor>
136
+ auto operator&(const Functor& functor) const
137
+ {
138
+ return push(functor);
139
+ }
140
+
141
+ /*!
142
+ * Build a single functor by "folding" the stack. Folding means that the
143
+ * stack is processed from front to back and each emitter is composed using
144
+ * previous functors.
145
+ *
146
+ * \return Single "folded" functor representing the whole stack.
147
+ */
148
+ auto fold() const
149
+ {
150
+ return fold_stack(make_index_sequence<sizeof...(Functors)>{});
151
+ }
152
+
153
+ //! Is true if the FunctionStack is empty.
154
+ static constexpr bool empty = (sizeof...(Functors) == 0);
155
+
156
+ //! Number of functors on the FunctionStack
157
+ static constexpr size_t size = sizeof...(Functors);
158
+
159
+ private:
160
+ //! Tuple of varying type that stores all functor objects functions.
161
+ std::tuple<Functors...> stack_;
162
+
163
+ /*!
164
+ * Auxilary function for "folding" the stack. This is needed to send all
165
+ * functors as parameters to the function that folds them together.
166
+ *
167
+ * \return Single "folded" functor representing the stack.
168
+ */
169
+ template <size_t... Is>
170
+ auto fold_stack(index_sequence<Is...>) const
171
+ {
172
+ return meta_detail::call_stack(std::get<Is>(stack_)...);
173
+ }
174
+ };
175
+
176
+ //! Function-style construction of a FunctionStack
177
+ template <typename Input, typename Functor>
178
+ static inline auto make_function_stack(const Functor& functor)
179
+ {
180
+ return FunctionStack<Input, Functor>(std::make_tuple(functor));
181
+ }
182
+
183
+ //! \}
184
+
185
+ } // namespace tlx
186
+
187
+ #endif // !TLX_META_FUNCTION_STACK_HEADER
188
+
189
+ /******************************************************************************/
@@ -0,0 +1,80 @@
1
+ /*******************************************************************************
2
+ * tlx/meta/has_member.hpp
3
+ *
4
+ * Part of tlx - http://panthema.net/tlx
5
+ *
6
+ * Copyright (C) 2016-2017 Timo Bingmann <tb@panthema.net>
7
+ *
8
+ * All rights reserved. Published under the Boost Software License, Version 1.0
9
+ ******************************************************************************/
10
+
11
+ #ifndef TLX_META_HAS_MEMBER_HEADER
12
+ #define TLX_META_HAS_MEMBER_HEADER
13
+
14
+ namespace tlx {
15
+
16
+ //! \addtogroup tlx_meta
17
+ //! \{
18
+
19
+ /******************************************************************************/
20
+ // SFINAE check whether a class member exists.
21
+
22
+ // based on http://stackoverflow.com/questions/257288/is-it-possible
23
+ // -to-write-a-c-template-to-check-for-a-functions-existence
24
+
25
+ /*!
26
+ * Macro template for class member / attribute SFINAE test
27
+
28
+ Usage:
29
+ \code
30
+ TLX_MAKE_HAS_METHOD(myfunc);
31
+
32
+ static_assert(has_method_myfunc<MyClass>::value,
33
+ "check MyClass for existence of attribute/method myfunc");
34
+ \endcode
35
+ */
36
+ #define TLX_MAKE_HAS_MEMBER(Member) \
37
+ template <typename Type> \
38
+ class has_member_##Member \
39
+ { \
40
+ template <typename C> \
41
+ static char test(decltype(&C::Member)); \
42
+ template <typename C> \
43
+ static int test(...); \
44
+ \
45
+ public: \
46
+ static const bool value = sizeof(test<Type>(0)) == sizeof(char); \
47
+ }
48
+
49
+ /*!
50
+ * Macro template for class template member SFINAE test
51
+
52
+ Usage:
53
+ \code
54
+ TLX_MAKE_HAS_TEMPLATE_METHOD(myfunc);
55
+
56
+ static_assert(has_method_myfunc<MyClass, float, int>::value,
57
+ "check MyClass for existence of attribute/method myfunc "
58
+ "if instantiated with <float, int>");
59
+ \endcode
60
+ */
61
+ #define TLX_MAKE_HAS_TEMPLATE_MEMBER(Member) \
62
+ template <typename Type, typename... Args> \
63
+ class has_member_##Member \
64
+ { \
65
+ template <typename C> \
66
+ static char test(decltype(&C::template Member<Args...>)); \
67
+ template <typename C> \
68
+ static int test(...); \
69
+ \
70
+ public: \
71
+ static const bool value = sizeof(test<Type>(0)) == sizeof(char); \
72
+ }
73
+
74
+ //! \}
75
+
76
+ } // namespace tlx
77
+
78
+ #endif // !TLX_META_HAS_MEMBER_HEADER
79
+
80
+ /******************************************************************************/
@@ -0,0 +1,117 @@
1
+ /*******************************************************************************
2
+ * tlx/meta/has_method.hpp
3
+ *
4
+ * Part of tlx - http://panthema.net/tlx
5
+ *
6
+ * Copyright (C) 2016-2017 Timo Bingmann <tb@panthema.net>
7
+ *
8
+ * All rights reserved. Published under the Boost Software License, Version 1.0
9
+ ******************************************************************************/
10
+
11
+ #ifndef TLX_META_HAS_METHOD_HEADER
12
+ #define TLX_META_HAS_METHOD_HEADER
13
+
14
+ namespace tlx {
15
+
16
+ //! \addtogroup tlx_meta
17
+ //! \{
18
+
19
+ /******************************************************************************/
20
+ // SFINAE check whether a class method is callable with given parameter types.
21
+
22
+ /*!
23
+ * Macro template for callable class method SFINAE test.
24
+
25
+ Usage:
26
+ \code
27
+ TLX_MAKE_HAS_METHOD(myfunc);
28
+
29
+ static_assert(has_method_myfunc<MyClass, int(std::string)>::value,
30
+ "check MyClass for existence of myfunc "
31
+ "with signature int(std::string)");
32
+ \endcode
33
+ */
34
+ #define TLX_MAKE_HAS_METHOD(Method) \
35
+ template <typename Class, typename Signature> \
36
+ class has_method_##Method; \
37
+ \
38
+ template <typename Class, typename Return, typename... Args> \
39
+ class has_method_##Method<Class, Return(Args...)> \
40
+ { \
41
+ template <typename C> \
42
+ static char test( \
43
+ decltype(static_cast<Return (C::*)(Args...)>(&C::Method))); \
44
+ template <typename C> \
45
+ static int test(...); \
46
+ \
47
+ public: \
48
+ static const bool value = (sizeof(test<Class>(0)) == sizeof(char)); \
49
+ }
50
+
51
+ /*!
52
+ * Macro template for callable class method SFINAE test.
53
+
54
+ Usage:
55
+ \code
56
+ TLX_MAKE_HAS_STATIC_METHOD(myfunc);
57
+
58
+ static_assert(has_method_myfunc<MyClass, int(std::string)>::value,
59
+ "check MyClass for existence of static myfunc "
60
+ "with signature int(std::string)");
61
+ \endcode
62
+ */
63
+ #define TLX_MAKE_HAS_STATIC_METHOD(Method) \
64
+ template <typename Class, typename Signature> \
65
+ class has_method_##Method; \
66
+ \
67
+ template <typename Class, typename Return, typename... Args> \
68
+ class has_method_##Method<Class, Return(Args...)> \
69
+ { \
70
+ template <typename C> \
71
+ static char test( \
72
+ decltype(static_cast<Return (*)(Args...)>(&C::Method))); \
73
+ template <typename C> \
74
+ static int test(...); \
75
+ \
76
+ public: \
77
+ static const bool value = (sizeof(test<Class>(0)) == sizeof(char)); \
78
+ }
79
+
80
+ /*!
81
+ * Macro template for callable class method SFINAE test.
82
+
83
+ Usage:
84
+ \code
85
+ TLX_MAKE_HAS_TEMPLATE_METHOD(myfunc);
86
+
87
+ static_assert(has_method_myfunc<MyClass, int(std::string), float, int>::value,
88
+ "check MyClass for existence of template myfunc "
89
+ "with signature int(std::string) "
90
+ "if the template method is instantiated with <float, int>");
91
+ \endcode
92
+ */
93
+ #define TLX_MAKE_HAS_TEMPLATE_METHOD(Method) \
94
+ template <typename Class, typename Signature, typename... Cons> \
95
+ class has_method_##Method; \
96
+ \
97
+ template <typename Class, typename Return, typename... Args, \
98
+ typename... Cons> \
99
+ class has_method_##Method<Class, Return(Args...), Cons...> \
100
+ { \
101
+ template <typename C> \
102
+ static char test(decltype(static_cast<Return (C::*)(Args...)>( \
103
+ &C::template Method<Cons...>))); \
104
+ template <typename C> \
105
+ static int test(...); \
106
+ \
107
+ public: \
108
+ static const bool value = (sizeof(test<Class>(0)) == sizeof(char)); \
109
+ }
110
+
111
+ //! \}
112
+
113
+ } // namespace tlx
114
+
115
+ #endif // !TLX_META_HAS_METHOD_HEADER
116
+
117
+ /******************************************************************************/
@@ -0,0 +1,66 @@
1
+ /*******************************************************************************
2
+ * tlx/meta/index_sequence.hpp
3
+ *
4
+ * Part of tlx - http://panthema.net/tlx
5
+ *
6
+ * Copyright (C) 2016-2017 Timo Bingmann <tb@panthema.net>
7
+ *
8
+ * All rights reserved. Published under the Boost Software License, Version 1.0
9
+ ******************************************************************************/
10
+
11
+ #ifndef TLX_META_INDEX_SEQUENCE_HEADER
12
+ #define TLX_META_INDEX_SEQUENCE_HEADER
13
+
14
+ #include <cstddef>
15
+
16
+ namespace tlx {
17
+
18
+ //! \addtogroup tlx_meta
19
+ //! \{
20
+
21
+ // Compile-time integer sequences, an implementation of std::index_sequence and
22
+ // std::make_index_sequence, as these are not available in many current
23
+ // libraries (MS Visual C++).
24
+ template <size_t... Indexes>
25
+ struct index_sequence
26
+ {
27
+ static size_t size()
28
+ {
29
+ return sizeof...(Indexes);
30
+ }
31
+ };
32
+
33
+ namespace meta_detail {
34
+
35
+ template <size_t CurrentIndex, size_t... Indexes>
36
+ struct make_index_sequence_helper;
37
+
38
+ template <size_t... Indexes>
39
+ struct make_index_sequence_helper<0, Indexes...>
40
+ {
41
+ using type = index_sequence<Indexes...>;
42
+ };
43
+
44
+ template <size_t CurrentIndex, size_t... Indexes>
45
+ struct make_index_sequence_helper
46
+ {
47
+ using type =
48
+ typename make_index_sequence_helper<CurrentIndex - 1, CurrentIndex - 1,
49
+ Indexes...>::type;
50
+ };
51
+
52
+ } // namespace meta_detail
53
+
54
+ template <size_t Size>
55
+ struct make_index_sequence
56
+ : public meta_detail::make_index_sequence_helper<Size>::type
57
+ {
58
+ };
59
+
60
+ //! \}
61
+
62
+ } // namespace tlx
63
+
64
+ #endif // !TLX_META_INDEX_SEQUENCE_HEADER
65
+
66
+ /******************************************************************************/
@@ -0,0 +1,40 @@
1
+ /*******************************************************************************
2
+ * tlx/meta/is_std_array.hpp
3
+ *
4
+ * Part of tlx - http://panthema.net/tlx
5
+ *
6
+ * Copyright (C) 2016-2017 Timo Bingmann <tb@panthema.net>
7
+ *
8
+ * All rights reserved. Published under the Boost Software License, Version 1.0
9
+ ******************************************************************************/
10
+
11
+ #ifndef TLX_META_IS_STD_ARRAY_HEADER
12
+ #define TLX_META_IS_STD_ARRAY_HEADER
13
+
14
+ #include <array>
15
+ #include <cstddef>
16
+ #include <type_traits>
17
+
18
+ namespace tlx {
19
+
20
+ //! \addtogroup tlx_meta
21
+ //! \{
22
+
23
+ //! test if is std::array<T, N>
24
+ template <typename T>
25
+ struct is_std_array : public std::false_type
26
+ {
27
+ };
28
+
29
+ template <typename T, size_t N>
30
+ struct is_std_array<std::array<T, N> > : public std::true_type
31
+ {
32
+ };
33
+
34
+ //! \}
35
+
36
+ } // namespace tlx
37
+
38
+ #endif // !TLX_META_IS_STD_ARRAY_HEADER
39
+
40
+ /******************************************************************************/