Functor Hashtbl.Make


module Hashtbl.Make: 
functor (H : Extlib.ExtHashtbl.Hashtbl.HashedType) -> Extlib.ExtHashtbl.Hashtbl.S with type key = H.t
Functor building an implementation of the hashtable structure. The functor Hashtbl.Make returns a structure containing a type key of keys and a type 'a t of hash tables associating data of type 'a to keys of type key. The operations perform similarly to those of the generic interface, but use the hashing and equality functions specified in the functor argument H instead of generic equality and hashing.
Parameters:
H : Extlib.ExtHashtbl.Hashtbl.HashedType

type key 
type 'a t 
val create : int -> 'a Hashtbl.S.t
val length : 'a Hashtbl.S.t -> int
val is_empty : 'a Hashtbl.S.t -> bool
val clear : 'a Hashtbl.S.t -> unit
val copy : 'a Hashtbl.S.t -> 'a Hashtbl.S.t
val add : 'a Hashtbl.S.t ->
Hashtbl.S.key -> 'a -> unit
val remove : 'a Hashtbl.S.t -> Hashtbl.S.key -> unit
val remove_all : 'a Hashtbl.S.t -> Hashtbl.S.key -> unit
val find : 'a Hashtbl.S.t -> Hashtbl.S.key -> 'a
val find_all : 'a Hashtbl.S.t ->
Hashtbl.S.key -> 'a list
val find_default : 'a Hashtbl.S.t ->
Hashtbl.S.key -> 'a -> 'a
val find_option : 'a Hashtbl.S.t ->
Hashtbl.S.key -> 'a option
val replace : 'a Hashtbl.S.t ->
Hashtbl.S.key -> 'a -> unit
val mem : 'a Hashtbl.S.t -> Hashtbl.S.key -> bool
val iter : (Hashtbl.S.key -> 'a -> unit) ->
'a Hashtbl.S.t -> unit
val fold : (Hashtbl.S.key -> 'a -> 'b -> 'b) ->
'a Hashtbl.S.t -> 'b -> 'b
val map : (Hashtbl.S.key -> 'a -> 'b) ->
'a Hashtbl.S.t -> 'b Hashtbl.S.t
val filter : ('a -> bool) ->
'a Hashtbl.S.t -> 'a Hashtbl.S.t
val filteri : (Hashtbl.S.key -> 'a -> bool) ->
'a Hashtbl.S.t -> 'a Hashtbl.S.t
val filter_map : (Hashtbl.S.key -> 'a -> 'b option) ->
'a Hashtbl.S.t -> 'b Hashtbl.S.t
val keys : 'a Hashtbl.S.t ->
Hashtbl.S.key Enum.t
val values : 'a Hashtbl.S.t -> 'a Enum.t
val enum : 'a Hashtbl.S.t ->
(Hashtbl.S.key * 'a) Enum.t
val of_enum : (Hashtbl.S.key * 'a) Enum.t ->
'a Hashtbl.S.t
val sexp_of_t : (Hashtbl.S.key -> Sexplib.Sexp.t) ->
('a -> Sexplib.Sexp.t) -> 'a Hashtbl.S.t -> Sexplib.Sexp.t
val t_of_sexp : (Sexplib.Sexp.t -> Hashtbl.S.key) ->
(Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a Hashtbl.S.t
val print : ?first:string ->
?last:string ->
?sep:string ->
('a Extlib.InnerIO.output -> Hashtbl.S.key -> unit) ->
('a Extlib.InnerIO.output -> 'b -> unit) ->
'a Extlib.InnerIO.output -> 'b Hashtbl.S.t -> unit

Override modules


The following modules replace functions defined in Hashtbl with functions behaving slightly differently but having the same name. This is by design: the functions meant to override the corresponding functions of Hashtbl.

To take advantage of these overrides, you probably want to or . For instance, to open a version of Hashtbl with exceptionless error management, you may write open Hashtbl, Exceptionless. To locally replace module Hashtbl with a module of the same name but with exceptionless error management, you may write

module Hashtbl = Hashtbl include Exceptionless
.
module Extlib.ExtHashtbl.Hashtbl.S.Exceptionless: sig .. end
Operations on Hashtbl without exceptions.
module Extlib.ExtHashtbl.Hashtbl.S.Labels: sig .. end
Operations on Hashtbl with labels.