jon.recoil.org

Module C4.Set

type elt = C4.t
type t
val empty : C4.Set.t
val is_empty : C4.Set.t -> bool
val mem : C4.Set.elt -> C4.Set.t -> bool
val add : C4.Set.elt -> C4.Set.t -> C4.Set.t
val singleton : C4.Set.elt -> C4.Set.t
val remove : C4.Set.elt -> C4.Set.t -> C4.Set.t
val union : C4.Set.t -> C4.Set.t -> C4.Set.t
val union_sharing : C4.Set.t -> C4.Set.t -> C4.Set.t

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

val union_shared : C4.Set.t -> C4.Set.t -> C4.Set.t

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

val inter : C4.Set.t -> C4.Set.t -> C4.Set.t
val disjoint : C4.Set.t -> C4.Set.t -> bool
val diff : C4.Set.t -> C4.Set.t -> C4.Set.t
val diff_sharing : C4.Set.t -> C4.Set.t -> C4.Set.t

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

val diff_shared : C4.Set.t -> C4.Set.t -> C4.Set.t

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

val compare : C4.Set.t -> C4.Set.t -> int
val equal : C4.Set.t -> C4.Set.t -> bool
val subset : C4.Set.t -> C4.Set.t -> bool
val iter : (C4.Set.elt -> unit) -> C4.Set.t -> unit
val map : (C4.Set.elt -> C4.Set.elt) -> C4.Set.t -> C4.Set.t
val fold : (C4.Set.elt -> 'a -> 'a) -> C4.Set.t -> 'a -> 'a
val for_all : (C4.Set.elt -> bool) -> C4.Set.t -> bool
val exists : (C4.Set.elt -> bool) -> C4.Set.t -> bool
val filter : (C4.Set.elt -> bool) -> C4.Set.t -> C4.Set.t
val filter_map : (C4.Set.elt -> C4.Set.elt option) -> C4.Set.t -> C4.Set.t
val partition : (C4.Set.elt -> bool) -> C4.Set.t -> C4.Set.t * C4.Set.t
val cardinal : C4.Set.t -> int
val elements : C4.Set.t -> C4.Set.elt list
val min_elt : C4.Set.t -> C4.Set.elt
val min_elt_opt : C4.Set.t -> C4.Set.elt option
val max_elt : C4.Set.t -> C4.Set.elt
val max_elt_opt : C4.Set.t -> C4.Set.elt option
val choose : C4.Set.t -> C4.Set.elt
val choose_opt : C4.Set.t -> C4.Set.elt option
val split : C4.Set.elt -> C4.Set.t -> C4.Set.t * bool * C4.Set.t
val find : C4.Set.elt -> C4.Set.t -> C4.Set.elt
val of_list : C4.Set.elt list -> C4.Set.t
val print : Stdlib.Format.formatter -> C4.Set.t -> unit
val to_string : C4.Set.t -> string
val union_list : C4.Set.t list -> C4.Set.t
val get_singleton : C4.Set.t -> C4.Set.elt option