package core_kernel
Module Moption
A Moption is a mutable option, like 'a option ref, but with a more efficient implementation; in particular, set_some does not allocate.
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.tinclude Core.Invariant.S1 with type 'a t := 'a t
val invariant : 'a Base__.Invariant_intf.inv -> 'a t Base__.Invariant_intf.invmodule Optional_syntax :
Core.Optional_syntax.S1 with type 'a t := 'a t with type 'a value := 'aval create : unit -> _ tval is_none : _ t -> boolval is_some : _ t -> boolval get : 'a t -> 'a optionval get_some_exn : 'a t -> 'aval unsafe_get : 'a t -> 'aDoes not check that is_some before unsafely accessing the stored value
val set : 'a t -> 'a option -> unitval set_none : _ t -> unitval set_some : 'a t -> 'a -> unit