package irmin

  1. Overview
  2. Docs
Irmin, a distributed database that follows the same design principles as Git

Install

Dune Dependency

Authors

Maintainers

Sources

irmin-3.6.0.tbz
sha256=98cc035d7b618ae8d94925a00d80159d9fdabf5f165b80aedb5c879aa4cf4b8e
sha512=8a2b91621a5b74d9d88e975faa14efef18cf12cf0194f80279b0ac574468872bc0fc33d827f85dca55dbd4c46b7bb002808d9fc2fa0fa44fc85a845838c9f43b

doc/irmin.data/Irmin_data/Fixed_size_string_set/index.html

Module Irmin_data.Fixed_size_string_setSource

Mutable sets of strings with a common length.

Sourcetype t

The type of mutable sets of fixed-length strings.

type elt := string
Sourceval create : elt_length:int -> ?initial_slots:int -> ?hash:(elt -> int) -> ?hash_substring:(Bigstringaf.t -> off:int -> len:int -> int) -> ?null:string -> unit -> t

create builds an empty set of fixed-length strings. The parameters are as follows:

  • elt_length: the length of each element string in bytes;
  • initial_slots: the minimum number of slots contained in the initial internal buffer (NOTE: the actual number of slots will be the least power of two greater than or equal to initial_buffer. This is not the same as the number of elements that can fit inside the buffer, which also depends on the maximum load factor);
  • hash / hash_substring: functions to use for placing elements inside the internal buffer (given that the element is contained in a string or a bigstring respectively). The stored elements must have uniformly distributed hash results for good performance, and the two hash functions must be equivalent. Defaults to Hashtbl.hash (and an equivalent function on substrings).
  • null: a string of size elt_length that is guaranteed to never be added to the hashset. Passing this string to add or mem after creating the hashset will result in an exception being raised.
Sourceval add : t -> elt -> [ `Ok | `Duplicate ]

add t elt adds elt to the set t and returns `Ok if elt is not already a member of t, otherwise returns `Duplicate and leaves the hashset unchanged.

Sourceval add_exn : t -> elt -> unit

add_exn t elt adds elt to the set t.

Sourceval mem : t -> elt -> bool

mem t elt is true iff elt has been added to the hashset.

Sourceval invariant : (elt -> unit) -> t -> unit

invariant f t checks the internal invariants of t and calls f on every element contained within. Exposed for testing.

Sourceval reachable_words : t -> int

reachable_words t is the total number of words of data kept alive by t (on both the C and OCaml heaps).

OCaml

Innovation. Community. Security.