1#ifndef KNNCOLLE_HNSW_UTILS_HPP
2#define KNNCOLLE_HNSW_UTILS_HPP
4#include "hnswlib/hnswalg.h"
15template<
typename Input_>
16using I = std::remove_cv_t<std::remove_reference_t<Input_> >;
25inline static const char* save_name =
"knncolle_hnsw::Hnsw";
42template<
class HnswData_>
44 static std::function<void(
const std::string&)> fun;
67template<
typename HnswData_>
69 static std::function<void(
const std::string&,
const hnswlib::SpaceInterface<HnswData_>*)> fun;
92template<
typename Distance_>
94 static std::function<void(
const std::string&,
const std::function<Distance_(Distance_)>&)> fun;
118template<
typename HnswData_>
120 static std::function<hnswlib::SpaceInterface<HnswData_>*(
const std::string&, std::size_t)> fun;
142template<
typename Distance_>
144 static std::function<std::function<Distance_(Distance_)>(
const std::string&)> fun;
knncolle bindings for HNSW search.
Definition distances.hpp:13
std::function< hnswlib::SpaceInterface< HnswData_ > *(const std::string &, std::size_t)> & custom_load_for_hnsw_distance()
Definition utils.hpp:119
std::function< std::function< Distance_(Distance_)>(const std::string &)> & custom_load_for_hnsw_normalize()
Definition utils.hpp:143
std::function< void(const std::string &, const hnswlib::SpaceInterface< HnswData_ > *)> & custom_save_for_hnsw_distance()
Definition utils.hpp:68
std::function< void(const std::string &)> & custom_save_for_hnsw_data()
Definition utils.hpp:43
std::function< void(const std::string &, const std::function< Distance_(Distance_)> &)> & custom_save_for_hnsw_normalize()
Definition utils.hpp:93