sig
module type OrderedType =
sig
type t
val compare : SetMap.OrderedType.t -> SetMap.OrderedType.t -> int
val print : Format.formatter -> SetMap.OrderedType.t -> unit
end
type ('parameters, 'error, 'a) with_log_wrap =
('parameters -> 'error -> string -> string option -> exn -> 'error) ->
'parameters -> 'error -> 'a
module type Set =
sig
type elt
type t
val empty : SetMap.Set.t
val is_empty : SetMap.Set.t -> bool
val singleton : SetMap.Set.elt -> SetMap.Set.t
val is_singleton : SetMap.Set.t -> bool
val add : SetMap.Set.elt -> SetMap.Set.t -> SetMap.Set.t
val add_with_logs :
('parameters, 'error,
SetMap.Set.elt -> SetMap.Set.t -> 'error * SetMap.Set.t)
SetMap.with_log_wrap
val remove : SetMap.Set.elt -> SetMap.Set.t -> SetMap.Set.t
val add_while_testing_freshness :
('parameters, 'error,
SetMap.Set.elt -> SetMap.Set.t -> 'error * bool * SetMap.Set.t)
SetMap.with_log_wrap
val remove_while_testing_existence :
('parameters, 'error,
SetMap.Set.elt -> SetMap.Set.t -> 'error * bool * SetMap.Set.t)
SetMap.with_log_wrap
val remove_with_logs :
('parameters, 'error,
SetMap.Set.elt -> SetMap.Set.t -> 'error * SetMap.Set.t)
SetMap.with_log_wrap
val split :
SetMap.Set.elt -> SetMap.Set.t -> SetMap.Set.t * bool * SetMap.Set.t
val union : SetMap.Set.t -> SetMap.Set.t -> SetMap.Set.t
val disjoint_union :
SetMap.Set.t -> SetMap.Set.t -> SetMap.Set.t option
val inter : SetMap.Set.t -> SetMap.Set.t -> SetMap.Set.t
val minus : SetMap.Set.t -> SetMap.Set.t -> SetMap.Set.t
val diff : SetMap.Set.t -> SetMap.Set.t -> SetMap.Set.t
val minus_with_logs :
('parameters, 'error,
SetMap.Set.t -> SetMap.Set.t -> 'error * SetMap.Set.t)
SetMap.with_log_wrap
val union_with_logs :
('parameters, 'error,
SetMap.Set.t -> SetMap.Set.t -> 'error * SetMap.Set.t)
SetMap.with_log_wrap
val disjoint_union_with_logs :
('parameters, 'error,
SetMap.Set.t -> SetMap.Set.t -> 'error * SetMap.Set.t)
SetMap.with_log_wrap
val inter_with_logs :
('parameters, 'error,
SetMap.Set.t -> SetMap.Set.t -> 'error * SetMap.Set.t)
SetMap.with_log_wrap
val diff_with_logs :
('parameters, 'error,
SetMap.Set.t -> SetMap.Set.t -> 'error * SetMap.Set.t)
SetMap.with_log_wrap
val size : SetMap.Set.t -> int
val mem : SetMap.Set.elt -> SetMap.Set.t -> bool
val exists : (SetMap.Set.elt -> bool) -> SetMap.Set.t -> bool
val filter : (SetMap.Set.elt -> bool) -> SetMap.Set.t -> SetMap.Set.t
val filter_with_logs :
('parameters, 'error,
(SetMap.Set.elt -> bool) -> SetMap.Set.t -> 'error * SetMap.Set.t)
SetMap.with_log_wrap
val for_all : (SetMap.Set.elt -> bool) -> SetMap.Set.t -> bool
val partition :
(SetMap.Set.elt -> bool) ->
SetMap.Set.t -> SetMap.Set.t * SetMap.Set.t
val partition_with_logs :
('parameters, 'error,
(SetMap.Set.elt -> bool) ->
SetMap.Set.t -> 'error * SetMap.Set.t * SetMap.Set.t)
SetMap.with_log_wrap
val compare : SetMap.Set.t -> SetMap.Set.t -> int
val equal : SetMap.Set.t -> SetMap.Set.t -> bool
val subset : SetMap.Set.t -> SetMap.Set.t -> bool
val iter : (SetMap.Set.elt -> unit) -> SetMap.Set.t -> unit
val fold : (SetMap.Set.elt -> 'a -> 'a) -> SetMap.Set.t -> 'a -> 'a
val fold_inv : (SetMap.Set.elt -> 'a -> 'a) -> SetMap.Set.t -> 'a -> 'a
val elements : SetMap.Set.t -> SetMap.Set.elt list
val print : Format.formatter -> SetMap.Set.t -> unit
val choose : SetMap.Set.t -> SetMap.Set.elt option
val random : Random.State.t -> SetMap.Set.t -> SetMap.Set.elt option
val min_elt : SetMap.Set.t -> SetMap.Set.elt option
val max_elt : SetMap.Set.t -> SetMap.Set.elt option
end
module type Map =
sig
type elt
type set
type +'a t
val empty : 'a SetMap.Map.t
val is_empty : 'a SetMap.Map.t -> bool
val size : 'a SetMap.Map.t -> int
val root : 'a SetMap.Map.t -> (SetMap.Map.elt * 'a) option
val max_key : 'a SetMap.Map.t -> SetMap.Map.elt option
val add : SetMap.Map.elt -> 'a -> 'a SetMap.Map.t -> 'a SetMap.Map.t
val remove : SetMap.Map.elt -> 'a SetMap.Map.t -> 'a SetMap.Map.t
val add_while_testing_freshness :
('parameters, 'error,
SetMap.Map.elt ->
'a -> 'a SetMap.Map.t -> 'error * bool * 'a SetMap.Map.t)
SetMap.with_log_wrap
val remove_while_testing_existence :
('parameters, 'error,
SetMap.Map.elt -> 'a SetMap.Map.t -> 'error * bool * 'a SetMap.Map.t)
SetMap.with_log_wrap
val pop :
SetMap.Map.elt -> 'a SetMap.Map.t -> 'a option * 'a SetMap.Map.t
val merge : 'a SetMap.Map.t -> 'a SetMap.Map.t -> 'a SetMap.Map.t
val min_elt : 'a SetMap.Map.t -> (SetMap.Map.elt * 'a) option
val find_option : SetMap.Map.elt -> 'a SetMap.Map.t -> 'a option
val find_default : 'a -> SetMap.Map.elt -> 'a SetMap.Map.t -> 'a
val find_option_with_logs :
('parameters, 'error,
SetMap.Map.elt -> 'a SetMap.Map.t -> 'error * 'a option)
SetMap.with_log_wrap
val find_default_with_logs :
('parameters, 'error,
'a -> SetMap.Map.elt -> 'a SetMap.Map.t -> 'error * 'a)
SetMap.with_log_wrap
val mem : SetMap.Map.elt -> 'a SetMap.Map.t -> bool
val diff :
'a SetMap.Map.t ->
'a SetMap.Map.t -> 'a SetMap.Map.t * 'a SetMap.Map.t
val union : 'a SetMap.Map.t -> 'a SetMap.Map.t -> 'a SetMap.Map.t
val update : 'a SetMap.Map.t -> 'a SetMap.Map.t -> 'a SetMap.Map.t
val diff_pred :
('a -> 'a -> bool) ->
'a SetMap.Map.t ->
'a SetMap.Map.t -> 'a SetMap.Map.t * 'a SetMap.Map.t
val add_with_logs :
('parameters, 'error,
SetMap.Map.elt -> 'a -> 'a SetMap.Map.t -> 'error * 'a SetMap.Map.t)
SetMap.with_log_wrap
val remove_with_logs :
('parameters, 'error,
SetMap.Map.elt -> 'a SetMap.Map.t -> 'error * 'a SetMap.Map.t)
SetMap.with_log_wrap
val join_with_logs :
('parameters, 'error,
'a SetMap.Map.t ->
SetMap.Map.elt -> 'a -> 'a SetMap.Map.t -> 'error * 'a SetMap.Map.t)
SetMap.with_log_wrap
val split_with_logs :
('parameters, 'error,
SetMap.Map.elt ->
'a SetMap.Map.t ->
'error * ('a SetMap.Map.t * 'a option * 'a SetMap.Map.t))
SetMap.with_log_wrap
val update_with_logs :
('parameters, 'error,
'a SetMap.Map.t -> 'a SetMap.Map.t -> 'error * 'a SetMap.Map.t)
SetMap.with_log_wrap
val map2_with_logs :
('parameters, 'error,
('parameters -> 'error -> 'a -> 'error * 'c) ->
('parameters -> 'error -> 'b -> 'error * 'c) ->
('parameters -> 'error -> 'a -> 'b -> 'error * 'c) ->
'a SetMap.Map.t -> 'b SetMap.Map.t -> 'error * 'c SetMap.Map.t)
SetMap.with_log_wrap
val map2z_with_logs :
('parameters, 'error,
('parameters -> 'error -> 'a -> 'a -> 'error * 'a) ->
'a SetMap.Map.t -> 'a SetMap.Map.t -> 'error * 'a SetMap.Map.t)
SetMap.with_log_wrap
val fold2z_with_logs :
('parameters, 'error,
('parameters ->
'error -> SetMap.Map.elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a SetMap.Map.t -> 'b SetMap.Map.t -> 'c -> 'error * 'c)
SetMap.with_log_wrap
val fold2_with_logs :
('parameters, 'error,
('parameters -> 'error -> SetMap.Map.elt -> 'a -> 'c -> 'error * 'c) ->
('parameters -> 'error -> SetMap.Map.elt -> 'b -> 'c -> 'error * 'c) ->
('parameters ->
'error -> SetMap.Map.elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a SetMap.Map.t -> 'b SetMap.Map.t -> 'c -> 'error * 'c)
SetMap.with_log_wrap
val fold2_sparse_with_logs :
('parameters, 'error,
('parameters ->
'error -> SetMap.Map.elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a SetMap.Map.t -> 'b SetMap.Map.t -> 'c -> 'error * 'c)
SetMap.with_log_wrap
val iter2_sparse_with_logs :
('parameters, 'error,
('parameters -> 'error -> SetMap.Map.elt -> 'a -> 'b -> 'error) ->
'a SetMap.Map.t -> 'b SetMap.Map.t -> 'error)
SetMap.with_log_wrap
val diff_with_logs :
('parameters, 'error,
'a SetMap.Map.t ->
'a SetMap.Map.t -> 'error * 'a SetMap.Map.t * 'a SetMap.Map.t)
SetMap.with_log_wrap
val diff_pred_with_logs :
('parameters, 'error,
('a -> 'a -> bool) ->
'a SetMap.Map.t ->
'a SetMap.Map.t -> 'error * 'a SetMap.Map.t * 'a SetMap.Map.t)
SetMap.with_log_wrap
val merge_with_logs :
('parameters, 'error,
'a SetMap.Map.t -> 'a SetMap.Map.t -> 'error * 'a SetMap.Map.t)
SetMap.with_log_wrap
val union_with_logs :
('parameters, 'error,
'a SetMap.Map.t -> 'a SetMap.Map.t -> 'error * 'a SetMap.Map.t)
SetMap.with_log_wrap
val fold_restriction_with_logs :
('parameters, 'error,
(SetMap.Map.elt -> 'a -> 'error * 'b -> 'error * 'b) ->
SetMap.Map.set -> 'a SetMap.Map.t -> 'b -> 'error * 'b)
SetMap.with_log_wrap
val fold_restriction_with_missing_associations_with_logs :
('parameters, 'error,
(SetMap.Map.elt -> 'a -> 'error * 'b -> 'error * 'b) ->
(SetMap.Map.elt -> 'error * 'b -> 'error * 'b) ->
SetMap.Map.set -> 'a SetMap.Map.t -> 'b -> 'error * 'b)
SetMap.with_log_wrap
val iter : (SetMap.Map.elt -> 'a -> unit) -> 'a SetMap.Map.t -> unit
val fold :
(SetMap.Map.elt -> 'a -> 'b -> 'b) -> 'a SetMap.Map.t -> 'b -> 'b
val fold_with_interruption :
(SetMap.Map.elt -> 'a -> 'b -> ('b, 'c) Stop.stop) ->
'a SetMap.Map.t -> 'b -> ('b, 'c) Stop.stop
val monadic_fold2 :
'parameters ->
'method_handler ->
('parameters ->
'method_handler ->
SetMap.Map.elt -> 'a -> 'b -> 'c -> 'method_handler * 'c) ->
('parameters ->
'method_handler ->
SetMap.Map.elt -> 'a -> 'c -> 'method_handler * 'c) ->
('parameters ->
'method_handler ->
SetMap.Map.elt -> 'b -> 'c -> 'method_handler * 'c) ->
'a SetMap.Map.t -> 'b SetMap.Map.t -> 'c -> 'method_handler * 'c
val monadic_fold2_sparse :
'parameters ->
'method_handler ->
('parameters ->
'method_handler ->
SetMap.Map.elt -> 'a -> 'b -> 'c -> 'method_handler * 'c) ->
'a SetMap.Map.t -> 'b SetMap.Map.t -> 'c -> 'method_handler * 'c
val monadic_iter2_sparse :
'parameters ->
'method_handler ->
('parameters ->
'method_handler -> SetMap.Map.elt -> 'a -> 'b -> 'method_handler) ->
'a SetMap.Map.t -> 'b SetMap.Map.t -> 'method_handler
val monadic_fold_restriction :
'parameters ->
'method_handler ->
('parameters ->
'method_handler ->
SetMap.Map.elt -> 'a -> 'b -> 'method_handler * 'b) ->
SetMap.Map.set -> 'a SetMap.Map.t -> 'b -> 'method_handler * 'b
val mapi :
(SetMap.Map.elt -> 'a -> 'b) -> 'a SetMap.Map.t -> 'b SetMap.Map.t
val map : ('a -> 'b) -> 'a SetMap.Map.t -> 'b SetMap.Map.t
val map2 :
('a -> 'a -> 'a) ->
'a SetMap.Map.t -> 'a SetMap.Map.t -> 'a SetMap.Map.t
val for_all : (SetMap.Map.elt -> 'a -> bool) -> 'a SetMap.Map.t -> bool
val filter_one :
(SetMap.Map.elt -> 'a -> bool) ->
'a SetMap.Map.t -> (SetMap.Map.elt * 'a) option
val compare :
('a -> 'a -> int) -> 'a SetMap.Map.t -> 'a SetMap.Map.t -> int
val equal :
('a -> 'a -> bool) -> 'a SetMap.Map.t -> 'a SetMap.Map.t -> bool
val bindings : 'a SetMap.Map.t -> (SetMap.Map.elt * 'a) list
val print :
(Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a SetMap.Map.t -> unit
val of_json :
?lab_key:string ->
?lab_value:string ->
?error_msg:string ->
(Yojson.Basic.json -> SetMap.Map.elt) ->
(Yojson.Basic.json -> 'value) ->
Yojson.Basic.json -> 'value SetMap.Map.t
val to_json :
?lab_key:string ->
?lab_value:string ->
(SetMap.Map.elt -> Yojson.Basic.json) ->
('value -> Yojson.Basic.json) ->
'value SetMap.Map.t -> Yojson.Basic.json
end
module type S =
sig
type elt
module Set :
sig
type elt = elt
type t
val empty : t
val is_empty : t -> bool
val singleton : elt -> t
val is_singleton : t -> bool
val add : elt -> t -> t
val add_with_logs :
('parameters, 'error, elt -> t -> 'error * t) with_log_wrap
val remove : elt -> t -> t
val add_while_testing_freshness :
('parameters, 'error, elt -> t -> 'error * bool * t)
with_log_wrap
val remove_while_testing_existence :
('parameters, 'error, elt -> t -> 'error * bool * t)
with_log_wrap
val remove_with_logs :
('parameters, 'error, elt -> t -> 'error * t) with_log_wrap
val split : elt -> t -> t * bool * t
val union : t -> t -> t
val disjoint_union : t -> t -> t option
val inter : t -> t -> t
val minus : t -> t -> t
val diff : t -> t -> t
val minus_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val union_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val disjoint_union_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val inter_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val diff_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val size : t -> int
val mem : elt -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_with_logs :
('parameters, 'error, (elt -> bool) -> t -> 'error * t)
with_log_wrap
val for_all : (elt -> bool) -> t -> bool
val partition : (elt -> bool) -> t -> t * t
val partition_with_logs :
('parameters, 'error, (elt -> bool) -> t -> 'error * t * t)
with_log_wrap
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val fold_inv : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val elements : t -> elt list
val print : Format.formatter -> t -> unit
val choose : t -> elt option
val random : Random.State.t -> t -> elt option
val min_elt : t -> elt option
val max_elt : t -> elt option
end
module Map :
sig
type elt = elt
type set = Set.t
type +'a t
val empty : 'a t
val is_empty : 'a t -> bool
val size : 'a t -> int
val root : 'a t -> (elt * 'a) option
val max_key : 'a t -> elt option
val add : elt -> 'a -> 'a t -> 'a t
val remove : elt -> 'a t -> 'a t
val add_while_testing_freshness :
('parameters, 'error, elt -> 'a -> 'a t -> 'error * bool * 'a t)
with_log_wrap
val remove_while_testing_existence :
('parameters, 'error, elt -> 'a t -> 'error * bool * 'a t)
with_log_wrap
val pop : elt -> 'a t -> 'a option * 'a t
val merge : 'a t -> 'a t -> 'a t
val min_elt : 'a t -> (elt * 'a) option
val find_option : elt -> 'a t -> 'a option
val find_default : 'a -> elt -> 'a t -> 'a
val find_option_with_logs :
('parameters, 'error, elt -> 'a t -> 'error * 'a option)
with_log_wrap
val find_default_with_logs :
('parameters, 'error, 'a -> elt -> 'a t -> 'error * 'a)
with_log_wrap
val mem : elt -> 'a t -> bool
val diff : 'a t -> 'a t -> 'a t * 'a t
val union : 'a t -> 'a t -> 'a t
val update : 'a t -> 'a t -> 'a t
val diff_pred : ('a -> 'a -> bool) -> 'a t -> 'a t -> 'a t * 'a t
val add_with_logs :
('parameters, 'error, elt -> 'a -> 'a t -> 'error * 'a t)
with_log_wrap
val remove_with_logs :
('parameters, 'error, elt -> 'a t -> 'error * 'a t) with_log_wrap
val join_with_logs :
('parameters, 'error, 'a t -> elt -> 'a -> 'a t -> 'error * 'a t)
with_log_wrap
val split_with_logs :
('parameters, 'error,
elt -> 'a t -> 'error * ('a t * 'a option * 'a t))
with_log_wrap
val update_with_logs :
('parameters, 'error, 'a t -> 'a t -> 'error * 'a t)
with_log_wrap
val map2_with_logs :
('parameters, 'error,
('parameters -> 'error -> 'a -> 'error * 'c) ->
('parameters -> 'error -> 'b -> 'error * 'c) ->
('parameters -> 'error -> 'a -> 'b -> 'error * 'c) ->
'a t -> 'b t -> 'error * 'c t)
with_log_wrap
val map2z_with_logs :
('parameters, 'error,
('parameters -> 'error -> 'a -> 'a -> 'error * 'a) ->
'a t -> 'a t -> 'error * 'a t)
with_log_wrap
val fold2z_with_logs :
('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a t -> 'b t -> 'c -> 'error * 'c)
with_log_wrap
val fold2_with_logs :
('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'c -> 'error * 'c) ->
('parameters -> 'error -> elt -> 'b -> 'c -> 'error * 'c) ->
('parameters -> 'error -> elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a t -> 'b t -> 'c -> 'error * 'c)
with_log_wrap
val fold2_sparse_with_logs :
('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a t -> 'b t -> 'c -> 'error * 'c)
with_log_wrap
val iter2_sparse_with_logs :
('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'b -> 'error) ->
'a t -> 'b t -> 'error)
with_log_wrap
val diff_with_logs :
('parameters, 'error, 'a t -> 'a t -> 'error * 'a t * 'a t)
with_log_wrap
val diff_pred_with_logs :
('parameters, 'error,
('a -> 'a -> bool) -> 'a t -> 'a t -> 'error * 'a t * 'a t)
with_log_wrap
val merge_with_logs :
('parameters, 'error, 'a t -> 'a t -> 'error * 'a t)
with_log_wrap
val union_with_logs :
('parameters, 'error, 'a t -> 'a t -> 'error * 'a t)
with_log_wrap
val fold_restriction_with_logs :
('parameters, 'error,
(elt -> 'a -> 'error * 'b -> 'error * 'b) ->
set -> 'a t -> 'b -> 'error * 'b)
with_log_wrap
val fold_restriction_with_missing_associations_with_logs :
('parameters, 'error,
(elt -> 'a -> 'error * 'b -> 'error * 'b) ->
(elt -> 'error * 'b -> 'error * 'b) ->
set -> 'a t -> 'b -> 'error * 'b)
with_log_wrap
val iter : (elt -> 'a -> unit) -> 'a t -> unit
val fold : (elt -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val fold_with_interruption :
(elt -> 'a -> 'b -> ('b, 'c) Stop.stop) ->
'a t -> 'b -> ('b, 'c) Stop.stop
val monadic_fold2 :
'parameters ->
'method_handler ->
('parameters ->
'method_handler -> elt -> 'a -> 'b -> 'c -> 'method_handler * 'c) ->
('parameters ->
'method_handler -> elt -> 'a -> 'c -> 'method_handler * 'c) ->
('parameters ->
'method_handler -> elt -> 'b -> 'c -> 'method_handler * 'c) ->
'a t -> 'b t -> 'c -> 'method_handler * 'c
val monadic_fold2_sparse :
'parameters ->
'method_handler ->
('parameters ->
'method_handler -> elt -> 'a -> 'b -> 'c -> 'method_handler * 'c) ->
'a t -> 'b t -> 'c -> 'method_handler * 'c
val monadic_iter2_sparse :
'parameters ->
'method_handler ->
('parameters ->
'method_handler -> elt -> 'a -> 'b -> 'method_handler) ->
'a t -> 'b t -> 'method_handler
val monadic_fold_restriction :
'parameters ->
'method_handler ->
('parameters ->
'method_handler -> elt -> 'a -> 'b -> 'method_handler * 'b) ->
set -> 'a t -> 'b -> 'method_handler * 'b
val mapi : (elt -> 'a -> 'b) -> 'a t -> 'b t
val map : ('a -> 'b) -> 'a t -> 'b t
val map2 : ('a -> 'a -> 'a) -> 'a t -> 'a t -> 'a t
val for_all : (elt -> 'a -> bool) -> 'a t -> bool
val filter_one : (elt -> 'a -> bool) -> 'a t -> (elt * 'a) option
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val bindings : 'a t -> (elt * 'a) list
val print :
(Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a t -> unit
val of_json :
?lab_key:string ->
?lab_value:string ->
?error_msg:string ->
(Yojson.Basic.json -> elt) ->
(Yojson.Basic.json -> 'value) -> Yojson.Basic.json -> 'value t
val to_json :
?lab_key:string ->
?lab_value:string ->
(elt -> Yojson.Basic.json) ->
('value -> Yojson.Basic.json) -> 'value t -> Yojson.Basic.json
end
end
module Make :
functor (Ord : OrderedType) ->
sig
type elt = Ord.t
module Set :
sig
type elt = elt
type t
val empty : t
val is_empty : t -> bool
val singleton : elt -> t
val is_singleton : t -> bool
val add : elt -> t -> t
val add_with_logs :
('parameters, 'error, elt -> t -> 'error * t) with_log_wrap
val remove : elt -> t -> t
val add_while_testing_freshness :
('parameters, 'error, elt -> t -> 'error * bool * t)
with_log_wrap
val remove_while_testing_existence :
('parameters, 'error, elt -> t -> 'error * bool * t)
with_log_wrap
val remove_with_logs :
('parameters, 'error, elt -> t -> 'error * t) with_log_wrap
val split : elt -> t -> t * bool * t
val union : t -> t -> t
val disjoint_union : t -> t -> t option
val inter : t -> t -> t
val minus : t -> t -> t
val diff : t -> t -> t
val minus_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val union_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val disjoint_union_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val inter_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val diff_with_logs :
('parameters, 'error, t -> t -> 'error * t) with_log_wrap
val size : t -> int
val mem : elt -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_with_logs :
('parameters, 'error, (elt -> bool) -> t -> 'error * t)
with_log_wrap
val for_all : (elt -> bool) -> t -> bool
val partition : (elt -> bool) -> t -> t * t
val partition_with_logs :
('parameters, 'error, (elt -> bool) -> t -> 'error * t * t)
with_log_wrap
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val fold_inv : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val elements : t -> elt list
val print : Format.formatter -> t -> unit
val choose : t -> elt option
val random : Random.State.t -> t -> elt option
val min_elt : t -> elt option
val max_elt : t -> elt option
end
module Map :
sig
type elt = elt
type set = Set.t
type +'a t
val empty : 'a t
val is_empty : 'a t -> bool
val size : 'a t -> int
val root : 'a t -> (elt * 'a) option
val max_key : 'a t -> elt option
val add : elt -> 'a -> 'a t -> 'a t
val remove : elt -> 'a t -> 'a t
val add_while_testing_freshness :
('parameters, 'error,
elt -> 'a -> 'a t -> 'error * bool * 'a t)
with_log_wrap
val remove_while_testing_existence :
('parameters, 'error, elt -> 'a t -> 'error * bool * 'a t)
with_log_wrap
val pop : elt -> 'a t -> 'a option * 'a t
val merge : 'a t -> 'a t -> 'a t
val min_elt : 'a t -> (elt * 'a) option
val find_option : elt -> 'a t -> 'a option
val find_default : 'a -> elt -> 'a t -> 'a
val find_option_with_logs :
('parameters, 'error, elt -> 'a t -> 'error * 'a option)
with_log_wrap
val find_default_with_logs :
('parameters, 'error, 'a -> elt -> 'a t -> 'error * 'a)
with_log_wrap
val mem : elt -> 'a t -> bool
val diff : 'a t -> 'a t -> 'a t * 'a t
val union : 'a t -> 'a t -> 'a t
val update : 'a t -> 'a t -> 'a t
val diff_pred : ('a -> 'a -> bool) -> 'a t -> 'a t -> 'a t * 'a t
val add_with_logs :
('parameters, 'error, elt -> 'a -> 'a t -> 'error * 'a t)
with_log_wrap
val remove_with_logs :
('parameters, 'error, elt -> 'a t -> 'error * 'a t)
with_log_wrap
val join_with_logs :
('parameters, 'error,
'a t -> elt -> 'a -> 'a t -> 'error * 'a t)
with_log_wrap
val split_with_logs :
('parameters, 'error,
elt -> 'a t -> 'error * ('a t * 'a option * 'a t))
with_log_wrap
val update_with_logs :
('parameters, 'error, 'a t -> 'a t -> 'error * 'a t)
with_log_wrap
val map2_with_logs :
('parameters, 'error,
('parameters -> 'error -> 'a -> 'error * 'c) ->
('parameters -> 'error -> 'b -> 'error * 'c) ->
('parameters -> 'error -> 'a -> 'b -> 'error * 'c) ->
'a t -> 'b t -> 'error * 'c t)
with_log_wrap
val map2z_with_logs :
('parameters, 'error,
('parameters -> 'error -> 'a -> 'a -> 'error * 'a) ->
'a t -> 'a t -> 'error * 'a t)
with_log_wrap
val fold2z_with_logs :
('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a t -> 'b t -> 'c -> 'error * 'c)
with_log_wrap
val fold2_with_logs :
('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'c -> 'error * 'c) ->
('parameters -> 'error -> elt -> 'b -> 'c -> 'error * 'c) ->
('parameters -> 'error -> elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a t -> 'b t -> 'c -> 'error * 'c)
with_log_wrap
val fold2_sparse_with_logs :
('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a t -> 'b t -> 'c -> 'error * 'c)
with_log_wrap
val iter2_sparse_with_logs :
('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'b -> 'error) ->
'a t -> 'b t -> 'error)
with_log_wrap
val diff_with_logs :
('parameters, 'error, 'a t -> 'a t -> 'error * 'a t * 'a t)
with_log_wrap
val diff_pred_with_logs :
('parameters, 'error,
('a -> 'a -> bool) -> 'a t -> 'a t -> 'error * 'a t * 'a t)
with_log_wrap
val merge_with_logs :
('parameters, 'error, 'a t -> 'a t -> 'error * 'a t)
with_log_wrap
val union_with_logs :
('parameters, 'error, 'a t -> 'a t -> 'error * 'a t)
with_log_wrap
val fold_restriction_with_logs :
('parameters, 'error,
(elt -> 'a -> 'error * 'b -> 'error * 'b) ->
set -> 'a t -> 'b -> 'error * 'b)
with_log_wrap
val fold_restriction_with_missing_associations_with_logs :
('parameters, 'error,
(elt -> 'a -> 'error * 'b -> 'error * 'b) ->
(elt -> 'error * 'b -> 'error * 'b) ->
set -> 'a t -> 'b -> 'error * 'b)
with_log_wrap
val iter : (elt -> 'a -> unit) -> 'a t -> unit
val fold : (elt -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val fold_with_interruption :
(elt -> 'a -> 'b -> ('b, 'c) Stop.stop) ->
'a t -> 'b -> ('b, 'c) Stop.stop
val monadic_fold2 :
'parameters ->
'method_handler ->
('parameters ->
'method_handler ->
elt -> 'a -> 'b -> 'c -> 'method_handler * 'c) ->
('parameters ->
'method_handler -> elt -> 'a -> 'c -> 'method_handler * 'c) ->
('parameters ->
'method_handler -> elt -> 'b -> 'c -> 'method_handler * 'c) ->
'a t -> 'b t -> 'c -> 'method_handler * 'c
val monadic_fold2_sparse :
'parameters ->
'method_handler ->
('parameters ->
'method_handler ->
elt -> 'a -> 'b -> 'c -> 'method_handler * 'c) ->
'a t -> 'b t -> 'c -> 'method_handler * 'c
val monadic_iter2_sparse :
'parameters ->
'method_handler ->
('parameters ->
'method_handler -> elt -> 'a -> 'b -> 'method_handler) ->
'a t -> 'b t -> 'method_handler
val monadic_fold_restriction :
'parameters ->
'method_handler ->
('parameters ->
'method_handler -> elt -> 'a -> 'b -> 'method_handler * 'b) ->
set -> 'a t -> 'b -> 'method_handler * 'b
val mapi : (elt -> 'a -> 'b) -> 'a t -> 'b t
val map : ('a -> 'b) -> 'a t -> 'b t
val map2 : ('a -> 'a -> 'a) -> 'a t -> 'a t -> 'a t
val for_all : (elt -> 'a -> bool) -> 'a t -> bool
val filter_one : (elt -> 'a -> bool) -> 'a t -> (elt * 'a) option
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val bindings : 'a t -> (elt * 'a) list
val print :
(Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a t -> unit
val of_json :
?lab_key:string ->
?lab_value:string ->
?error_msg:string ->
(Yojson.Basic.json -> elt) ->
(Yojson.Basic.json -> 'value) -> Yojson.Basic.json -> 'value t
val to_json :
?lab_key:string ->
?lab_value:string ->
(elt -> Yojson.Basic.json) ->
('value -> Yojson.Basic.json) -> 'value t -> Yojson.Basic.json
end
end
module type Projection =
sig
type elt_a
type elt_b
type 'a map_a
type 'a map_b
type set_a
type set_b
val proj_map :
(SetMap.Projection.elt_a -> SetMap.Projection.elt_b) ->
'b ->
('b -> 'a -> 'b) ->
'a SetMap.Projection.map_a -> 'b SetMap.Projection.map_b
val proj_map_monadic :
'parameters ->
'method_handler ->
(SetMap.Projection.elt_a -> SetMap.Projection.elt_b) ->
'b ->
('parameters -> 'method_handler -> 'b -> 'a -> 'method_handler * 'b) ->
'a SetMap.Projection.map_a ->
'method_handler * 'b SetMap.Projection.map_b
val proj_set :
(SetMap.Projection.elt_a -> SetMap.Projection.elt_b) ->
SetMap.Projection.set_a -> SetMap.Projection.set_b
val proj_set_monadic :
'parameters ->
'method_handler ->
('parameters ->
'method_handler ->
SetMap.Projection.elt_a -> 'method_handler * SetMap.Projection.elt_b) ->
SetMap.Projection.set_a -> 'method_handler * SetMap.Projection.set_b
val partition_set :
(SetMap.Projection.elt_a -> SetMap.Projection.elt_b) ->
SetMap.Projection.set_a ->
SetMap.Projection.set_a SetMap.Projection.map_b
val partition_set_monadic :
'parameters ->
'method_handler ->
('parameters ->
'method_handler ->
SetMap.Projection.elt_a -> 'method_handler * SetMap.Projection.elt_b) ->
SetMap.Projection.set_a ->
'method_handler * SetMap.Projection.set_a SetMap.Projection.map_b
end
module Proj :
functor (A : S) (B : S) ->
sig
type elt_a = A.elt
type elt_b = B.elt
type 'a map_a = 'a A.Map.t
type 'a map_b = 'a B.Map.t
type set_a
type set_b
val proj_map :
(elt_a -> elt_b) -> 'b -> ('b -> 'a -> 'b) -> 'a map_a -> 'b map_b
val proj_map_monadic :
'parameters ->
'method_handler ->
(elt_a -> elt_b) ->
'b ->
('parameters -> 'method_handler -> 'b -> 'a -> 'method_handler * 'b) ->
'a map_a -> 'method_handler * 'b map_b
val proj_set : (elt_a -> elt_b) -> set_a -> set_b
val proj_set_monadic :
'parameters ->
'method_handler ->
('parameters -> 'method_handler -> elt_a -> 'method_handler * elt_b) ->
set_a -> 'method_handler * set_b
val partition_set : (elt_a -> elt_b) -> set_a -> set_a map_b
val partition_set_monadic :
'parameters ->
'method_handler ->
('parameters -> 'method_handler -> elt_a -> 'method_handler * elt_b) ->
set_a -> 'method_handler * set_a map_b
end
module type Projection2 =
sig
type elt_a
type elt_b
type elt_c
type 'a map_a
type 'a map_b
type 'a map_c
val proj2 :
(SetMap.Projection2.elt_a -> SetMap.Projection2.elt_b) ->
(SetMap.Projection2.elt_a -> SetMap.Projection2.elt_c) ->
'b ->
('b -> 'a -> 'b) ->
'a SetMap.Projection2.map_a ->
'b SetMap.Projection2.map_c SetMap.Projection2.map_b
val proj2_monadic :
'parameters ->
'method_handler ->
(SetMap.Projection2.elt_a -> SetMap.Projection2.elt_b) ->
(SetMap.Projection2.elt_a -> SetMap.Projection2.elt_c) ->
'b ->
('parameters -> 'method_handler -> 'b -> 'a -> 'method_handler * 'b) ->
'a SetMap.Projection2.map_a ->
'method_handler *
'b SetMap.Projection2.map_c SetMap.Projection2.map_b
end
module Proj2 :
functor (A : S) (B : S) (C : S) ->
sig
type elt_a = A.elt
type elt_b = B.elt
type elt_c = C.elt
type 'a map_a = 'a A.Map.t
type 'a map_b = 'a B.Map.t
type 'a map_c = 'a C.Map.t
val proj2 :
(elt_a -> elt_b) ->
(elt_a -> elt_c) ->
'b -> ('b -> 'a -> 'b) -> 'a map_a -> 'b map_c map_b
val proj2_monadic :
'parameters ->
'method_handler ->
(elt_a -> elt_b) ->
(elt_a -> elt_c) ->
'b ->
('parameters -> 'method_handler -> 'b -> 'a -> 'method_handler * 'b) ->
'a map_a -> 'method_handler * 'b map_c map_b
end
end