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