Clustering
C++20 header-only: DBSCAN, HDBSCAN, k-means.
Loading...
Searching...
No Matches
mst_backend.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <concepts>
4
#include <cstddef>
5
6
#include "
clustering/hdbscan/mst_output.h
"
7
#include "
clustering/math/thread.h
"
8
#include "
clustering/ndarray.h
"
9
10
namespace
clustering::hdbscan
{
11
29
template
<
class
B,
class
T>
30
concept
MstBackendStrategy
= std::default_initializable<B> &&
31
requires
(B &backend,
const
NDArray<T, 2>
&X, std::size_t minSamples,
32
math::Pool
pool,
MstOutput<T>
&out) {
33
{ backend.run(X, minSamples, pool, out) };
34
};
35
36
}
// namespace clustering::hdbscan
clustering::NDArray
Represents a multidimensional array (NDArray) of a fixed number of dimensions N and element type T.
Definition
ndarray.h:136
clustering::hdbscan::MstBackendStrategy
Contract for an MST backend satisfying the frozen clustering::hdbscan::MstOutput shape.
Definition
mst_backend.h:30
mst_output.h
clustering::hdbscan
Definition
hdbscan.h:28
ndarray.h
clustering::hdbscan::MstOutput
Frozen output contract of every MST backend.
Definition
mst_output.h:41
clustering::math::Pool
Thin injection wrapper around a BS::light_thread_pool.
Definition
thread.h:63
thread.h
include
clustering
hdbscan
mst_backend.h
Generated by
1.16.1