1#ifndef KNNCOLLE_SEARCHER_HPP 
    2#define KNNCOLLE_SEARCHER_HPP 
   27template<
typename Index_, 
typename Data_, 
typename Distance_>
 
   61    virtual void search(Index_ i, Index_ k, std::vector<Index_>* output_indices, std::vector<Distance_>* output_distances) = 0;
 
   78    virtual void search(
const Data_* query, Index_ k, std::vector<Index_>* output_indices, std::vector<Distance_>* output_distances) = 0;
 
  107    virtual Index_ 
search_all([[maybe_unused]] Index_ i, [[maybe_unused]] Distance_ distance, [[maybe_unused]] std::vector<Index_>* output_indices, [[maybe_unused]] std::vector<Distance_>* output_distances) {
 
  108        throw std::runtime_error(
"distance-based searches not supported");
 
 
  127    virtual Index_ 
search_all([[maybe_unused]] 
const Data_* query, [[maybe_unused]] Distance_ distance, [[maybe_unused]] std::vector<Index_>* output_indices, [[maybe_unused]] std::vector<Distance_>* output_distances) {
 
  128        throw std::runtime_error(
"distance-based searches not supported");
 
 
 
Interface for searching nearest-neighbor search indices.
Definition Searcher.hpp:28
 
virtual bool can_search_all() const
Definition Searcher.hpp:86
 
virtual Index_ search_all(const Data_ *query, Distance_ distance, std::vector< Index_ > *output_indices, std::vector< Distance_ > *output_distances)
Definition Searcher.hpp:127
 
virtual Index_ search_all(Index_ i, Distance_ distance, std::vector< Index_ > *output_indices, std::vector< Distance_ > *output_distances)
Definition Searcher.hpp:107
 
virtual void search(const Data_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Distance_ > *output_distances)=0
 
virtual void search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Distance_ > *output_distances)=0
 
Collection of KNN algorithms.
Definition Bruteforce.hpp:24