mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
23 lines
No EOL
45 KiB
HTML
23 lines
No EOL
45 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="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCVector</span></h1></header><h2>Growable, mutable vector</h2><div class="spec type" id="type-ro"><a href="#type-ro" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>ro</code><span class="keyword"> = </span><code>[ </code><table class="variant"><tr id="type-ro.RO" class="anchored"><td class="def constructor"><a href="#type-ro.RO" class="anchor"></a><code><span class="keyword">| </span></code><code>`RO</code></td></tr></table><code> ]</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-rw"><a href="#type-rw" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>rw</code><span class="keyword"> = </span><code>[ </code><table class="variant"><tr id="type-rw.RW" class="anchored"><td class="def constructor"><a href="#type-rw.RW" class="anchor"></a><code><span class="keyword">| </span></code><code>`RW</code></td></tr></table><code> ]</code><code></code></div><div class="doc"></div></div><p>Mutability is <code class="code">rw</code> (read-write) or <code class="code">ro</code> (read-only).</p><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>('a, 'mut) t</code><code></code><code></code></div><div class="doc"><p>The type of a vector of elements of type <code class="code">'a</code>, with
|
||
a mutability flat <code class="code">'mut</code>.</p></div></div><div class="spec type" id="type-vector"><a href="#type-vector" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a vector</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a></code><code></code></div><div class="doc"><p>Type synonym: a <code class="code">'a vector</code> is mutable.</p></div></div><div class="spec type" id="type-ro_vector"><a href="#type-ro_vector" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a ro_vector</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span>, <a href="index.html#type-ro">ro</a>) <a href="index.html#type-t">t</a></code><code></code></div><div class="doc"><p>Alias for immutable vectors.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.15</li></ul></div></div><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-klist"><a href="#type-klist" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a klist</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> [ `Nil | `Cons of <span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'a</span> <a href="index.html#type-klist">klist</a> ]</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a gen</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> <span class="type-var">'a</span> option</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-equal"><a href="#type-equal" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a equal</code><code><span class="keyword"> = </span><span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> bool</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-ord"><a href="#type-ord" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a ord</code><code><span class="keyword"> = </span><span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-freeze"><a href="#val-freeze" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>freeze : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-ro">ro</a>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Make an immutable vector (no copy! Don't use the old version).</p></div></div><div class="spec val" id="val-freeze_copy"><a href="#val-freeze_copy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>freeze_copy : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-ro">ro</a>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Copy the vector into an immutable version.</p></div></div><div class="spec val" id="val-create"><a href="#val-create" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>create : unit <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Create a new, empty vector.</p></div></div><div class="spec val" id="val-create_with"><a href="#val-create_with" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>create_with : ?⁠capacity:int <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Create a new vector, using the given value as a filler.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">capacity</span>: the size of the underlying array.
|
||
<b>caution</b>: the value will likely not be GC'd before the vector is.</li></ul></div></div><div class="spec val" id="val-return"><a href="#val-return" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>return : <span class="type-var">'a</span> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Singleton vector.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-make"><a href="#val-make" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>make : int <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">make n x</code> makes a vector of size <code class="code">n</code>, filled with <code class="code">x</code>.</p></div></div><div class="spec val" id="val-init"><a href="#val-init" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>init : int <span class="keyword">‑></span> (int <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Init the vector with the given function and size.</p></div></div><div class="spec val" id="val-clear"><a href="#val-clear" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>clear : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Clear the content of the vector.</p></div></div><div class="spec val" id="val-ensure_with"><a href="#val-ensure_with" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>ensure_with : init:<span class="type-var">'a</span> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Hint to the vector that it should have at least the given capacity.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">init</span>: if <code class="code">capacity v = 0</code>, used as a filler
|
||
element for the underlying array (see <a href="index.html#val-create_with">create_with</a>).</li><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-ensure"><a href="#val-ensure" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>ensure : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="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 class="code">init</code>
|
||
is not provided.</p></div></div><div class="spec val" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_empty : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Is the vector empty?</p></div></div><div class="spec val" id="val-push"><a href="#val-push" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>push : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Add an element at the end of the vector.</p></div></div><div class="spec val" id="val-append"><a href="#val-append" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>append : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">append a b</code> adds all elements of b to a.</p></div></div><div class="spec val" id="val-append_array"><a href="#val-append_array" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>append_array : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Like <a href="index.html#val-append">append</a>, with an array.</p></div></div><div class="spec val" id="val-append_seq"><a href="#val-append_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>append_seq : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Append content of sequence.</p></div></div><div class="spec val" id="val-append_list"><a href="#val-append_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>append_list : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> list <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Append content of list.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-append_gen"><a href="#val-append_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>append_gen : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-gen">gen</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Append content of generator.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.20</li></ul></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <a href="index.html#type-equal">equal</a></code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <span class="type-var">'a</span> <a href="index.html#type-ord">ord</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <a href="index.html#type-ord">ord</a></code></div><div class="doc"><p>Total ordering on vectors. Lexicographic comparison.</p></div></div><div class="spec exception" id="exception-Empty"><a href="#exception-Empty" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Empty</span></code></div><div class="doc"><p>Raised on empty stack.</p></div></div><div class="spec val" id="val-pop"><a href="#val-pop" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pop : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> option</code></div><div class="doc"><p>Remove last element, or <code class="code">None</code>.</p></div></div><div class="spec val" id="val-pop_exn"><a href="#val-pop_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pop_exn : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Remove last element, or raise a Failure if empty.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Empty</span>: on an empty vector.</li></ul></div></div><div class="spec val" id="val-top"><a href="#val-top" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>top : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> option</code></div><div class="doc"><p>Top element, if present.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.6</li></ul></div></div><div class="spec val" id="val-top_exn"><a href="#val-top_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>top_exn : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Top element, if present.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Empty</span>: on an empty vector.</li><li><span class="at-tag since">Since</span>: 0.6</li></ul></div></div><div class="spec val" id="val-copy"><a href="#val-copy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>copy : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Shallow copy (may give an immutable or mutable vector).</p></div></div><div class="spec val" id="val-shrink"><a href="#val-shrink" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>shrink : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Shrink to the given size (remove elements above this size).
|
||
Does nothing if the parameter is bigger than the current size.</p></div></div><div class="spec val" id="val-member"><a href="#val-member" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>member : eq:(<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Is the element a member of the vector?</p></div></div><div class="spec val" id="val-sort"><a href="#val-sort" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sort : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Sort the vector, returning a copy of it that is sorted
|
||
w.r.t the given ordering. The vector itself is unchanged.</p></div></div><div class="spec val" id="val-sort'"><a href="#val-sort'" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sort' : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Sort the vector in place (modifying it).</p></div></div><div class="spec val" id="val-uniq_sort"><a href="#val-uniq_sort" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uniq_sort : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Sort the array and remove duplicates, in place (e.g. modifying
|
||
the vector itself).</p></div></div><div class="spec val" id="val-iter"><a href="#val-iter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter : (<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iterate on the vector's content.</p></div></div><div class="spec val" id="val-iteri"><a href="#val-iteri" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iteri : (int <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iterate on the vector, with indexes.</p></div></div><div class="spec val" id="val-map"><a href="#val-map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Map elements of the vector, yielding a new vector.</p></div></div><div class="spec val" id="val-filter"><a href="#val-filter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>filter : (<span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Filter elements from the vector. <code class="code">filter p v</code> leaves <code class="code">v</code> unchanged but
|
||
returns a new vector that only contains elements of <code class="code">v</code> satisfying <code class="code">p</code>.</p></div></div><div class="spec val" id="val-filter'"><a href="#val-filter'" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>filter' : (<span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Filter elements in place.</p></div></div><div class="spec val" id="val-fold"><a href="#val-fold" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold : (<span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p>Fold on elements of the vector</p></div></div><div class="spec val" id="val-exists"><a href="#val-exists" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>exists : (<span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Existential test (is there an element that satisfies the predicate?).</p></div></div><div class="spec val" id="val-for_all"><a href="#val-for_all" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>for_all : (<span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Universal test (do all the elements satisfy the predicate?).</p></div></div><div class="spec val" id="val-find"><a href="#val-find" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find : (<span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> option</code></div><div class="doc"><p>Find an element that satisfies the predicate.</p></div></div><div class="spec val" id="val-find_exn"><a href="#val-find_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_exn : (<span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Find an element that satisfies the predicate, or</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if no element does.</li></ul></div></div><div class="spec val" id="val-find_map"><a href="#val-find_map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_map : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> option) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span> option</code></div><div class="doc"><p><code class="code">find_map f v</code> returns the first <code class="code">Some y = f x</code> for <code class="code">x</code> in <code class="code">v</code>,
|
||
or <code class="code">None</code> if <code class="code">f x = None</code> for each <code class="code">x</code> in <code class="code">v</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-filter_map"><a href="#val-filter_map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>filter_map : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> option) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Map elements with a function, possibly filtering some of them out.</p></div></div><div class="spec val" id="val-flat_map"><a href="#val-flat_map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>flat_map : (<span class="type-var">'a</span> <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a>) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Map each element to a sub-vector.</p></div></div><div class="spec val" id="val-flat_map_seq"><a href="#val-flat_map_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>flat_map_seq : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-sequence">sequence</a>) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Like <a href="index.html#val-flat_map">flat_map</a>, but using <a href="index.html#type-sequence">sequence</a> for
|
||
intermediate collections.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-flat_map_list"><a href="#val-flat_map_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>flat_map_list : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> list) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Like <a href="index.html#val-flat_map">flat_map</a>, but using list for
|
||
intermediate collections.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-(>>=)"><a href="#val-(>>=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(>>=) : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a>) <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Infix version of <a href="index.html#val-flat_map">flat_map</a>.</p></div></div><div class="spec val" id="val-(>|=)"><a href="#val-(>|=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(>|=) : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Infix version of <a href="index.html#val-map">map</a>.</p></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Access element by its index, or</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if bad index.</li></ul></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>set : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Modify element at given index, or</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if bad index.</li></ul></div></div><div class="spec val" id="val-remove"><a href="#val-remove" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Remove the <code class="code">n-th</code> element of the vector. Does <b>NOT</b> preserve the order
|
||
of the elements (might swap with the last element).</p></div></div><div class="spec val" id="val-rev"><a href="#val-rev" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rev : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Reverse the vector.</p></div></div><div class="spec val" id="val-rev_in_place"><a href="#val-rev_in_place" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rev_in_place : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Reverse the vector in place.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-rev_iter"><a href="#val-rev_iter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rev_iter : (<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">rev_iter f a</code> is the same as <code class="code">iter f (rev a)</code>, only more efficient.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-size"><a href="#val-size" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>size : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Number of elements in the vector.</p></div></div><div class="spec val" id="val-length"><a href="#val-length" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>length : (<span class="type-var">_</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Synonym for <a href="index.html#val-size">size</a>.</p></div></div><div class="spec val" id="val-capacity"><a href="#val-capacity" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>capacity : (<span class="type-var">_</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Number of elements the vector can contain without being resized.</p></div></div><div class="spec val" id="val-unsafe_get_array"><a href="#val-unsafe_get_array" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>unsafe_get_array : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array</code></div><div class="doc"><p>Access the underlying <b>shared</b> array (do not modify!).
|
||
<code class="code">unsafe_get_array v</code> is longer than <code class="code">size v</code>, but elements at higher
|
||
index than <code class="code">size v</code> are undefined (do not access!).</p></div></div><div class="spec val" id="val-(--)"><a href="#val-(--)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(--) : int <span class="keyword">‑></span> int <span class="keyword">‑></span> (int, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Range of integers, either ascending or descending (both included,
|
||
therefore the result is never empty).
|
||
Example: <code class="code">1 -- 10</code> returns the vector <code class="code">[1;2;3;4;5;6;7;8;9;10]</code>.</p></div></div><div class="spec val" id="val-(--^)"><a href="#val-(--^)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(--^) : int <span class="keyword">‑></span> int <span class="keyword">‑></span> (int, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Range of integers, either ascending or descending, but excluding right.
|
||
Example: <code class="code">1 --^ 10</code> returns the vector <code class="code">[1;2;3;4;5;6;7;8;9]</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-of_array"><a href="#val-of_array" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_array : <span class="type-var">'a</span> array <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">of_array a</code> returns a vector corresponding to the array <code class="code">a</code>.</p></div></div><div class="spec val" id="val-of_list"><a href="#val-of_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_list : <span class="type-var">'a</span> list <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'mut</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_array"><a href="#val-to_array" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_array : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array</code></div><div class="doc"><p><code class="code">to_array v</code> returns an array corresponding to the vector <code class="code">v</code>.</p></div></div><div class="spec val" id="val-to_list"><a href="#val-to_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_list : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> list</code></div><div class="doc"><p>Return a list with the elements contained in the vector.</p></div></div><div class="spec val" id="val-of_seq"><a href="#val-of_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_seq : ?⁠init:(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_seq"><a href="#val-to_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_seq : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Return a <code class="code">sequence</code> with the elements contained in the vector.</p></div></div><div class="spec val" id="val-to_seq_rev"><a href="#val-to_seq_rev" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_seq_rev : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"><p><code class="code">to_seq_rev v</code> returns the sequence of elements of <code class="code">v</code> in reverse order,
|
||
that is, the last elements of <code class="code">v</code> are iterated on first.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-slice"><a href="#val-slice" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>slice : (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array<span class="keyword"> * </span>int<span class="keyword"> * </span>int</code></div><div class="doc"><p>Vector as an array slice. By doing it we expose the internal array, so
|
||
be careful!.</p></div></div><div class="spec val" id="val-slice_seq"><a href="#val-slice_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>slice_seq : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"><p><code class="code">slice_seq v start len</code> is the sequence of elements from <code class="code">v.(start)</code>
|
||
to <code class="code">v.(start+len-1)</code>.</p></div></div><div class="spec val" id="val-of_klist"><a href="#val-of_klist" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_klist : ?⁠init:(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-klist">klist</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_klist"><a href="#val-to_klist" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_klist : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-klist">klist</a></code></div><div class="doc"></div></div><div class="spec val" id="val-of_gen"><a href="#val-of_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_gen : ?⁠init:(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-gen">gen</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>) <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_gen"><a href="#val-to_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_gen : (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-gen">gen</a></code></div><div class="doc"></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : ?⁠start:string <span class="keyword">‑></span> ?⁠stop:string <span class="keyword">‑></span> ?⁠sep:string <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-printer">printer</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <a href="index.html#type-printer">printer</a></code></div><div class="doc"></div></div></body></html> |