jon.recoil.org

Module Variable.Set

type elt = Variable.t
type t
val empty : Variable.Set.t
val is_empty : Variable.Set.t -> bool
val mem : Variable.Set.elt -> Variable.Set.t -> bool
val singleton : Variable.Set.elt -> Variable.Set.t
val union_sharing : Variable.Set.t -> Variable.Set.t -> Variable.Set.t

union_sharing s1 s2 is union s1 s2, with maximal sharing of the result with s1.

union_shared s1 s2 is union_sharing s1 s2, with a fast path for shared subsets of s1 and s2.

val disjoint : Variable.Set.t -> Variable.Set.t -> bool

diff_sharing s1 s2 is diff s1 s2, with maximal sharing of the result with s1.

diff_shared s1 s2 is diff_sharing s1 s2, with a fast path for shared subsets of s1 and s2.

val compare : Variable.Set.t -> Variable.Set.t -> int
val equal : Variable.Set.t -> Variable.Set.t -> bool
val subset : Variable.Set.t -> Variable.Set.t -> bool
val iter : (Variable.Set.elt -> unit) -> Variable.Set.t -> unit
val fold : (Variable.Set.elt -> 'a -> 'a) -> Variable.Set.t -> 'a -> 'a
val for_all : (Variable.Set.elt -> bool) -> Variable.Set.t -> bool
val exists : (Variable.Set.elt -> bool) -> Variable.Set.t -> bool
val filter : (Variable.Set.elt -> bool) -> Variable.Set.t -> Variable.Set.t
val cardinal : Variable.Set.t -> int
val elements : Variable.Set.t -> Variable.Set.elt list
val min_elt_opt : Variable.Set.t -> Variable.Set.elt option
val max_elt_opt : Variable.Set.t -> Variable.Set.elt option
val choose_opt : Variable.Set.t -> Variable.Set.elt option
val of_list : Variable.Set.elt list -> Variable.Set.t
val to_string : Variable.Set.t -> string
val union_list : Variable.Set.t list -> Variable.Set.t
val get_singleton : Variable.Set.t -> Variable.Set.elt option