sig
module type S = sig type t val get_hash : GenericSet.S.t -> int end
module type GenericSetSig =
sig
type t
type elt
val empty : GenericSet.GenericSetSig.t
val is_empty : GenericSet.GenericSetSig.t -> bool
val singleton :
GenericSet.GenericSetSig.elt -> GenericSet.GenericSetSig.t
val mem :
GenericSet.GenericSetSig.elt -> GenericSet.GenericSetSig.t -> bool
val add :
GenericSet.GenericSetSig.elt ->
GenericSet.GenericSetSig.t -> GenericSet.GenericSetSig.t
val remove :
GenericSet.GenericSetSig.elt ->
GenericSet.GenericSetSig.t -> GenericSet.GenericSetSig.t
val union :
GenericSet.GenericSetSig.t ->
GenericSet.GenericSetSig.t -> GenericSet.GenericSetSig.t
val diff :
GenericSet.GenericSetSig.t ->
GenericSet.GenericSetSig.t -> GenericSet.GenericSetSig.t
val equal :
GenericSet.GenericSetSig.t -> GenericSet.GenericSetSig.t -> bool
val elements :
GenericSet.GenericSetSig.t -> GenericSet.GenericSetSig.elt list
val cardinal : GenericSet.GenericSetSig.t -> int
val iter :
(GenericSet.GenericSetSig.elt -> unit) ->
GenericSet.GenericSetSig.t -> unit
val fold :
(GenericSet.GenericSetSig.elt -> 'b -> 'b) ->
GenericSet.GenericSetSig.t -> 'b -> 'b
val exists :
(GenericSet.GenericSetSig.elt -> bool) ->
GenericSet.GenericSetSig.t -> bool
val filter :
(GenericSet.GenericSetSig.elt -> bool) ->
GenericSet.GenericSetSig.t -> GenericSet.GenericSetSig.t
val inter :
GenericSet.GenericSetSig.t ->
GenericSet.GenericSetSig.t -> GenericSet.GenericSetSig.t
val of_list :
GenericSet.GenericSetSig.elt list -> GenericSet.GenericSetSig.t
val of_array :
GenericSet.GenericSetSig.elt array -> GenericSet.GenericSetSig.t
val subset :
GenericSet.GenericSetSig.t -> GenericSet.GenericSetSig.t -> bool
end
module Make :
functor (El : S) ->
sig
type t
type elt = El.t
val empty : t
val is_empty : t -> bool
val singleton : elt -> t
val mem : elt -> t -> bool
val add : elt -> t -> t
val remove : elt -> t -> t
val union : t -> t -> t
val diff : t -> t -> t
val equal : t -> t -> bool
val elements : t -> elt list
val cardinal : t -> int
val iter : (elt -> unit) -> t -> unit
val fold : (elt -> 'b -> 'b) -> t -> 'b -> 'b
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val inter : t -> t -> t
val of_list : elt list -> t
val of_array : elt array -> t
val subset : t -> t -> bool
end
end