Functor FCHashtbl.Make

module Make: 
functor (H : Stdlib.Hashtbl.HashedType-> S with type key = H.t
Parameters:
H : Stdlib.Hashtbl.HashedType

include Hashtbl.S
val iter_sorted : ?cmp:(key -> key -> int) -> (key -> 'a -> unit) -> 'a t -> unit

Iter on the hashtbl, but respecting the order on keys induced by cmp. Use Stdlib.compare if cmp not given.

If the table contains several bindings for the same key, they are passed to f in reverse order of introduction, that is, the most recent binding is passed first.

val fold_sorted : ?cmp:(key -> key -> int) -> (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b

Fold on the hashtbl, but respecting the order on keys induced by cmp. Use Stdlib.compare if cmp not given.

If the table contains several bindings for the same key, they are passed to f in reverse order of introduction, that is, the most recent binding is passed first.

val iter_sorted_by_entry : cmp:(key * 'a -> key * 'a -> int) -> (key -> 'a -> unit) -> 'a t -> unit
val fold_sorted_by_entry : cmp:(key * 'a -> key * 'a -> int) ->
(key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b

Iter or fold on the hashtable, respecting the order on entries given by cmp. The table may contains several bindings for the same key.

val iter_sorted_by_value : cmp:('a -> 'a -> int) -> (key -> 'a -> unit) -> 'a t -> unit
val fold_sorted_by_value : cmp:('a -> 'a -> int) -> (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b

Iter or fold on the hashtable, respecting the order on entries given by cmp. The relative order for entries whose values is equal according to cmp, is not specified.

val find_opt : 'a t -> key -> 'a option
val find_def : 'a t -> key -> 'a -> 'a
val memo : 'a t -> key -> (key -> 'a) -> 'a

memo tbl k f returns the binding of k in tbl. If there is no binding, add the binding f k associated to k in tbl and return it.