Module Hashtbl.Creators

Parameters

module Key : sig ... end

Signature

type ('a, 'b) t_ = ('a Key.t'b) t
val t_of_sexp : (Sexp.t -> 'a Key.t) -> (Sexp.t -> 'b) -> Sexp.t -> ('a'b) t_
val create : ?growth_allowed:bool -> ?size:int -> unit -> ('a'b) t_
val of_alist : ?growth_allowed:bool -> ?size:int -> ('a Key.t * 'b) list -> [ `Ok of ('a'b) t_ | `Duplicate_key of 'a Key.t ]
val of_alist_report_all_dups : ?growth_allowed:bool -> ?size:int -> ('a Key.t * 'b) list -> [ `Ok of ('a'b) t_ | `Duplicate_keys of 'a Key.t list ]
val of_alist_or_error : ?growth_allowed:bool -> ?size:int -> ('a Key.t * 'b) list -> ('a'b) t_ Or_error.t
val of_alist_exn : ?growth_allowed:bool -> ?size:int -> ('a Key.t * 'b) list -> ('a'b) t_
val of_alist_multi : ?growth_allowed:bool -> ?size:int -> ('a Key.t * 'b) list -> ('a'b list) t_
val create_mapped : ?growth_allowed:bool -> ?size:int -> get_key:('r -> 'a Key.t) -> get_data:('r -> 'b) -> 'r list -> [ `Ok of ('a'b) t_ | `Duplicate_keys of 'a Key.t list ]
create_mapped get_key get_data [x1,...,xn]
= of_alist [get_key x1, get_data x1; ...; get_key xn, get_data xn] 
val create_with_key : ?growth_allowed:bool -> ?size:int -> get_key:('r -> 'a Key.t) -> 'r list -> [ `Ok of ('a'r) t_ | `Duplicate_keys of 'a Key.t list ]
create_with_key ~get_key [x1,...,xn]
= of_alist [get_key x1, x1; ...; get_key xn, xn] 
val create_with_key_or_error : ?growth_allowed:bool -> ?size:int -> get_key:('r -> 'a Key.t) -> 'r list -> ('a'r) t_ Or_error.t
val create_with_key_exn : ?growth_allowed:bool -> ?size:int -> get_key:('r -> 'a Key.t) -> 'r list -> ('a'r) t_
val group : ?growth_allowed:bool -> ?size:int -> get_key:('r -> 'a Key.t) -> get_data:('r -> 'b) -> combine:('b -> 'b -> 'b) -> 'r list -> ('a'b) t_