module Fold: functor (
P
:
sig
end
) ->
S
with type param = P.t and type result = P.t
type
param
Type of the parameter of the functions registered in the hook.
type
result
Type of the result of the functions.
result can be unit (for iterative hooks) or param (for folding hooks)
val extend : (param -> result) -> unit
Add a new function to the hook.
Change in Oxygen-20120901: no more once
optional arg (see extend_once
)
val extend_once : (param -> result) -> unit
Same as extend
, but the hook is added only if is is not already
present; the comparison is made using (==)
Since Oxygen-20120901
val apply : param -> result
Apply all the functions of the hook on the given parameter.
These functions are applied from the least recently entered to the most
recently entered.
val is_empty : unit -> bool
Is no function already registered in the hook?
val clear : unit -> unit
Clear the hook.
val length : unit -> int
Number of registered functions.