Module for simple closed intervals over arbitrary types that are ordered correctly using polymorphic compare.
module type S1 = Interval_intf.S1
include S1
module type S = Interval_intf.S with type poly_t := 'a t with type poly_set := 'a Set.t
module Make : 
functor (Bound : sig .. end) -> S with type bound = Bound.t
module Float : S with type bound = Core_kernel.Std.Float.t
module Int : S with type bound = Core_kernel.Std.Int.t
module Time : sig .. end
include S with type bound = Time.t
val create_ending_after : ?zone:Zone.t -> Ofday.t * Ofday.t -> now:Time.t -> t
create_ending_after ?zone (od1, od2) ~now returns the smallest interval (t1 t2) with minimum t2 such that t2 >= now, to_ofday t1 = od1, and to_ofday t2 = od2. If zone is specified, it is used to translate od1 and od2 into times, otherwise the machine's time zone is used. It is not guaranteed that contains (t1 t2) now, which will be false iff there is no interval containing now with to_ofday t1 = od1 and to_ofday t2 = od1 .
val create_ending_before : ?zone:Zone.t -> Ofday.t * Ofday.t -> ubound:Time.t -> t
create_ending_before ?zone (od1, od2) ~ubound returns the smallest interval (t1 t2) with maximum t2 such that t2 <= ubound, to_ofday t1 = od1, and to_ofday t2 = od2. If zone is specified, it is used to translate od1 and od2 into times, otherwise the machine's time zone is used.
module Ofday : S with type bound = Ofday.t
module Stable : sig .. end
module V1 : sig .. end
module Float : sig .. end
module Int : sig .. end
module Time : sig .. end
module Ofday : sig .. end