diff --git a/src/core/algorithm/diskann/diskann_builder.h b/src/core/algorithm/diskann/diskann_builder.h index b8df7f5..edc80c4 100644 --- a/src/core/algorithm/diskann/diskann_builder.h +++ b/src/core/algorithm/diskann/diskann_builder.h @@ -28,28 +28,27 @@ class DiskAnnBuilder : public IndexBuilder { DiskAnnBuilder() = default; //! Initialize the builder - virtual int init(const IndexMeta &meta, - const ailego::Params ¶ms) override; + int init(const IndexMeta &meta, const ailego::Params ¶ms) override; //! Cleanup the builder - virtual int cleanup(void) override; + int cleanup(void) override; //! Train the data - virtual int train(IndexThreads::Pointer threads, - IndexHolder::Pointer holder) override; + int train(IndexThreads::Pointer threads, + IndexHolder::Pointer holder) override; - //! Train the data - virtual int train(const IndexTrainer::Pointer &trainer) override; + //! Train the data with trainer + int train(const IndexTrainer::Pointer &trainer) override; //! Build the index - virtual int build(IndexThreads::Pointer threads, - IndexHolder::Pointer holder) override; + int build(IndexThreads::Pointer threads, + IndexHolder::Pointer holder) override; //! Dump index into storage - virtual int dump(const IndexDumper::Pointer &dumper) override; + int dump(const IndexDumper::Pointer &dumper) override; //! Retrieve statistics - virtual const Stats &stats(void) const override { + const Stats &stats(void) const override { return stats_; } diff --git a/src/core/algorithm/diskann/diskann_context.h b/src/core/algorithm/diskann/diskann_context.h index dd824ff..ce8c0ca 100644 --- a/src/core/algorithm/diskann/diskann_context.h +++ b/src/core/algorithm/diskann/diskann_context.h @@ -68,41 +68,40 @@ class DiskAnnContext : public IndexContext, const DiskAnnEntity::Pointer &entity, uint32_t magic_num); //! Retrieve search result - virtual const IndexDocumentList &result(void) const override { + const IndexDocumentList &result(void) const override { return results_[0]; } //! Retrieve search result - virtual const IndexDocumentList &result(size_t idx) const override { + const IndexDocumentList &result(size_t idx) const override { return results_[idx]; } //! Retrieve result object for output - virtual IndexDocumentList *mutable_result(size_t idx) override { + IndexDocumentList *mutable_result(size_t idx) override { ailego_assert_with(idx < results_.size(), "invalid idx"); return &results_[idx]; } //! Retrieve search group result with index - virtual const IndexGroupDocumentList &group_result(void) const override { + const IndexGroupDocumentList &group_result(void) const override { return group_results_[0]; } //! Retrieve search group result with index - virtual const IndexGroupDocumentList &group_result( - size_t idx) const override { + const IndexGroupDocumentList &group_result(size_t idx) const override { return group_results_[idx]; } - virtual IndexGroupDocumentList *mutable_group_result(void) override { + IndexGroupDocumentList *mutable_group_result(void) override { return &group_results_[0]; } - virtual IndexGroupDocumentList *mutable_group_result(size_t idx) override { + IndexGroupDocumentList *mutable_group_result(size_t idx) override { return &group_results_[idx]; } - virtual uint32_t magic(void) const override { + uint32_t magic(void) const override { return magic_; } @@ -111,17 +110,17 @@ class DiskAnnContext : public IndexContext, } //! Set mode of debug - virtual void set_debug_mode(bool enable) override { + void set_debug_mode(bool enable) override { debug_mode_ = enable; } //! Retrieve mode of debug - virtual bool debug_mode(void) const override { + bool debug_mode(void) const override { return debug_mode_; } //! Retrieve string of debug - virtual std::string debug_string(void) const override { + std::string debug_string(void) const override { return std::string(""); } diff --git a/src/core/algorithm/diskann/diskann_reducer.h b/src/core/algorithm/diskann/diskann_reducer.h index b912ea1..60e4029 100644 --- a/src/core/algorithm/diskann/diskann_reducer.h +++ b/src/core/algorithm/diskann/diskann_reducer.h @@ -32,22 +32,22 @@ class DiskAnnReducer : public IndexReducer { protected: //! Initialize Reducer - virtual int init(const ailego::Params ¶ms) override; + int init(const ailego::Params ¶ms) override; //! Cleanup Reducer - virtual int cleanup(void) override; + int cleanup(void) override; //! Feed indexes from containers - // virtual int feed(IndexStorage::Pointer container) override; + // int feed(IndexStorage::Pointer container) override; //! Reduce operator (with filter) - virtual int reduce(const IndexFilter &filter) override; + int reduce(const IndexFilter &filter) override; //! Dump index by dumper - virtual int dump(const IndexDumper::Pointer &dumper) override; + int dump(const IndexDumper::Pointer &dumper) override; //! Retrieve statistics - virtual const Stats &stats(void) const override { + const Stats &stats(void) const override { return stats_; } diff --git a/src/core/algorithm/diskann/diskann_searcher_entity.h b/src/core/algorithm/diskann/diskann_searcher_entity.h index 68ab498..953d111 100644 --- a/src/core/algorithm/diskann/diskann_searcher_entity.h +++ b/src/core/algorithm/diskann/diskann_searcher_entity.h @@ -32,7 +32,7 @@ class DiskAnnSearcherEntity : public DiskAnnEntity { virtual ~DiskAnnSearcherEntity() = default; public: - virtual const DiskAnnEntity::Pointer clone() const override; + const DiskAnnEntity::Pointer clone() const override; int load(const IndexMeta &meta, IndexStorage::Pointer storage); int load_pq_segment(); diff --git a/src/core/algorithm/diskann/diskann_streamer.h b/src/core/algorithm/diskann/diskann_streamer.h index 8d731f3..ddb159a 100644 --- a/src/core/algorithm/diskann/diskann_streamer.h +++ b/src/core/algorithm/diskann/diskann_streamer.h @@ -130,11 +130,11 @@ class DiskAnnStreamer : public IndexStreamer { return meta_; } - virtual int flush(uint64_t /*check_point*/) override { + int flush(uint64_t /*check_point*/) override { return 0; } - virtual int close(void) override { + int close(void) override { return this->unload(); } diff --git a/src/include/zvec/core/interface/index.h b/src/include/zvec/core/interface/index.h index 3006718..935a656 100644 --- a/src/include/zvec/core/interface/index.h +++ b/src/include/zvec/core/interface/index.h @@ -355,11 +355,11 @@ class ZVEC_CORE_API DiskAnnIndex : public Index { DiskAnnIndex() = default; protected: - virtual int CreateAndInitStreamer(const BaseIndexParam ¶m) override; + int CreateAndInitStreamer(const BaseIndexParam ¶m) override; - virtual int _prepare_for_search( - const VectorData &query, const BaseIndexQueryParam::Pointer &search_param, - core::IndexContext::Pointer &context) override; + int _prepare_for_search(const VectorData &query, + const BaseIndexQueryParam::Pointer &search_param, + core::IndexContext::Pointer &context) override; int Add(const VectorData &vector, uint32_t doc_id) override; diff --git a/tools/core/vecs_index_holder.h b/tools/core/vecs_index_holder.h index 4f743fc..b4c199e 100644 --- a/tools/core/vecs_index_holder.h +++ b/tools/core/vecs_index_holder.h @@ -66,37 +66,37 @@ class VecsIndexHolder : public IndexProvider { stop_(holder.stop_) {} //! Test if the iterator is valid - virtual bool is_valid(void) const override { + bool is_valid(void) const override { return !stop_ && cursor_ < vecs_reader_.num_vecs(); } //! Retrieve primary key - virtual uint64_t key(void) const override { + uint64_t key(void) const override { return vecs_reader_.get_key(cursor_); } //! Retrieve pointer of data - virtual const void *data() const override { + const void *data() const override { return vecs_reader_.get_vector(cursor_); } //! Retrieve primary key - virtual uint32_t sparse_count() const override { + uint32_t sparse_count() const override { return vecs_reader_.get_sparse_count(cursor_); } //! Retrieve primary key - virtual const uint32_t *sparse_indices() const override { + const uint32_t *sparse_indices() const override { return vecs_reader_.get_sparse_indices(cursor_); } //! Retrieve primary key - virtual const void *sparse_data() const override { + const void *sparse_data() const override { return vecs_reader_.get_sparse_data(cursor_); } //! Next iterator - virtual void next(void) override { + void next(void) override { ++cursor_; } @@ -111,14 +111,14 @@ class VecsIndexHolder : public IndexProvider { const bool &stop_; }; - virtual IndexHolder::Iterator::Pointer create_iterator(void) override { + IndexHolder::Iterator::Pointer create_iterator(void) override { // make sure iter has value whenn create_iterator finished IndexHolder::Iterator::Pointer iter( new VecsIndexHolder::Iterator(*this, start_cursor_)); return iter; } - virtual IndexHybridHolder::Iterator::Pointer create_hybrid_iterator(void) { + IndexHybridHolder::Iterator::Pointer create_hybrid_iterator(void) { // make sure iter has value whenn create_iterator finished IndexHybridHolder::Iterator::Pointer iter( new VecsIndexHolder::Iterator(*this, start_cursor_)); @@ -126,29 +126,29 @@ class VecsIndexHolder : public IndexProvider { } //! Retrieve count of elements in holder - virtual size_t count(void) const override { + size_t count(void) const override { return max_doc_count_ != 0 ? std::min(max_doc_count_, vecs_reader_.num_vecs()) : vecs_reader_.num_vecs(); } //! Retrieve dimension - virtual size_t dimension(void) const override { + size_t dimension(void) const override { return vecs_reader_.index_meta().dimension(); } //! Retrieve type information - virtual IndexMeta::DataType data_type(void) const override { + IndexMeta::DataType data_type(void) const override { return vecs_reader_.index_meta().data_type(); } //! Retrieve element size in bytes - virtual size_t element_size(void) const override { + size_t element_size(void) const override { return vecs_reader_.index_meta().element_size(); } //! Retrieve if it can multi-pass - virtual bool multipass(void) const override { + bool multipass(void) const override { return true; } @@ -227,8 +227,8 @@ class VecsIndexHolder : public IndexProvider { } //! Retrieve a vector using a primary key - virtual int get_vector(const uint64_t key, - IndexStorage::MemoryBlock &block) const override { + int get_vector(const uint64_t key, + IndexStorage::MemoryBlock &block) const override { const void *vector = get_vector(key); if (vector == nullptr) { return IndexError_NoExist; @@ -238,7 +238,7 @@ class VecsIndexHolder : public IndexProvider { } //! Retrieve the owner class - virtual const std::string &owner_class(void) const override { + const std::string &owner_class(void) const override { static std::string owner_class_name = "VecsIndexHolder"; return owner_class_name; } @@ -298,32 +298,32 @@ class VecsIndexSparseHolder : public IndexSparseHolder { stop_(holder.stop_) {} //! Test if the iterator is valid - virtual bool is_valid(void) const override { + bool is_valid(void) const override { return !stop_ && cursor_ < vecs_reader_.num_vecs(); } //! Retrieve primary key - virtual uint64_t key(void) const override { + uint64_t key(void) const override { return vecs_reader_.get_key(cursor_); } //! Retrieve primary key - virtual uint32_t sparse_count() const override { + uint32_t sparse_count() const override { return vecs_reader_.get_sparse_count(cursor_); } //! Retrieve primary key - virtual const uint32_t *sparse_indices() const override { + const uint32_t *sparse_indices() const override { return vecs_reader_.get_sparse_indices(cursor_); } //! Retrieve primary key - virtual const void *sparse_data() const override { + const void *sparse_data() const override { return vecs_reader_.get_sparse_data(cursor_); } //! Next iterator - virtual void next(void) override { + void next(void) override { ++cursor_; } @@ -338,7 +338,7 @@ class VecsIndexSparseHolder : public IndexSparseHolder { const bool &stop_; }; - virtual IndexSparseHolder::Iterator::Pointer create_iterator(void) override { + IndexSparseHolder::Iterator::Pointer create_iterator(void) override { // make sure iter has value whenn create_iterator finished IndexSparseHolder::Iterator::Pointer iter( new VecsIndexSparseHolder::Iterator(*this, start_cursor_)); @@ -346,19 +346,19 @@ class VecsIndexSparseHolder : public IndexSparseHolder { } //! Retrieve count of elements in holder - virtual size_t count(void) const override { + size_t count(void) const override { return max_doc_count_ != 0 ? std::min(max_doc_count_, vecs_reader_.num_vecs()) : vecs_reader_.num_vecs(); } //! Retrieve type information - virtual IndexMeta::DataType data_type(void) const override { + IndexMeta::DataType data_type(void) const override { return vecs_reader_.index_meta().data_type(); } //! Retrieve if it can multi-pass - virtual bool multipass(void) const override { + bool multipass(void) const override { return true; }