module Attr:
type 'a
t = 'a * 'a Vector.t
val create : C.cfg -> 'a -> 'a * 'b Vector.t
val get : 'a * 'a Vector.t -> C.node -> 'a
Returns default if not found.
val set : 'a * 'a Vector.t -> C.node -> 'a -> unit
Replace old value.
val merged : 'a * 'a Vector.t -> C.node -> ('a -> 'a) -> 'a
Helper for merge
and finally get
.
val merge : 'a * 'a Vector.t -> C.node -> ('a -> 'a) -> unit
Update with old value.
val merge_op : ('a -> 'b -> 'a) -> 'a * 'a Vector.t -> C.node -> 'b -> unit
Helper for merge
with a binary operator.
val merged_op : ('a -> 'b -> 'a) -> 'a * 'a Vector.t -> C.node -> 'b -> 'a
Helper for merged
with a binary operator.
val iter : (C.node -> 'a -> unit) -> 'b * 'a Vector.t -> unit