NS.Multiset
Multiset - Set with multiplicity for each element
module type MULTIPLICITY = sig ... end
module type S = sig ... end
include Ppx_compare_lib.Comparable.S3
with type ('elt, 'mul, 'compare_elt) t := ('elt, 'mul, 'compare_elt) t
val compare :
'a Base__Ppx_compare_lib.compare ->
'b Base__Ppx_compare_lib.compare ->
'c Base__Ppx_compare_lib.compare ->
('a, 'b, 'c) t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S3
with type ('elt, 'mul, 'compare_elt) t := ('elt, 'mul, 'compare_elt) t
val equal :
'a Base__Ppx_compare_lib.equal ->
'b Base__Ppx_compare_lib.equal ->
'c Base__Ppx_compare_lib.equal ->
('a, 'b, 'c) t Base__Ppx_compare_lib.equal
include Sexplib0.Sexpable.S3
with type ('elt, 'mul, 'compare_elt) t := ('elt, 'mul, 'compare_elt) t
val t_of_sexp :
(Sexplib0__.Sexp.t -> 'a) ->
(Sexplib0__.Sexp.t -> 'b) ->
(Sexplib0__.Sexp.t -> 'c) ->
Sexplib0__.Sexp.t ->
('a, 'b, 'c) t
val sexp_of_t :
('a -> Sexplib0__.Sexp.t) ->
('b -> Sexplib0__.Sexp.t) ->
('c -> Sexplib0__.Sexp.t) ->
('a, 'b, 'c) t ->
Sexplib0__.Sexp.t
val sexp_of_compare :
('compare_elt -> Sexplib0.Sexp.t) ->
('compare_mul -> Sexplib0.Sexp.t) ->
('compare_elt, 'compare_mul) compare ->
Sexplib0.Sexp.t
val compare_of_sexp :
(Sexplib0.Sexp.t -> 'compare_elt) ->
(Sexplib0.Sexp.t -> 'compare_mul) ->
Sexplib0.Sexp.t ->
('compare_elt, 'compare_mul) compare
module Make
(Elt : sig ... end)
(Mul : MULTIPLICITY) :
S
with type mul = Mul.t
with type elt = Elt.t
with type compare = (Elt.compare, Mul.compare) compare
with type t = (Elt.t, Mul.t, Elt.compare) t