Module Ocamlformat_stdlib.Avltree
type (!'k, !'v) t = private | Empty| Node of {mutable left : ('k, 'v) t;key : 'k;mutable value : 'v;mutable height : int;mutable right : ('k, 'v) t;
}| Leaf of {key : 'k;mutable value : 'v;
}
val is_empty : ('a, 'b) t -> boolval invariant : ('k, 'v) t -> compare:('k -> 'k -> int) -> unitval add :
('k, 'v) t ->
replace:bool ->
compare:('k -> 'k -> int) ->
added:bool ref ->
key:'k ->
data:'v ->
('k, 'v) tval first : ('k, 'v) t -> ('k * 'v) optionval last : ('k, 'v) t -> ('k * 'v) optionval find : ('k, 'v) t -> compare:('k -> 'k -> int) -> 'k -> 'v optionval find_and_call :
('k, 'v) t ->
compare:('k -> 'k -> int) ->
'k ->
if_found:('v -> 'a) ->
if_not_found:('k -> 'a) ->
'aval find_and_call1 :
('k, 'v) t ->
compare:('k -> 'k -> int) ->
'k ->
a:'a ->
if_found:('v -> 'a -> 'b) ->
if_not_found:('k -> 'a -> 'b) ->
'bval find_and_call2 :
('k, 'v) t ->
compare:('k -> 'k -> int) ->
'k ->
a:'a ->
b:'b ->
if_found:('v -> 'a -> 'b -> 'c) ->
if_not_found:('k -> 'a -> 'b -> 'c) ->
'cval findi_and_call :
('k, 'v) t ->
compare:('k -> 'k -> int) ->
'k ->
if_found:(key:'k -> data:'v -> 'a) ->
if_not_found:('k -> 'a) ->
'aval findi_and_call1 :
('k, 'v) t ->
compare:('k -> 'k -> int) ->
'k ->
a:'a ->
if_found:(key:'k -> data:'v -> 'a -> 'b) ->
if_not_found:('k -> 'a -> 'b) ->
'bval findi_and_call2 :
('k, 'v) t ->
compare:('k -> 'k -> int) ->
'k ->
a:'a ->
b:'b ->
if_found:(key:'k -> data:'v -> 'a -> 'b -> 'c) ->
if_not_found:('k -> 'a -> 'b -> 'c) ->
'cval mem : ('k, 'v) t -> compare:('k -> 'k -> int) -> 'k -> boolval remove :
('k, 'v) t ->
removed:bool ref ->
compare:('k -> 'k -> int) ->
'k ->
('k, 'v) tval fold :
('k, 'v) t ->
init:'acc ->
f:(key:'k -> data:'v -> 'acc -> 'acc) ->
'accval iter : ('k, 'v) t -> f:(key:'k -> data:'v -> unit) -> unitval mapi_inplace : ('k, 'v) t -> f:(key:'k -> data:'v -> 'v) -> unitval choose_exn : ('k, 'v) t -> 'k * 'v