Functor MoreLabels.Hashtbl.MakeSeeded

module MakeSeeded: functor (H : SeededHashedType) -> SeededS 
    with type key = H.t
     and type 'a t = 'a Hashtbl.MakeSeeded(H).t

Functor building an implementation of the hashtable structure. The functor Hashtbl.MakeSeeded 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 seeded hashing and equality functions specified in the functor argument H instead of generic equality and hashing. The create operation of the result structure supports the ~random optional parameter and returns randomized hash tables if ~random:true is passed or if randomization is globally on (see MoreLabels.Hashtbl.randomize).

  • Since 4.00.0
Parameters:
H : SeededHashedType

type key 
type 'a t 
val create : ?random:bool -> int -> 'a t
val clear : 'a t -> unit
val reset : 'a t -> unit
val copy : 'a t -> 'a t
val add : 'a t ->       key:key -> data:'a -> unit
val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a
val find_opt : 'a t ->       key -> 'a option
  • Since 4.05.0
val find_all : 'a t -> key -> 'a list
val replace : 'a t ->       key:key -> data:'a -> unit
val mem : 'a t -> key -> bool
val iter : f:(key:key -> data:'a -> unit) ->       'a t -> unit
val filter_map_inplace : f:(key:key -> data:'a -> 'a option) ->       'a t -> unit
  • Since 4.03.0
val fold : f:(key:key -> data:'a -> 'b -> 'b) ->       'a t -> init:'b -> 'b
val length : 'a t -> int
val stats : 'a t -> MoreLabels.Hashtbl.statistics
val to_seq : 'a t ->       (key * 'a) Seq.t
  • Since 4.07
val to_seq_keys : 'a t ->       key Seq.t
  • Since 4.07
val to_seq_values : 'a t -> 'a Seq.t
  • Since 4.07
val add_seq : 'a t ->       (key * 'a) Seq.t -> unit
  • Since 4.07
val replace_seq : 'a t ->       (key * 'a) Seq.t -> unit
  • Since 4.07
val of_seq : (key * 'a) Seq.t ->       'a t
  • Since 4.07