val v : hash_size:int -> entry_size:int -> int -> tv ~hash_size ~entry_size n creates a fan_out for an index with hash_size and entry_size, containing n elements.
val nb_fans : t -> intnb_fans t is the number of fans in t.
val search : t -> int -> int64 * int64search t hash is the interval of offsets containing hash, if present.
val update : t -> int -> int64 -> unitupdate t hash off updates t so that hash is registered to be at offset off.
val finalize : t -> unitFinalizes the update of the fanout. This is mendatory before any search query.
val exported_size : t -> intexported_size t is the size of export t. This does not actually compute the encoding of t.
val export : t -> stringexport t is a string encoded form of t.
val import : hash_size:int -> string -> timport ~hash_size buf decodes buf such that import ~hash_size (export t) = t if t was initially created with ~hash_size.