functor (T : T) ->
sig
module type S =
sig
val create :
'a Interval_intf.T.bound ->
'a Interval_intf.T.bound -> 'a Interval_intf.T.t
val empty : 'a Interval_intf.T.t
val intersect :
'a Interval_intf.T.t ->
'a Interval_intf.T.t -> 'a Interval_intf.T.t
val is_empty : 'a Interval_intf.T.t -> bool
val is_empty_or_singleton : 'a Interval_intf.T.t -> bool
val bounds :
'a Interval_intf.T.t ->
('a Interval_intf.T.bound * 'a Interval_intf.T.bound) option
val lbound : 'a Interval_intf.T.t -> 'a Interval_intf.T.bound option
val ubound : 'a Interval_intf.T.t -> 'a Interval_intf.T.bound option
val bounds_exn :
'a Interval_intf.T.t ->
'a Interval_intf.T.bound * 'a Interval_intf.T.bound
val lbound_exn : 'a Interval_intf.T.t -> 'a Interval_intf.T.bound
val ubound_exn : 'a Interval_intf.T.t -> 'a Interval_intf.T.bound
val contains :
'a Interval_intf.T.t -> 'a Interval_intf.T.bound -> bool
val compare_value :
'a Interval_intf.T.t ->
'a Interval_intf.T.bound ->
[ `Above | `Below | `Interval_is_empty | `Within ]
val bound :
'a Interval_intf.T.t ->
'a Interval_intf.T.bound -> 'a Interval_intf.T.bound option
val is_superset :
'a Interval_intf.T.t -> of_:'a Interval_intf.T.t -> bool
val is_subset :
'a Interval_intf.T.t -> of_:'a Interval_intf.T.t -> bool
val map :
f:('a Interval_intf.T.bound -> 'b Interval_intf.T.bound) ->
'a Interval_intf.T.t -> 'b Interval_intf.T.t
val are_disjoint : 'a Interval_intf.T.t list -> bool
val are_disjoint_as_open_intervals :
'a Interval_intf.T.t list -> bool
val list_intersect :
'a Interval_intf.T.t list ->
'a Interval_intf.T.t list -> 'a Interval_intf.T.t list
val half_open_intervals_are_a_partition :
'a Interval_intf.T.t list -> bool
end
end