package index

  1. Overview
  2. Docs
A platform-agnostic multi-level index for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

index-1.1.0.tbz
sha256=a2966d8aa7d318daea3474ca53c6f0239759ca5c966d36e084758adc49eadfef
sha512=45cff0b3665ca375dfc329faad3a598fe306e47a715ce0abf7842fd119af20591d1568b9c8779ff1a382ed089bdbdf167bf5712ae8da7d86cac9afaebafb8324

doc/index.unix/Index_unix/Make/index.html

Module Index_unix.Make

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. Limitations:

  • Order is not specified.
  • In case of recent replacements of existing values (since the last merge), this will hit both the new and old bindings.
  • May not observe recent concurrent updates to the index by other processes.
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.