Module for the type ref, mutable indirection cells r containing a value of type 'a, accessed with !r and set by r := a.
type 'a t = 'a Base__.Import.Caml .ref = {}val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> intval equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> boolval t_sexp_grammar : Base.Sexp.Private.Raw_grammar.t val create : 'a -> 'a t val (!) : 'a t -> 'a val (:=) : 'a t -> 'a -> unitval swap : 'a t -> 'a t -> unitswap t1 t2 swaps the values in t1 and t2.
val replace : 'a t -> ('a -> 'a ) -> unitreplace t f is t := f !t
val set_temporarily : 'a t -> 'a -> f:(unit -> 'b ) -> 'b set_temporarily t a ~f sets t to a, calls f (), and then restores t to its value prior to set_temporarily being called, whether f returns or raises.
val sets_temporarily : And_value.t list -> f:(unit -> 'a ) -> 'a sets_temporarily [ ...; T (ti, ai); ... ] ~f sets each ti to ai, calls f (), and then restores all ti to their value prior to sets_temporarily being called, whether f returns or raises.