Module Core.Interval.Set

type 'a t
include sig ... end
val t_of_sexp : (Sexplib.Sexp.t ‑> 'a) ‑> Sexplib.Sexp.t ‑> 'a t
val sexp_of_t : ('a ‑> Sexplib.Sexp.t) ‑> 'a t ‑> Sexplib.Sexp.t
val bin_read_t : 'a Bin_prot.Read.reader ‑> 'a t Bin_prot.Read.reader
val __bin_read_t__ : 'a Bin_prot.Read.reader ‑> (int ‑> 'a t) Bin_prot.Read.reader
val bin_size_t : 'a Bin_prot.Size.sizer ‑> 'a t Bin_prot.Size.sizer
val bin_write_t : 'a Bin_prot.Write.writer ‑> 'a t Bin_prot.Write.writer
val bin_shape_t : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
include Core__.Interval_intf.Gen_set with type t := a 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 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