functor (Ord : Datatype.S) ->
functor (Value : Value) ->
sig
type key = Ord.t
type value = Value.t
type rangemap
type t = rangemap
val ty : t Type.t
val name : string
val descr : t Descr.t
val packed_descr : Structural_descr.pack
val reprs : t list
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val pretty_code : Format.formatter -> t -> unit
val internal_pretty_code :
Type.precedence -> Format.formatter -> t -> unit
val pretty : Format.formatter -> t -> unit
val varname : t -> string
val mem_project : (Project_skeleton.t -> bool) -> t -> bool
val copy : t -> t
val create : t -> key -> value -> t -> t
val empty : t
val is_empty : t -> bool
val add : key -> value -> t -> t
val singleton : key -> value -> t
val find : key -> t -> value
val remove : key -> t -> t
val mem : key -> t -> bool
val iter : (key -> value -> unit) -> t -> unit
val map : (value -> value) -> t -> t
val mapi : (key -> value -> value) -> t -> t
val mapii : (key -> value -> key * value) -> t -> t
val fold : (key -> value -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (key -> value -> bool) -> t -> bool
val exists : (key -> value -> bool) -> t -> bool
val filter : (key -> value -> bool) -> t -> t
val partition : (key -> value -> bool) -> t -> t * t
val cardinal : t -> int
val bindings : t -> (key * value) list
val min_binding : t -> key * value
val max_binding : t -> key * value
val choose : t -> key * value
val merge :
(key -> value option -> value option -> value option) -> t -> t -> t
val for_all2 :
(key -> value option -> value option -> bool) -> t -> t -> bool
val exists2 :
(key -> value option -> value option -> bool) -> t -> t -> bool
val iter2 :
(key -> value option -> value option -> unit) -> t -> t -> unit
val fold2 :
(key -> value option -> value option -> 'a -> 'a) ->
t -> t -> 'a -> 'a
val fold_range :
(key -> Rangemap.fuzzy_order) ->
(key -> Rangemap.Value.t -> 'a -> 'a) -> t -> 'a -> 'a
val height : t -> int
val concerned_intervals :
(key -> key -> Rangemap.fuzzy_order) ->
key -> t -> (key * Rangemap.Value.t) list
exception Empty_rangemap
val lowest_binding : t -> key * Rangemap.Value.t
exception No_such_binding
val lowest_binding_above : (key -> bool) -> t -> key * Rangemap.Value.t
val add_whole :
(key -> key -> Rangemap.fuzzy_order) ->
key -> Rangemap.Value.t -> t -> t
val remove_whole :
(key -> key -> Rangemap.fuzzy_order) -> key -> t -> t
end