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
9
10namespace clustering::hdbscan {
11
29template <class B, class T>
30concept 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
Represents a multidimensional array (NDArray) of a fixed number of dimensions N and element type T.
Definition ndarray.h:136
Contract for an MST backend satisfying the frozen clustering::hdbscan::MstOutput shape.
Definition mst_backend.h:30
Frozen output contract of every MST backend.
Definition mst_output.h:41
Thin injection wrapper around a BS::light_thread_pool.
Definition thread.h:63