Module type Hashtbl.Creators

type ('a, 'b) t
val create : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> ('a, 'b) t
val of_alist : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> ('a * 'b) list -> [ `Duplicate_key of 'a | `Ok of ('a, 'b) t ]
val of_alist_report_all_dups : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> ('a * 'b) list -> [ `Duplicate_keys of 'a list | `Ok of ('a, 'b) t ]
val of_alist_or_error : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> ('a * 'b) list -> (('a, 'b) t, Base__.Info.t) result
val of_alist_exn : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> ('a * 'b) list -> ('a, 'b) t
val of_alist_multi : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> ('a * 'b) list -> ('a, 'b list) t
val create_mapped : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> get_key:('r -> 'a) -> get_data:('r -> 'b) -> 'r list -> [ `Duplicate_keys of 'a list | `Ok of ('a, 'b) t ]
val create_with_key : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> get_key:('r -> 'a) -> 'r list -> [ `Duplicate_keys of 'a list | `Ok of ('a, 'r) t ]
val create_with_key_or_error : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> get_key:('r -> 'a) -> 'r list -> (('a, 'r) t, Base__.Info.t) result
val create_with_key_exn : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> get_key:('r -> 'a) -> 'r list -> ('a, 'r) t
val group : ?growth_allowed:bool -> ?size:int -> (module Base__Hashtbl_intf.Key.S with type t = 'a) -> get_key:('r -> 'a) -> get_data:('r -> 'b) -> combine:('b -> 'b -> 'b) -> 'r list -> ('a, 'b) t