Struct faiss::RangeSearchResultHandler

template<class C>
struct RangeSearchResultHandler

Public Types

using T = typename C::T
using TI = typename C::TI

Public Functions

inline RangeSearchResultHandler(RangeSearchResult *res, float radius)
inline void begin_multiple(size_t i0, size_t i1)

begin

inline void add_results(size_t j0, size_t j1, const T *dis_tab)

add results for query i0..i1 and j0..j1

inline void end_multiple()
inline ~RangeSearchResultHandler()

Public Members

RangeSearchResult *res
float radius
size_t i0
size_t i1
std::vector<RangeSearchPartialResult*> partial_results
std::vector<size_t> j0s
int pr = 0
struct SingleResultHandler

Public Functions

inline SingleResultHandler(RangeSearchResultHandler &rh)
inline void begin(size_t i)

begin results for query # i

inline void add_result(T dis, TI idx)

add one result for query i

inline void end()

series of results for query i is done

inline ~SingleResultHandler()

Public Members

RangeSearchPartialResult pres
float radius
RangeQueryResult *qr = nullptr