mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
2 lines
No EOL
44 KiB
HTML
2 lines
No EOL
44 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 %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> – <a href="../index.html">containers</a> » CCVector</nav><h1>Module <code>CCVector</code></h1><h2 id="growable,-mutable-vector"><a href="#growable,-mutable-vector" class="anchor"></a>Growable, mutable vector</h2></header><dl><dt class="spec type" id="type-ro"><a href="#type-ro" class="anchor"></a><code><span class="keyword">type</span> ro</code> = <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>| </code><code>`RO</code></td></tr></table><code> ]</code></dt><dt class="spec type" id="type-rw"><a href="#type-rw" class="anchor"></a><code><span class="keyword">type</span> rw</code> = <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>| </code><code>`RW</code></td></tr></table><code> ]</code></dt></dl><aside><p>Mutability is <code>rw</code> (read-write) or <code>ro</code> (read-only).</p></aside><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> <span>('a, 'mut) t</span></code></dt><dd><p>The type of a vector of elements of type <code>'a</code>, with a mutability flat <code>'mut</code>.</p></dd></dl><dl><dt class="spec type" id="type-vector"><a href="#type-vector" class="anchor"></a><code><span class="keyword">type</span> <span>'a vector</span></code><code> = <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Type synonym: a <code>'a vector</code> is mutable.</p></dd></dl><dl><dt class="spec type" id="type-ro_vector"><a href="#type-ro_vector" class="anchor"></a><code><span class="keyword">type</span> <span>'a ro_vector</span></code><code> = <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-ro">ro</a>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Alias for immutable vectors.</p><dl><dt>since</dt><dd>0.15</dd></dl></dd></dl><dl><dt class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><code><span class="keyword">type</span> <span>'a sequence</span></code><code> = <span>(<span class="type-var">'a</span> <span>-></span> unit)</span> <span>-></span> unit</code></dt><dt class="spec type" id="type-klist"><a href="#type-klist" class="anchor"></a><code><span class="keyword">type</span> <span>'a klist</span></code><code> = unit <span>-></span> <span>[ `Nil <span><span>| `Cons</span> of <span class="type-var">'a</span> * <span><span class="type-var">'a</span> <a href="index.html#type-klist">klist</a></span></span> ]</span></code></dt><dt class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><code><span class="keyword">type</span> <span>'a gen</span></code><code> = unit <span>-></span> <span><span class="type-var">'a</span> option</span></code></dt><dt class="spec type" id="type-equal"><a href="#type-equal" class="anchor"></a><code><span class="keyword">type</span> <span>'a equal</span></code><code> = <span class="type-var">'a</span> <span>-></span> <span class="type-var">'a</span> <span>-></span> bool</code></dt><dt class="spec type" id="type-ord"><a href="#type-ord" class="anchor"></a><code><span class="keyword">type</span> <span>'a ord</span></code><code> = <span class="type-var">'a</span> <span>-></span> <span class="type-var">'a</span> <span>-></span> int</code></dt><dt class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><code><span class="keyword">type</span> <span>'a printer</span></code><code> = Format.formatter <span>-></span> <span class="type-var">'a</span> <span>-></span> unit</code></dt></dl><dl><dt class="spec value" id="val-freeze"><a href="#val-freeze" class="anchor"></a><code><span class="keyword">val</span> freeze : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-ro">ro</a>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Make an immutable vector (no copy! Don't use the old version).</p></dd></dl><dl><dt class="spec value" id="val-freeze_copy"><a href="#val-freeze_copy" class="anchor"></a><code><span class="keyword">val</span> freeze_copy : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-ro">ro</a>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Copy the vector into an immutable version.</p></dd></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : unit <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Create a new, empty vector.</p></dd></dl><dl><dt class="spec value" id="val-create_with"><a href="#val-create_with" class="anchor"></a><code><span class="keyword">val</span> create_with : <span>?⁠capacity:int</span> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Create a new vector, using the given value as a filler.</p><dl><dt>parameter capacity</dt><dd><p>the size of the underlying array. <b>caution</b>: the value will likely not be GC'd before the vector is.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-return"><a href="#val-return" class="anchor"></a><code><span class="keyword">val</span> return : <span class="type-var">'a</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Singleton vector.</p><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-make"><a href="#val-make" class="anchor"></a><code><span class="keyword">val</span> make : int <span>-></span> <span class="type-var">'a</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p><code>make n x</code> makes a vector of size <code>n</code>, filled with <code>x</code>.</p></dd></dl><dl><dt class="spec value" id="val-init"><a href="#val-init" class="anchor"></a><code><span class="keyword">val</span> init : int <span>-></span> <span>(int <span>-></span> <span class="type-var">'a</span>)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Init the vector with the given function and size.</p></dd></dl><dl><dt class="spec value" id="val-clear"><a href="#val-clear" class="anchor"></a><code><span class="keyword">val</span> clear : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p>Clear the content of the vector.</p></dd></dl><dl><dt class="spec value" id="val-ensure_with"><a href="#val-ensure_with" class="anchor"></a><code><span class="keyword">val</span> ensure_with : <span>init:<span class="type-var">'a</span></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int <span>-></span> unit</code></dt><dd><p>Hint to the vector that it should have at least the given capacity.</p><dl><dt>parameter init</dt><dd><p>if <code>capacity v = 0</code>, used as a filler element for the underlying array (see <a href="index.html#val-create_with"><code>create_with</code></a>).</p></dd></dl><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-ensure"><a href="#val-ensure" class="anchor"></a><code><span class="keyword">val</span> ensure : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int <span>-></span> unit</code></dt><dd><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></dd></dl><dl><dt class="spec value" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><code><span class="keyword">val</span> is_empty : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> bool</code></dt><dd><p>Is the vector empty?</p></dd></dl><dl><dt class="spec value" id="val-push"><a href="#val-push" class="anchor"></a><code><span class="keyword">val</span> push : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span class="type-var">'a</span> <span>-></span> unit</code></dt><dd><p>Add an element at the end of the vector.</p></dd></dl><dl><dt class="spec value" id="val-append"><a href="#val-append" class="anchor"></a><code><span class="keyword">val</span> append : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p><code>append a b</code> adds all elements of b to a.</p></dd></dl><dl><dt class="spec value" id="val-append_array"><a href="#val-append_array" class="anchor"></a><code><span class="keyword">val</span> append_array : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> array</span> <span>-></span> unit</code></dt><dd><p>Like <a href="index.html#val-append"><code>append</code></a>, with an array.</p></dd></dl><dl><dt class="spec value" id="val-append_seq"><a href="#val-append_seq" class="anchor"></a><code><span class="keyword">val</span> append_seq : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></span> <span>-></span> unit</code></dt><dd><p>Append content of sequence.</p></dd></dl><dl><dt class="spec value" id="val-append_list"><a href="#val-append_list" class="anchor"></a><code><span class="keyword">val</span> append_list : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> list</span> <span>-></span> unit</code></dt><dd><p>Append content of list.</p><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-append_gen"><a href="#val-append_gen" class="anchor"></a><code><span class="keyword">val</span> append_gen : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-gen">gen</a></span> <span>-></span> unit</code></dt><dd><p>Append content of generator.</p><dl><dt>since</dt><dd>0.20</dd></dl></dd></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <span><span class="type-var">'a</span> <a href="index.html#type-equal">equal</a></span> <span>-></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <a href="index.html#type-equal">equal</a></span></code></dt><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <span><span class="type-var">'a</span> <a href="index.html#type-ord">ord</a></span> <span>-></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <a href="index.html#type-ord">ord</a></span></code></dt><dd><p>Total ordering on vectors. Lexicographic comparison.</p></dd></dl><dl><dt class="spec exception" id="exception-Empty"><a href="#exception-Empty" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">Empty</span></code></dt><dd><p>Raised on empty stack.</p></dd></dl><dl><dt class="spec value" id="val-pop"><a href="#val-pop" class="anchor"></a><code><span class="keyword">val</span> pop : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> option</span></code></dt><dd><p>Remove last element, or <code>None</code>.</p></dd></dl><dl><dt class="spec value" id="val-pop_exn"><a href="#val-pop_exn" class="anchor"></a><code><span class="keyword">val</span> pop_exn : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span class="type-var">'a</span></code></dt><dd><p>Remove last element, or raise a Failure if empty.</p><dl><dt>raises Empty</dt><dd><p>on an empty vector.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-top"><a href="#val-top" class="anchor"></a><code><span class="keyword">val</span> top : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> option</span></code></dt><dd><p>Top element, if present.</p><dl><dt>since</dt><dd>0.6</dd></dl></dd></dl><dl><dt class="spec value" id="val-top_exn"><a href="#val-top_exn" class="anchor"></a><code><span class="keyword">val</span> top_exn : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span class="type-var">'a</span></code></dt><dd><p>Top element, if present.</p><dl><dt>raises Empty</dt><dd><p>on an empty vector.</p></dd></dl><dl><dt>since</dt><dd>0.6</dd></dl></dd></dl><dl><dt class="spec value" id="val-copy"><a href="#val-copy" class="anchor"></a><code><span class="keyword">val</span> copy : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Shallow copy (may give an immutable or mutable vector).</p></dd></dl><dl><dt class="spec value" id="val-shrink"><a href="#val-shrink" class="anchor"></a><code><span class="keyword">val</span> shrink : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int <span>-></span> unit</code></dt><dd><p>Shrink to the given size (remove elements above this size). Does nothing if the parameter is bigger than the current size.</p></dd></dl><dl><dt class="spec value" id="val-member"><a href="#val-member" class="anchor"></a><code><span class="keyword">val</span> member : <span>eq:<span>(<span class="type-var">'a</span> <span>-></span> <span class="type-var">'a</span> <span>-></span> bool)</span></span> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> bool</code></dt><dd><p>Is the element a member of the vector?</p></dd></dl><dl><dt class="spec value" id="val-sort"><a href="#val-sort" class="anchor"></a><code><span class="keyword">val</span> sort : <span>(<span class="type-var">'a</span> <span>-></span> <span class="type-var">'a</span> <span>-></span> int)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Sort the vector, returning a copy of it that is sorted w.r.t the given ordering. The vector itself is unchanged.</p></dd></dl><dl><dt class="spec value" id="val-sort'"><a href="#val-sort'" class="anchor"></a><code><span class="keyword">val</span> sort' : <span>(<span class="type-var">'a</span> <span>-></span> <span class="type-var">'a</span> <span>-></span> int)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p>Sort the vector in place (modifying it).</p></dd></dl><dl><dt class="spec value" id="val-uniq_sort"><a href="#val-uniq_sort" class="anchor"></a><code><span class="keyword">val</span> uniq_sort : <span>(<span class="type-var">'a</span> <span>-></span> <span class="type-var">'a</span> <span>-></span> int)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p>Sort the array and remove duplicates, in place (e.g. modifying the vector itself).</p></dd></dl><dl><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val</span> iter : <span>(<span class="type-var">'a</span> <span>-></span> unit)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p>Iterate on the vector's content.</p></dd></dl><dl><dt class="spec value" id="val-iteri"><a href="#val-iteri" class="anchor"></a><code><span class="keyword">val</span> iteri : <span>(int <span>-></span> <span class="type-var">'a</span> <span>-></span> unit)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p>Iterate on the vector, with indexes.</p></dd></dl><dl><dt class="spec value" id="val-map"><a href="#val-map" class="anchor"></a><code><span class="keyword">val</span> map : <span>(<span class="type-var">'a</span> <span>-></span> <span class="type-var">'b</span>)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Map elements of the vector, yielding a new vector.</p></dd></dl><dl><dt class="spec value" id="val-map_in_place"><a href="#val-map_in_place" class="anchor"></a><code><span class="keyword">val</span> map_in_place : <span>(<span class="type-var">'a</span> <span>-></span> <span class="type-var">'a</span>)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p>Map elements of the vector in place</p><dl><dt>since</dt><dd>2.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-filter"><a href="#val-filter" class="anchor"></a><code><span class="keyword">val</span> filter : <span>(<span class="type-var">'a</span> <span>-></span> bool)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><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></dd></dl><dl><dt class="spec value" id="val-filter'"><a href="#val-filter'" class="anchor"></a><code><span class="keyword">val</span> filter' : <span>(<span class="type-var">'a</span> <span>-></span> bool)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p>Filter elements in place.</p></dd></dl><dl><dt class="spec value" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span class="keyword">val</span> fold : <span>(<span class="type-var">'b</span> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span class="type-var">'b</span>)</span> <span>-></span> <span class="type-var">'b</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span class="type-var">'b</span></code></dt><dd><p>Fold on elements of the vector</p></dd></dl><dl><dt class="spec value" id="val-exists"><a href="#val-exists" class="anchor"></a><code><span class="keyword">val</span> exists : <span>(<span class="type-var">'a</span> <span>-></span> bool)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> bool</code></dt><dd><p>Existential test (is there an element that satisfies the predicate?).</p></dd></dl><dl><dt class="spec value" id="val-for_all"><a href="#val-for_all" class="anchor"></a><code><span class="keyword">val</span> for_all : <span>(<span class="type-var">'a</span> <span>-></span> bool)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> bool</code></dt><dd><p>Universal test (do all the elements satisfy the predicate?).</p></dd></dl><dl><dt class="spec value" id="val-find"><a href="#val-find" class="anchor"></a><code><span class="keyword">val</span> find : <span>(<span class="type-var">'a</span> <span>-></span> bool)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> option</span></code></dt><dd><p>Find an element that satisfies the predicate.</p></dd></dl><dl><dt class="spec value" id="val-find_exn"><a href="#val-find_exn" class="anchor"></a><code><span class="keyword">val</span> find_exn : <span>(<span class="type-var">'a</span> <span>-></span> bool)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span class="type-var">'a</span></code></dt><dd><p>Find an element that satisfies the predicate, or</p><dl><dt>raises Not_found</dt><dd><p>if no element does.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-find_map"><a href="#val-find_map" class="anchor"></a><code><span class="keyword">val</span> find_map : <span>(<span class="type-var">'a</span> <span>-></span> <span><span class="type-var">'b</span> option</span>)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'b</span> option</span></code></dt><dd><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><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-filter_map"><a href="#val-filter_map" class="anchor"></a><code><span class="keyword">val</span> filter_map : <span>(<span class="type-var">'a</span> <span>-></span> <span><span class="type-var">'b</span> option</span>)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Map elements with a function, possibly filtering some of them out.</p></dd></dl><dl><dt class="spec value" id="val-filter_map_in_place"><a href="#val-filter_map_in_place" class="anchor"></a><code><span class="keyword">val</span> filter_map_in_place : <span>(<span class="type-var">'a</span> <span>-></span> <span><span class="type-var">'a</span> option</span>)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p>Filter-map elements of the vector in place</p><dl><dt>since</dt><dd>2.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-flat_map"><a href="#val-flat_map" class="anchor"></a><code><span class="keyword">val</span> flat_map : <span>(<span class="type-var">'a</span> <span>-></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span>)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Map each element to a sub-vector.</p></dd></dl><dl><dt class="spec value" id="val-flat_map_seq"><a href="#val-flat_map_seq" class="anchor"></a><code><span class="keyword">val</span> flat_map_seq : <span>(<span class="type-var">'a</span> <span>-></span> <span><span class="type-var">'b</span> <a href="index.html#type-sequence">sequence</a></span>)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Like <a href="index.html#val-flat_map"><code>flat_map</code></a>, but using <a href="index.html#type-sequence"><code>sequence</code></a> for intermediate collections.</p><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-flat_map_list"><a href="#val-flat_map_list" class="anchor"></a><code><span class="keyword">val</span> flat_map_list : <span>(<span class="type-var">'a</span> <span>-></span> <span><span class="type-var">'b</span> list</span>)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Like <a href="index.html#val-flat_map"><code>flat_map</code></a>, but using <code>list</code> for intermediate collections.</p><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-(>>=)"><a href="#val-(>>=)" class="anchor"></a><code><span class="keyword">val</span> (>>=) : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span>(<span class="type-var">'a</span> <span>-></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span>)</span> <span>-></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Infix version of <a href="index.html#val-flat_map"><code>flat_map</code></a>.</p></dd></dl><dl><dt class="spec value" id="val-(>|=)"><a href="#val-(>|=)" class="anchor"></a><code><span class="keyword">val</span> (>|=) : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span>(<span class="type-var">'a</span> <span>-></span> <span class="type-var">'b</span>)</span> <span>-></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Infix version of <a href="index.html#val-map"><code>map</code></a>.</p></dd></dl><dl><dt class="spec value" id="val-get"><a href="#val-get" class="anchor"></a><code><span class="keyword">val</span> get : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int <span>-></span> <span class="type-var">'a</span></code></dt><dd><p>Access element by its index, or</p><dl><dt>raises Invalid_argument</dt><dd><p>if bad index.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-set"><a href="#val-set" class="anchor"></a><code><span class="keyword">val</span> set : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int <span>-></span> <span class="type-var">'a</span> <span>-></span> unit</code></dt><dd><p>Modify element at given index, or</p><dl><dt>raises Invalid_argument</dt><dd><p>if bad index.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span class="keyword">val</span> remove : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int <span>-></span> unit</code></dt><dd><p>Remove the <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></dd></dl><dl><dt class="spec value" id="val-rev"><a href="#val-rev" class="anchor"></a><code><span class="keyword">val</span> rev : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>Reverse the vector.</p></dd></dl><dl><dt class="spec value" id="val-rev_in_place"><a href="#val-rev_in_place" class="anchor"></a><code><span class="keyword">val</span> rev_in_place : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p>Reverse the vector in place.</p><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-rev_iter"><a href="#val-rev_iter" class="anchor"></a><code><span class="keyword">val</span> rev_iter : <span>(<span class="type-var">'a</span> <span>-></span> unit)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> unit</code></dt><dd><p><code>rev_iter f a</code> is the same as <code>iter f (rev a)</code>, only more efficient.</p><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-size"><a href="#val-size" class="anchor"></a><code><span class="keyword">val</span> size : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int</code></dt><dd><p>Number of elements in the vector.</p></dd></dl><dl><dt class="spec value" id="val-length"><a href="#val-length" class="anchor"></a><code><span class="keyword">val</span> length : <span><span>(<span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int</code></dt><dd><p>Synonym for <a href="index.html#val-size"><code>size</code></a>.</p></dd></dl><dl><dt class="spec value" id="val-capacity"><a href="#val-capacity" class="anchor"></a><code><span class="keyword">val</span> capacity : <span><span>(<span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int</code></dt><dd><p>Number of elements the vector can contain without being resized.</p></dd></dl><dl><dt class="spec value" id="val-unsafe_get_array"><a href="#val-unsafe_get_array" class="anchor"></a><code><span class="keyword">val</span> unsafe_get_array : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> array</span></code></dt><dd><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></dd></dl><dl><dt class="spec value" id="val-(--)"><a href="#val-(--)" class="anchor"></a><code><span class="keyword">val</span> (--) : int <span>-></span> int <span>-></span> <span><span>(int, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><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></dd></dl><dl><dt class="spec value" id="val-(--^)"><a href="#val-(--^)" class="anchor"></a><code><span class="keyword">val</span> (--^) : int <span>-></span> int <span>-></span> <span><span>(int, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><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><dl><dt>since</dt><dd>0.17</dd></dl></dd></dl><dl><dt class="spec value" id="val-of_array"><a href="#val-of_array" class="anchor"></a><code><span class="keyword">val</span> of_array : <span><span class="type-var">'a</span> array</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p><code>of_array a</code> returns a vector corresponding to the array <code>a</code>. Operates in <code>O(n)</code> time.</p></dd></dl><dl><dt class="spec value" id="val-of_list"><a href="#val-of_list" class="anchor"></a><code><span class="keyword">val</span> of_list : <span><span class="type-var">'a</span> list</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'mut</span>)</span> <a href="index.html#type-t">t</a></span></code></dt><dt class="spec value" id="val-to_array"><a href="#val-to_array" class="anchor"></a><code><span class="keyword">val</span> to_array : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> array</span></code></dt><dd><p><code>to_array v</code> returns an array corresponding to the vector <code>v</code>.</p></dd></dl><dl><dt class="spec value" id="val-to_list"><a href="#val-to_list" class="anchor"></a><code><span class="keyword">val</span> to_list : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> list</span></code></dt><dd><p>Return a list with the elements contained in the vector.</p></dd></dl><dl><dt class="spec value" id="val-of_seq"><a href="#val-of_seq" class="anchor"></a><code><span class="keyword">val</span> of_seq : <span>?⁠init:<span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span></code></dt><dt class="spec value" id="val-to_seq"><a href="#val-to_seq" class="anchor"></a><code><span class="keyword">val</span> to_seq : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></span></code></dt><dd><p>Return a <code>sequence</code> with the elements contained in the vector.</p></dd></dl><dl><dt class="spec value" id="val-to_seq_rev"><a href="#val-to_seq_rev" class="anchor"></a><code><span class="keyword">val</span> to_seq_rev : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></span></code></dt><dd><p><code>to_seq_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><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-slice"><a href="#val-slice" class="anchor"></a><code><span class="keyword">val</span> slice : <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> array</span> * int * int</code></dt><dd><p>Vector as an array slice. By doing it we expose the internal array, so be careful!.</p></dd></dl><dl><dt class="spec value" id="val-slice_seq"><a href="#val-slice_seq" class="anchor"></a><code><span class="keyword">val</span> slice_seq : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> int <span>-></span> int <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></span></code></dt><dd><p><code>slice_seq v start len</code> is the sequence of elements from <code>v.(start)</code> to <code>v.(start+len-1)</code>.</p></dd></dl><dl><dt class="spec value" id="val-fill_empty_slots_with"><a href="#val-fill_empty_slots_with" class="anchor"></a><code><span class="keyword">val</span> fill_empty_slots_with : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span class="type-var">'a</span> <span>-></span> unit</code></dt><dd><p><code>fill_empty_slots_with v x</code> puts <code>x</code> in the slots of <code>v</code>'s underlying array that are not used (ie in the last <code>capacity v - length v</code> slots). This is useful if you removed some elements from the vector and want to be sure they can be GC'd by erasing them from the vector.</p><dl><dt>since</dt><dd>2.4</dd></dl></dd></dl><dl><dt class="spec value" id="val-of_klist"><a href="#val-of_klist" class="anchor"></a><code><span class="keyword">val</span> of_klist : <span>?⁠init:<span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-klist">klist</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span></code></dt><dt class="spec value" id="val-to_klist"><a href="#val-to_klist" class="anchor"></a><code><span class="keyword">val</span> to_klist : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-klist">klist</a></span></code></dt><dt class="spec value" id="val-of_gen"><a href="#val-of_gen" class="anchor"></a><code><span class="keyword">val</span> of_gen : <span>?⁠init:<span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-gen">gen</a></span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <a href="index.html#type-rw">rw</a>)</span> <a href="index.html#type-t">t</a></span></code></dt><dt class="spec value" id="val-to_gen"><a href="#val-to_gen" class="anchor"></a><code><span class="keyword">val</span> to_gen : <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-gen">gen</a></span></code></dt><dt class="spec value" id="val-to_string"><a href="#val-to_string" class="anchor"></a><code><span class="keyword">val</span> to_string : <span>?⁠start:string</span> <span>-></span> <span>?⁠stop:string</span> <span>-></span> <span>?⁠sep:string</span> <span>-></span> <span>(<span class="type-var">'a</span> <span>-></span> string)</span> <span>-></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <span>-></span> string</code></dt><dd><p>Print the vector in a string</p><dl><dt>since</dt><dd>NEXT_RELEASE</dd></dl></dd></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <span>?⁠start:string</span> <span>-></span> <span>?⁠stop:string</span> <span>-></span> <span>?⁠sep:string</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-printer">printer</a></span> <span>-></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-t">t</a></span> <a href="index.html#type-printer">printer</a></span></code></dt></dl></div></body></html> |