jon.recoil.org

Module String_info.Set

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

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

val union_shared : t -> t -> t

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

val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val diff_sharing : t -> t -> t

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

val diff_shared : t -> t -> t

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

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