CCMultiSet.Make
module O : Stdlib.Set.OrderedType
type elt = O.t
val empty : t
val is_empty : t -> bool
remove_mult set x n
removes at most n
occurrences of x
from set
.
update set x f
calls f n
where n
is the current multiplicity of x
in set
(0
to indicate its absence); the result of f n
is the new multiplicity of x
.
union a b
contains as many occurrences of an element x
as count a x + count b x
.
meet a b
is a multiset such that count (meet a b) x = max (count a x) (count b x)
.
intersection a b
is a multiset such that count (intersection a b) x = min (count a x) (count b x)
.
val cardinal : t -> int
Number of distinct elements.