Faiss
Main Page
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
/data/users/matthijs/github_faiss/faiss/index_io.h
1
/**
2
* Copyright (c) 2015-present, Facebook, Inc.
3
* All rights reserved.
4
*
5
* This source code is licensed under the BSD+Patents license found in the
6
* LICENSE file in the root directory of this source tree.
7
*/
8
9
// Copyright 2004-present Facebook. All Rights Reserved
10
// -*- c++ -*-
11
// I/O code for indexes
12
13
#ifndef FAISS_INDEX_IO_H
14
#define FAISS_INDEX_IO_H
15
16
#include <cstdio>
17
18
namespace
faiss {
19
20
struct
Index;
21
struct
VectorTransform;
22
struct
IndexIVF;
23
struct
ProductQuantizer;
24
25
void
write_index (
const
Index *idx, FILE *f);
26
void
write_index (
const
Index *idx,
const
char
*fname);
27
28
29
const
int
IO_FLAG_MMAP = 1;
30
const
int
IO_FLAG_READ_ONLY = 2;
31
32
Index *read_index (FILE * f,
int
io_flags = 0);
33
Index *read_index (
const
char
*fname,
int
io_flags = 0);
34
35
36
37
void
write_VectorTransform (
const
VectorTransform *vt,
const
char
*fname);
38
VectorTransform *read_VectorTransform (
const
char
*fname);
39
40
ProductQuantizer * read_ProductQuantizer (
const
char
*fname);
41
void
write_ProductQuantizer (
const
ProductQuantizer*pq,
const
char
*fname);
42
43
44
45
/* cloning functions */
46
Index *clone_index (
const
Index *);
47
48
/** Cloner class, useful to override classes with other cloning
49
* functions. The cloning function above just calls
50
* Cloner::clone_Index. */
51
struct
Cloner
{
52
virtual
VectorTransform
*clone_VectorTransform (
const
VectorTransform
*);
53
virtual
Index
*clone_Index (
const
Index
*);
54
virtual
IndexIVF
*clone_IndexIVF (
const
IndexIVF
*);
55
virtual
~
Cloner
() {}
56
};
57
58
}
59
60
#endif
faiss::IndexIVF
Definition:
IndexIVF.h:166
faiss::Cloner
Definition:
index_io.h:51
faiss::VectorTransform
Definition:
VectorTransform.h:28
faiss::Index
Definition:
Index.h:60
Generated by
1.8.5