Map.Make
module Ord : Compare.COMPARABLE
type key = Ord.t
val empty : 'a t
val is_empty : 'a t -> bool
val iter_e :
(key -> 'a -> (unit, 'trace) Pervasives.result) ->
'a t ->
(unit, 'trace) Pervasives.result
iter_e f m
applies f
to the bindings of m
one by one in an unspecified order. If all the applications result in Ok ()
, then the result of the iteration is Ok ()
. If any of the applications results in Error e
then the iteration stops and the result of the iteration is Error e
.
val iter_es :
(key -> 'a -> (unit, 'trace) Pervasives.result Lwt.t) ->
'a t ->
(unit, 'trace) Pervasives.result Lwt.t
iter_es f m
applies f
to the bindings of m
in an unspecified order, one after the other as the promises resolve. If all the applications result in Ok ()
, then the result of the iteration is Ok ()
. If any of the applications results in Error e
then the iteration stops and the result of the iteration is Error e
.
val fold_e :
(key -> 'a -> 'b -> ('b, 'trace) Pervasives.result) ->
'a t ->
'b ->
('b, 'trace) Pervasives.result
fold_e f m init
is f k1 d1 init >>? fun acc -> f k2 d2 acc >>? fun acc -> …
where kN
is the key bound to dN
in m
.
val fold_es :
(key -> 'a -> 'b -> ('b, 'trace) Pervasives.result Lwt.t) ->
'a t ->
'b ->
('b, 'trace) Pervasives.result Lwt.t
fold_es f m init
is f k1 d1 init >>=? fun acc -> f k2 d2 acc >>=? fun acc -> …
where kN
is the key bound to dN
in m
.
val cardinal : 'a t -> int
val iter_ep :
(key -> 'a -> (unit, 'error Error_monad.trace) Pervasives.result Lwt.t) ->
'a t ->
(unit, 'error Error_monad.trace) Pervasives.result Lwt.t