<!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=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link rel="next" href="Fcl_var.BASICFD.html"> <link rel="Up" href="Fcl_var.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="Fcl_genesis" rel="Chapter" href="Fcl_genesis.html"> <link title="Fcl_debug" rel="Chapter" href="Fcl_debug.html"> <link title="Fcl_misc" rel="Chapter" href="Fcl_misc.html"> <link title="Fcl_float" rel="Chapter" href="Fcl_float.html"> <link title="Fcl_stak" rel="Chapter" href="Fcl_stak.html"> <link title="Fcl_domain" rel="Chapter" href="Fcl_domain.html"> <link title="Fcl_setDomain" rel="Chapter" href="Fcl_setDomain.html"> <link title="Fcl_data" rel="Chapter" href="Fcl_data.html"> <link title="Fcl_cstr" rel="Chapter" href="Fcl_cstr.html"> <link title="Fcl_var" rel="Chapter" href="Fcl_var.html"> <link title="Fcl_reify" rel="Chapter" href="Fcl_reify.html"> <link title="Fcl_invariant" rel="Chapter" href="Fcl_invariant.html"> <link title="Fcl_boolean" rel="Chapter" href="Fcl_boolean.html"> <link title="Fcl_alldiff" rel="Chapter" href="Fcl_alldiff.html"> <link title="Fcl_linear" rel="Chapter" href="Fcl_linear.html"> <link title="Fcl_nonlinear" rel="Chapter" href="Fcl_nonlinear.html"> <link title="Fcl_expr" rel="Chapter" href="Fcl_expr.html"> <link title="Fcl_arith" rel="Chapter" href="Fcl_arith.html"> <link title="Fcl_interval" rel="Chapter" href="Fcl_interval.html"> <link title="Fcl_gcc" rel="Chapter" href="Fcl_gcc.html"> <link title="Fcl_fdArray" rel="Chapter" href="Fcl_fdArray.html"> <link title="Fcl_conjunto" rel="Chapter" href="Fcl_conjunto.html"> <link title="Fcl_sorting" rel="Chapter" href="Fcl_sorting.html"> <link title="Fcl_goals" rel="Chapter" href="Fcl_goals.html"> <link title="Fcl_opti" rel="Chapter" href="Fcl_opti.html"> <link title="Facile" rel="Chapter" href="Facile.html"><title>Fcl_var.ATTR</title> </head> <body> <div class="navbar"> <a class="up" href="Fcl_var.html" title="Fcl_var">Up</a> <a class="post" href="Fcl_var.BASICFD.html" title="Fcl_var.BASICFD">Next</a> </div> <h1>Module type <a href="type_Fcl_var.ATTR.html">Fcl_var.ATTR</a></h1> <pre><span class="keyword">module type</span> ATTR = <code class="code">sig</code> <a href="Fcl_var.ATTR.html">..</a> <code class="code">end</code></pre><div class="info modtype top"> Signature of the Attribute of a Domain Variable. A module endowed with this type is required to build finite domain variables. <code class="code">Domain</code> and <code class="code">SetDomain</code> are suitable domain modules.<br> </div> <hr width="100%"> <pre><span id="TYPEt"><span class="keyword">type</span> <code class="type"></code>t</span> </pre> <div class="info "> Type of attributes.<br> </div> <pre><span id="TYPEdomain"><span class="keyword">type</span> <code class="type"></code>domain</span> </pre> <div class="info "> Type of domains stored in attributes.<br> </div> <pre><span id="TYPEelt"><span class="keyword">type</span> <code class="type"></code>elt</span> </pre> <div class="info "> Type of element of domains.<br> </div> <pre><span id="TYPEevent"><span class="keyword">type</span> <code class="type"></code>event</span> </pre> <div class="info "> Type of events (modifications on variables) on which to suspend.<br> </div> <pre><span id="VALdom"><span class="keyword">val</span> dom</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEt">t</a> -> <a href="Fcl_var.ATTR.html#TYPEdomain">domain</a></code></pre><div class="info "> <code class="code">dom a</code> returns the integer domain of an attribute.<br> </div> <pre><span id="VALon_refine"><span class="keyword">val</span> on_refine</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEevent">event</a></code></pre><div class="info "> Event occuring when a variable is changed, i.e. its domain modified.<br> </div> <pre><span id="VALon_subst"><span class="keyword">val</span> on_subst</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEevent">event</a></code></pre><div class="info "> Event occuring when a variable is instantiated.<br> </div> <pre><span id="VALon_min"><span class="keyword">val</span> on_min</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEevent">event</a></code></pre> <pre><span id="VALon_max"><span class="keyword">val</span> on_max</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEevent">event</a></code></pre><div class="info "> Event occuring when the lower (resp. upper) bound of a variable decreases.<br> </div> <pre><span id="VALfprint"><span class="keyword">val</span> fprint</span> : <code class="type">Pervasives.out_channel -> <a href="Fcl_var.ATTR.html#TYPEt">t</a> -> unit</code></pre><div class="info "> <code class="code">fprint chan a</code> prints attribute <code class="code">a</code> on channel <code class="code">chan</code>.<br> </div> <pre><span id="VALmin"><span class="keyword">val</span> min</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEt">t</a> -> <a href="Fcl_var.ATTR.html#TYPEelt">elt</a></code></pre> <pre><span id="VALmax"><span class="keyword">val</span> max</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEt">t</a> -> <a href="Fcl_var.ATTR.html#TYPEelt">elt</a></code></pre><div class="info "> <code class="code">min a</code> (resp. <code class="code">max a</code>) returns the lower (resp. upper) bound of <code class="code">a</code>.<br> </div> <pre><span id="VALmember"><span class="keyword">val</span> member</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEt">t</a> -> <a href="Fcl_var.ATTR.html#TYPEelt">elt</a> -> bool</code></pre><div class="info "> <code class="code">member a n</code> tests if <code class="code">n</code> belongs to <code class="code">dom a</code>.<br> </div> <pre><span id="VALid"><span class="keyword">val</span> id</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEt">t</a> -> int</code></pre><div class="info "> <code class="code">id a</code> returns a unique integer identifying the attribute <code class="code">a</code>.<br> </div> <pre><span id="VALconstraints_number"><span class="keyword">val</span> constraints_number</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEt">t</a> -> int</code></pre><div class="info "> <code class="code">constraints_number a</code> returns the number of different constraints attached to <code class="code">a</code>.<br> </div> <pre><span id="VALsize"><span class="keyword">val</span> size</span> : <code class="type"><a href="Fcl_var.ATTR.html#TYPEt">t</a> -> int</code></pre><div class="info "> <code class="code">size a</code> returns the number of integer values in the domain of <code class="code">a</code>.<br> </div> </body></html>