Page
Library
Module
Module type
Parameter
Class
Class type
Source
Vec
SourceThe 'p type parameter is a phantom type parameter that represents the vector's mutability. It is [`R | `W]
for read-write vectors, [`R]
for read-only vectors, or [`W]
for write-only vectors.
Constructs a vector with the specified growth rate and capacity.
Reinterprets the specified vector as a read-only vector.
Reinterprets the specified vector as a write-only vector.
Sets the growth rate of the specified vector to the specified value.
Gets the value in the vector at the specified index.
Sets the value in the vector at the specified index to the specified value.
Gets the value in the vector at the specified index. Returns None if the index is out of range.
Sets the value in the vector at the specified index to the specified value. Returns false if the index is out of range.
Increases the vector's capacity to be at least as large as the specified value.
Increases the vector's capacity by the specified value.
Shrinks the vector's internal buffer to only be as large as the vector's length.
Maps the specified function over the vector, returning a new vector. (Functorial map operation)
Like map
, but the function also takes the item's index as a parameter.
Like map
, but the transformation is done in-place, so no new vector gets created.
Returns a singleton vector containing the specified item. (Applicative functor pure operation)
Maps the specified function over all combinations of tuples from the 2 specified vectors, returning a new vector. (Applicative functor liftA2 operation
Applies every function from the first vector to every value from the second vector, returning a new vector. (Applicatve functor <*> operation)
Flattens nested vectors into a single, one-dimensional vector. (Monadic join operation)
Like map
, but flattens the result. (Monadic bind operation)
Cartesian product of 2 vectors. (Equivalent to liftA2 (,)
)
Applies the specified function to each item in the vector.
Like iter
, but the function also takes the item's index as a parameter.
Returns a new vector containing only the items from the first vector that satisfy the specified predicate.
Constructs a new vector using the specified array as a buffer. If the array is modified afterwards, the vector is also modified.
Returns the vector's internal buffer, and resets the vector to an empty state.
Returns a new vector that contains all the items in the specified vector, but in reverse order.
Reverses the vector in-place, without allocating a new vector.
Appends the second vector to the first vector.
Returns true
if any item in the vector satisfies the specified predicate.
Returns true
if all items in the vector satisfies the specified predicate.
Returns true
if the specified item exists in the vector. Uses structural equality.
Returns true
if the specified item exists in the vector. Uses physical equality.
Folds the specified function and default value over the array, from left to right.
Folds the specified function and default value over the array, from right to left.
Zips the two vectors together.
Zips the two vectors together, using the specified function to combine values.
Sorts the specified vector using the specified comparison function.
Returns a string representation of the vector, using the specified function to format each value.
Constructs a vector containing all numbers in the specified range.
Provides support for OCaml 4.08's binding operator syntax.