Module Core.Interval.Make.Set

type t
include sig ... end
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int ‑> t) Bin_prot.Read.reader
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_shape_t : Bin_prot.Shape.t
val t_of_sexp : Base.Sexp.t ‑> t
val sexp_of_t : t ‑> Base.Sexp.t
type 'a t_ = t
type 'a t
type 'a bound
type 'a interval

An interval set is a set of nonempty disjoint intervals.

val create : ('a bound * 'a bound) list ‑> 'a t

create creates an interval set containing intervals whose lower and upper bounds are given by the pairs passed to the function. It is an error if the pairs overlap.

val create_from_intervals : 'a interval list ‑> 'a t

create_from_intervals creates an interval set. Empty intervals are dropped. It is an error if the nonempty intervals are not disjoint.

val contains : 'a t ‑> 'a bound ‑> bool
val contains_set : container:'a t ‑> contained:'a t ‑> bool

contains_set returns true iff for every interval in the contained set, there exists an interval in the container set that is its superset.

val ubound_exn : 'a t ‑> 'a bound

The largest and smallest element of the interval set, respectively. Raises Invalid_argument on empty sets.

val lbound_exn : 'a t ‑> 'a bound
val ubound : 'a t ‑> 'a bound option
val lbound : 'a t ‑> 'a bound option
val to_poly : t ‑> bound poly_set