knncolle
Collection of KNN methods in C++
Loading...
Searching...
No Matches
knncolle::Builder< Index_, Data_, Distance_, Matrix_ > Class Template Referenceabstract

Interface to build nearest-neighbor search indices. More...

#include <Builder.hpp>

Inheritance diagram for knncolle::Builder< Index_, Data_, Distance_, Matrix_ >:

Public Member Functions

virtual Prebuilt< Index_, Data_, Distance_ > * build_raw (const Matrix_ &data) const =0
 
std::shared_ptr< Prebuilt< Index_, Data_, Distance_ > > build_shared (const Matrix_ &data) const
 
std::unique_ptr< Prebuilt< Index_, Data_, Distance_ > > build_unique (const Matrix_ &data) const
 

Detailed Description

template<typename Index_, typename Data_, typename Distance_, class Matrix_ = Matrix<Index_, Data_>>
class knncolle::Builder< Index_, Data_, Distance_, Matrix_ >

Interface to build nearest-neighbor search indices.

Template Parameters
Index_Integer type for the observation indices.
Data_Numeric type for the input and query data.
Distance_Floating point type for the distances.
Matrix_Class of the input data matrix. This should satisfy the Matrix interface.

Member Function Documentation

◆ build_raw()

template<typename Index_ , typename Data_ , typename Distance_ , class Matrix_ = Matrix<Index_, Data_>>
virtual Prebuilt< Index_, Data_, Distance_ > * knncolle::Builder< Index_, Data_, Distance_, Matrix_ >::build_raw ( const Matrix_ & data) const
pure virtual
Parameters
dataObject satisfying the Matrix interface, containing observations in columns and dimensions in rows.
Returns
Pointer to a pre-built search index.

Implemented in knncolle::BruteforceBuilder< Index_, Data_, Distance_, Matrix_, DistanceMetric_ >, knncolle::L2NormalizedBuilder< Index_, Data_, Distance_, Normalized_, Matrix_ >, and knncolle::VptreeBuilder< Index_, Data_, Distance_, Matrix_, DistanceMetric_ >.

◆ build_shared()

template<typename Index_ , typename Data_ , typename Distance_ , class Matrix_ = Matrix<Index_, Data_>>
std::shared_ptr< Prebuilt< Index_, Data_, Distance_ > > knncolle::Builder< Index_, Data_, Distance_, Matrix_ >::build_shared ( const Matrix_ & data) const
inline
Parameters
dataObject satisfying the Matrix interface, containing observations in columns and dimensions in rows.
Returns
Shared pointer to a pre-built search index.

◆ build_unique()

template<typename Index_ , typename Data_ , typename Distance_ , class Matrix_ = Matrix<Index_, Data_>>
std::unique_ptr< Prebuilt< Index_, Data_, Distance_ > > knncolle::Builder< Index_, Data_, Distance_, Matrix_ >::build_unique ( const Matrix_ & data) const
inline
Parameters
dataObject satisfying the Matrix interface, containing observations in columns and dimensions in rows.
Returns
Unique pointer to a pre-built search index.

The documentation for this class was generated from the following file: