Module Core.Interval.Make.Set

type t
include sig ... end
val t_of_sexp : Sexplib.Sexp.t ‑> t
val sexp_of_t : t ‑> Sexplib.Sexp.t
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
type 'a t_ = t
include Core__.Interval_intf.Gen_set with type t := a t_ with type bound := a bound_
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 values between each pair of values. 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
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