#pragma once #include #include #include "ExecutionEngine.h" namespace faiss { class Index; } namespace zilliz { namespace vecwise { namespace engine { class FaissExecutionEngine : public ExecutionEngine { public: FaissExecutionEngine(uint16_t dimension, const std::string& location); virtual Status AddWithIds(long n, const float *xdata, const long *xids) override; virtual size_t Count() const override; virtual size_t Size() const override; virtual Status Serialize() override; virtual Status Cache() override; protected: std::shared_ptr pIndex_; std::string location_; }; } // namespace engine } // namespace vecwise } // namespace zilliz