module type S0 = sig
.. end
type
t
type
elt
val mem : ?equal:(elt -> elt -> bool) ->
t -> elt -> bool
Checks whether the provided element is there using the default equality test, using
the provided equal
function if it is not
val length : t -> int
val is_empty : t -> bool
val iter : t -> f:(elt -> unit) -> unit
iter
must allow exceptions raised in f
to escape, terminating the iteration
cleanly. The same holds for all functions below taking an f
.
val fold : t ->
init:'accum -> f:('accum -> elt -> 'accum) -> 'accum
fold t ~init ~f
returns f (... f (f (f init e1) e2) e3 ...) en
, where e1..en
are the elements of t
val exists : t -> f:(elt -> bool) -> bool
Returns true
if and only if there exists an element for which the provided
function evaluates to true
. This is a short-circuiting operation.
val for_all : t -> f:(elt -> bool) -> bool
Returns true
if and only if the provided function evaluates to true
for all
elements. This is a short-circuiting operation.
val count : t -> f:(elt -> bool) -> int
Returns the number of elements for which the provided function evaluates to true.
val sum : (module Commutative_group.S with type t = 'sum) ->
t -> f:(elt -> 'sum) -> 'sum
Returns the sum of f i
for i in the container
val find : t ->
f:(elt -> bool) -> elt option
Returns as an option
the first element for which f
evaluates to true.
val find_map : t -> f:(elt -> 'a option) -> 'a option
Returns the first evaluation of f
that returns Some
, and returns None
if there
is no such element.
val to_list : t -> elt list
val to_array : t -> elt array
val min_elt : t ->
cmp:(elt -> elt -> int) ->
elt option
Returns a min (resp max) element from the collection using the provided cmp
function. In case of a tie, the first element encountered while traversing the
collection is returned. The implementation uses fold
so it has the same
complexity as fold
. Returns None
iff the collection is empty.
val max_elt : t ->
cmp:(elt -> elt -> int) ->
elt option