sig
module type OrderedType =
sig
type t
val compare : OwnMap.OrderedType.t -> OwnMap.OrderedType.t -> int
end
module type StringOf =
sig type t val string_of : OwnMap.StringOf.t -> string end
module type Custom = sig val sep : string val mapto : string end
module type S =
sig
type key
type img
type t
val empty : OwnMap.S.t
val is_empty : OwnMap.S.t -> bool
val add : OwnMap.S.key -> OwnMap.S.img -> OwnMap.S.t -> OwnMap.S.t
val find : OwnMap.S.key -> OwnMap.S.t -> OwnMap.S.img
val remove : OwnMap.S.key -> OwnMap.S.t -> OwnMap.S.t
val mem : OwnMap.S.key -> OwnMap.S.t -> bool
val iter : (OwnMap.S.key -> OwnMap.S.img -> unit) -> OwnMap.S.t -> unit
val map : (OwnMap.S.img -> OwnMap.S.img) -> OwnMap.S.t -> OwnMap.S.t
val mapi :
(OwnMap.S.key -> OwnMap.S.img -> OwnMap.S.img) ->
OwnMap.S.t -> OwnMap.S.t
val fold :
(OwnMap.S.key -> OwnMap.S.img -> 'a -> 'a) -> OwnMap.S.t -> 'a -> 'a
val compare : OwnMap.S.t -> OwnMap.S.t -> int
val equal : OwnMap.S.t -> OwnMap.S.t -> bool
val add' :
OwnMap.S.key -> OwnMap.S.img option -> OwnMap.S.t -> OwnMap.S.t
val find' : OwnMap.S.key -> OwnMap.S.t -> OwnMap.S.img option
val add_list :
(OwnMap.S.key * OwnMap.S.img) list -> OwnMap.S.t -> OwnMap.S.t
val to_list : OwnMap.S.t -> (OwnMap.S.key * OwnMap.S.img) list
val from_list : (OwnMap.S.key * OwnMap.S.img) list -> OwnMap.S.t
val map_to_list :
(OwnMap.S.key -> OwnMap.S.img -> 'a) -> OwnMap.S.t -> 'a list
val mapi_and_map_to_list :
(OwnMap.S.key -> OwnMap.S.img -> OwnMap.S.img * 'a) ->
OwnMap.S.t -> OwnMap.S.t * 'a list
val domain : OwnMap.S.t -> OwnMap.S.key list
val fold_two :
(OwnMap.S.key ->
OwnMap.S.img option -> OwnMap.S.img option -> 'a -> 'a) ->
'a -> OwnMap.S.t -> OwnMap.S.t -> 'a
val restrict : OwnMap.S.key list -> OwnMap.S.t -> OwnMap.S.t
end
module type S_Str =
sig
type key
type img
type t
val empty : t
val is_empty : t -> bool
val add : key -> img -> t -> t
val find : key -> t -> img
val remove : key -> t -> t
val mem : key -> t -> bool
val iter : (key -> img -> unit) -> t -> unit
val map : (img -> img) -> t -> t
val mapi : (key -> img -> img) -> t -> t
val fold : (key -> img -> 'a -> 'a) -> t -> 'a -> 'a
val compare : t -> t -> int
val equal : t -> t -> bool
val add' : key -> img option -> t -> t
val find' : key -> t -> img option
val add_list : (key * img) list -> t -> t
val to_list : t -> (key * img) list
val from_list : (key * img) list -> t
val map_to_list : (key -> img -> 'a) -> t -> 'a list
val mapi_and_map_to_list : (key -> img -> img * 'a) -> t -> t * 'a list
val domain : t -> key list
val fold_two :
(key -> img option -> img option -> 'a -> 'a) -> 'a -> t -> t -> 'a
val restrict : key list -> t -> t
val string_of : t -> string
end
module Make :
functor (Key : OrderedType) ->
functor (Img : OrderedType) ->
sig
type key = Key.t
type img = Img.t
type t
val empty : t
val is_empty : t -> bool
val add : key -> img -> t -> t
val find : key -> t -> img
val remove : key -> t -> t
val mem : key -> t -> bool
val iter : (key -> img -> unit) -> t -> unit
val map : (img -> img) -> t -> t
val mapi : (key -> img -> img) -> t -> t
val fold : (key -> img -> 'a -> 'a) -> t -> 'a -> 'a
val compare : t -> t -> int
val equal : t -> t -> bool
val add' : key -> img option -> t -> t
val find' : key -> t -> img option
val add_list : (key * img) list -> t -> t
val to_list : t -> (key * img) list
val from_list : (key * img) list -> t
val map_to_list : (key -> img -> 'a) -> t -> 'a list
val mapi_and_map_to_list :
(key -> img -> img * 'a) -> t -> t * 'a list
val domain : t -> key list
val fold_two :
(key -> img option -> img option -> 'a -> 'a) ->
'a -> t -> t -> 'a
val restrict : key list -> t -> t
end
module AddString :
functor (KeyS : StringOf) ->
functor (ImgS : StringOf) ->
functor (SCustom : Custom) ->
functor
(Map : sig
type key = KeyS.t
type img = ImgS.t
type t
val empty : t
val is_empty : t -> bool
val add : key -> img -> t -> t
val find : key -> t -> img
val remove : key -> t -> t
val mem : key -> t -> bool
val iter : (key -> img -> unit) -> t -> unit
val map : (img -> img) -> t -> t
val mapi : (key -> img -> img) -> t -> t
val fold : (key -> img -> 'a -> 'a) -> t -> 'a -> 'a
val compare : t -> t -> int
val equal : t -> t -> bool
val add' : key -> img option -> t -> t
val find' : key -> t -> img option
val add_list : (key * img) list -> t -> t
val to_list : t -> (key * img) list
val from_list : (key * img) list -> t
val map_to_list : (key -> img -> 'a) -> t -> 'a list
val mapi_and_map_to_list :
(key -> img -> img * 'a) -> t -> t * 'a list
val domain : t -> key list
val fold_two :
(key -> img option -> img option -> 'a -> 'a) ->
'a -> t -> t -> 'a
val restrict : key list -> t -> t
end) ->
sig
type key = Map.key
type img = Map.img
type t
val empty : t
val is_empty : t -> bool
val add : key -> img -> t -> t
val find : key -> t -> img
val remove : key -> t -> t
val mem : key -> t -> bool
val iter : (key -> img -> unit) -> t -> unit
val map : (img -> img) -> t -> t
val mapi : (key -> img -> img) -> t -> t
val fold : (key -> img -> 'a -> 'a) -> t -> 'a -> 'a
val compare : t -> t -> int
val equal : t -> t -> bool
val add' : key -> img option -> t -> t
val find' : key -> t -> img option
val add_list : (key * img) list -> t -> t
val to_list : t -> (key * img) list
val from_list : (key * img) list -> t
val map_to_list : (key -> img -> 'a) -> t -> 'a list
val mapi_and_map_to_list :
(key -> img -> img * 'a) -> t -> t * 'a list
val domain : t -> key list
val fold_two :
(key -> img option -> img option -> 'a -> 'a) ->
'a -> t -> t -> 'a
val restrict : key list -> t -> t
val string_of : t -> string
end
module AddS :
functor (KeyS : StringOf) ->
functor (ImgS : StringOf) ->
functor
(Map : sig
type key = KeyS.t
type img = ImgS.t
type t
val empty : t
val is_empty : t -> bool
val add : key -> img -> t -> t
val find : key -> t -> img
val remove : key -> t -> t
val mem : key -> t -> bool
val iter : (key -> img -> unit) -> t -> unit
val map : (img -> img) -> t -> t
val mapi : (key -> img -> img) -> t -> t
val fold : (key -> img -> 'a -> 'a) -> t -> 'a -> 'a
val compare : t -> t -> int
val equal : t -> t -> bool
val add' : key -> img option -> t -> t
val find' : key -> t -> img option
val add_list : (key * img) list -> t -> t
val to_list : t -> (key * img) list
val from_list : (key * img) list -> t
val map_to_list : (key -> img -> 'a) -> t -> 'a list
val mapi_and_map_to_list :
(key -> img -> img * 'a) -> t -> t * 'a list
val domain : t -> key list
val fold_two :
(key -> img option -> img option -> 'a -> 'a) ->
'a -> t -> t -> 'a
val restrict : key list -> t -> t
end) ->
sig
type key = Map.key
type img = Map.img
type t
val empty : t
val is_empty : t -> bool
val add : key -> img -> t -> t
val find : key -> t -> img
val remove : key -> t -> t
val mem : key -> t -> bool
val iter : (key -> img -> unit) -> t -> unit
val map : (img -> img) -> t -> t
val mapi : (key -> img -> img) -> t -> t
val fold : (key -> img -> 'a -> 'a) -> t -> 'a -> 'a
val compare : t -> t -> int
val equal : t -> t -> bool
val add' : key -> img option -> t -> t
val find' : key -> t -> img option
val add_list : (key * img) list -> t -> t
val to_list : t -> (key * img) list
val from_list : (key * img) list -> t
val map_to_list : (key -> img -> 'a) -> t -> 'a list
val mapi_and_map_to_list :
(key -> img -> img * 'a) -> t -> t * 'a list
val domain : t -> key list
val fold_two :
(key -> img option -> img option -> 'a -> 'a) ->
'a -> t -> t -> 'a
val restrict : key list -> t -> t
val string_of : t -> string
end
end