sig
type ('a, 'b, 'c, 'd) t
val create :
?n:int ->
'a -> ('b -> 'c) -> ('d -> 'a -> 'a) -> ('b, 'c, 'd, 'a) Biocaml_accu.t
val add : ('a, 'b, 'c, 'd) Biocaml_accu.t -> 'a -> 'c -> unit
val enum : ('a, 'b, 'c, 'd) Biocaml_accu.t -> ('b * 'd) Batteries.Enum.t
val get : ('a, 'b, 'c, 'd) Biocaml_accu.t -> 'b -> 'd
type 'a counter = ('a, 'a, int, int) Biocaml_accu.t
module Counter :
sig
type 'a t = 'a Biocaml_accu.counter
val create : ?n:int -> unit -> 'a Biocaml_accu.Counter.t
val add : 'a Biocaml_accu.counter -> 'a -> int -> unit
val tick : 'a Biocaml_accu.counter -> 'a -> unit
end
val counts :
('a -> 'b) -> 'a Batteries.Enum.t -> ('b * int) Batteries.Enum.t
end