package containers
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=aa946f452a156b7cd0b932b5a849b44e
sha512=fbb6e519ea918afd3895de4cb74bb93a1d7d8899aa1d9def0ee0576a4f648413e3a7d9639040a1117516efb74c66c3432e6da79e6284d2315327175e22766717
doc/containers/CCOpt/index.html
Module CCOptSource
Options
map f o applies the function f to the element inside o, if any.
map_or ~default f o is f x if o = Some x, default otherwise.
map_lazy default_fn f o if f o if o = Some x, default_fn () otherwise.
compare comp o1 o2 compares two options o1 and o2, using custom comparators comp for the value. None is always assumed to be less than Some _.
equal p o1 o2 tests for equality between option types o1 and o2, using a custom equality predicate p.
bind o f is f v if o is Some v, None otherwise. Monadic bind.
map2 f o1 o2 maps 'a option and 'b option to a 'c option using f.
fold f init o is f init x if o is Some x, or init if o is None. Fold on 0 or 1 element.
filter f o returns Some x if o is Some x and f x is true, or None if f x is false or if o is None. Filter on 0 or 1 element.
if_ f x is Some x if f x, None otherwise.
exists f o returns true iff there exists an element for which the provided function f evaluates to true.
for_all f o returns true iff the provided function f evaluates to true for all elements.
get_or ~default o extracts the value from o, or returns default if o is None.
value o ~default is similar to the Stdlib's Option.value and to get_or.
get_lazy default_fn o unwraps o, but if o is None it returns default_fn () instead.
sequence_l [x1; x2; …; xn] returns Some [y1; y2; …; yn] if every xi is Some yi. Otherwise, if the list contains at least one None, the result is None.
wrap ?handler f x calls f x and returns Some y if f x = y. If f x raises any exception, the result is None. This can be useful to wrap functions such as Map.S.find.
wrap2 ?handler f x y is similar to wrap but for binary functions.
Applicative
f <*> (Some x) returns Some (f x) and f <*> None returns None.
Alternatives
or_lazy ~else_ o is o if o is Some _, else_ () if o is None.
choice lo returns the first non-None element of the list lo, or None.
return_if b x applies Some or None depending on the boolean b. More precisely, return_if false x is None, and return_if true x is Some x.
Infix Operators
Let operators on OCaml >= 4.08.0, nothing otherwise
Conversion and IO
to_list o returns [x] if o is Some x or the empty list [] if o is None.
of_list l returns Some x (x being the head of the list l), or None if l is the empty list.
to_result e o returns Ok x if o is Some x, or Error e if o is None.
to_result_lazy f o returns Ok x if o is Some x or Error f if o is None.
choice_iter iter is similar to choice, but works on iter. It returns the first Some x occurring in iter, or None otherwise.
choice_seq seq works on Seq.t. It returns the first Some x occurring in seq, or None otherwise.
to_gen o is o as a gen. Some x is the singleton gen containing x and None is the empty gen.
to_seq o is o as a sequence Seq.t. Some x is the singleton sequence containing x and None is the empty sequence. Same as Stdlib.Option.to_seq Renamed from to_std_seq since 3.0.
to_iter o returns an internal iterator, like in the library Iter.