Up

module Hashtbl2_pair

: sig
#
module type Key = Hashtbl2.Key
#
type ('key1, 'key2, 'data) t
include Core.Std.Invariant.S3 with type ('a, 'b, 'c) t := ('a, 'b, 'c) t
#
val clear : (_, _, _) t -> unit
#
val add_exn : ('key1, 'key2, 'data) t -> 'key1 -> 'key2 -> 'data -> unit
#
val set : ('key1, 'key2, 'data) t -> 'key1 -> 'key2 -> 'data -> unit
#
val find : ('key1, 'key2, 'data) t -> 'key1 -> 'key2 -> 'data option
#
val mem : ('key1, 'key2, 'data) t -> 'key1 -> 'key2 -> bool
#
val mem1 : ('key1, 'key2, 'data) t -> 'key1 -> bool
#
val mem2 : ('key1, 'key2, 'data) t -> 'key2 -> bool
#
val iter : ('key1, 'key2, 'data) t -> f:('key1 -> 'key2 -> 'data -> unit) -> unit
#
val find1 : ('key1, 'key2, 'data) t -> 'key1 -> ('key2, 'data) Core.Std.Hashtbl.t option
#
val find2 : ('key1, 'key2, 'data) t -> 'key2 -> ('key1, 'data) Core.Std.Hashtbl.t option
#
val find1_iter2 : ('key1, 'key2, 'data) t -> 'key1 -> f:('key2 -> 'data -> unit) -> unit
#
val find2_iter1 : ('key1, 'key2, 'data) t -> 'key2 -> f:('key1 -> 'data -> unit) -> unit
#
val remove_all1 : ('key1, _, _) t -> 'key1 -> unit
#
val remove_exn : ('key1, 'key2, _) t -> 'key1 -> 'key2 -> unit
#
module Make : functor (Key1 : Key) -> functor (Key2 : Key) -> sig
include sig
#
type ('a0, 'a1, 'a2) __pa_nonrec_0 = ('a0, 'a1, 'a2) t
#
type 'data t = (Key1.t, Key2.t, 'data) __pa_nonrec_0
end
with type ('a0, 'a1, 'a2) __pa_nonrec_0 := ('a0, 'a1, 'a2) t
include Core.Std.Equal.S1 with type 'a t := 'a t
#
val create : unit -> 'data t
#
val of_alist_exn : (Key1.t * Key2.t * 'data) list -> 'data t
#
val sexp_of_t : ('data -> Sexplib.Sexp.t) -> 'data t -> Sexplib.Sexp.t
end
#
val sexp_of_t : ('key1 -> Sexplib.Sexp.t) -> ('key2 -> Sexplib.Sexp.t) -> ('data -> Sexplib.Sexp.t) -> ('key1, 'key2, 'data) t -> Sexplib.Sexp.t
end