Module Incremental__Observer
A module internal to Incremental. Users should see Incremental_intf
.
An observer is a "handle" to an Internal_observer
that is given to user code -- the handle exists so the implementation can hold on to the internal observer and use a finalizer to detect when the user is done with the observer. The finalizer disallows future use of the observer if it has no on-update handlers, so even if user code uses a finalizer to resurrect the observer, it will still have not (use_is_allowed t)
.
include module type of sig ... end
type 'a t
= 'a Incremental__Types.Internal_observer.t Core_kernel.ref
include Core_kernel.Invariant.S1 with type 'a t := 'a t
val invariant : 'a Base__.Invariant_intf.inv -> 'a t Base__.Invariant_intf.inv
include Incremental__.Sexp_of.S1 with type 'a t := 'a t
val sexp_of_t : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.t
val observing : 'a t -> 'a Incremental__.Node.t
val use_is_allowed : _ t -> bool
val value_exn : 'a t -> 'a
val on_update_exn : 'a t -> 'a Incremental__.On_update_handler.t -> unit
val incr_state : _ t -> Incremental__.Types.State.t