type ('a, 'b) bucket =
| Empty
| Cons of {
mutable key : 'a;
mutable data : 'b;
mutable next : ('a, 'b) bucket;
}
type ('a, 'b) t = {
mutable size : int;
mutable data : ('a, 'b) bucket array;
initial_size : int;
}
val create : int -> ('a, 'b) t
val clear : ('a, 'b) t -> unit
val reset : ('a, 'b) t -> unit
val length : ('a, 'b) t -> int
val resize : (('a, 'b) t -> 'c -> int) -> ('a, 'b) t -> unit
val iter : ('a, 'b) t -> ('c -> 'd -> 'e) -> unit
val fold : ('a, 'b) t -> 'c -> ('d -> 'e -> 'f -> 'g) -> 'h
val to_list : ('a, 'b) t -> ('c -> 'd -> 'e) -> 'f list
val small_bucket_mem : ('a, 'b) bucket -> ('c -> 'd -> bool) -> 'e -> bool
val small_bucket_opt : ('a -> 'b -> bool) -> 'c -> ('d, 'e) bucket -> 'f option
val small_bucket_key_opt :
('a -> 'b -> bool) ->
'c ->
('d, 'e) bucket ->
'f option
val small_bucket_default :
('a -> 'b -> bool) ->
'c ->
'd ->
('e, 'f) bucket ->
'g
val remove_bucket :
('a, 'b) t ->
int ->
'c ->
prec:('d, 'e) bucket ->
('f, 'g) bucket ->
('h -> 'i -> bool) ->
unit
val replace_bucket : 'a -> 'b -> ('c, 'd) bucket -> ('e -> 'f -> bool) -> bool
module type S = sig ... end