Module MoreLabels.Hashtbl

module Hashtbl: sig .. end
type ('a, 'b) t = ('a, 'b) Hashtbl.t
 
val create : ?random:bool -> int -> ('a, 'b) t
 
val clear : ('a, 'b) t -> unit
 
val reset : ('a, 'b) t -> unit
 
val copy : ('a, 'b) t -> ('a, 'b) t
 
val add : ('a, 'b) t -> key:'a -> data:'b -> unit
 
val find : ('a, 'b) t -> 'a -> 'b
 
val find_all : ('a, 'b) t -> 'a -> 'b list
 
val mem : ('a, 'b) t -> 'a -> bool
 
val remove : ('a, 'b) t -> 'a -> unit
 
val replace : ('a, 'b) t -> key:'a -> data:'b -> unit
 
val iter : f:(key:'a -> data:'b -> unit) -> ('a, 'b) t -> unit
 
val fold : f:(key:'a -> data:'b -> 'c -> 'c) ->
('a, 'b) t -> init:'c -> 'c
 
val length : ('a, 'b) t -> int
 
val randomize : unit -> unit
 
type statistics = Hashtbl.statistics
 
val stats : ('a, 'b) t -> statistics
 
module type HashedType = Hashtbl.HashedType
 
module type SeededHashedType = Hashtbl.SeededHashedType
 
module type S = sig .. end
 
module type SeededS = sig .. end
 
module Make:
functor (H : HashedType) -> S with type key = H.t
 
module MakeSeeded:
functor (H : SeededHashedType) -> SeededS with type key = H.t
 
val hash : 'a -> int
 
val seeded_hash : int -> 'a -> int
 
val hash_param : int -> int -> 'a -> int
 
val seeded_hash_param : int -> int -> int -> 'a -> int