sig
type ('k, +'v, 'cmp) interval_map
module Key : Core_kernel.Std.Comparator.S
module Interval :
sig
type t = Key.t Interval_map_intf.Interval.t
val is_empty : Interval_map_intf.S.Interval.t -> bool
val contains : Interval_map_intf.S.Interval.t -> Key.t -> bool
end
type 'a t =
(Key.t, 'a, Key.comparator_witness) Interval_map_intf.S.interval_map
val create :
left_of_leftmost:'a ->
value_right_of:(Key.t, 'a, Key.comparator_witness) Core_kernel.Std.Map.t ->
'a Interval_map_intf.S.t
val always : 'a -> 'a Interval_map_intf.S.t
val find : 'v Interval_map_intf.S.t -> Key.t -> 'v
val change :
'v Interval_map_intf.S.t -> at:Key.t -> 'v -> 'v Interval_map_intf.S.t
val map :
'a Interval_map_intf.S.t -> f:('a -> 'b) -> 'b Interval_map_intf.S.t
val map2 :
'a Interval_map_intf.S.t ->
'b Interval_map_intf.S.t ->
f:('a -> 'b -> 'c) -> 'c Interval_map_intf.S.t
val remove_changes_within :
'v Interval_map_intf.S.t ->
Interval_map_intf.S.Interval.t -> 'v Interval_map_intf.S.t
val set_within :
'v Interval_map_intf.S.t ->
Interval_map_intf.S.Interval.t -> 'v -> 'v Interval_map_intf.S.t
val map_within :
'v Interval_map_intf.S.t ->
Interval_map_intf.S.Interval.t ->
f:('v -> 'v) -> 'v Interval_map_intf.S.t
val construct_preimage :
'v Interval_map_intf.S.t ->
('v * Interval_map_intf.S.Interval.t) Core_kernel.Std.Sequence.t
val compare :
('a -> 'a -> int) ->
'a Interval_map_intf.S.t -> 'a Interval_map_intf.S.t -> int
val t_of_sexp :
(Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a Interval_map_intf.S.t
val sexp_of_t :
('a -> Sexplib.Sexp.t) -> 'a Interval_map_intf.S.t -> Sexplib.Sexp.t
end