载入中...
搜索中...
未找到
QueryIds.h
浏览该文件的文档.
1#pragma once
2
3#include <vector>
4
5namespace eve::spatial {
6
11class QueryIds {
12public:
13 void clear() { ids_.clear(); }
14
15 void addUnique(int id) {
16 for (int existing : ids_) {
17 if (existing == id) return;
18 }
19 ids_.push_back(id);
20 }
21
22 void addUnchecked(int id) { ids_.push_back(id); }
23
24 int getCount() const { return static_cast<int>(ids_.size()); }
25
26 int getId(int index) const {
27 if (index < 0 || index >= getCount()) return -1;
28 return ids_[static_cast<size_t>(index)];
29 }
30
31 const std::vector<int> &ids() const { return ids_; }
32 std::vector<int> &ids() { return ids_; }
33
34private:
35 std::vector<int> ids_;
36};
37
38} // namespace eve::spatial
Last-query hit buffer shared by spatial indexes. Script pattern: call query* → getResultCount / getRe...
Definition QueryIds.h:11
std::vector< int > & ids()
Definition QueryIds.h:32
void addUnchecked(int id)
Definition QueryIds.h:22
int getId(int index) const
Definition QueryIds.h:26
int getCount() const
Definition QueryIds.h:24
const std::vector< int > & ids() const
Definition QueryIds.h:31
void addUnique(int id)
Definition QueryIds.h:15