9#include "../Iterator/knnGraphRangeIterator.h"
14template <
typename Traits>
class KnnGraphBase;
17#ifndef PARSED_WITH_DOXYGEN
18struct KnnGraphQueryOutputType :
public QueryOutputBase{
19 using OutputParameter =
typename QueryOutputBase::DummyOutputParameter;
24#ifdef PARSED_WITH_DOXYGEN
25:
public KNearestIndexQuery<typename Traits::IndexType, typename Traits::DataPoint::Scalar>
28:
public Query<QueryInputIsIndex<typename Traits::IndexType>,KnnGraphQueryOutputType>
32 using Iterator =
typename Traits::IndexContainer::const_iterator;
33#ifdef PARSED_WITH_DOXYGEN
43 inline Iterator begin()
const{
44 return m_graph->index_data().begin() + QueryType::input() * m_graph->k();
46 inline Iterator end()
const{
47 return m_graph->index_data().begin() + (QueryType::input()+1) * m_graph->k();
Customizable base class for KnnGraph datastructure.
Base Query class combining QueryInputIsIndex and QueryOutputIsKNearest.
This Source Code Form is subject to the terms of the Mozilla Public License, v.