Core_kernel.Ref
This module extends Base.Ref
.
include Bin_prot.Binable.S1 with type 'a t := 'a t
val bin_shape_t : Bin_prot.Shape.t -> Bin_prot.Shape.t
val bin_size_t : ('a, 'a t) Bin_prot.Size.sizer1
val bin_write_t : ('a, 'a t) Bin_prot.Write.writer1
val bin_read_t : ('a, 'a t) Bin_prot.Read.reader1
val __bin_read_t__ : ('a, int -> 'a t) Bin_prot.Read.reader1
val bin_writer_t : ('a, 'a t) Bin_prot.Type_class.S1.writer
val bin_reader_t : ('a, 'a t) Bin_prot.Type_class.S1.reader
val bin_t : ('a, 'a t) Bin_prot.Type_class.S1.t
include module type of struct include Base.Ref end with type 'a t := 'a t
include Base.Sexpable.S1 with type 'a t := 'a t
val t_of_sexp : (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
val t_sexp_grammar : Base.Sexp.Private.Raw_grammar.t
val create : 'a -> 'a t
val (!) : 'a t -> 'a
val (:=) : 'a t -> 'a -> unit
val replace : 'a t -> ('a -> 'a) -> unit
replace 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.
module And_value : sig ... end
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.
module Permissioned : sig ... end