package core

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
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