milvus/cpp/src/db/VectorSource.h
zhiru 9f38b96edd Implemented add and serialize
Former-commit-id: 25fbbc2185efc4b45ea8f4693fea0ba0001d267e
2019-07-05 16:46:15 +08:00

45 lines
846 B
C++

#pragma once
#include "Status.h"
#include "Meta.h"
#include "IDGenerator.h"
#include "ExecutionEngine.h"
namespace zilliz {
namespace milvus {
namespace engine {
class VectorSource {
public:
using Ptr = std::shared_ptr<VectorSource>;
VectorSource(const size_t& n, const float* vectors);
Status Add(const ExecutionEnginePtr& execution_engine,
const meta::TableFileSchema& table_file_schema,
const size_t& num_vectors_to_add,
size_t& num_vectors_added);
size_t GetNumVectorsAdded();
bool AllAdded();
IDNumbers GetVectorIds();
private:
const size_t n_;
const float* vectors_;
IDNumbers vector_ids_;
size_t current_num_vectors_added;
IDGenerator* id_generator_;
}; //VectorSource
} // namespace engine
} // namespace milvus
} // namespace zilliz