ocaml-containers/2.2/containers/CCMultiSet/Make/index.html
2018-05-10 23:14:25 -05:00

8 lines
No EOL
15 KiB
HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (containers.CCMultiSet.Make)</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> &mdash; <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCMultiSet.Make</span></h1></header><h3 class="heading">Parameters</h3><div><div class="spec argument" id="argument-1-O"><a href="#argument-1-O" class="anchor"></a><div class="def argument"><code>O : Set.OrderedType</code></div><div class="doc"></div></div></div><h3 class="heading">Signature</h3><div class="spec type" id="type-elt"><a href="#type-elt" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>elt</code><code><span class="keyword"> = </span><a href="index.html#argument-1-O">O</a>.t</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-empty"><a href="#val-empty" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>empty : <a href="index.html#type-t">t</a></code></div><div class="doc"></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 : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-mem"><a href="#val-mem" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mem : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-count"><a href="#val-count" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>count : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-singleton"><a href="#val-singleton" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>singleton : <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-add"><a href="#val-add" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></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 : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-add_mult"><a href="#val-add_mult" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_mult : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> int <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">add_mult set x n</code> adds <code class="code">n</code> occurrences of <code class="code">x</code> to <code class="code">set</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if <code class="code">n &lt; 0</code>.</li><li><span class="at-tag since">Since</span>: 0.6</li></ul></div></div><div class="spec val" id="val-remove_mult"><a href="#val-remove_mult" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_mult : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> int <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">remove_mult set x n</code> removes at most <code class="code">n</code> occurrences of <code class="code">x</code> from <code class="code">set</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if <code class="code">n &lt; 0</code>.</li><li><span class="at-tag since">Since</span>: 0.6</li></ul></div></div><div class="spec val" id="val-remove_all"><a href="#val-remove_all" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_all : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">remove_all set x</code> removes all occurrences of <code class="code">x</code> from <code class="code">set</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.22</li></ul></div></div><div class="spec val" id="val-update"><a href="#val-update" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>update : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> (int <span class="keyword">&#8209;&gt;</span> int) <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">update set x f</code> calls <code class="code">f n</code> where <code class="code">n</code> is the current multiplicity
of <code class="code">x</code> in <code class="code">set</code> (<code class="code">0</code> to indicate its absence); the result of <code class="code">f n</code>
is the new multiplicity of <code class="code">x</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if <code class="code">f n &lt; 0</code>.</li><li><span class="at-tag since">Since</span>: 0.6</li></ul></div></div><div class="spec val" id="val-min"><a href="#val-min" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>min : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a></code></div><div class="doc"><p>Minimal element w.r.t the total ordering on elements.</p></div></div><div class="spec val" id="val-max"><a href="#val-max" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>max : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a></code></div><div class="doc"><p>Maximal element w.r.t the total ordering on elements.</p></div></div><div class="spec val" id="val-union"><a href="#val-union" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>union : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">union a b</code> contains as many occurrences of an element <code class="code">x</code>
as <code class="code">count a x + count b x</code>.</p></div></div><div class="spec val" id="val-meet"><a href="#val-meet" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>meet : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">meet a b</code> is a multiset such that
<code class="code">count (meet a b) x = max (count a x) (count b x)</code>.</p></div></div><div class="spec val" id="val-intersection"><a href="#val-intersection" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>intersection : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">intersection a b</code> is a multiset such that
<code class="code">count (intersection a b) x = min (count a x) (count b x)</code>.</p></div></div><div class="spec val" id="val-diff"><a href="#val-diff" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>diff : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>MultiSet difference.
<code class="code">count (diff a b) x = max (count a x - count b x) 0</code>.</p></div></div><div class="spec val" id="val-contains"><a href="#val-contains" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>contains : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p><code class="code">contains a x = (count m x &gt; 0)</code>.</p></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 : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></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 : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-cardinal"><a href="#val-cardinal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>cardinal : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"><p>Number of distinct elements.</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 : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> (int <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> unit) <span class="keyword">&#8209;&gt;</span> unit</code></div><div class="doc"></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 : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> int <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span></code></div><div class="doc"></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 : <a href="index.html#type-elt">elt</a> list <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></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 : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> list</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 : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></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 : <a href="index.html#type-elt">elt</a> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-of_list_mult"><a href="#val-of_list_mult" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_list_mult : (<a href="index.html#type-elt">elt</a><span class="keyword"> * </span>int) list <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.19</li></ul></div></div><div class="spec val" id="val-to_list_mult"><a href="#val-to_list_mult" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_list_mult : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> (<a href="index.html#type-elt">elt</a><span class="keyword"> * </span>int) list</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.19</li></ul></div></div><div class="spec val" id="val-to_seq_mult"><a href="#val-to_seq_mult" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_seq_mult : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> (<a href="index.html#type-elt">elt</a><span class="keyword"> * </span>int) <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.19</li></ul></div></div><div class="spec val" id="val-of_seq_mult"><a href="#val-of_seq_mult" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_seq_mult : (<a href="index.html#type-elt">elt</a><span class="keyword"> * </span>int) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.19</li></ul></div></div></body></html>