package obatcher

  1. Overview
  2. Docs
type 'a node = {
  1. mutable n : int;
  2. mutable keys : V.t Utils.Finite_vector.t;
  3. mutable values : 'a Utils.Finite_vector.t;
  4. leaf : bool;
  5. mutable children : 'a node Utils.Finite_vector.t;
  6. mutable no_elements : int;
  7. mutable capacity : int;
  8. mutable min_child_capacity : int;
}
type 'a t = {
  1. mutable root : 'a node;
  2. mutable height : int;
  3. max_children : int;
}
val size_node : 'a node -> int
val size : 'a t -> int
val pp_node_internal : ?pp_child:bool -> ?pp_v:(Stdlib.Format.formatter -> V.t -> unit) -> int -> (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a node -> unit
val pp_node : ?pp_v:(Stdlib.Format.formatter -> V.t -> unit) -> (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a node -> unit
val show_node : ?pp_v:(Stdlib.Format.formatter -> V.t -> unit) -> (Stdlib.Format.formatter -> 'a -> unit) -> 'a node -> string
val show_node_no_children : ?pp_v:(Stdlib.Format.formatter -> V.t -> unit) -> (Stdlib.Format.formatter -> 'a -> unit) -> 'a node -> string
val pp : ?pp_v:(Stdlib.Format.formatter -> V.t -> unit) -> (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a t -> unit
val show : ?pp_v:(Stdlib.Format.formatter -> V.t -> unit) -> (Stdlib.Format.formatter -> 'a -> unit) -> 'a t -> string
val init : ?max_children:int -> unit -> 'a t
val fold_int_range : start:int -> stop:int -> ('a -> int -> 'a) -> 'a -> 'a
val find_int_range : start:int -> stop:int -> (int -> 'a option) -> 'a option
val find_int_range_dec : start:int -> stop:int -> (int -> 'a option) -> 'a option
val search_node : 'a node -> V.t -> ('a node * int) option
val min_capacity : 'a node Utils.Finite_vector.t -> int option
val split_child : 'a node -> int -> unit
val insert_node : max_children:int -> 'a node -> V.t -> 'a -> int
val insert : 'a t -> V.t -> 'a -> unit
OCaml

Innovation. Community. Security.