Legend:
Library
Module
Module type
Parameter
Class
Class type
The Array module provides a polymorphic container which is similar in spirit to the standard OCaml array, and which has similar performance characteristics, but which uses a Cap'n Proto list for the underlying storage.
The array type. The first type parameter represents the read and/or write capability, i.e. ro or rw. The second type parameter is the type of elements stored in the array. The third type parameter describes the underlying storage for the array.
init a n destroys the content of array a, replacing it with newly-allocated array storage of length n. The new array elements are initialized to the empty state (zero for primitives and default values for structs).
val mem : ?equal:('a->'a-> bool)->('cap, 'a, 'arr)t->'a-> bool
mem ~equal a x tests whether element x is present in array a, using the provided equality function. If the equality function is not provided, polymorphic compare is used.
val iter : ('cap, 'a, 'arr)t->f:('a-> unit)-> unit
iter a ~f applies f to each element of array a, in order.
val iteri : ('cap, 'a, 'arr)t->f:(int ->'a-> unit)-> unit
iteri a ~f behaves as iter, but also passes the index of each element as an argument to f.
val fold : ('cap, 'a, 'arr)t->init:'acc->f:('acc->'a->'acc)->'acc
fold a ~init ~f returns f (... f (f (f init e1) e2) e3 ...) en, where e1..en are the elements of a.
val fold_right :
('cap, 'a, 'arr)t->f:('a->'acc->'acc)->init:'acc->'acc
fold_right a ~f ~init returns f e1 (f e2 (... (f en init) ...)).
val foldi :
('cap, 'a, 'arr)t->init:'acc->f:(int ->'acc->'a->'acc)->'acc
foldi a ~init f behaves as fold, but also passes the index of each element as an argument to f.
val foldi_right :
('cap, 'a, 'arr)t->f:(int ->'a->'acc->'acc)->init:'acc->'acc
foldi_right a ~f ~init behaves as foldi, but also passes the index of each element as an argument to f.
val exists : ('cap, 'a, 'arr)t->f:('a-> bool)-> bool
exists a ~f 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 forall : ('cap, 'a, 'arr)t->f:('a-> bool)-> bool
forall a ~f returns true if and only if the provided function evalues to true for all elements. This is a short-circuiting operation.
val count : ('cap, 'a, 'arr)t->f:('a-> bool)-> int
count a ~f returns the number of elements for which the provided function evaluates to true.
val find : ('cap, 'a, 'arr)t->f:('a-> bool)->'a option
find a ~f returns as an option the first element for which f evaluates to true.
val find_map : ('cap, 'a, 'arr)t->f:('a->'b option)->'b option
find_map a ~f returns the first evaluation of f that returns Some, and returns None if there is no such element.