Core.RefThis module extends Base.Ref.
val bin_shape_t : Bin_prot.Shape.t -> Bin_prot.Shape.tval bin_size_t :
'a. ('a : value_or_null) Bin_prot.Size.sizer ->
('a : value_or_null) t Bin_prot.Size.sizerval bin_size_t__local :
'a. ('a : value_or_null) Bin_prot.Size.sizer__local ->
('a : value_or_null) t Bin_prot.Size.sizer__localval bin_write_t :
'a. ('a : value_or_null) Bin_prot.Write.writer ->
('a : value_or_null) t Bin_prot.Write.writerval bin_write_t__local :
'a. ('a : value_or_null) Bin_prot.Write.writer__local ->
('a : value_or_null) t Bin_prot.Write.writer__localval bin_writer_t :
'a. ('a : value_or_null) Bin_prot.Type_class.writer ->
('a : value_or_null) t Bin_prot.Type_class.writerval bin_read_t :
'a. ('a : value_or_null) Bin_prot.Read.reader ->
('a : value_or_null) t Bin_prot.Read.readerval __bin_read_t__ :
'a. ('a : value_or_null) Bin_prot.Read.reader ->
('a : value_or_null) t Bin_prot.Read.vtag_readerval bin_reader_t :
'a. ('a : value_or_null) Bin_prot.Type_class.reader ->
('a : value_or_null) t Bin_prot.Type_class.readerval bin_t :
'a. ('a : value_or_null) Bin_prot.Type_class.t ->
('a : value_or_null) t Bin_prot.Type_class.tval quickcheck_generator :
'a. ('a : value_or_null) Ppx_quickcheck_runtime.Base_quickcheck.Generator.t ->
('a : value_or_null) t Ppx_quickcheck_runtime.Base_quickcheck.Generator.tval quickcheck_observer :
'a. ('a : value_or_null) Ppx_quickcheck_runtime.Base_quickcheck.Observer.t ->
('a : value_or_null) t Ppx_quickcheck_runtime.Base_quickcheck.Observer.tval quickcheck_shrinker :
'a. ('a : value_or_null) Ppx_quickcheck_runtime.Base_quickcheck.Shrinker.t ->
('a : value_or_null) t Ppx_quickcheck_runtime.Base_quickcheck.Shrinker.tval typerep_of_t :
'a Typerep_lib.Std.Typerep.t ->
'a t Typerep_lib.Std.Typerep.t @@ portableval typename_of_t :
'a Typerep_lib.Std.Typename.t ->
'a t Typerep_lib.Std.Typename.t @@ portableval sexp_of_t :
'a. (('a : value_or_null) -> Sexplib0.Sexp.t) ->
('a : value_or_null) t ->
Sexplib0.Sexp.tval sexp_of_t__stack :
'a. (('a : value_or_null) @ local -> Sexplib0.Sexp.t @ local) ->
('a : value_or_null) t @ local ->
Sexplib0.Sexp.t @ localval t_of_sexp :
'a. (Sexplib0.Sexp.t -> ('a : value_or_null)) ->
Sexplib0.Sexp.t ->
('a : value_or_null) tval t_sexp_grammar :
'a. ('a : value_or_null) Sexplib0.Sexp_grammar.t ->
('a : value_or_null) t Sexplib0.Sexp_grammar.t @@ portableval create : 'a. 'a -> 'a t @@ portableval (!) : 'a. 'a t -> 'a @@ portableval (:=) : 'a. 'a t -> 'a -> unit @@ portableval replace : 'a. 'a t -> ('a -> 'a) @ local -> unit @@ portablereplace t f is t := f !t
val set_temporarily :
'a 'b. 'a t ->
'a ->
f:(unit -> 'b) @ local ->
'b @@ portableset_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 = Base.Ref.And_valueval sets_temporarily :
And_value.t list ->
f:(unit -> 'a) @ local ->
'a @@ portablesets_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