13 template <
typename Traits>
14 class KnnGraphRangeQuery;
30 template <
typename Traits>
35 using Index =
typename Traits::IndexType;
40 using iterator_category = std::input_iterator_tag;
41 using difference_type = std::ptrdiff_t;
42 using value_type = Index;
43 using pointer = Index*;
44 using reference =
const Index&;
47 : m_query(
query), m_index(index)
61 m_query->advance(*
this);
66 PONCA_MULTIARCH
inline void operator++(value_type) { ++*
this; }
69 PONCA_MULTIARCH
inline reference
operator*()
const {
return const_cast<reference
>(m_index); }
73 value_type m_index{-1};
Aggregator class used to declare specialized structures using CRTP.
Input iterator to read the KnnGraphRangeQuery object.
bool operator!=(const KnnGraphRangeIterator &other) const
Inequality operand.
KnnGraphRangeIterator & operator++()
Prefix increment.
reference operator*() const
Dereference operator.
void operator++(value_type)
Postfix increment.
bool operator==(const KnnGraphRangeIterator &other) const
Equality operand.
Extension of the Query class that allows to read the result of a range neighbor search on the KnnGrap...
This Source Code Form is subject to the terms of the Mozilla Public License, v.