Module type State_builder.Option_ref

Output signature of Option_ref. Note that get will raise Not_found if the stored data is None. Use get_option if you want to have access to the option.

include Ref
include S
val self : State.t

The kind of the registered state.

val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit

Indicate that the registered state will not change again for the given project (default is current ()).

val is_computed : ?project:Project.t -> unit -> bool

Returns true iff the registered state will not change again for the given project (default is current ()).

Exportation of some inputs (easier use of State_builder.Register).

val add_hook_on_update : ( Datatype.t -> unit ) -> unit

Add an hook which is applied each time (just before) the project library changes the local value of the state.

  • since Nitrogen-20111001
val howto_marshal : ( Datatype.t -> 'a ) -> ( 'a -> Datatype.t ) -> unit

howto_marshal marshal unmarshal registers a custom couple of functions (marshal, unmarshal) to be used for serialization. Default functions are identities. In particular, this function must be used if Datatype.t is not marshallable and do_not_save is not called.

  • since Boron-20100401
type data

Type of the referenced value.

val set : data -> unit

Change the referenced value.

val get : unit -> data

Get the referenced value.

val clear : unit -> unit

Reset the reference to its default value.

val memo : ?change:( data -> data ) -> ( unit -> data ) -> data

Memoization. Compute on need the stored value. If the data is already computed (i.e. is not None), it is possible to change with change.

val map : ( data -> data ) -> data option
val may : ( data -> unit ) -> unit
val get_option : unit -> data option
  • since Beryllium-20090901