diff options
Diffstat (limited to 'include/query/knn.h')
| -rw-r--r-- | include/query/knn.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/query/knn.h b/include/query/knn.h index 19dcf5c..a227293 100644 --- a/include/query/knn.h +++ b/include/query/knn.h @@ -111,10 +111,10 @@ public: pq.pop(); } - return results; + return std::move(results); } - static std::vector<R> merge(std::vector<std::vector<Wrapped<R>>> &results, void *parms) { + static std::vector<R> merge(std::vector<std::vector<Wrapped<R>>> &results, void *parms, std::vector<R> &output) { Parms<R> *p = (Parms<R> *) parms; R rec = p->point; size_t k = p->k; @@ -136,13 +136,12 @@ public: } } - std::vector<R> output; while (pq.size() > 0) { output.emplace_back(*pq.peek().data); pq.pop(); } - return output; + return std::move(output); } static void delete_query_state(void *state) { @@ -154,6 +153,10 @@ public: auto s = (BufferState<R> *) state; delete s; } + + static bool repeat(void *parms, std::vector<R> &results, std::vector<void*> states, void* buffer_state) { + return false; + } }; }} |