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 -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.t
include Core_kernel.Invariant.S1 with type 'a t := 'a t
val invariant : ('a -> unit) -> 'a t -> unit
module Optional_syntax : Core_kernel.Optional_syntax.S1 with type 'a t := 'a t with type 'a value := 'a
val create : unit -> _ t
val is_none : _ t -> bool
val is_some : _ t -> bool
val get : 'a t -> 'a option
val get_some_exn : 'a t -> 'a
val unsafe_get : 'a t -> 'a
Does not check that is_some
before unsafely accessing the stored value
val set : 'a t -> 'a option -> unit
val set_none : _ t -> unit
val set_some : 'a t -> 'a -> unit