knncolle
Collection of KNN methods in C++
Loading...
Searching...
No Matches
distances.hpp File Reference

Classes for distance calculations. More...

#include <cmath>
#include <cstddef>
#include <string>
#include <unordered_map>
#include <functional>
#include <cstring>
#include <memory>
#include <filesystem>
#include "utils.hpp"
Include dependency graph for distances.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  knncolle::DistanceMetric< Data_, Distance_ >
 Interface for a distance metric. More...
 
class  knncolle::EuclideanDistance< Data_, Distance_ >
 Compute Euclidean distances between two input vectors. More...
 
class  knncolle::ManhattanDistance< Data_, Distance_ >
 Compute Manhattan distances between two input vectors. More...
 
class  knncolle::LoadDistanceMetricNotFoundError
 Exception for unknown distance metrics in load_distance_metric_raw(). More...
 

Namespaces

namespace  knncolle
 Collection of KNN algorithms.
 

Typedefs

template<typename Data_ , typename Distance_ >
using knncolle::LoadDistanceMetricFunction = std::function<DistanceMetric<Data_, Distance_>* (const std::filesystem::path&)>
 

Functions

template<typename Data_ , typename Distance_ >
std::unordered_map< std::string, LoadDistanceMetricFunction< Data_, Distance_ > > & knncolle::load_distance_metric_registry ()
 
template<typename Data_ , typename Distance_ >
void knncolle::register_load_euclidean_distance ()
 
template<typename Data_ , typename Distance_ >
void knncolle::register_load_manhattan_distance ()
 
template<typename Data_ , typename Distance_ >
DistanceMetric< Data_, Distance_ > * knncolle::load_distance_metric_raw (const std::filesystem::path &dir)
 

Detailed Description

Classes for distance calculations.