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. If once
is true, the hook
is added if and only if it was not already present. Comparison
is done using (==)
. Default is false.
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.