Module Map_gen

type ('key, +'a) t = private
  1. | Empty
  2. | Leaf of {
    1. k : 'key;
    2. v : 'a;
    }
  3. | Node of {
    1. l : ('key, 'a) t;
    2. k : 'key;
    3. v : 'a;
    4. r : ('key, 'a) t;
    5. h : int;
    }
val cardinal : ('a, 'b) t -> int
val bindings : ('a, 'b) t -> ('a * 'b) list
val fill_array_with_f : ('a, 'b) t -> int -> 'c array -> ('a -> 'b -> 'c) -> int
val fill_array_aux : ('a, 'b) t -> int -> ('a * 'b) array -> int
val to_sorted_array : ('key, 'a) t -> ('key * 'a) array
val to_sorted_array_with_f : ('a, 'b) t -> ('a -> 'b -> 'c) -> 'c array
val keys : ('a, 'b) t -> 'a list
val height : ('a, 'b) t -> int
val singleton : 'a -> 'b -> ('a, 'b) t
val unsafe_node : 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t -> int -> ('a, 'b) t
val unsafe_two_elements : 'a -> 'b -> 'a -> 'b -> ('a, 'b) t

smaller comes first

val bal : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
val empty : ('a, 'b) t
val is_empty : ('a, 'b) t -> bool
val merge : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
val iter : ('a, 'b) t -> ('a -> 'b -> unit) -> unit
val map : ('a, 'b) t -> ('b -> 'c) -> ('a, 'c) t
val mapi : ('a, 'b) t -> ('a -> 'b -> 'c) -> ('a, 'c) t
val fold : ('a, 'b) t -> 'c -> ('a -> 'b -> 'c -> 'c) -> 'c
val for_all : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
val exists : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
val join : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
val concat : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
val concat_or_join : ('a, 'b) t -> 'a -> 'b option -> ('a, 'b) t -> ('a, 'b) t
module type S = sig ... end