mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
3 lines
No EOL
67 KiB
HTML
3 lines
No EOL
67 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCVector (containers.CCVector)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../index.html">containers</a> » CCVector</nav><header class="odoc-preamble"><h1>Module <code><span>CCVector</span></code></h1><p>Growable, mutable vector</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-ro" class="anchored"><a href="#type-ro" class="anchor"></a><code><span><span class="keyword">type</span> ro</span><span> = </span><span>[ </span></code><table><tr id="type-ro.RO" class="anchored"><td class="def constructor"><a href="#type-ro.RO" class="anchor"></a><code><span>| </span></code><code><span>`RO</span></code></td></tr></table><code><span> ]</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-rw" class="anchored"><a href="#type-rw" class="anchor"></a><code><span><span class="keyword">type</span> rw</span><span> = </span><span>[ </span></code><table><tr id="type-rw.RW" class="anchored"><td class="def constructor"><a href="#type-rw.RW" class="anchor"></a><code><span>| </span></code><code><span>`RW</span></code></td></tr></table><code><span> ]</span></code></div></div><p>Mutability is <code>rw</code> (read-write) or <code>ro</code> (read-only).</p><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>('a, 'mut) t</span></span></code></div><div class="spec-doc"><p>The type of a vector of elements of type <code>'a</code>, with a mutability flat <code>'mut</code>.</p></div></div><div class="odoc-spec"><div class="spec type" id="type-vector" class="anchored"><a href="#type-vector" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a vector</span></span><span> = <span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Type synonym: a <code>'a vector</code> is mutable.</p></div></div><div class="odoc-spec"><div class="spec type" id="type-ro_vector" class="anchored"><a href="#type-ro_vector" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a ro_vector</span></span><span> = <span><span>(<span class="type-var">'a</span>, <a href="#type-ro">ro</a>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Alias for immutable vectors.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.15</li></ul></div></div><div class="odoc-spec"><div class="spec type" id="type-iter" class="anchored"><a href="#type-iter" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a iter</span></span><span> = <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Fast internal iterator.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec type" id="type-gen" class="anchored"><a href="#type-gen" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a gen</span></span><span> = <span>unit <span class="arrow">-></span></span> <span><span class="type-var">'a</span> option</span></span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-equal" class="anchored"><a href="#type-equal" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a equal</span></span><span> = <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-ord" class="anchored"><a href="#type-ord" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a ord</span></span><span> = <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-printer" class="anchored"><a href="#type-printer" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a printer</span></span><span> = <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-freeze" class="anchored"><a href="#val-freeze" class="anchor"></a><code><span><span class="keyword">val</span> freeze : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <a href="#type-ro">ro</a>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Make an immutable vector (no copy! Don't use the old version).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-freeze_copy" class="anchored"><a href="#val-freeze_copy" class="anchor"></a><code><span><span class="keyword">val</span> freeze_copy : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <a href="#type-ro">ro</a>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Copy the vector into an immutable version.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-create" class="anchored"><a href="#val-create" class="anchor"></a><code><span><span class="keyword">val</span> create : <span>unit <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Create a new, empty vector.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-create_with" class="anchored"><a href="#val-create_with" class="anchor"></a><code><span><span class="keyword">val</span> create_with : <span>?capacity:int <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Create a new vector, the value is used to enforce the type the new vector.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">capacity</span> <p>the size of the underlying array.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-return" class="anchored"><a href="#val-return" class="anchor"></a><code><span><span class="keyword">val</span> return : <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Singleton vector.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-make" class="anchored"><a href="#val-make" class="anchor"></a><code><span><span class="keyword">val</span> make : <span>int <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p><code>make n x</code> makes a vector of size <code>n</code>, filled with <code>x</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-init" class="anchored"><a href="#val-init" class="anchor"></a><code><span><span class="keyword">val</span> init : <span>int <span class="arrow">-></span></span> <span><span>(<span>int <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Init the vector with the given function and size.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-clear" class="anchored"><a href="#val-clear" class="anchor"></a><code><span><span class="keyword">val</span> clear : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Clear the content of the vector. This ensures that <code>length v = 0</code> but the underlying array is kept, and possibly references to former elements, which are therefore not garbage collectible.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-clear_and_reset" class="anchored"><a href="#val-clear_and_reset" class="anchor"></a><code><span><span class="keyword">val</span> clear_and_reset : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Clear the content of the vector, and deallocate the underlying array, removing references to all the elements. The elements can be collected.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-ensure_with" class="anchored"><a href="#val-ensure_with" class="anchor"></a><code><span><span class="keyword">val</span> ensure_with : <span>init:<span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Hint to the vector that it should have at least the given capacity. This does not affect <code>length v</code>.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">init</span> <p>if <code>capacity v = 0</code>, used to enforce the type of the vector (see <code>create_with</code>).</p></li></ul><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_arg</span> <p>if the size is not suitable (negative, or too big for OCaml arrays)</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-ensure" class="anchored"><a href="#val-ensure" class="anchor"></a><code><span><span class="keyword">val</span> ensure : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Hint to the vector that it should have at least the given capacity. Just a hint, will not be enforced if the vector is empty and <code>init</code> is not provided.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_arg</span> <p>if the size is not suitable (negative, or too big for OCaml arrays)</p></li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-is_empty" class="anchored"><a href="#val-is_empty" class="anchor"></a><code><span><span class="keyword">val</span> is_empty : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p>Is the vector empty?</p></div></div><div class="odoc-spec"><div class="spec value" id="val-push" class="anchored"><a href="#val-push" class="anchor"></a><code><span><span class="keyword">val</span> push : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Add an element at the end of the vector.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-resize_with" class="anchored"><a href="#val-resize_with" class="anchor"></a><code><span><span class="keyword">val</span> resize_with : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span>int <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>resize_with vec f size</code> resizes vector <code>vec</code> up to <code>size</code>, fills vector with calls to <code>f</code> on indexes <code>[vec.size-1.. size - 1]</code>. The contents and size of vec are untouched if <code>size</code> is inferior or equal to <code>length vec</code>.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_argument</span> <p>if the size is too big</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.7</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-resize_with_init" class="anchored"><a href="#val-resize_with_init" class="anchor"></a><code><span><span class="keyword">val</span> resize_with_init : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>init:<span class="type-var">'a</span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>resize_with_init vec init size</code> resizes vector <code>vec</code> up to <code>size</code>, fills vector with calls to <code>init</code> on indexes <code>[length vec -1.. size - 1]</code>. The contents and size of vec are untouched if <code>size</code> is inferior or equal to <code>length vec</code>.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_argument</span> <p>if the size is too big</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.7</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-append" class="anchored"><a href="#val-append" class="anchor"></a><code><span><span class="keyword">val</span> append : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>append a b</code> adds all elements of b to a.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-append_array" class="anchored"><a href="#val-append_array" class="anchor"></a><code><span><span class="keyword">val</span> append_array : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> array</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Like <a href="#val-append"><code>append</code></a>, with an array.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-append_iter" class="anchored"><a href="#val-append_iter" class="anchor"></a><code><span><span class="keyword">val</span> append_iter : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-iter">iter</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Append content of iterator.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-append_seq" class="anchored"><a href="#val-append_seq" class="anchor"></a><code><span><span class="keyword">val</span> append_seq : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Append content of iterator. Renamed from <code>append_std_seq</code> since 3.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-append_list" class="anchored"><a href="#val-append_list" class="anchor"></a><code><span><span class="keyword">val</span> append_list : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> list</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Append content of list.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-append_gen" class="anchored"><a href="#val-append_gen" class="anchor"></a><code><span><span class="keyword">val</span> append_gen : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-gen">gen</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Append content of generator.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.20</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><span><span class="type-var">'a</span> <a href="#type-equal">equal</a></span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <a href="#type-equal">equal</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><span><span class="type-var">'a</span> <a href="#type-ord">ord</a></span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <a href="#type-ord">ord</a></span></span></code></div><div class="spec-doc"><p>Total ordering on vectors. Lexicographic comparison.</p></div></div><div class="odoc-spec"><div class="spec exception" id="exception-Empty" class="anchored"><a href="#exception-Empty" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Empty</span></span></code></div><div class="spec-doc"><p>Raised on empty stack.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-pop" class="anchored"><a href="#val-pop" class="anchor"></a><code><span><span class="keyword">val</span> pop : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> option</span></span></code></div><div class="spec-doc"><p>Remove last element, or <code>None</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-pop_exn" class="anchored"><a href="#val-pop_exn" class="anchor"></a><code><span><span class="keyword">val</span> pop_exn : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p>Remove last element, or raise an exception if empty.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Empty</span> <p>on an empty vector.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-top" class="anchored"><a href="#val-top" class="anchor"></a><code><span><span class="keyword">val</span> top : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> option</span></span></code></div><div class="spec-doc"><p>Top element, if present.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.6</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-top_exn" class="anchored"><a href="#val-top_exn" class="anchor"></a><code><span><span class="keyword">val</span> top_exn : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p>Top element, if present.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Empty</span> <p>on an empty vector.</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.6</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-copy" class="anchored"><a href="#val-copy" class="anchor"></a><code><span><span class="keyword">val</span> copy : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Shallow copy (may give an immutable or mutable vector).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-truncate" class="anchored"><a href="#val-truncate" class="anchor"></a><code><span><span class="keyword">val</span> truncate : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Truncate to the given size (remove elements above this size). Does nothing if the parameter is bigger than the current size. <code>truncate</code> was called <code>shrink</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-shrink_to_fit" class="anchored"><a href="#val-shrink_to_fit" class="anchor"></a><code><span><span class="keyword">val</span> shrink_to_fit : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Shrink internal array to fit the size of the vector</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-member" class="anchored"><a href="#val-member" class="anchor"></a><code><span><span class="keyword">val</span> member : <span>eq:<span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p>Is the element a member of the vector?</p></div></div><div class="odoc-spec"><div class="spec value" id="val-sort" class="anchored"><a href="#val-sort" class="anchor"></a><code><span><span class="keyword">val</span> sort : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> int)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Sort the vector, returning a copy of it that is sorted w.r.t the given ordering. The vector itself is unchanged. The underlying array of the new vector can be smaller than the original one.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-sort'" class="anchored"><a href="#val-sort'" class="anchor"></a><code><span><span class="keyword">val</span> sort' : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> int)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Sort the vector in place (modifying it). This function change the size of the underlying array.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-uniq_sort" class="anchored"><a href="#val-uniq_sort" class="anchor"></a><code><span><span class="keyword">val</span> uniq_sort : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> int)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Sort the array and remove duplicates, in place (e.g. modifying the vector itself).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-iter" class="anchored"><a href="#val-iter" class="anchor"></a><code><span><span class="keyword">val</span> iter : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Iterate on the vector's content.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-iteri" class="anchored"><a href="#val-iteri" class="anchor"></a><code><span><span class="keyword">val</span> iteri : <span><span>(<span>int <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Iterate on the vector, with indexes.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-map" class="anchored"><a href="#val-map" class="anchor"></a><code><span><span class="keyword">val</span> map : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Map elements of the vector, yielding a new vector.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-mapi" class="anchored"><a href="#val-mapi" class="anchor"></a><code><span><span class="keyword">val</span> mapi : <span><span>(<span>int <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p><code>map f v</code> is just like <a href="#val-map"><code>map</code></a>, but it also passes in the index of each element as the first argument to the function <code>f</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-map_in_place" class="anchored"><a href="#val-map_in_place" class="anchor"></a><code><span><span class="keyword">val</span> map_in_place : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Map elements of the vector in place</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.3</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-filter" class="anchored"><a href="#val-filter" class="anchor"></a><code><span><span class="keyword">val</span> filter : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Filter elements from the vector. <code>filter p v</code> leaves <code>v</code> unchanged but returns a new vector that only contains elements of <code>v</code> satisfying <code>p</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-filter_in_place" class="anchored"><a href="#val-filter_in_place" class="anchor"></a><code><span><span class="keyword">val</span> filter_in_place : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Filter elements from the vector in place.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-fold" class="anchored"><a href="#val-fold" class="anchor"></a><code><span><span class="keyword">val</span> fold : <span><span>(<span><span class="type-var">'b</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span class="type-var">'b</span></span></code></div><div class="spec-doc"><p>Fold on elements of the vector</p></div></div><div class="odoc-spec"><div class="spec value" id="val-exists" class="anchored"><a href="#val-exists" class="anchor"></a><code><span><span class="keyword">val</span> exists : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p>Existential test (is there an element that satisfies the predicate?).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-for_all" class="anchored"><a href="#val-for_all" class="anchor"></a><code><span><span class="keyword">val</span> for_all : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p>Universal test (do all the elements satisfy the predicate?).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-find" class="anchored"><a href="#val-find" class="anchor"></a><code><span><span class="keyword">val</span> find : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> option</span></span></code></div><div class="spec-doc"><p>Find an element that satisfies the predicate.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-find_exn" class="anchored"><a href="#val-find_exn" class="anchor"></a><code><span><span class="keyword">val</span> find_exn : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p>Find an element that satisfies the predicate, or</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Not_found</span> <p>if no element does.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-find_map" class="anchored"><a href="#val-find_map" class="anchor"></a><code><span><span class="keyword">val</span> find_map : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> option</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> option</span></span></code></div><div class="spec-doc"><p><code>find_map f v</code> returns the first <code>Some y = f x</code> for <code>x</code> in <code>v</code>, or <code>None</code> if <code>f x = None</code> for each <code>x</code> in <code>v</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-filter_map" class="anchored"><a href="#val-filter_map" class="anchor"></a><code><span><span class="keyword">val</span> filter_map : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> option</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Map elements with a function, possibly filtering some of them out.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-filter_map_in_place" class="anchored"><a href="#val-filter_map_in_place" class="anchor"></a><code><span><span class="keyword">val</span> filter_map_in_place : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> option</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Filter-map elements of the vector in place</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.3</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-flat_map" class="anchored"><a href="#val-flat_map" class="anchor"></a><code><span><span class="keyword">val</span> flat_map : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Map each element to a sub-vector.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-flat_map_seq" class="anchored"><a href="#val-flat_map_seq" class="anchor"></a><code><span><span class="keyword">val</span> flat_map_seq : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Like <a href="#val-flat_map"><code>flat_map</code></a>, but using <code>Seq</code> for intermediate collections. Renamed from <code>flat_map_std_seq</code> since 3.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-flat_map_list" class="anchored"><a href="#val-flat_map_list" class="anchor"></a><code><span><span class="keyword">val</span> flat_map_list : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> list</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Like <a href="#val-flat_map"><code>flat_map</code></a>, but using <code>list</code> for intermediate collections.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-monoid_product" class="anchored"><a href="#val-monoid_product" class="anchor"></a><code><span><span class="keyword">val</span> monoid_product : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> <span class="arrow">-></span></span> <span class="type-var">'c</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'b</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'c</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>All combinaisons of tuples from the two vectors are passed to the function.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-(>>=)" class="anchored"><a href="#val-(>>=)" class="anchor"></a><code><span><span class="keyword">val</span> (>>=) : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span>)</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Infix version of <a href="#val-flat_map"><code>flat_map</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(>|=)" class="anchored"><a href="#val-(>|=)" class="anchor"></a><code><span><span class="keyword">val</span> (>|=) : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Infix version of <a href="#val-map"><code>map</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-get" class="anchored"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p>Access element by its index, or</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_argument</span> <p>if bad index.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-set" class="anchored"><a href="#val-set" class="anchor"></a><code><span><span class="keyword">val</span> set : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Modify element at given index, or</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_argument</span> <p>if the index is invalid (i.e. not in <code>[0.. length v-1]</code>).</p></li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-remove_and_shift" class="anchored"><a href="#val-remove_and_shift" class="anchor"></a><code><span><span class="keyword">val</span> remove_and_shift : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>remove_and_shift v i</code> remove the <code>i-th</code> element from <code>v</code>. Move elements that are after the <code>i-th</code> in <code>v</code>, in linear time. Preserve the order of the elements in <code>v</code>. See <a href="#val-remove_unordered"><code>remove_unordered</code></a> for constant time removal function that doesn't preserve the order of elements.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-remove_unordered" class="anchored"><a href="#val-remove_unordered" class="anchor"></a><code><span><span class="keyword">val</span> remove_unordered : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>remove_unordered v i</code> remove the <code>i-th</code> element from <code>v</code>. Does <b>NOT</b> preserve the order of the elements in <code>v</code> (might swap with the last element). See <a href="#val-remove_and_shift"><code>remove_and_shift</code></a> if you want to keep the ordering.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-insert" class="anchored"><a href="#val-insert" class="anchor"></a><code><span><span class="keyword">val</span> insert : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>insert v i x</code> insert the given element at index i. Elements at location <code>i</code> and later are first shifted over in linear time before inserting <code>x</code>. Preserve the order of elements in <code>v</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.7</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-rev" class="anchored"><a href="#val-rev" class="anchor"></a><code><span><span class="keyword">val</span> rev : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Reverse the vector.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-rev_in_place" class="anchored"><a href="#val-rev_in_place" class="anchor"></a><code><span><span class="keyword">val</span> rev_in_place : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Reverse the vector in place.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-rev_iter" class="anchored"><a href="#val-rev_iter" class="anchor"></a><code><span><span class="keyword">val</span> rev_iter : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>rev_iter f a</code> is the same as <code>iter f (rev a)</code>, only more efficient.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-size" class="anchored"><a href="#val-size" class="anchor"></a><code><span><span class="keyword">val</span> size : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p>Number of elements in the vector.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-length" class="anchored"><a href="#val-length" class="anchor"></a><code><span><span class="keyword">val</span> length : <span><span><span>(<span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p>Synonym for <a href="#val-size"><code>size</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-capacity" class="anchored"><a href="#val-capacity" class="anchor"></a><code><span><span class="keyword">val</span> capacity : <span><span><span>(<span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p>Number of elements the vector can contain without being resized.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-unsafe_get_array" class="anchored"><a href="#val-unsafe_get_array" class="anchor"></a><code><span><span class="keyword">val</span> unsafe_get_array : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> array</span></span></code></div><div class="spec-doc"><p>Access the underlying <b>shared</b> array (do not modify!). <code>unsafe_get_array v</code> is longer than <code>size v</code>, but elements at higher index than <code>size v</code> are undefined (do not access!).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(--)" class="anchored"><a href="#val-(--)" class="anchor"></a><code><span><span class="keyword">val</span> (--) : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span><span>(int, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Range of integers, either ascending or descending (both included, therefore the result is never empty). Example: <code>1 -- 10</code> returns the vector <code>[1;2;3;4;5;6;7;8;9;10]</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(--^)" class="anchored"><a href="#val-(--^)" class="anchor"></a><code><span><span class="keyword">val</span> (--^) : <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span><span>(int, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Range of integers, either ascending or descending, but excluding right. Example: <code>1 --^ 10</code> returns the vector <code>[1;2;3;4;5;6;7;8;9]</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.17</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-of_array" class="anchored"><a href="#val-of_array" class="anchor"></a><code><span><span class="keyword">val</span> of_array : <span><span><span class="type-var">'a</span> array</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p><code>of_array a</code> returns a vector corresponding to the array <code>a</code>. Operates in <code>O(n)</code> time.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-of_list" class="anchored"><a href="#val-of_list" class="anchor"></a><code><span><span class="keyword">val</span> of_list : <span><span><span class="type-var">'a</span> list</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-to_array" class="anchored"><a href="#val-to_array" class="anchor"></a><code><span><span class="keyword">val</span> to_array : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> array</span></span></code></div><div class="spec-doc"><p><code>to_array v</code> returns an array corresponding to the vector <code>v</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-to_list" class="anchored"><a href="#val-to_list" class="anchor"></a><code><span><span class="keyword">val</span> to_list : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> list</span></span></code></div><div class="spec-doc"><p>Return a list with the elements contained in the vector.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-of_iter" class="anchored"><a href="#val-of_iter" class="anchor"></a><code><span><span class="keyword">val</span> of_iter : <span>?init:<span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-iter">iter</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Convert an Iterator to a vector.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8.1</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-of_seq" class="anchored"><a href="#val-of_seq" class="anchor"></a><code><span><span class="keyword">val</span> of_seq : <span>?init:<span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Convert an Iterator to a vector. Renamed from <code>of_std_seq</code> since 3.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-to_iter" class="anchored"><a href="#val-to_iter" class="anchor"></a><code><span><span class="keyword">val</span> to_iter : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-iter">iter</a></span></span></code></div><div class="spec-doc"><p>Return a <code>iter</code> with the elements contained in the vector.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-to_iter_rev" class="anchored"><a href="#val-to_iter_rev" class="anchor"></a><code><span><span class="keyword">val</span> to_iter_rev : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-iter">iter</a></span></span></code></div><div class="spec-doc"><p><code>to_iter_rev v</code> returns the sequence of elements of <code>v</code> in reverse order, that is, the last elements of <code>v</code> are iterated on first.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-to_seq" class="anchored"><a href="#val-to_seq" class="anchor"></a><code><span><span class="keyword">val</span> to_seq : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span></span></code></div><div class="spec-doc"><p>Return an iterator with the elements contained in the vector. Renamed from <code>to_std_seq</code> since 3.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-to_seq_rev" class="anchored"><a href="#val-to_seq_rev" class="anchor"></a><code><span><span class="keyword">val</span> to_seq_rev : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span></span></code></div><div class="spec-doc"><p><code>to_seq v</code> returns the sequence of elements of <code>v</code> in reverse order, that is, the last elements of <code>v</code> are iterated on first. Renamed from <code>to_std_seq</code> since 3.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-slice" class="anchored"><a href="#val-slice" class="anchor"></a><code><span><span class="keyword">val</span> slice : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> array</span> * int * int</span></code></div><div class="spec-doc"><p>Vector as an array slice. By doing it we expose the internal array, so be careful!.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-slice_iter" class="anchored"><a href="#val-slice_iter" class="anchor"></a><code><span><span class="keyword">val</span> slice_iter : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-iter">iter</a></span></span></code></div><div class="spec-doc"><p><code>slice_iter v start len</code> is the sequence of elements from <code>v.(start)</code> to <code>v.(start+len-1)</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-of_gen" class="anchored"><a href="#val-of_gen" class="anchor"></a><code><span><span class="keyword">val</span> of_gen : <span>?init:<span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-gen">gen</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <a href="#type-rw">rw</a>)</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-to_gen" class="anchored"><a href="#val-to_gen" class="anchor"></a><code><span><span class="keyword">val</span> to_gen : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-gen">gen</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-to_string" class="anchored"><a href="#val-to_string" class="anchor"></a><code><span><span class="keyword">val</span> to_string : <span>?start:string <span class="arrow">-></span></span> <span>?stop:string <span class="arrow">-></span></span> <span>?sep:string <span class="arrow">-></span></span>
|
||
<span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> string)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> string</span></code></div><div class="spec-doc"><p>Print the vector in a string</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.7</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-pp" class="anchored"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span>?pp_start:<span>unit <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span>?pp_stop:<span>unit <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span>?pp_sep:<span>unit <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <a href="#type-printer">printer</a></span></span></code></div><div class="spec-doc"><p><code>pp ~pp_start ~pp_stop ~pp_sep pp_item ppf v</code> formats the vector <code>v</code> on <code>ppf</code>. Each element is formatted with <code>pp_item</code>, <code>pp_start</code> is called at the beginning, <code>pp_stop</code> is called at the end, <code>pp_sep</code> is called between each elements. By defaults <code>pp_start</code> and <code>pp_stop</code> does nothing and <code>pp_sep</code> defaults to (fun out -> Format.fprintf out ",@ ").</p></div></div><div class="odoc-spec"><div class="spec value" id="val-let+" class="anchored"><a href="#val-let+" class="anchor"></a><code><span><span class="keyword">val</span> let+ : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-and+" class="anchored"><a href="#val-and+" class="anchor"></a><code><span><span class="keyword">val</span> and+ : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'b</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-let*" class="anchored"><a href="#val-let*" class="anchor"></a><code><span><span class="keyword">val</span> let* : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span>)</span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-and*" class="anchored"><a href="#val-and*" class="anchor"></a><code><span><span class="keyword">val</span> and* : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'b</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div></div></body></html> |