package core_unix
Module Ofday.SetSource
include Core.Bin_prot.Binable.S with type t := t
include Bin_prot.Binable.S_only_functions with type t := t
This function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.
create_exn creates an interval set containing intervals whose lower and upper bounds are given by the pairs passed to the function. Raises if the pairs overlap.
create_from_intervals_exn creates an interval set. Empty intervals are dropped. Raises if the nonempty intervals are not disjoint.
contains_set returns true iff for every interval in the contained set, there exists an interval in the container set that is its superset.
The largest and smallest element of the interval set, respectively. Raises Invalid_argument on empty sets.
inter t1 t2 computes the intersection of sets t1 and t2. O(length t1 * length t2).
union t1 t2 computes the union of sets t1 and t2. O((length t1 + length t2) * log(length t1 + length t2)).
union_list l computes the union of a list of sets. O(sum length * log(sum length)).