1#ifndef KNNCOLLE_MATRIX_HPP
2#define KNNCOLLE_MATRIX_HPP
16template<
typename Data_>
40 virtual const Data_*
next() = 0;
52template<
typename Index_,
typename Data_>
83 virtual std::unique_ptr<MatrixExtractor<Data_> >
new_extractor()
const = 0;
93template<
typename Data_>
105 const Data_* my_data;
111 return my_data + (at++) * my_dim;
124template<
typename Index_,
typename Data_>
139 const Data_* my_data;
151 return std::make_unique<SimpleMatrixExtractor<Data_> >(my_data, my_num_dim);
Interface for matrix data.
Definition Matrix.hpp:53
virtual std::unique_ptr< MatrixExtractor< Data_ > > new_extractor() const =0
virtual Index_ num_observations() const =0
virtual size_t num_dimensions() const =0
Simple wrapper for an in-memory matrix.
Definition Matrix.hpp:125
SimpleMatrix(size_t num_dimensions, Index_ num_observations, const Data_ *data)
Definition Matrix.hpp:133
std::unique_ptr< MatrixExtractor< Data_ > > new_extractor() const
Definition Matrix.hpp:150
Index_ num_observations() const
Definition Matrix.hpp:142
size_t num_dimensions() const
Definition Matrix.hpp:146
Collection of KNN algorithms.
Definition Bruteforce.hpp:23