package octez-proto-libs
include module type of struct include Option end
Options
The type for option values. Either None
or a value Some v
.
value o ~default
is v
if o
is Some v
and default
otherwise.
bind o f
is f v
if o
is Some v
and None
if o
is None
.
join oo
is Some v
if oo
is Some (Some v)
and None
otherwise.
map f o
is None
if o
is None
and Some (f v)
is o
is Some v
.
fold ~none ~some o
is none
if o
is None
and some v
if o
is Some v
.
Predicates and comparisons
equal eq o0 o1
is true
if and only if o0
and o1
are both None
or if they are Some v0
and Some v1
and eq v0 v1
is true
.
compare cmp o0 o1
is a total order on options using cmp
to compare values wrapped by Some _
. None
is smaller than Some _
values.
Converting
val to_result : none:'e -> 'a option -> ('a, 'e) result
to_result ~none o
is Ok v
if o
is Some v
and Error none
otherwise.
val to_seq : 'a option -> 'a Seq.t
to_seq o
is o
as a sequence. None
is the empty sequence and Some v
is the singleton sequence containing v
.
val unopt : default:'a -> 'b t -> 'c
val unopt_map : f:('a -> 'b) -> default:'c -> 'd t -> 'e
val unopt_exn : exn -> 'a t -> 'b
val unopt_assert : loc:(string * int * int * 'a) -> 'b t -> 'c
val pp :
?default:string ->
(Format.formatter -> 'a -> unit) ->
Format.formatter ->
'b t ->
unit