结构体 faiss::InvertedListsIOHook
-
struct InvertedListsIOHook
处理其他类型的倒排列表对象的回调。
在调用 read_index 或 read_InvertedLists 之前,应使用 add_callback 注册回调函数。 OnDiskInvertedLists 的回调函数默认已注册。 invlist 类型通过以下方式标识:
读取时的 key (一个 fourcc)
写入时的类名 (由 typeid.name 给出)
被 faiss::BlockInvertedListsIOHook, faiss::OnDiskInvertedListsIOHook 继承
公共函数
-
virtual void write(const InvertedLists *ils, IOWriter *f) const = 0
将索引写入 IOWriter (包括 fourcc)
-
virtual InvertedLists *read(IOReader *f, int io_flags) const = 0
当 fourcc 与此类的 fourcc 匹配时调用
-
virtual InvertedLists *read_ArrayInvertedLists(IOReader *f, int io_flags, size_t nlist, size_t code_size, const std::vector<size_t> &sizes) const
从 ArrayInvertedLists 读入此倒排列表类型。 为了使此操作有效,必须启用回调,并且 io_flag 必须设置为 IO_FLAG_SKIP_IVF_DATA | (fourcc 的 16 个高位)
(默认实现失败)
-
inline virtual ~InvertedListsIOHook()
公共静态函数
-
static void add_callback(InvertedListsIOHook*)
-
static void print_callbacks()
-
static InvertedListsIOHook *lookup(int h)
-
static InvertedListsIOHook *lookup_classname(const std::string &classname)