package core_kernel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

A Moption is a mutable option, like 'a option ref, but with a more efficient implementation; in particular, set_some does not allocate.

type 'a t
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
include Core.Invariant.S1 with type 'a t := 'a t
val invariant : ('a -> unit) -> 'a t -> unit
module Optional_syntax : Core.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