milvus/cpp/src/storage/id_generators.h
Xu Peng d7f5e351a2 feat(storage): add id generators and memvectors
Former-commit-id: 78f7406456556882247c1ac4ccc9bb928699f896
2019-04-15 20:49:30 +08:00

36 lines
682 B
C++

#ifndef UTILS_ID_GENERATORS_H_
#define UTILS_ID_GENERATORS_H_
#include <vector>
namespace vecengine {
#define uint64_t IDNumber;
#define IDNumber* IDNumberPtr;
#define std::vector<IDNumber> IDNumbers;
class IDGenerator {
public:
virtual IDNumber getNextIDNumber() = 0;
virtual IDNumbers&& getNextIDNumbers(size_t n_) = 0;
virtual ~IDGenerator();
}; // IDGenerator
class SimpleIDGenerator : public IDGenerator {
public:
virtual IDNumber getNextIDNumber() override;
virtual IDNumbers&& getNextIDNumbers(size_t n_) override;
private:
const MAX_IDS_PER_MICRO = 1000;
}; // SimpleIDGenerator
} // namespace vecengine
#endif // UTILS_ID_GENERATORS_H_