Struct faiss::RangeSearchPartialResult
- 
struct RangeSearchPartialResult : public faiss::BufferList
- the entries in the buffers are split per query - Public Functions - 
explicit RangeSearchPartialResult(RangeSearchResult *res_in)
- eventually the result will be stored in res_in 
 - 
RangeQueryResult &new_result(idx_t qno)
- begin a new result 
 - 
void finalize()
 - 
void set_lims()
- called by range_search before do_allocation 
 - 
void copy_result(bool incremental = false)
- called by range_search after do_allocation 
 - 
void append_buffer()
- create a new buffer 
 - 
void add(idx_t id, float dis)
- add one result, possibly appending a new buffer if needed 
 - 
void copy_range(size_t ofs, size_t n, idx_t *dest_ids, float *dest_dis)
- copy elemnts ofs:ofs+n-1 seen as linear data in the buffers to tables dest_ids, dest_dis 
 - Public Members - 
RangeSearchResult *res
 - 
std::vector<RangeQueryResult> queries
- query ids + nb of results per query. 
 - 
size_t buffer_size
 - 
std::vector<Buffer> buffers
 - 
size_t wp
- write pointer in the last buffer. 
 - Public Static Functions - 
static void merge(std::vector<RangeSearchPartialResult*> &partial_results, bool do_delete = true)
- merge a set of PartialResult’s into one RangeSearchResult on output the partialresults are empty! 
 
- 
explicit RangeSearchPartialResult(RangeSearchResult *res_in)