diff --git a/bindings/cpp/include/svs/runtime/vamana_index.h b/bindings/cpp/include/svs/runtime/vamana_index.h index 0f11edec6..5c2dc3c36 100644 --- a/bindings/cpp/include/svs/runtime/vamana_index.h +++ b/bindings/cpp/include/svs/runtime/vamana_index.h @@ -98,12 +98,6 @@ struct SVS_RUNTIME_API VamanaIndex { // Reconstruct `n` vectors by ID into `output` buffer (n * dim floats). virtual Status reconstruct_at(size_t n, const size_t* ids, float* output) noexcept = 0; - // Return the index memory usage in bytes. - virtual size_t get_memory_usage() const noexcept = 0; - - // Return the bytes allocated by each index component. - virtual Status get_memory_breakdown(MemoryBreakdown* out) const noexcept = 0; - // Utility function to check storage kind support static Status check_storage_kind(StorageKind storage_kind) noexcept; @@ -120,6 +114,13 @@ struct SVS_RUNTIME_API VamanaIndex { static Status destroy(VamanaIndex* index) noexcept; virtual Status save(std::ostream& out) const noexcept = 0; + + // Return the index memory usage in bytes. + virtual size_t get_memory_usage() const noexcept = 0; + + // Return the bytes allocated by each index component. + virtual Status get_memory_breakdown(MemoryBreakdown* out) const noexcept = 0; + static Status load( VamanaIndex** index, std::istream& in, MetricType metric, StorageKind storage_kind ) noexcept;