This library provides fast, low overhead datastructure implementations for indexed objects.
Also included are configurable operations like:
- Clustering
See examples and tests directories for some examples.
The only public access API is provided by the Storage
type, which can be configured to allow abritrary data/index and storage implementations.
Storage<Data, Index, Backend [, Options]>
- There must be
data_interface
support, see here. - There should be an
merge
function:- Either free function:
::cslibs_clustering::merge(Data& self, const Data& other)
- or member function:
void Data::merge(const Data& other)
- Additionally
rvalue
orvariadic
implementation may be provided
- Either free function:
- There must be
index_interface
support, see here.
Operations are high order function on the dataset. They SHOULD NOT rely on the used backend and the access should mananged through the Storage
API.
For an example see: here