Template Class HnswBuildImpl

Inheritance Relationships

Base Type

Class Documentation

template<typename DistFuncType>
class n2::HnswBuildImpl : public n2::HnswBuild

Public Functions

HnswBuildImpl(int dim, DistanceKind metric)
~HnswBuildImpl() override

Protected Functions

void InitPolicies() override
void InsertNode(HnswNode *qnode, VisitedList *visited_list) override
void SearchAtLayer(HnswNode *qnode, const std::vector<HnswNode*> &enterpoint, int level, VisitedList *visited_list, std::priority_queue<FurtherFirst> &result) override
void Link(HnswNode *source, HnswNode *target, int level) override
void MergeEdgesOfTwoGraphs(const std::vector<HnswNode*> &another_nodes) override

Protected Attributes

bool is_naive_ = false
std::unique_ptr<BaseNeighborSelectingPolicies> selecting_policy_
std::unique_ptr<BaseNeighborSelectingPolicies> post_selecting_policy_
DistFuncType dist_func_