Module Priority.LevelMap

module LevelMap: SetMap.Map  with type elt = level

type elt 
type set 
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)
SetMap.with_log_wrap
val remove_while_testing_existence : ('parameters, 'error,
elt -> 'a t -> 'error * bool * 'a t)
SetMap.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)
SetMap.with_log_wrap
val find_default_with_logs : ('parameters, 'error, 'a -> elt -> 'a t -> 'error * 'a)
SetMap.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)
SetMap.with_log_wrap
val remove_with_logs : ('parameters, 'error,
elt -> 'a t -> 'error * 'a t)
SetMap.with_log_wrap
val join_with_logs : ('parameters, 'error,
'a t ->
elt -> 'a -> 'a t -> 'error * 'a t)
SetMap.with_log_wrap
val split_with_logs : ('parameters, 'error,
elt ->
'a t -> 'error * ('a t * 'a option * 'a t))
SetMap.with_log_wrap
val update_with_logs : ('parameters, 'error,
'a t -> 'a t -> 'error * 'a 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 t -> 'b t -> 'error * 'c t)
SetMap.with_log_wrap
val map2z_with_logs : ('parameters, 'error,
('parameters -> 'error -> 'a -> 'a -> 'error * 'a) ->
'a t -> 'a t -> 'error * 'a t)
SetMap.with_log_wrap
val fold2z_with_logs : ('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'b -> 'c -> 'error * 'c) ->
'a t -> 'b t -> 'c -> 'error * 'c)
SetMap.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)
SetMap.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)
SetMap.with_log_wrap
val iter2_sparse_with_logs : ('parameters, 'error,
('parameters -> 'error -> elt -> 'a -> 'b -> 'error) ->
'a t -> 'b t -> 'error)
SetMap.with_log_wrap
val diff_with_logs : ('parameters, 'error,
'a t ->
'a t -> 'error * 'a t * 'a t)
SetMap.with_log_wrap
val diff_pred_with_logs : ('parameters, 'error,
('a -> 'a -> bool) ->
'a t ->
'a t -> 'error * 'a t * 'a t)
SetMap.with_log_wrap
val merge_with_logs : ('parameters, 'error,
'a t -> 'a t -> 'error * 'a t)
SetMap.with_log_wrap
val union_with_logs : ('parameters, 'error,
'a t -> 'a t -> 'error * 'a t)
SetMap.with_log_wrap
val fold_restriction_with_logs : ('parameters, 'error,
(elt -> 'a -> 'error * 'b -> 'error * 'b) ->
set -> 'a t -> 'b -> 'error * 'b)
SetMap.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)
SetMap.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