mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
2 lines
No EOL
12 KiB
HTML
2 lines
No EOL
12 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"/><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> » <a href="../index.html">CCMultiSet</a> » Make</nav><h1>Module <code>CCMultiSet.Make</code></h1></header><h3 class="heading">Parameters</h3><ul><li><code>O : Stdlib.Set.OrderedType</code></li></ul><h3 class="heading">Signature</h3><dl><dt class="spec type" id="type-elt"><a href="#type-elt" class="anchor"></a><code><span class="keyword">type</span> elt</code><code> = <a href="index.html#argument-1-O">O</a>.t</code></dt><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><code><span class="keyword">val</span> is_empty : <a href="index.html#type-t">t</a> <span>-></span> bool</code></dt><dt class="spec value" id="val-mem"><a href="#val-mem" class="anchor"></a><code><span class="keyword">val</span> mem : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> bool</code></dt><dt class="spec value" id="val-count"><a href="#val-count" class="anchor"></a><code><span class="keyword">val</span> count : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> int</code></dt><dt class="spec value" id="val-singleton"><a href="#val-singleton" class="anchor"></a><code><span class="keyword">val</span> singleton : <a href="index.html#type-elt">elt</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-add"><a href="#val-add" class="anchor"></a><code><span class="keyword">val</span> add : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span class="keyword">val</span> remove : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-add_mult"><a href="#val-add_mult" class="anchor"></a><code><span class="keyword">val</span> add_mult : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> int <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>add_mult set x n</code> adds <code>n</code> occurrences of <code>x</code> to <code>set</code>.</p><dl><dt>raises Invalid_argument</dt><dd><p>if <code>n < 0</code>.</p></dd></dl><dl><dt>since</dt><dd>0.6</dd></dl></dd></dl><dl><dt class="spec value" id="val-remove_mult"><a href="#val-remove_mult" class="anchor"></a><code><span class="keyword">val</span> remove_mult : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> int <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>remove_mult set x n</code> removes at most <code>n</code> occurrences of <code>x</code> from <code>set</code>.</p><dl><dt>raises Invalid_argument</dt><dd><p>if <code>n < 0</code>.</p></dd></dl><dl><dt>since</dt><dd>0.6</dd></dl></dd></dl><dl><dt class="spec value" id="val-remove_all"><a href="#val-remove_all" class="anchor"></a><code><span class="keyword">val</span> remove_all : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>remove_all set x</code> removes all occurrences of <code>x</code> from <code>set</code>.</p><dl><dt>since</dt><dd>0.22</dd></dl></dd></dl><dl><dt class="spec value" id="val-update"><a href="#val-update" class="anchor"></a><code><span class="keyword">val</span> update : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> (int <span>-></span> int) <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>update set x f</code> calls <code>f n</code> where <code>n</code> is the current multiplicity of <code>x</code> in <code>set</code> (<code>0</code> to indicate its absence); the result of <code>f n</code> is the new multiplicity of <code>x</code>.</p><dl><dt>raises Invalid_argument</dt><dd><p>if <code>f n < 0</code>.</p></dd></dl><dl><dt>since</dt><dd>0.6</dd></dl></dd></dl><dl><dt class="spec value" id="val-min"><a href="#val-min" class="anchor"></a><code><span class="keyword">val</span> min : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a></code></dt><dd><p>Minimal element w.r.t the total ordering on elements.</p></dd></dl><dl><dt class="spec value" id="val-max"><a href="#val-max" class="anchor"></a><code><span class="keyword">val</span> max : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a></code></dt><dd><p>Maximal element w.r.t the total ordering on elements.</p></dd></dl><dl><dt class="spec value" id="val-union"><a href="#val-union" class="anchor"></a><code><span class="keyword">val</span> union : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>union a b</code> contains as many occurrences of an element <code>x</code> as <code>count a x + count b x</code>.</p></dd></dl><dl><dt class="spec value" id="val-meet"><a href="#val-meet" class="anchor"></a><code><span class="keyword">val</span> meet : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>meet a b</code> is a multiset such that <code>count (meet a b) x = max (count a x) (count b x)</code>.</p></dd></dl><dl><dt class="spec value" id="val-intersection"><a href="#val-intersection" class="anchor"></a><code><span class="keyword">val</span> intersection : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>intersection a b</code> is a multiset such that <code>count (intersection a b) x = min (count a x) (count b x)</code>.</p></dd></dl><dl><dt class="spec value" id="val-diff"><a href="#val-diff" class="anchor"></a><code><span class="keyword">val</span> diff : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><p>MultiSet difference. <code>count (diff a b) x = max (count a x - count b x) 0</code>.</p></dd></dl><dl><dt class="spec value" id="val-contains"><a href="#val-contains" class="anchor"></a><code><span class="keyword">val</span> contains : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> bool</code></dt><dd><p><code>contains a x = (count m x > 0)</code>.</p></dd></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> int</code></dt><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-t">t</a> <span>-></span> bool</code></dt><dt class="spec value" id="val-cardinal"><a href="#val-cardinal" class="anchor"></a><code><span class="keyword">val</span> cardinal : <a href="index.html#type-t">t</a> <span>-></span> int</code></dt><dd><p>Number of distinct elements.</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 : <a href="index.html#type-t">t</a> <span>-></span> (int <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> unit) <span>-></span> unit</code></dt><dt class="spec value" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span class="keyword">val</span> fold : <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'b</span> <span>-></span> (<span class="type-var">'b</span> <span>-></span> int <span>-></span> <a href="index.html#type-elt">elt</a> <span>-></span> <span class="type-var">'b</span>) <span>-></span> <span class="type-var">'b</span></code></dt><dt class="spec value" id="val-of_list"><a href="#val-of_list" class="anchor"></a><code><span class="keyword">val</span> of_list : <a href="index.html#type-elt">elt</a> list <span>-></span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-to_list"><a href="#val-to_list" class="anchor"></a><code><span class="keyword">val</span> to_list : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> list</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 : <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-sequence">sequence</a></code></dt><dt class="spec value" id="val-of_seq"><a href="#val-of_seq" class="anchor"></a><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>-></span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-of_list_mult"><a href="#val-of_list_mult" class="anchor"></a><code><span class="keyword">val</span> of_list_mult : (<a href="index.html#type-elt">elt</a> * int) list <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><dl><dt>since</dt><dd>0.19</dd></dl></dd></dl><dl><dt class="spec value" id="val-to_list_mult"><a href="#val-to_list_mult" class="anchor"></a><code><span class="keyword">val</span> to_list_mult : <a href="index.html#type-t">t</a> <span>-></span> (<a href="index.html#type-elt">elt</a> * int) list</code></dt><dd><dl><dt>since</dt><dd>0.19</dd></dl></dd></dl><dl><dt class="spec value" id="val-to_seq_mult"><a href="#val-to_seq_mult" class="anchor"></a><code><span class="keyword">val</span> to_seq_mult : <a href="index.html#type-t">t</a> <span>-></span> (<a href="index.html#type-elt">elt</a> * int) <a href="../index.html#type-sequence">sequence</a></code></dt><dd><dl><dt>since</dt><dd>0.19</dd></dl></dd></dl><dl><dt class="spec value" id="val-of_seq_mult"><a href="#val-of_seq_mult" class="anchor"></a><code><span class="keyword">val</span> of_seq_mult : (<a href="index.html#type-elt">elt</a> * int) <a href="../index.html#type-sequence">sequence</a> <span>-></span> <a href="index.html#type-t">t</a></code></dt><dd><dl><dt>since</dt><dd>0.19</dd></dl></dd></dl></div></body></html> |