Files
ortools-clone/docs/cpp_routing/classoperations__research_1_1IntVar.html
Corentin Le Molgat b670dc9daa Update doc
2020-04-23 15:34:43 +02:00

1879 lines
97 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">Google OR-Tools 7.5</span>
</div>
</div>
<div id="content" style="width: 100%; overflow: hidden;">
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
<h2>C++ Reference</h2>
<ul>
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
<li><a href="../cpp_graph/annotated.html">Graph</a></li>
<li><a href="../cpp_routing/annotated.html">Routing</a></li>
<li><a href="../cpp_linear/annotated.html">Linear solver</a></li>
</ul>
</div>
<div id="content">
<div align="center">
<h1 style="color: #145A32;">C++ Reference: Routing</h1>
</div>
<!-- Generated by Doxygen 1.8.16 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classoperations__research_1_1IntVar-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">IntVar<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The class <a class="el" href="classoperations__research_1_1IntVar.html" title="The class IntVar is a subset of IntExpr.">IntVar</a> is a subset of <a class="el" href="classoperations__research_1_1IntExpr.html" title="The class IntExpr is the base of all integer expressions in constraint programming.">IntExpr</a>. </p>
<p>In addition to the <a class="el" href="classoperations__research_1_1IntExpr.html" title="The class IntExpr is the base of all integer expressions in constraint programming.">IntExpr</a> protocol, it offers persistence, removing values from the domains, and a finer model for events. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03949">3949</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6c325613bf5172c0cc1162ec8579eca2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a6c325613bf5172c0cc1162ec8579eca2">IntVar</a> (<a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const s)</td></tr>
<tr class="separator:a6c325613bf5172c0cc1162ec8579eca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5ceedd975b9299c4b66558e207a36c1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#ab5ceedd975b9299c4b66558e207a36c1">IntVar</a> (<a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const s, const std::string &amp;<a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>)</td></tr>
<tr class="separator:ab5ceedd975b9299c4b66558e207a36c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68b27e4c46794ff800c17f7b9760adba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a68b27e4c46794ff800c17f7b9760adba">~IntVar</a> () override</td></tr>
<tr class="separator:a68b27e4c46794ff800c17f7b9760adba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5d847a82550308399c315915ef8408f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#af5d847a82550308399c315915ef8408f">IsVar</a> () const override</td></tr>
<tr class="memdesc:af5d847a82550308399c315915ef8408f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the expression is indeed a variable. <a href="classoperations__research_1_1IntVar.html#af5d847a82550308399c315915ef8408f">More...</a><br /></td></tr>
<tr class="separator:af5d847a82550308399c315915ef8408f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36d71f28bff7448b6490fe4720ab2fe0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a36d71f28bff7448b6490fe4720ab2fe0">Var</a> () override</td></tr>
<tr class="memdesc:a36d71f28bff7448b6490fe4720ab2fe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a variable from the expression. <a href="classoperations__research_1_1IntVar.html#a36d71f28bff7448b6490fe4720ab2fe0">More...</a><br /></td></tr>
<tr class="separator:a36d71f28bff7448b6490fe4720ab2fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac067bc2252cc65b1eb004d5285e5fdb2"><td class="memItemLeft" align="right" valign="top">virtual int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#ac067bc2252cc65b1eb004d5285e5fdb2">Value</a> () const =0</td></tr>
<tr class="memdesc:ac067bc2252cc65b1eb004d5285e5fdb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method returns the value of the variable. <a href="classoperations__research_1_1IntVar.html#ac067bc2252cc65b1eb004d5285e5fdb2">More...</a><br /></td></tr>
<tr class="separator:ac067bc2252cc65b1eb004d5285e5fdb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b06ebd6d5afd41f685a81fedb97a425"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a5b06ebd6d5afd41f685a81fedb97a425">RemoveValue</a> (int64 v)=0</td></tr>
<tr class="memdesc:a5b06ebd6d5afd41f685a81fedb97a425"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method removes the value 'v' from the domain of the variable. <a href="classoperations__research_1_1IntVar.html#a5b06ebd6d5afd41f685a81fedb97a425">More...</a><br /></td></tr>
<tr class="separator:a5b06ebd6d5afd41f685a81fedb97a425"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9c44a01c67838a8ad68d74c3d87299b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#ac9c44a01c67838a8ad68d74c3d87299b">RemoveInterval</a> (int64 l, int64 u)=0</td></tr>
<tr class="memdesc:ac9c44a01c67838a8ad68d74c3d87299b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method removes the interval 'l' . <a href="classoperations__research_1_1IntVar.html#ac9c44a01c67838a8ad68d74c3d87299b">More...</a><br /></td></tr>
<tr class="separator:ac9c44a01c67838a8ad68d74c3d87299b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7521fa32d6f8f06cbe569897e59e19cd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a7521fa32d6f8f06cbe569897e59e19cd">RemoveValues</a> (const std::vector&lt; int64 &gt; &amp;values)</td></tr>
<tr class="memdesc:a7521fa32d6f8f06cbe569897e59e19cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method remove the values from the domain of the variable. <a href="classoperations__research_1_1IntVar.html#a7521fa32d6f8f06cbe569897e59e19cd">More...</a><br /></td></tr>
<tr class="separator:a7521fa32d6f8f06cbe569897e59e19cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10f9eba78d07596bd7f480fe834548c0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a10f9eba78d07596bd7f480fe834548c0">SetValues</a> (const std::vector&lt; int64 &gt; &amp;values)</td></tr>
<tr class="memdesc:a10f9eba78d07596bd7f480fe834548c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method intersects the current domain with the values in the array. <a href="classoperations__research_1_1IntVar.html#a10f9eba78d07596bd7f480fe834548c0">More...</a><br /></td></tr>
<tr class="separator:a10f9eba78d07596bd7f480fe834548c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e33a313eaf507bae0eb7068455a5bdc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a6e33a313eaf507bae0eb7068455a5bdc">WhenBound</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *d)=0</td></tr>
<tr class="memdesc:a6e33a313eaf507bae0eb7068455a5bdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method attaches a demon that will be awakened when the variable is bound. <a href="classoperations__research_1_1IntVar.html#a6e33a313eaf507bae0eb7068455a5bdc">More...</a><br /></td></tr>
<tr class="separator:a6e33a313eaf507bae0eb7068455a5bdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bd4b9edfecdf647038f030759e8da11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a4bd4b9edfecdf647038f030759e8da11">WhenBound</a> (<a class="el" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure)</td></tr>
<tr class="memdesc:a4bd4b9edfecdf647038f030759e8da11"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method attaches a closure that will be awakened when the variable is bound. <a href="classoperations__research_1_1IntVar.html#a4bd4b9edfecdf647038f030759e8da11">More...</a><br /></td></tr>
<tr class="separator:a4bd4b9edfecdf647038f030759e8da11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3293377cabb09f916c442de71de5910"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#ae3293377cabb09f916c442de71de5910">WhenBound</a> (<a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action)</td></tr>
<tr class="memdesc:ae3293377cabb09f916c442de71de5910"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method attaches an action that will be awakened when the variable is bound. <a href="classoperations__research_1_1IntVar.html#ae3293377cabb09f916c442de71de5910">More...</a><br /></td></tr>
<tr class="separator:ae3293377cabb09f916c442de71de5910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab36f6f122cb3e8554b160ba67608b1c0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#ab36f6f122cb3e8554b160ba67608b1c0">WhenDomain</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *d)=0</td></tr>
<tr class="memdesc:ab36f6f122cb3e8554b160ba67608b1c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method attaches a demon that will watch any domain modification of the domain of the variable. <a href="classoperations__research_1_1IntVar.html#ab36f6f122cb3e8554b160ba67608b1c0">More...</a><br /></td></tr>
<tr class="separator:ab36f6f122cb3e8554b160ba67608b1c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7777129f7b59f5d9dbeb043c6bf945dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a7777129f7b59f5d9dbeb043c6bf945dd">WhenDomain</a> (<a class="el" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure)</td></tr>
<tr class="memdesc:a7777129f7b59f5d9dbeb043c6bf945dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method attaches a closure that will watch any domain modification of the domain of the variable. <a href="classoperations__research_1_1IntVar.html#a7777129f7b59f5d9dbeb043c6bf945dd">More...</a><br /></td></tr>
<tr class="separator:a7777129f7b59f5d9dbeb043c6bf945dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a913821767956a457482c91f4bce6b99c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a913821767956a457482c91f4bce6b99c">WhenDomain</a> (<a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action)</td></tr>
<tr class="memdesc:a913821767956a457482c91f4bce6b99c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method attaches an action that will watch any domain modification of the domain of the variable. <a href="classoperations__research_1_1IntVar.html#a913821767956a457482c91f4bce6b99c">More...</a><br /></td></tr>
<tr class="separator:a913821767956a457482c91f4bce6b99c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accbd81450997e4b279396e56ab44c0b4"><td class="memItemLeft" align="right" valign="top">virtual uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#accbd81450997e4b279396e56ab44c0b4">Size</a> () const =0</td></tr>
<tr class="memdesc:accbd81450997e4b279396e56ab44c0b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method returns the number of values in the domain of the variable. <a href="classoperations__research_1_1IntVar.html#accbd81450997e4b279396e56ab44c0b4">More...</a><br /></td></tr>
<tr class="separator:accbd81450997e4b279396e56ab44c0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7005edfb93d09a9ca1ecb989a9bc6733"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a7005edfb93d09a9ca1ecb989a9bc6733">Contains</a> (int64 v) const =0</td></tr>
<tr class="memdesc:a7005edfb93d09a9ca1ecb989a9bc6733"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method returns whether the value 'v' is in the domain of the variable. <a href="classoperations__research_1_1IntVar.html#a7005edfb93d09a9ca1ecb989a9bc6733">More...</a><br /></td></tr>
<tr class="separator:a7005edfb93d09a9ca1ecb989a9bc6733"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dea39481c69d05140512d027b14bb59"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a7dea39481c69d05140512d027b14bb59">MakeHoleIterator</a> (bool reversible) const =0</td></tr>
<tr class="memdesc:a7dea39481c69d05140512d027b14bb59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a hole iterator. <a href="classoperations__research_1_1IntVar.html#a7dea39481c69d05140512d027b14bb59">More...</a><br /></td></tr>
<tr class="separator:a7dea39481c69d05140512d027b14bb59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa35bd07ac079ce1ff0812cdb3890e42"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#aaa35bd07ac079ce1ff0812cdb3890e42">MakeDomainIterator</a> (bool reversible) const =0</td></tr>
<tr class="memdesc:aaa35bd07ac079ce1ff0812cdb3890e42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a domain iterator. <a href="classoperations__research_1_1IntVar.html#aaa35bd07ac079ce1ff0812cdb3890e42">More...</a><br /></td></tr>
<tr class="separator:aaa35bd07ac079ce1ff0812cdb3890e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afffccc45eb12fbd186515ae7f2c2c317"><td class="memItemLeft" align="right" valign="top">virtual int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#afffccc45eb12fbd186515ae7f2c2c317">OldMin</a> () const =0</td></tr>
<tr class="memdesc:afffccc45eb12fbd186515ae7f2c2c317"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the previous min. <a href="classoperations__research_1_1IntVar.html#afffccc45eb12fbd186515ae7f2c2c317">More...</a><br /></td></tr>
<tr class="separator:afffccc45eb12fbd186515ae7f2c2c317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31aaa81745ee6fde6344e86d46cf421e"><td class="memItemLeft" align="right" valign="top">virtual int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a31aaa81745ee6fde6344e86d46cf421e">OldMax</a> () const =0</td></tr>
<tr class="memdesc:a31aaa81745ee6fde6344e86d46cf421e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the previous max. <a href="classoperations__research_1_1IntVar.html#a31aaa81745ee6fde6344e86d46cf421e">More...</a><br /></td></tr>
<tr class="separator:a31aaa81745ee6fde6344e86d46cf421e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8d85a8a6f3e8fbc31f291a4b809c8a2"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#ae8d85a8a6f3e8fbc31f291a4b809c8a2">VarType</a> () const</td></tr>
<tr class="separator:ae8d85a8a6f3e8fbc31f291a4b809c8a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa30c84aec5e60d6b74e1e1eb15011d4a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a> (<a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const visitor) const override</td></tr>
<tr class="memdesc:aa30c84aec5e60d6b74e1e1eb15011d4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts the given visitor. <a href="classoperations__research_1_1IntVar.html#aa30c84aec5e60d6b74e1e1eb15011d4a">More...</a><br /></td></tr>
<tr class="separator:aa30c84aec5e60d6b74e1e1eb15011d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8aecb44afb42a3938692c0dc37b68faa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a8aecb44afb42a3938692c0dc37b68faa">IsEqual</a> (int64 constant)=0</td></tr>
<tr class="memdesc:a8aecb44afb42a3938692c0dc37b68faa"><td class="mdescLeft">&#160;</td><td class="mdescRight">IsEqual. <a href="classoperations__research_1_1IntVar.html#a8aecb44afb42a3938692c0dc37b68faa">More...</a><br /></td></tr>
<tr class="separator:a8aecb44afb42a3938692c0dc37b68faa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a604693faa6e06ce7a5bfbacf9538b706"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#a604693faa6e06ce7a5bfbacf9538b706">IsDifferent</a> (int64 constant)=0</td></tr>
<tr class="separator:a604693faa6e06ce7a5bfbacf9538b706"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad13c9fa4966911ea9f218fff16fac826"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#ad13c9fa4966911ea9f218fff16fac826">IsGreaterOrEqual</a> (int64 constant)=0</td></tr>
<tr class="separator:ad13c9fa4966911ea9f218fff16fac826"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0f395e740238c2c35e46af1fa9309cb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#ab0f395e740238c2c35e46af1fa9309cb">IsLessOrEqual</a> (int64 constant)=0</td></tr>
<tr class="separator:ab0f395e740238c2c35e46af1fa9309cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acca41811e8aaab0112b987749c0ecb93"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVar.html#acca41811e8aaab0112b987749c0ecb93">index</a> () const</td></tr>
<tr class="memdesc:acca41811e8aaab0112b987749c0ecb93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the variable. <a href="classoperations__research_1_1IntVar.html#acca41811e8aaab0112b987749c0ecb93">More...</a><br /></td></tr>
<tr class="separator:acca41811e8aaab0112b987749c0ecb93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4a4f30badcd311075302a4efcfaee0a"><td class="memItemLeft" align="right" valign="top">virtual int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">Min</a> () const =0</td></tr>
<tr class="separator:ac4a4f30badcd311075302a4efcfaee0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a253ec9a9ed6b56ac4de714373ebf91f9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#a253ec9a9ed6b56ac4de714373ebf91f9">SetMin</a> (int64 m)=0</td></tr>
<tr class="separator:a253ec9a9ed6b56ac4de714373ebf91f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dc4d5cdc2ed0da18452a65c5bf69e0d"><td class="memItemLeft" align="right" valign="top">virtual int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">Max</a> () const =0</td></tr>
<tr class="separator:a6dc4d5cdc2ed0da18452a65c5bf69e0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0034062c82083a6c0af5aae1859ef66b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#a0034062c82083a6c0af5aae1859ef66b">SetMax</a> (int64 m)=0</td></tr>
<tr class="separator:a0034062c82083a6c0af5aae1859ef66b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37ccfed48c37d5ad26af5baaf775c390"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#a37ccfed48c37d5ad26af5baaf775c390">Range</a> (int64 *l, int64 *u)</td></tr>
<tr class="memdesc:a37ccfed48c37d5ad26af5baaf775c390"><td class="mdescLeft">&#160;</td><td class="mdescRight">By default calls <a class="el" href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">Min()</a> and <a class="el" href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">Max()</a>, but can be redefined when Min and Max code can be factorized. <a href="classoperations__research_1_1IntExpr.html#a37ccfed48c37d5ad26af5baaf775c390">More...</a><br /></td></tr>
<tr class="separator:a37ccfed48c37d5ad26af5baaf775c390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a137deeb8781c0c7aa24bfa99c85bd01d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#a137deeb8781c0c7aa24bfa99c85bd01d">SetRange</a> (int64 l, int64 u)</td></tr>
<tr class="memdesc:a137deeb8781c0c7aa24bfa99c85bd01d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method sets both the min and the max of the expression. <a href="classoperations__research_1_1IntExpr.html#a137deeb8781c0c7aa24bfa99c85bd01d">More...</a><br /></td></tr>
<tr class="separator:a137deeb8781c0c7aa24bfa99c85bd01d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a1e45676556681a2aaff82125991f16"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#a1a1e45676556681a2aaff82125991f16">SetValue</a> (int64 v)</td></tr>
<tr class="memdesc:a1a1e45676556681a2aaff82125991f16"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method sets the value of the expression. <a href="classoperations__research_1_1IntExpr.html#a1a1e45676556681a2aaff82125991f16">More...</a><br /></td></tr>
<tr class="separator:a1a1e45676556681a2aaff82125991f16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d04569b37cb7fe6ed0956ab71e08bc9"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#a1d04569b37cb7fe6ed0956ab71e08bc9">Bound</a> () const</td></tr>
<tr class="memdesc:a1d04569b37cb7fe6ed0956ab71e08bc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the min and the max of the expression are equal. <a href="classoperations__research_1_1IntExpr.html#a1d04569b37cb7fe6ed0956ab71e08bc9">More...</a><br /></td></tr>
<tr class="separator:a1d04569b37cb7fe6ed0956ab71e08bc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e28d548b760d7569b22bd316624af98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#a2e28d548b760d7569b22bd316624af98">VarWithName</a> (const std::string &amp;<a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>)</td></tr>
<tr class="memdesc:a2e28d548b760d7569b22bd316624af98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a variable from the expression and set the name of the resulting var. <a href="classoperations__research_1_1IntExpr.html#a2e28d548b760d7569b22bd316624af98">More...</a><br /></td></tr>
<tr class="separator:a2e28d548b760d7569b22bd316624af98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af13b2ea301c6800bb6d43bd70716bf6d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#af13b2ea301c6800bb6d43bd70716bf6d">WhenRange</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *d)=0</td></tr>
<tr class="memdesc:af13b2ea301c6800bb6d43bd70716bf6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach a demon that will watch the min or the max of the expression. <a href="classoperations__research_1_1IntExpr.html#af13b2ea301c6800bb6d43bd70716bf6d">More...</a><br /></td></tr>
<tr class="separator:af13b2ea301c6800bb6d43bd70716bf6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b5304838bbd2834ba9f7b38db07996f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#a0b5304838bbd2834ba9f7b38db07996f">WhenRange</a> (<a class="el" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure)</td></tr>
<tr class="memdesc:a0b5304838bbd2834ba9f7b38db07996f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach a demon that will watch the min or the max of the expression. <a href="classoperations__research_1_1IntExpr.html#a0b5304838bbd2834ba9f7b38db07996f">More...</a><br /></td></tr>
<tr class="separator:a0b5304838bbd2834ba9f7b38db07996f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af460f815f9770713347d6609456c9508"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntExpr.html#af460f815f9770713347d6609456c9508">WhenRange</a> (<a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action)</td></tr>
<tr class="memdesc:af460f815f9770713347d6609456c9508"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach a demon that will watch the min or the max of the expression. <a href="classoperations__research_1_1IntExpr.html#af460f815f9770713347d6609456c9508">More...</a><br /></td></tr>
<tr class="separator:af460f815f9770713347d6609456c9508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed804747c45a7e1caf81461f9e45dd91"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a> () const override</td></tr>
<tr class="separator:aed804747c45a7e1caf81461f9e45dd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f32c22c620c811754ba7b6f977db864"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a> () const</td></tr>
<tr class="separator:a5f32c22c620c811754ba7b6f977db864"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5155ff01cf80f5a478fd09916abab155"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5155ff01cf80f5a478fd09916abab155">FreezeQueue</a> ()</td></tr>
<tr class="memdesc:a5155ff01cf80f5a478fd09916abab155"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method freezes the propagation queue. <a href="classoperations__research_1_1PropagationBaseObject.html#a5155ff01cf80f5a478fd09916abab155">More...</a><br /></td></tr>
<tr class="separator:a5155ff01cf80f5a478fd09916abab155"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae038f4a9249362629fc47e8dfc441ec7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ae038f4a9249362629fc47e8dfc441ec7">UnfreezeQueue</a> ()</td></tr>
<tr class="memdesc:ae038f4a9249362629fc47e8dfc441ec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method unfreezes the propagation queue. <a href="classoperations__research_1_1PropagationBaseObject.html#ae038f4a9249362629fc47e8dfc441ec7">More...</a><br /></td></tr>
<tr class="separator:ae038f4a9249362629fc47e8dfc441ec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a173cbf153462b14f9b57362d2c45638a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a173cbf153462b14f9b57362d2c45638a">EnqueueDelayedDemon</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const d)</td></tr>
<tr class="memdesc:a173cbf153462b14f9b57362d2c45638a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method pushes the demon onto the propagation queue. <a href="classoperations__research_1_1PropagationBaseObject.html#a173cbf153462b14f9b57362d2c45638a">More...</a><br /></td></tr>
<tr class="separator:a173cbf153462b14f9b57362d2c45638a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a448b9bde901fcf3ec2e94ab972b083f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a448b9bde901fcf3ec2e94ab972b083f0">EnqueueVar</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const d)</td></tr>
<tr class="separator:a448b9bde901fcf3ec2e94ab972b083f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d3bd9d99cf43cf184a1246d2c278c31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a3d3bd9d99cf43cf184a1246d2c278c31">ExecuteAll</a> (const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>&lt; <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * &gt; &amp;demons)</td></tr>
<tr class="separator:a3d3bd9d99cf43cf184a1246d2c278c31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a5ad1a2482043e4a9d2c19bbab1e250"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5a5ad1a2482043e4a9d2c19bbab1e250">EnqueueAll</a> (const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>&lt; <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * &gt; &amp;demons)</td></tr>
<tr class="separator:a5a5ad1a2482043e4a9d2c19bbab1e250"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ae4667b0e7a9e6c63c91202480c8876"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a3ae4667b0e7a9e6c63c91202480c8876">set_action_on_fail</a> (<a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> a)</td></tr>
<tr class="separator:a3ae4667b0e7a9e6c63c91202480c8876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26d87b428f06d54a1a44d6e950a0e196"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a26d87b428f06d54a1a44d6e950a0e196">reset_action_on_fail</a> ()</td></tr>
<tr class="memdesc:a26d87b428f06d54a1a44d6e950a0e196"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method clears the failure callback. <a href="classoperations__research_1_1PropagationBaseObject.html#a26d87b428f06d54a1a44d6e950a0e196">More...</a><br /></td></tr>
<tr class="separator:a26d87b428f06d54a1a44d6e950a0e196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa799a452245f03cc53355e6432c107a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#aa799a452245f03cc53355e6432c107a7">set_variable_to_clean_on_fail</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *v)</td></tr>
<tr class="memdesc:aa799a452245f03cc53355e6432c107a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shortcut for variable cleaner. <a href="classoperations__research_1_1PropagationBaseObject.html#aa799a452245f03cc53355e6432c107a7">More...</a><br /></td></tr>
<tr class="separator:aa799a452245f03cc53355e6432c107a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a119daa8b83c3aaffdb6e11fac1f97e"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a> () const</td></tr>
<tr class="memdesc:a6a119daa8b83c3aaffdb6e11fac1f97e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object naming. <a href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">More...</a><br /></td></tr>
<tr class="separator:a6a119daa8b83c3aaffdb6e11fac1f97e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5260b9627048b854b45d05ed34adc22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ad5260b9627048b854b45d05ed34adc22">set_name</a> (const std::string &amp;<a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>)</td></tr>
<tr class="separator:ad5260b9627048b854b45d05ed34adc22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31eda3918c04e32fa9e8c432d72b2d60"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a31eda3918c04e32fa9e8c432d72b2d60">HasName</a> () const</td></tr>
<tr class="memdesc:a31eda3918c04e32fa9e8c432d72b2d60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the object has been named or not. <a href="classoperations__research_1_1PropagationBaseObject.html#a31eda3918c04e32fa9e8c432d72b2d60">More...</a><br /></td></tr>
<tr class="separator:a31eda3918c04e32fa9e8c432d72b2d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09cbe240b742fbdcf4d3c70d19c2ed10"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a09cbe240b742fbdcf4d3c70d19c2ed10">BaseName</a> () const</td></tr>
<tr class="memdesc:a09cbe240b742fbdcf4d3c70d19c2ed10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a base name for automatic naming. <a href="classoperations__research_1_1PropagationBaseObject.html#a09cbe240b742fbdcf4d3c70d19c2ed10">More...</a><br /></td></tr>
<tr class="separator:a09cbe240b742fbdcf4d3c70d19c2ed10"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6c325613bf5172c0cc1162ec8579eca2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c325613bf5172c0cc1162ec8579eca2">&#9670;&nbsp;</a></span>IntVar() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab5ceedd975b9299c4b66558e207a36c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5ceedd975b9299c4b66558e207a36c1">&#9670;&nbsp;</a></span>IntVar() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a68b27e4c46794ff800c17f7b9760adba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68b27e4c46794ff800c17f7b9760adba">&#9670;&nbsp;</a></span>~IntVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">~<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03953">3953</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa30c84aec5e60d6b74e1e1eb15011d4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa30c84aec5e60d6b74e1e1eb15011d4a">&#9670;&nbsp;</a></span>Accept()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Accept </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const&#160;</td>
<td class="paramname"><em>visitor</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Accepts the given visitor. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1IntExpr.html#afcde421cf076575a27bed81c80093ac8">IntExpr</a>.</p>
</div>
</div>
<a id="a09cbe240b742fbdcf4d3c70d19c2ed10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09cbe240b742fbdcf4d3c70d19c2ed10">&#9670;&nbsp;</a></span>BaseName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::string BaseName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a base name for automatic naming. </p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#adbfe3c73b9cad61f112ccb082b553c51">BooleanVar</a>.</p>
</div>
</div>
<a id="a1d04569b37cb7fe6ed0956ab71e08bc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d04569b37cb7fe6ed0956ab71e08bc9">&#9670;&nbsp;</a></span>Bound()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Bound </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the min and the max of the expression are equal. </p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a303c8b67c301d6d436bd06e50d41cd6b">BooleanVar</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03814">3814</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a7005edfb93d09a9ca1ecb989a9bc6733"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7005edfb93d09a9ca1ecb989a9bc6733">&#9670;&nbsp;</a></span>Contains()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Contains </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method returns whether the value 'v' is in the domain of the variable. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a494524783057e396790259ea0758a572">BooleanVar</a>.</p>
</div>
</div>
<a id="aed804747c45a7e1caf81461f9e45dd91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed804747c45a7e1caf81461f9e45dd91">&#9670;&nbsp;</a></span>DebugString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string DebugString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classoperations__research_1_1BaseObject.html#a8eba5d533fa9df4617c1868d3ec2afc4">BaseObject</a>.</p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1Pack.html#aed804747c45a7e1caf81461f9e45dd91">Pack</a>, <a class="el" href="classoperations__research_1_1Assignment.html#aed804747c45a7e1caf81461f9e45dd91">Assignment</a>, <a class="el" href="classoperations__research_1_1SequenceVar.html#aed804747c45a7e1caf81461f9e45dd91">SequenceVar</a>, <a class="el" href="classoperations__research_1_1Constraint.html#aed804747c45a7e1caf81461f9e45dd91">Constraint</a>, <a class="el" href="classoperations__research_1_1BooleanVar.html#aed804747c45a7e1caf81461f9e45dd91">BooleanVar</a>, and <a class="el" href="classoperations__research_1_1GlobalVehicleBreaksConstraint.html#aed804747c45a7e1caf81461f9e45dd91">GlobalVehicleBreaksConstraint</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03124">3124</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a5a5ad1a2482043e4a9d2c19bbab1e250"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a5ad1a2482043e4a9d2c19bbab1e250">&#9670;&nbsp;</a></span>EnqueueAll()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void EnqueueAll </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>&lt; <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>demons</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a173cbf153462b14f9b57362d2c45638a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a173cbf153462b14f9b57362d2c45638a">&#9670;&nbsp;</a></span>EnqueueDelayedDemon()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void EnqueueDelayedDemon </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method pushes the demon onto the propagation queue. </p>
<p>It will be processed directly if the queue is empty. It will be enqueued according to its priority otherwise. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03144">3144</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a448b9bde901fcf3ec2e94ab972b083f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a448b9bde901fcf3ec2e94ab972b083f0">&#9670;&nbsp;</a></span>EnqueueVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void EnqueueVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03145">3145</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a3d3bd9d99cf43cf184a1246d2c278c31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d3bd9d99cf43cf184a1246d2c278c31">&#9670;&nbsp;</a></span>ExecuteAll()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ExecuteAll </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>&lt; <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>demons</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5155ff01cf80f5a478fd09916abab155"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5155ff01cf80f5a478fd09916abab155">&#9670;&nbsp;</a></span>FreezeQueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void FreezeQueue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method freezes the propagation queue. </p>
<p>It is useful when you need to apply multiple modifications at once. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03135">3135</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a31eda3918c04e32fa9e8c432d72b2d60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31eda3918c04e32fa9e8c432d72b2d60">&#9670;&nbsp;</a></span>HasName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool HasName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether the object has been named or not. </p>
</div>
</div>
<a id="acca41811e8aaab0112b987749c0ecb93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acca41811e8aaab0112b987749c0ecb93">&#9670;&nbsp;</a></span>index()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int index </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the variable. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04043">4043</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a604693faa6e06ce7a5bfbacf9538b706"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a604693faa6e06ce7a5bfbacf9538b706">&#9670;&nbsp;</a></span>IsDifferent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* IsDifferent </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>constant</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#ad87534052c4433fa0227c7b5cd8e3aed">BooleanVar</a>.</p>
</div>
</div>
<a id="a8aecb44afb42a3938692c0dc37b68faa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8aecb44afb42a3938692c0dc37b68faa">&#9670;&nbsp;</a></span>IsEqual()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* IsEqual </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>constant</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>IsEqual. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#aa9b39e86814fa1bca1763f65ec02f5cb">BooleanVar</a>.</p>
</div>
</div>
<a id="ad13c9fa4966911ea9f218fff16fac826"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad13c9fa4966911ea9f218fff16fac826">&#9670;&nbsp;</a></span>IsGreaterOrEqual()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* IsGreaterOrEqual </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>constant</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a092b50c7ef16418bc3ccb1e887909ff8">BooleanVar</a>.</p>
</div>
</div>
<a id="ab0f395e740238c2c35e46af1fa9309cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0f395e740238c2c35e46af1fa9309cb">&#9670;&nbsp;</a></span>IsLessOrEqual()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* IsLessOrEqual </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>constant</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a245299f2a8af0c50699884c7af781ab0">BooleanVar</a>.</p>
</div>
</div>
<a id="af5d847a82550308399c315915ef8408f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5d847a82550308399c315915ef8408f">&#9670;&nbsp;</a></span>IsVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsVar </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the expression is indeed a variable. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1IntExpr.html#a2e9b93ea445f156328eaa782adf7cb8b">IntExpr</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03955">3955</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="aaa35bd07ac079ce1ff0812cdb3890e42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa35bd07ac079ce1ff0812cdb3890e42">&#9670;&nbsp;</a></span>MakeDomainIterator()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a>* MakeDomainIterator </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>reversible</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a domain iterator. </p>
<p>When 'reversible' is false, the returned object is created on the normal C++ heap and the solver does NOT take ownership of the object. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#aee05ad8a7a9613f9282d78f76a28d5d7">BooleanVar</a>.</p>
</div>
</div>
<a id="a7dea39481c69d05140512d027b14bb59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7dea39481c69d05140512d027b14bb59">&#9670;&nbsp;</a></span>MakeHoleIterator()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a>* MakeHoleIterator </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>reversible</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a hole iterator. </p>
<p>When 'reversible' is false, the returned object is created on the normal C++ heap and the solver does NOT take ownership of the object. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a20bf9afc3df7e1a1c8484c0e26567fd6">BooleanVar</a>.</p>
</div>
</div>
<a id="a6dc4d5cdc2ed0da18452a65c5bf69e0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dc4d5cdc2ed0da18452a65c5bf69e0d">&#9670;&nbsp;</a></span>Max()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int64 Max </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#aef31aec3dd445e21c9c17af4e907ea54">BooleanVar</a>.</p>
</div>
</div>
<a id="ac4a4f30badcd311075302a4efcfaee0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4a4f30badcd311075302a4efcfaee0a">&#9670;&nbsp;</a></span>Min()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int64 Min </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a94c48877d8d1cf2b90701343c4660112">BooleanVar</a>.</p>
</div>
</div>
<a id="a6a119daa8b83c3aaffdb6e11fac1f97e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a119daa8b83c3aaffdb6e11fac1f97e">&#9670;&nbsp;</a></span>name()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::string name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Object naming. </p>
</div>
</div>
<a id="a31aaa81745ee6fde6344e86d46cf421e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31aaa81745ee6fde6344e86d46cf421e">&#9670;&nbsp;</a></span>OldMax()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int64 OldMax </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the previous max. </p>
</div>
</div>
<a id="afffccc45eb12fbd186515ae7f2c2c317"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afffccc45eb12fbd186515ae7f2c2c317">&#9670;&nbsp;</a></span>OldMin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int64 OldMin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the previous min. </p>
</div>
</div>
<a id="a37ccfed48c37d5ad26af5baaf775c390"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37ccfed48c37d5ad26af5baaf775c390">&#9670;&nbsp;</a></span>Range()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Range </td>
<td>(</td>
<td class="paramtype">int64 *&#160;</td>
<td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64 *&#160;</td>
<td class="paramname"><em>u</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>By default calls <a class="el" href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">Min()</a> and <a class="el" href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">Max()</a>, but can be redefined when Min and Max code can be factorized. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03800">3800</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ac9c44a01c67838a8ad68d74c3d87299b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9c44a01c67838a8ad68d74c3d87299b">&#9670;&nbsp;</a></span>RemoveInterval()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void RemoveInterval </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>u</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method removes the interval 'l' . </p>
<p>. 'u' from the domain of the variable. It assumes that 'l' &lt;= 'u'. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a1b78055ab0a6c85164f57e4268965eda">BooleanVar</a>.</p>
</div>
</div>
<a id="a5b06ebd6d5afd41f685a81fedb97a425"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b06ebd6d5afd41f685a81fedb97a425">&#9670;&nbsp;</a></span>RemoveValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void RemoveValue </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method removes the value 'v' from the domain of the variable. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#ab5cdbd28861473d6d91fca5daf897c25">BooleanVar</a>.</p>
</div>
</div>
<a id="a7521fa32d6f8f06cbe569897e59e19cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7521fa32d6f8f06cbe569897e59e19cd">&#9670;&nbsp;</a></span>RemoveValues()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void RemoveValues </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int64 &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method remove the values from the domain of the variable. </p>
</div>
</div>
<a id="a26d87b428f06d54a1a44d6e950a0e196"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26d87b428f06d54a1a44d6e950a0e196">&#9670;&nbsp;</a></span>reset_action_on_fail()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void reset_action_on_fail </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method clears the failure callback. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03158">3158</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a3ae4667b0e7a9e6c63c91202480c8876"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ae4667b0e7a9e6c63c91202480c8876">&#9670;&nbsp;</a></span>set_action_on_fail()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void set_action_on_fail </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a>&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03152">3152</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ad5260b9627048b854b45d05ed34adc22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5260b9627048b854b45d05ed34adc22">&#9670;&nbsp;</a></span>set_name()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void set_name </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa799a452245f03cc53355e6432c107a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa799a452245f03cc53355e6432c107a7">&#9670;&nbsp;</a></span>set_variable_to_clean_on_fail()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void set_variable_to_clean_on_fail </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Shortcut for variable cleaner. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03161">3161</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a0034062c82083a6c0af5aae1859ef66b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0034062c82083a6c0af5aae1859ef66b">&#9670;&nbsp;</a></span>SetMax()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void SetMax </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>m</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a317c32d3abd0b61376e319d1597ba2fa">BooleanVar</a>.</p>
</div>
</div>
<a id="a253ec9a9ed6b56ac4de714373ebf91f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a253ec9a9ed6b56ac4de714373ebf91f9">&#9670;&nbsp;</a></span>SetMin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void SetMin </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>m</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#ada4fcd5422c5fca5f165fc108b9613d9">BooleanVar</a>.</p>
</div>
</div>
<a id="a137deeb8781c0c7aa24bfa99c85bd01d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a137deeb8781c0c7aa24bfa99c85bd01d">&#9670;&nbsp;</a></span>SetRange()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void SetRange </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>u</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method sets both the min and the max of the expression. </p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a982fd365b4c61107855a3319e0991f21">BooleanVar</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03805">3805</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a1a1e45676556681a2aaff82125991f16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a1e45676556681a2aaff82125991f16">&#9670;&nbsp;</a></span>SetValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void SetValue </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method sets the value of the expression. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03811">3811</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a10f9eba78d07596bd7f480fe834548c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10f9eba78d07596bd7f480fe834548c0">&#9670;&nbsp;</a></span>SetValues()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void SetValues </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int64 &gt; &amp;&#160;</td>
<td class="paramname"><em>values</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method intersects the current domain with the values in the array. </p>
</div>
</div>
<a id="accbd81450997e4b279396e56ab44c0b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accbd81450997e4b279396e56ab44c0b4">&#9670;&nbsp;</a></span>Size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual uint64 Size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method returns the number of values in the domain of the variable. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#aefbda701e490cd2b4955c6120c2949a9">BooleanVar</a>.</p>
</div>
</div>
<a id="a5f32c22c620c811754ba7b6f977db864"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f32c22c620c811754ba7b6f977db864">&#9670;&nbsp;</a></span>solver()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a>* solver </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03131">3131</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ae038f4a9249362629fc47e8dfc441ec7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae038f4a9249362629fc47e8dfc441ec7">&#9670;&nbsp;</a></span>UnfreezeQueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void UnfreezeQueue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method unfreezes the propagation queue. </p>
<p>All modifications that happened when the queue was frozen will be processed. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03139">3139</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ac067bc2252cc65b1eb004d5285e5fdb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac067bc2252cc65b1eb004d5285e5fdb2">&#9670;&nbsp;</a></span>Value()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int64 Value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method returns the value of the variable. </p>
<p>This method checks before that the variable is bound. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a5cf17bb88d2b4437d87345b1597e48eb">BooleanVar</a>.</p>
</div>
</div>
<a id="a36d71f28bff7448b6490fe4720ab2fe0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36d71f28bff7448b6490fe4720ab2fe0">&#9670;&nbsp;</a></span>Var()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* Var </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a variable from the expression. </p>
<p>Implements <a class="el" href="classoperations__research_1_1IntExpr.html#a07173db6ca3b22fdb35ad963831a962b">IntExpr</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03956">3956</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ae8d85a8a6f3e8fbc31f291a4b809c8a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8d85a8a6f3e8fbc31f291a4b809c8a2">&#9670;&nbsp;</a></span>VarType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int VarType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a0572abaa4524f2abfa7634123da83584">BooleanVar</a>.</p>
</div>
</div>
<a id="a2e28d548b760d7569b22bd316624af98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e28d548b760d7569b22bd316624af98">&#9670;&nbsp;</a></span>VarWithName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* VarWithName </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a variable from the expression and set the name of the resulting var. </p>
<p>If the expression is already a variable, then it will set the name of the expression, possibly overwriting it. This is just a shortcut to <a class="el" href="classoperations__research_1_1IntVar.html#a36d71f28bff7448b6490fe4720ab2fe0" title="Creates a variable from the expression.">Var()</a> followed by <a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ad5260b9627048b854b45d05ed34adc22">set_name()</a>. </p>
</div>
</div>
<a id="a6e33a313eaf507bae0eb7068455a5bdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e33a313eaf507bae0eb7068455a5bdc">&#9670;&nbsp;</a></span>WhenBound() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void WhenBound </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method attaches a demon that will be awakened when the variable is bound. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a36e70c572bdec688f16496ea06c39ee5">BooleanVar</a>.</p>
</div>
</div>
<a id="ae3293377cabb09f916c442de71de5910"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3293377cabb09f916c442de71de5910">&#9670;&nbsp;</a></span>WhenBound() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void WhenBound </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a>&#160;</td>
<td class="paramname"><em>action</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method attaches an action that will be awakened when the variable is bound. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03987">3987</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a4bd4b9edfecdf647038f030759e8da11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bd4b9edfecdf647038f030759e8da11">&#9670;&nbsp;</a></span>WhenBound() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void WhenBound </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a>&#160;</td>
<td class="paramname"><em>closure</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method attaches a closure that will be awakened when the variable is bound. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03980">3980</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ab36f6f122cb3e8554b160ba67608b1c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab36f6f122cb3e8554b160ba67608b1c0">&#9670;&nbsp;</a></span>WhenDomain() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void WhenDomain </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method attaches a demon that will watch any domain modification of the domain of the variable. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a5d794218448e5119fe2034719dc55c6f">BooleanVar</a>.</p>
</div>
</div>
<a id="a913821767956a457482c91f4bce6b99c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a913821767956a457482c91f4bce6b99c">&#9670;&nbsp;</a></span>WhenDomain() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void WhenDomain </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a>&#160;</td>
<td class="paramname"><em>action</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method attaches an action that will watch any domain modification of the domain of the variable. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04003">4003</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a7777129f7b59f5d9dbeb043c6bf945dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7777129f7b59f5d9dbeb043c6bf945dd">&#9670;&nbsp;</a></span>WhenDomain() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void WhenDomain </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a>&#160;</td>
<td class="paramname"><em>closure</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method attaches a closure that will watch any domain modification of the domain of the variable. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03997">3997</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="af13b2ea301c6800bb6d43bd70716bf6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af13b2ea301c6800bb6d43bd70716bf6d">&#9670;&nbsp;</a></span>WhenRange() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void WhenRange </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attach a demon that will watch the min or the max of the expression. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#a4aa5eab0485ae0ec6eac0a81e5d5b9bd">BooleanVar</a>.</p>
</div>
</div>
<a id="af460f815f9770713347d6609456c9508"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af460f815f9770713347d6609456c9508">&#9670;&nbsp;</a></span>WhenRange() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void WhenRange </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a>&#160;</td>
<td class="paramname"><em>action</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attach a demon that will watch the min or the max of the expression. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03837">3837</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a0b5304838bbd2834ba9f7b38db07996f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b5304838bbd2834ba9f7b38db07996f">&#9670;&nbsp;</a></span>WhenRange() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void WhenRange </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a>&#160;</td>
<td class="paramname"><em>closure</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attach a demon that will watch the min or the max of the expression. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03831">3831</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a></li>
</ul>
</div><!-- contents -->
</div>
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>