package index

  1. Overview
  2. Docs

Parameters

module K : Index.Key
module V : Index.Value

Signature

type t

The type for indexes.

type key = K.t

The type for keys.

type value = V.t

The type for values.

val v : ?fresh:bool -> ?readonly:bool -> log_size:int -> string -> t

The constructor for indexes.

  • parameter fresh

    whether an existing index should be overwritten.

  • parameter read_only

    whether read-only mode is enabled for this index.

  • parameter log_size

    the maximum number of bindings in the `log` IO.

val clear : t -> unit

clear t clears t so that there are no more bindings in it.

val find : t -> key -> value

find t k is the binding of k in t.

val mem : t -> key -> bool

mem t k is true iff k is bound in t.

exception Invalid_key_size of key
exception Invalid_value_size of value

The exceptions raised when trying to add a key or a value of different size than encoded_size

val replace : t -> key -> value -> unit

replace t k v binds k to v in t, replacing any existing binding of k.

val iter : (key -> value -> unit) -> t -> unit

Iterates over the index bindings. Order is not specified. In case of recent replacements of existing values (after the last merge), this will hit both the new and old bindings.

val force_merge : ?hook:[ `After | `Before ] Index.Private.Hook.t -> t -> unit

force_merge t forces a merge for t.

val flush : t -> unit

Flushes all buffers to the supplied IO instance.

val close : t -> unit

Closes all resources used by t.

OCaml

Innovation. Community. Security.