<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="previous" href="M_ORSet.html">
<link rel="next" href="M_USet.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Crdt" rel="Chapter" href="Crdt.html">
<link title="I_IntVector" rel="Chapter" href="I_IntVector.html">
<link title="I_GCounter" rel="Chapter" href="I_GCounter.html">
<link title="I_PNCounter" rel="Chapter" href="I_PNCounter.html">
<link title="I_GSet" rel="Chapter" href="I_GSet.html">
<link title="I_ORSet" rel="Chapter" href="I_ORSet.html">
<link title="I_USet" rel="Chapter" href="I_USet.html">
<link title="Immutable_types" rel="Chapter" href="Immutable_types.html">
<link title="M_GCounter" rel="Chapter" href="M_GCounter.html">
<link title="M_GSet" rel="Chapter" href="M_GSet.html">
<link title="M_IntVector" rel="Chapter" href="M_IntVector.html">
<link title="M_ORSet" rel="Chapter" href="M_ORSet.html">
<link title="M_PNCounter" rel="Chapter" href="M_PNCounter.html">
<link title="M_USet" rel="Chapter" href="M_USet.html">
<link title="Mutable_types" rel="Chapter" href="Mutable_types.html"><title>M_PNCounter</title>
</head>
<body>
<div class="navbar"><a class="pre" href="M_ORSet.html" title="M_ORSet">Previous</a>
&nbsp;<a class="up" href="index.html" title="Index">Up</a>
&nbsp;<a class="post" href="M_USet.html" title="M_USet">Next</a>
</div>
<h1>Module <a href="type_M_PNCounter.html">M_PNCounter</a></h1>

<pre><span class="keyword">module</span> M_PNCounter: <code class="code"><span class="keyword">sig</span></code> <a href="M_PNCounter.html">..</a> <code class="code"><span class="keyword">end</span></code></pre><div class="info module top">
Increment / decrement counters.
<p>

    Contains two separate instances of <a href="M_IntVector.html"><code class="code"><span class="constructor">M_IntVector</span></code></a>, one for
    incrementing (<code class="code">add_c</code>) and the other for decrementing (<code class="code">remove_c</code>).
<p>

    The only difference between <code class="code"><span class="constructor">PNCounter</span></code> and <code class="code"><span class="constructor">GCounter</span></code> is that
    <a href="Mutable_types.IVector.html#VALquery"><code class="code"><span class="constructor">Mutable_types</span>.<span class="constructor">IVector</span>.query</code></a> <code class="code">t</code> in the former returns the difference
    between the <code class="code">add_c</code> and the <code class="code">remove_c</code> vectors.<br>
</div>
<hr width="100%">

<pre><span class="keyword">include</span> <a href="Mutable_types.DCounter.html">Mutable_types.DCounter</a></pre>
<div class="info ">
An Increment / decrement counter is a <a href="Mutable_types.IVector.html"><code class="code"><span class="constructor">Mutable_types</span>.<span class="constructor">IVector</span></code></a>
    with type <code class="code">elt = int</code><br>
</div>
</body></html>