milvus/cpp/src/db/Factories.h
Xu Peng 4428d56670 refactor(db): trait for engine and dbimpl
Former-commit-id: c42d9f4d7168b4d8e374ddb5ed0499ea1394a306
2019-05-08 12:13:01 +08:00

39 lines
1011 B
C++

////////////////////////////////////////////////////////////////////////////////
// Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved
// Unauthorized copying of this file, via any medium is strictly prohibited.
// Proprietary and confidential.
////////////////////////////////////////////////////////////////////////////////
#pragma once
#include <string>
#include <memory>
#include "DB.h"
#include "DBMetaImpl.h"
#include "Options.h"
namespace zilliz {
namespace vecwise {
namespace engine {
struct DBMetaOptionsFactory {
static DBMetaOptions Build(const std::string& path = "");
};
struct OptionsFactory {
static Options Build();
};
struct DBMetaImplFactory {
static std::shared_ptr<meta::DBMetaImpl> Build();
};
struct DBFactory {
static std::shared_ptr<DB> Build(const std::string& db_type = "Faiss,IVF");
static DB* Build(const Options&, const std::string& db_type = "Faiss,IVF");
};
} // namespace engine
} // namespace vecwise
} // namespace zilliz