faiss/clone_index.h

39 lines
778 B
C
Raw Normal View History

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
// -*- c++ -*-
// I/O code for indexes
#pragma once
namespace faiss {
struct Index;
struct IndexIVF;
struct VectorTransform;
/* cloning functions */
Index *clone_index (const Index *);
/** Cloner class, useful to override classes with other cloning
* functions. The cloning function above just calls
* Cloner::clone_Index. */
struct Cloner {
virtual VectorTransform *clone_VectorTransform (const VectorTransform *);
virtual Index *clone_Index (const Index *);
virtual IndexIVF *clone_IndexIVF (const IndexIVF *);
virtual ~Cloner() {}
};
} // namespace faiss