<html> <head> <link rel="stylesheet" href="style.css" type="text/css"> <link rel="Start" href="index.html"> <link rel="previous" href="Cstr.html"> <link rel="next" href="Invariant.html"> <link rel="Up" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.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="Domain" rel="Chapter" href="Domain.html"> <link title="SetDomain" rel="Chapter" href="SetDomain.html"> <link title="Stak" rel="Chapter" href="Stak.html"> <link title="Data" rel="Chapter" href="Data.html"> <link title="Cstr" rel="Chapter" href="Cstr.html"> <link title="Var" rel="Chapter" href="Var.html"> <link title="Invariant" rel="Chapter" href="Invariant.html"> <link title="Reify" rel="Chapter" href="Reify.html"> <link title="Arith" rel="Chapter" href="Arith.html"> <link title="Conjunto" rel="Chapter" href="Conjunto.html"> <link title="Goals" rel="Chapter" href="Goals.html"> <link title="FdArray" rel="Chapter" href="FdArray.html"> <link title="Gcc" rel="Chapter" href="Gcc.html"> <link title="Alldiff" rel="Chapter" href="Alldiff.html"> <link title="Sorting" rel="Chapter" href="Sorting.html"> <link title="Interval" rel="Chapter" href="Interval.html"><title>Var</title> </head> <body> <div class="navbar"><a href="Cstr.html">Previous</a> <a href="index.html">Up</a> <a href="Invariant.html">Next</a> </div> <center><h1>Module <a href="type_Var.html">Var</a></h1></center> <br> <pre><span class="keyword">module</span> Var: <code class="code">sig</code> <a href="Var.html">..</a> <code class="code">end</code></pre><a name="1_ConstrainedAttributedFiniteDomainVariables"></a> <h1>Constrained, Attributed, Finite Domain Variables</h1><br> <hr width="100%"> <pre><span class="keyword">module type</span> <a href="Var.ATTR.html">ATTR</a> = <code class="code">sig</code> <a href="Var.ATTR.html">..</a> <code class="code">end</code></pre><div class="info"> Signature of the Attribute of a Domain Variable. </div> <pre><span class="keyword">module</span> <a href="Var.Attr.html">Attr</a>: <code class="type"><a href="Var.ATTR.html">ATTR</a></code><code class="type"> with type domain = Domain.t and type elt = Domain.elt</code></pre><pre><span class="keyword">module</span> <a href="Var.SetAttr.html">SetAttr</a>: <code class="type"><a href="Var.ATTR.html">ATTR</a></code><code class="type"> with type domain = SetDomain.t and type elt = <a href="SetDomain.S.html">SetDomain.S</a>.t</code></pre><br><code><span class="keyword">type</span> <a name="TYPEconcrete"></a><code class="type">('a, 'b)</code> concrete = </code><table class="typetable"> <tr> <td align="left" valign="top" > <code><span class="keyword">|</span></code></td> <td align="left" valign="top" > <code><span class="constructor">Unk</span> <span class="keyword">of</span> <code class="type">'a</code></code></td> </tr> <tr> <td align="left" valign="top" > <code><span class="keyword">|</span></code></td> <td align="left" valign="top" > <code><span class="constructor">Val</span> <span class="keyword">of</span> <code class="type">'b</code></code></td> <td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" ><code>Concrete type of the value of finite domain variables.</code></td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td> </tr></table> <pre><span class="keyword">module type</span> <a href="Var.BASICFD.html">BASICFD</a> = <code class="code">sig</code> <a href="Var.BASICFD.html">..</a> <code class="code">end</code></pre><div class="info"> Common variables module signature. </div> <pre><span class="keyword">module type</span> <a href="Var.FD.html">FD</a> = <code class="code">sig</code> <a href="Var.FD.html">..</a> <code class="code">end</code></pre><div class="info"> Extended signature for finite domain variable (with added functions irrelevant to set variables). </div> <pre><span class="keyword">module</span> <a href="Var.Fd.html">Fd</a>: <code class="type"><a href="Var.FD.html">FD</a></code><code class="type"> with type domain = Domain.t and type elt = Domain.elt and type attr = Attr.t and type event = Attr.event</code></pre><div class="info"> Concrete finite domain variable module. </div> <pre><span class="keyword">module</span> <a href="Var.SetFd.html">SetFd</a>: <code class="type"><a href="Var.BASICFD.html">BASICFD</a></code><code class="type"> with type domain = SetDomain.t and type elt = <a href="SetDomain.S.html">SetDomain.S</a>.t and type attr = SetAttr.t and type event = SetAttr.event</code></pre><div class="info"> Concrete integer set variable module. </div> </body></html>