knncolle
Collection of KNN methods in C++
Loading...
Searching...
No Matches
Prebuilt.hpp
Go to the documentation of this file.
1#ifndef KNNCOLLE_PREBUILT_HPP
2#define KNNCOLLE_PREBUILT_HPP
3
4#include <memory>
5#include <cstddef>
6
7#include "Searcher.hpp"
8
15namespace knncolle {
16
27template<typename Index_, typename Data_, typename Distance_>
28class Prebuilt {
29public:
33 Prebuilt() = default;
34 Prebuilt(const Prebuilt&) = default;
35 Prebuilt(Prebuilt&&) = default;
36 Prebuilt& operator=(const Prebuilt&) = default;
37 Prebuilt& operator=(Prebuilt&&) = default;
38 virtual ~Prebuilt() = default;
43public:
47 virtual Index_ num_observations() const = 0;
48
52 virtual std::size_t num_dimensions() const = 0;
53
54public:
59 virtual std::unique_ptr<Searcher<Index_, Data_, Distance_> > initialize() const = 0;
60};
61
62}
63
64#endif
Interface for searching nearest-neighbor indices.
Interface for prebuilt nearest-neighbor search indices.
Definition Prebuilt.hpp:28
virtual Index_ num_observations() const =0
virtual std::unique_ptr< Searcher< Index_, Data_, Distance_ > > initialize() const =0
virtual std::size_t num_dimensions() const =0
Collection of KNN algorithms.
Definition Bruteforce.hpp:24