module M_USet:sig
..end
Note: Removed elements can never be added again. This is because of how
USet
handles the value
operation (see below).
Supports add
, remove
, lookup
and merge
operations.
See Mutable_types.RSet
. Contains two separate instances of
a regular Map
, one for adding (add_s
) and the other for removing
(remove_s
).
add el t
adds el
to add_s
.
remove el t
adds el
to remove_s
Both lookup
and value
operate on the set difference add_s \ remove_s
.
merge a b
calls merges add_s_a
with add_s_b
and the same for b
module Make(
O
:
Mutable_types.Comparable
)
:Mutable_types.RSet
with type elt = O.t
Mutable_types.Comparable