Module BTree.Make

Parameters

module Allocator : ALLOCATOR
module Store : STORE with type pointer = Allocator.pointer
module Node : Node.NODE with type t = Store.page_aligned_buffer and type pointer = Allocator.pointer

Signature

type pointer = Allocator.pointer
type allocator = Allocator.t
type store = Store.t
type error = Store.error
type 'a io = 'a Store.io
type node = Node.t
type key = Node.key
type value = Node.value
type t = {
allocator : allocator;
store : store;
mutable root : node;
mutable rootAddress : pointer;
minDegree : int;
}
val create : allocator -> store -> int -> [ `Error of error | `Ok of t ] io
val connect : allocator -> store -> int -> pointer -> [ `Error of error | `Ok of t ] io
val insert : t -> key -> value -> [ `Error of error | `Ok of unit ] io
val find : t -> node -> key -> [ `Error of error | `Ok of value option ] io