Files
ortools-clone/docs/cpp_routing/constraint__solveri_8h.html
2019-06-20 23:08:48 +02:00

423 lines
60 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">OR-Tools 7.1@</span>
</div>
</div>
<div id="content">
<!-- Generated by Doxygen 1.8.15 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a7cc1eeded8f693d0da6c729bc88c45a.html">ortools</a></li><li class="navelem"><a class="el" href="dir_afbb39f66221aac28bbdefd1dca2b2b0.html">constraint_solver</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">constraint_solveri.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;algorithm&gt;</code><br />
<code>#include &lt;cmath&gt;</code><br />
<code>#include &lt;cstddef&gt;</code><br />
<code>#include &lt;functional&gt;</code><br />
<code>#include &lt;memory&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &quot;absl/container/flat_hash_map.h&quot;</code><br />
<code>#include &quot;absl/strings/str_cat.h&quot;</code><br />
<code>#include &quot;absl/strings/str_format.h&quot;</code><br />
<code>#include &quot;absl/strings/str_join.h&quot;</code><br />
<code>#include &quot;ortools/base/commandlineflags.h&quot;</code><br />
<code>#include &quot;ortools/base/hash.h&quot;</code><br />
<code>#include &quot;ortools/base/integral_types.h&quot;</code><br />
<code>#include &quot;ortools/base/logging.h&quot;</code><br />
<code>#include &quot;ortools/base/map_util.h&quot;</code><br />
<code>#include &quot;ortools/base/sysinfo.h&quot;</code><br />
<code>#include &quot;ortools/base/timer.h&quot;</code><br />
<code>#include &quot;<a class="el" href="constraint__solver_8h_source.html">ortools/constraint_solver/constraint_solver.h</a>&quot;</code><br />
<code>#include &quot;ortools/util/bitset.h&quot;</code><br />
<code>#include &quot;ortools/util/tuple_set.h&quot;</code><br />
<code>#include &quot;ortools/util/vector_map.h&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for constraint_solveri.h:</div>
<div class="dyncontent">
<div class="center"><img src="constraint__solveri_8h__incl.png" border="0" usemap="#constraint__solveri_8h" alt=""/></div>
<map name="constraint__solveri_8h" id="constraint__solveri_8h">
<area shape="rect" title=" " alt="" coords="1486,5,1622,31"/>
<area shape="rect" title=" " alt="" coords="5,172,82,197"/>
<area shape="rect" title=" " alt="" coords="2707,85,2764,111"/>
<area shape="rect" title=" " alt="" coords="2789,85,2853,111"/>
<area shape="rect" title=" " alt="" coords="106,172,184,197"/>
<area shape="rect" title=" " alt="" coords="207,172,277,197"/>
<area shape="rect" title=" " alt="" coords="300,172,354,197"/>
<area shape="rect" title=" " alt="" coords="379,172,436,197"/>
<area shape="rect" title=" " alt="" coords="460,165,586,204"/>
<area shape="rect" title=" " alt="" coords="2877,85,3021,111"/>
<area shape="rect" title=" " alt="" coords="611,172,775,197"/>
<area shape="rect" title=" " alt="" coords="3045,85,3191,111"/>
<area shape="rect" title=" " alt="" coords="798,172,1014,197"/>
<area shape="rect" title=" " alt="" coords="1039,172,1176,197"/>
<area shape="rect" title=" " alt="" coords="1201,165,1342,204"/>
<area shape="rect" title=" " alt="" coords="1366,172,1518,197"/>
<area shape="rect" title=" " alt="" coords="1542,172,1702,197"/>
<area shape="rect" title=" " alt="" coords="1726,172,1876,197"/>
<area shape="rect" title=" " alt="" coords="1900,172,2038,197"/>
<area shape="rect" href="constraint__solver_8h.html" title=" " alt="" coords="2402,79,2581,117"/>
<area shape="rect" title=" " alt="" coords="5315,172,5444,197"/>
<area shape="rect" title=" " alt="" coords="5467,165,5582,204"/>
<area shape="rect" title=" " alt="" coords="3216,79,3338,117"/>
<area shape="rect" title=" " alt="" coords="2382,172,2441,197"/>
<area shape="rect" title=" " alt="" coords="2466,172,2517,197"/>
<area shape="rect" title=" " alt="" coords="2542,165,2668,204"/>
<area shape="rect" title=" " alt="" coords="2691,172,2798,197"/>
<area shape="rect" title=" " alt="" coords="2823,172,2875,197"/>
<area shape="rect" title=" " alt="" coords="2899,172,3071,197"/>
<area shape="rect" title=" " alt="" coords="3095,172,3155,197"/>
<area shape="rect" title=" " alt="" coords="3179,172,3252,197"/>
<area shape="rect" title=" " alt="" coords="3275,172,3340,197"/>
<area shape="rect" title=" " alt="" coords="3363,172,3468,197"/>
<area shape="rect" title=" " alt="" coords="3491,172,3644,197"/>
<area shape="rect" title=" " alt="" coords="3667,172,3726,197"/>
<area shape="rect" title=" " alt="" coords="3750,172,3904,197"/>
<area shape="rect" title=" " alt="" coords="3929,172,3995,197"/>
<area shape="rect" title=" " alt="" coords="4019,172,4139,197"/>
<area shape="rect" title=" " alt="" coords="4163,172,4278,197"/>
<area shape="rect" title=" " alt="" coords="4302,165,4510,204"/>
<area shape="rect" title=" " alt="" coords="4534,165,4678,204"/>
<area shape="rect" title=" " alt="" coords="4702,165,4843,204"/>
<area shape="rect" title=" " alt="" coords="4868,172,4992,197"/>
<area shape="rect" title=" " alt="" coords="5016,172,5081,197"/>
<area shape="rect" title=" " alt="" coords="5105,165,5228,204"/>
<area shape="rect" title=" " alt="" coords="5252,172,5291,197"/>
<area shape="rect" title=" " alt="" coords="2062,165,2209,204"/>
<area shape="rect" title=" " alt="" coords="2233,172,2358,197"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="constraint__solveri_8h__dep__incl.png" border="0" usemap="#constraint__solveri_8hdep" alt=""/></div>
<map name="constraint__solveri_8hdep" id="constraint__solveri_8hdep">
<area shape="rect" title=" " alt="" coords="90,5,227,31"/>
<area shape="rect" href="routing_8h.html" title=" " alt="" coords="50,79,123,104"/>
<area shape="rect" href="routing__neighborhoods_8h.html" title=" " alt="" coords="147,79,316,104"/>
<area shape="rect" href="routing__lp__scheduling_8h.html" title=" " alt="" coords="5,152,168,177"/>
</map>
</div>
</div>
<p><a href="constraint__solveri_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1BaseIntExpr.html">operations_research::BaseIntExpr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is the base class for all expressions that are not variables. <a href="classoperations__research_1_1BaseIntExpr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">operations_research::SimpleRevFIFO&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; utility classes --&mdash; <a href="classoperations__research_1_1SimpleRevFIFO.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html">operations_research::SimpleRevFIFO&lt; T &gt;::Iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This iterator is not stable with respect to deletion. <a href="classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RevImmutableMultiMap.html">operations_research::RevImmutableMultiMap&lt; K, V &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Immutable Multi Map --&mdash; <a href="classoperations__research_1_1RevImmutableMultiMap.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RevSwitch.html">operations_research::RevSwitch</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A reversible switch that can switch once from false to true. <a href="classoperations__research_1_1RevSwitch.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SmallRevBitSet.html">operations_research::SmallRevBitSet</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class represents a small reversible bitset (size &lt;= 64). <a href="classoperations__research_1_1SmallRevBitSet.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RevBitSet.html">operations_research::RevBitSet</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class represents a reversible bitset. <a href="classoperations__research_1_1RevBitSet.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RevBitMatrix.html">operations_research::RevBitMatrix</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix version of the <a class="el" href="classoperations__research_1_1RevBitSet.html" title="This class represents a reversible bitset.">RevBitSet</a> class. <a href="classoperations__research_1_1RevBitMatrix.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1CallMethod0.html">operations_research::CallMethod0&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1Demon.html" title="A Demon is the base element of a propagation queue.">Demon</a> proxy to a method on the constraint with no arguments. <a href="classoperations__research_1_1CallMethod0.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1CallMethod1.html">operations_research::CallMethod1&lt; T, P &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1Demon.html" title="A Demon is the base element of a propagation queue.">Demon</a> proxy to a method on the constraint with one argument. <a href="classoperations__research_1_1CallMethod1.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1CallMethod2.html">operations_research::CallMethod2&lt; T, P, Q &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1Demon.html" title="A Demon is the base element of a propagation queue.">Demon</a> proxy to a method on the constraint with two arguments. <a href="classoperations__research_1_1CallMethod2.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1CallMethod3.html">operations_research::CallMethod3&lt; T, P, Q, R &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1Demon.html" title="A Demon is the base element of a propagation queue.">Demon</a> proxy to a method on the constraint with three arguments. <a href="classoperations__research_1_1CallMethod3.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1DelayedCallMethod0.html">operations_research::DelayedCallMethod0&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Low-priority demon proxy to a method on the constraint with no arguments. <a href="classoperations__research_1_1DelayedCallMethod0.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1DelayedCallMethod1.html">operations_research::DelayedCallMethod1&lt; T, P &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Low-priority demon proxy to a method on the constraint with one argument. <a href="classoperations__research_1_1DelayedCallMethod1.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1DelayedCallMethod2.html">operations_research::DelayedCallMethod2&lt; T, P, Q &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Low-priority demon proxy to a method on the constraint with two arguments. <a href="classoperations__research_1_1DelayedCallMethod2.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalSearchOperator.html">operations_research::LocalSearchOperator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">-------&mdash; Local search operators -------&mdash; <a href="classoperations__research_1_1LocalSearchOperator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator&lt; V, Val, Handler &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Base operator class for operators manipulating variables --&mdash; <a href="classoperations__research_1_1VarLocalSearchOperator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">operations_research::IntVarLocalSearchHandler</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Base operator class for operators manipulating IntVars --&mdash; <a href="classoperations__research_1_1IntVarLocalSearchHandler.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html">operations_research::IntVarLocalSearchOperator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="classoperations__research_1_1LocalSearchOperator.html" title="-------— Local search operators -------—">LocalSearchOperator</a> built from an array of IntVars which specifies the scope of the operator. <a href="classoperations__research_1_1IntVarLocalSearchOperator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVarLocalSearchHandler.html">operations_research::SequenceVarLocalSearchHandler</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVarLocalSearchOperator.html">operations_research::SequenceVarLocalSearchOperator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1BaseLns.html">operations_research::BaseLns</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Base Large Neighborhood Search operator class -&mdash; <a href="classoperations__research_1_1BaseLns.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1ChangeValue.html">operations_research::ChangeValue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; <a class="el" href="classoperations__research_1_1ChangeValue.html" title="--— ChangeValue Operators --—">ChangeValue</a> Operators --&mdash; <a href="classoperations__research_1_1ChangeValue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html">operations_research::PathOperator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Path-based Operators --&mdash; <a href="classoperations__research_1_1PathOperator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathWithPreviousNodesOperator.html">operations_research::PathWithPreviousNodesOperator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple <a class="el" href="classoperations__research_1_1PathOperator.html" title="--— Path-based Operators --—">PathOperator</a> wrapper that also stores the current previous nodes, and is thus able to provide the "Prev" and "IsPathStart" functions. <a href="classoperations__research_1_1PathWithPreviousNodesOperator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalSearchFilter.html">operations_research::LocalSearchFilter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Local Search Filters ---&mdash; <a href="classoperations__research_1_1LocalSearchFilter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalSearchFilterManager.html">operations_research::LocalSearchFilterManager</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter manager: when a move is made, filters are executed to decide whether the solution is feasible and compute parts of the new cost. <a href="classoperations__research_1_1LocalSearchFilterManager.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchFilter.html">operations_research::IntVarLocalSearchFilter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; <a class="el" href="classoperations__research_1_1IntVarLocalSearchFilter.html" title="--— IntVarLocalSearchFilter --—">IntVarLocalSearchFilter</a> --&mdash; <a href="classoperations__research_1_1IntVarLocalSearchFilter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationMonitor.html">operations_research::PropagationMonitor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">-------&mdash; <a class="el" href="classoperations__research_1_1PropagationMonitor.html" title="-------— PropagationMonitor -------—">PropagationMonitor</a> -------&mdash; <a href="classoperations__research_1_1PropagationMonitor.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalSearchMonitor.html">operations_research::LocalSearchMonitor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">-------&mdash; <a class="el" href="classoperations__research_1_1LocalSearchMonitor.html" title="-------— LocalSearchMonitor -------—">LocalSearchMonitor</a> -------&mdash; <a href="classoperations__research_1_1LocalSearchMonitor.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1BooleanVar.html">operations_research::BooleanVar</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Boolean Variable --&mdash; <a href="classoperations__research_1_1BooleanVar.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SymmetryBreaker.html">operations_research::SymmetryBreaker</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in return. <a href="classoperations__research_1_1SymmetryBreaker.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html">operations_research::SearchLog</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">-------&mdash; Search Log ------&mdash; <a href="classoperations__research_1_1SearchLog.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1ModelCache.html">operations_research::ModelCache</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements a complete cache for model elements: expressions and constraints. <a href="classoperations__research_1_1ModelCache.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1ArgumentHolder.html">operations_research::ArgumentHolder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Argument Holder: useful when visiting a model. <a href="classoperations__research_1_1ArgumentHolder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1ModelParser.html">operations_research::ModelParser</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Model Parser. <a href="classoperations__research_1_1ModelParser.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1ArrayWithOffset.html">operations_research::ArrayWithOffset&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Utility Class for Callbacks --&mdash; <a href="classoperations__research_1_1ArrayWithOffset.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RevGrowingArray.html">operations_research::RevGrowingArray&lt; T, C &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class is a reversible growing array. <a href="classoperations__research_1_1RevGrowingArray.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RevIntSet.html">operations_research::RevIntSet&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; <a class="el" href="classoperations__research_1_1RevIntSet.html" title="--— RevIntSet --—">RevIntSet</a> --&mdash; <a href="classoperations__research_1_1RevIntSet.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RevPartialSequence.html">operations_research::RevPartialSequence</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; <a class="el" href="classoperations__research_1_1RevPartialSequence.html" title="--— RevPartialSequence --—">RevPartialSequence</a> --&mdash; <a href="classoperations__research_1_1RevPartialSequence.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1UnsortedNullableRevBitset.html">operations_research::UnsortedNullableRevBitset</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class represents a reversible bitset. <a href="classoperations__research_1_1UnsortedNullableRevBitset.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceoperations__research"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html">operations_research</a></td></tr>
<tr class="memdesc:namespaceoperations__research"><td class="mdescLeft">&#160;</td><td class="mdescRight">Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ad91551404d4eeb115402e25f8ac599b8"><td class="memItemLeft" align="right" valign="top">typedef VarLocalSearchOperator&lt; SequenceVar, std::vector&lt; int &gt;, SequenceVarLocalSearchHandler &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ad91551404d4eeb115402e25f8ac599b8">operations_research::SequenceVarLocalSearchOperatorTemplate</a></td></tr>
<tr class="separator:ad91551404d4eeb115402e25f8ac599b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a744e7cc90d56b2c503520ee1f97fc1db"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1db">operations_research::VarTypes</a> { <br />
&#160;&#160;<a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1dbab4f91414920a046da6b20cd63a2796e6">operations_research::UNSPECIFIED</a>,
<a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1dba035478726d2dcd2fb9ac77afb5c759cc">operations_research::DOMAIN_INT_VAR</a>,
<a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1dba79122eee2a14a98d575b0b9ac73b0e42">operations_research::BOOLEAN_VAR</a>,
<a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1dbad9de5a1ac157ce63c698777275b17787">operations_research::CONST_VAR</a>,
<br />
&#160;&#160;<a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1dba0cc8439ff5d71bb0c4c981cd04b73d55">operations_research::VAR_ADD_CST</a>,
<a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1dbaa77c2e49834d223253421d9e3d69c51c">operations_research::VAR_TIMES_CST</a>,
<a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1dba93697c551d06ce8d37be776116f23f66">operations_research::CST_SUB_VAR</a>,
<a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1dba9558ccbf57e24d3ddde9bfbf2835e4fe">operations_research::OPP_VAR</a>,
<br />
&#160;&#160;<a class="el" href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1dba93b00759c703fe20d9d8a5a75268a69d">operations_research::TRACE_VAR</a>
<br />
}</td></tr>
<tr class="memdesc:a744e7cc90d56b2c503520ee1f97fc1db"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enum is used internally to do dynamic typing on subclasses of integer variables. <a href="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1db">More...</a><br /></td></tr>
<tr class="separator:a744e7cc90d56b2c503520ee1f97fc1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a64cf3e1336ec61275bdd2ae853d38406"><td class="memItemLeft" align="right" valign="top">uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406">operations_research::Hash1</a> (uint64 value)</td></tr>
<tr class="memdesc:a64cf3e1336ec61275bdd2ae853d38406"><td class="mdescLeft">&#160;</td><td class="mdescRight">-------&mdash; Reversible Hash Table -------&mdash; <a href="namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406">More...</a><br /></td></tr>
<tr class="separator:a64cf3e1336ec61275bdd2ae853d38406"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab89995e46facfc1db291ce75658dd0a5"><td class="memItemLeft" align="right" valign="top">uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ab89995e46facfc1db291ce75658dd0a5">operations_research::Hash1</a> (uint32 value)</td></tr>
<tr class="separator:ab89995e46facfc1db291ce75658dd0a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfc54730764156f1fb717e99b71ba5d4"><td class="memItemLeft" align="right" valign="top">uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#acfc54730764156f1fb717e99b71ba5d4">operations_research::Hash1</a> (int64 value)</td></tr>
<tr class="separator:acfc54730764156f1fb717e99b71ba5d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65a9c1ccf298ae110decc3b9d285dc16"><td class="memItemLeft" align="right" valign="top">uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a65a9c1ccf298ae110decc3b9d285dc16">operations_research::Hash1</a> (int value)</td></tr>
<tr class="separator:a65a9c1ccf298ae110decc3b9d285dc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ca754fad158b92d7f678b5d354d8927"><td class="memItemLeft" align="right" valign="top">uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a3ca754fad158b92d7f678b5d354d8927">operations_research::Hash1</a> (void *const ptr)</td></tr>
<tr class="separator:a3ca754fad158b92d7f678b5d354d8927"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec42cb0a7c3079eb8f0406914077d633"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:aec42cb0a7c3079eb8f0406914077d633"><td class="memTemplItemLeft" align="right" valign="top">uint64&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#aec42cb0a7c3079eb8f0406914077d633">operations_research::Hash1</a> (const std::vector&lt; T * &gt; &amp;ptrs)</td></tr>
<tr class="separator:aec42cb0a7c3079eb8f0406914077d633"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2ba31780fce352d4bba600e6e8eacad"><td class="memItemLeft" align="right" valign="top">uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ac2ba31780fce352d4bba600e6e8eacad">operations_research::Hash1</a> (const std::vector&lt; int64 &gt; &amp;ptrs)</td></tr>
<tr class="separator:ac2ba31780fce352d4bba600e6e8eacad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85ea0ef5b46465c3793333ce9821f15f"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a85ea0ef5b46465c3793333ce9821f15f"><td class="memTemplItemLeft" align="right" valign="top">LocalSearchOperator *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a85ea0ef5b46465c3793333ce9821f15f">operations_research::MakeLocalSearchOperator</a> (Solver *<a class="el" href="routing_8h.html#a5f32c22c620c811754ba7b6f977db864">solver</a>, const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; IntVar * &gt; &amp;secondary_vars, std::function&lt; int(int64)&gt; start_empty_path_class)</td></tr>
<tr class="memdesc:a85ea0ef5b46465c3793333ce9821f15f"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Operator Factories ---&mdash; <a href="namespaceoperations__research.html#a85ea0ef5b46465c3793333ce9821f15f">More...</a><br /></td></tr>
<tr class="separator:a85ea0ef5b46465c3793333ce9821f15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12527c82ffc8b31c5d8dc836c366d624"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a12527c82ffc8b31c5d8dc836c366d624"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a12527c82ffc8b31c5d8dc836c366d624">operations_research::IsArrayConstant</a> (const std::vector&lt; T &gt; &amp;values, const T &amp;value)</td></tr>
<tr class="memdesc:a12527c82ffc8b31c5d8dc836c366d624"><td class="mdescLeft">&#160;</td><td class="mdescRight">-------&mdash; Helpers -------&mdash; <a href="namespaceoperations__research.html#a12527c82ffc8b31c5d8dc836c366d624">More...</a><br /></td></tr>
<tr class="separator:a12527c82ffc8b31c5d8dc836c366d624"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f4525e71a6b05d97c868f0832750a60"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a3f4525e71a6b05d97c868f0832750a60"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a3f4525e71a6b05d97c868f0832750a60">operations_research::IsArrayBoolean</a> (const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="separator:a3f4525e71a6b05d97c868f0832750a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3e4f71c4c79e0b4ec00c4e715a7c298"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:ae3e4f71c4c79e0b4ec00c4e715a7c298"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ae3e4f71c4c79e0b4ec00c4e715a7c298">operations_research::AreAllOnes</a> (const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="separator:ae3e4f71c4c79e0b4ec00c4e715a7c298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0ae787392a8dd8a499eb55ac0916aa4"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:ab0ae787392a8dd8a499eb55ac0916aa4"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ab0ae787392a8dd8a499eb55ac0916aa4">operations_research::AreAllNull</a> (const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="separator:ab0ae787392a8dd8a499eb55ac0916aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aea406979285a28c91fd1ee8115af74"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a3aea406979285a28c91fd1ee8115af74"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a3aea406979285a28c91fd1ee8115af74">operations_research::AreAllGreaterOrEqual</a> (const std::vector&lt; T &gt; &amp;values, const T &amp;value)</td></tr>
<tr class="separator:a3aea406979285a28c91fd1ee8115af74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15f08cfbb35e2b8b1eb76f79caea924a"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a15f08cfbb35e2b8b1eb76f79caea924a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a15f08cfbb35e2b8b1eb76f79caea924a">operations_research::AreAllLessOrEqual</a> (const std::vector&lt; T &gt; &amp;values, const T &amp;value)</td></tr>
<tr class="separator:a15f08cfbb35e2b8b1eb76f79caea924a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab62b402f767cda48eb67ef8b50397f8f"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:ab62b402f767cda48eb67ef8b50397f8f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ab62b402f767cda48eb67ef8b50397f8f">operations_research::AreAllPositive</a> (const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="separator:ab62b402f767cda48eb67ef8b50397f8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38972723946490ea4df4e34298d8805d"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a38972723946490ea4df4e34298d8805d"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a38972723946490ea4df4e34298d8805d">operations_research::AreAllNegative</a> (const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="separator:a38972723946490ea4df4e34298d8805d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3de09f9134b976e5ba64751ac0f4440b"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a3de09f9134b976e5ba64751ac0f4440b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a3de09f9134b976e5ba64751ac0f4440b">operations_research::AreAllStrictlyPositive</a> (const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="separator:a3de09f9134b976e5ba64751ac0f4440b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8351829c324863ddda52e201df4f9f84"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a8351829c324863ddda52e201df4f9f84"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a8351829c324863ddda52e201df4f9f84">operations_research::AreAllStrictlyNegative</a> (const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="separator:a8351829c324863ddda52e201df4f9f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafac7375c23337f25821aa6f86ca627c"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:aafac7375c23337f25821aa6f86ca627c"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#aafac7375c23337f25821aa6f86ca627c">operations_research::IsIncreasingContiguous</a> (const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="separator:aafac7375c23337f25821aa6f86ca627c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d434774c07815a25ffaa7adb343c19e"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a3d434774c07815a25ffaa7adb343c19e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a3d434774c07815a25ffaa7adb343c19e">operations_research::IsIncreasing</a> (const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="separator:a3d434774c07815a25ffaa7adb343c19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf2aea6c68fe502389c9264b971b2f85"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:adf2aea6c68fe502389c9264b971b2f85"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#adf2aea6c68fe502389c9264b971b2f85">operations_research::IsArrayInRange</a> (const std::vector&lt; IntVar * &gt; &amp;vars, T range_min, T range_max)</td></tr>
<tr class="memdesc:adf2aea6c68fe502389c9264b971b2f85"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; On integer variable vector --&mdash; <a href="namespaceoperations__research.html#adf2aea6c68fe502389c9264b971b2f85">More...</a><br /></td></tr>
<tr class="separator:adf2aea6c68fe502389c9264b971b2f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4c7a8bfc6877606e512d3279549f44d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ae4c7a8bfc6877606e512d3279549f44d">operations_research::AreAllBound</a> (const std::vector&lt; IntVar * &gt; &amp;vars)</td></tr>
<tr class="separator:ae4c7a8bfc6877606e512d3279549f44d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7abde7313cef64d25202a18f07481fc3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a7abde7313cef64d25202a18f07481fc3">operations_research::AreAllBooleans</a> (const std::vector&lt; IntVar * &gt; &amp;vars)</td></tr>
<tr class="separator:a7abde7313cef64d25202a18f07481fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54470bffc3ea32cc37d0222e5dbb62a6"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a54470bffc3ea32cc37d0222e5dbb62a6"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a54470bffc3ea32cc37d0222e5dbb62a6">operations_research::AreAllBoundOrNull</a> (const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; T &gt; &amp;values)</td></tr>
<tr class="memdesc:a54470bffc3ea32cc37d0222e5dbb62a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if all the variables are assigned to a single value, or if their corresponding value is null. <a href="namespaceoperations__research.html#a54470bffc3ea32cc37d0222e5dbb62a6">More...</a><br /></td></tr>
<tr class="separator:a54470bffc3ea32cc37d0222e5dbb62a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7028ce8b481be8cb6fca7a6925d41aa7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a7028ce8b481be8cb6fca7a6925d41aa7">operations_research::AreAllBoundTo</a> (const std::vector&lt; IntVar * &gt; &amp;vars, int64 value)</td></tr>
<tr class="memdesc:a7028ce8b481be8cb6fca7a6925d41aa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if all variables are assigned to 'value'. <a href="namespaceoperations__research.html#a7028ce8b481be8cb6fca7a6925d41aa7">More...</a><br /></td></tr>
<tr class="separator:a7028ce8b481be8cb6fca7a6925d41aa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc42d1bcfe023d3ac6f59471b75d853c"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#abc42d1bcfe023d3ac6f59471b75d853c">operations_research::MaxVarArray</a> (const std::vector&lt; IntVar * &gt; &amp;vars)</td></tr>
<tr class="separator:abc42d1bcfe023d3ac6f59471b75d853c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c1932027ef8bc1689d725a1c597867b"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a5c1932027ef8bc1689d725a1c597867b">operations_research::MinVarArray</a> (const std::vector&lt; IntVar * &gt; &amp;vars)</td></tr>
<tr class="separator:a5c1932027ef8bc1689d725a1c597867b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6662a100d8715747870beb9721bb304b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a6662a100d8715747870beb9721bb304b">operations_research::FillValues</a> (const std::vector&lt; IntVar * &gt; &amp;vars, std::vector&lt; int64 &gt; *const values)</td></tr>
<tr class="separator:a6662a100d8715747870beb9721bb304b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60dabfa452b4264887ef76c75edf3765"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a60dabfa452b4264887ef76c75edf3765">operations_research::PosIntDivUp</a> (int64 e, int64 v)</td></tr>
<tr class="memdesc:a60dabfa452b4264887ef76c75edf3765"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Arithmetic operations --&mdash; <a href="namespaceoperations__research.html#a60dabfa452b4264887ef76c75edf3765">More...</a><br /></td></tr>
<tr class="separator:a60dabfa452b4264887ef76c75edf3765"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a942ba2898a44303790c91e761b8f4630"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a942ba2898a44303790c91e761b8f4630">operations_research::PosIntDivDown</a> (int64 e, int64 v)</td></tr>
<tr class="separator:a942ba2898a44303790c91e761b8f4630"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad4e1b406f0e56c83283747b038df88a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int64 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#aad4e1b406f0e56c83283747b038df88a">operations_research::ToInt64Vector</a> (const std::vector&lt; int &gt; &amp;input)</td></tr>
<tr class="memdesc:aad4e1b406f0e56c83283747b038df88a"><td class="mdescLeft">&#160;</td><td class="mdescRight">--&mdash; Vector of integer manipulations --&mdash; <a href="namespaceoperations__research.html#aad4e1b406f0e56c83283747b038df88a">More...</a><br /></td></tr>
<tr class="separator:aad4e1b406f0e56c83283747b038df88a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a3ea6af6581e6922832918c97753146a7"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a3ea6af6581e6922832918c97753146a7"><td class="memTemplItemLeft" align="right" valign="top">Demon *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a3ea6af6581e6922832918c97753146a7">operations_research::MakeConstraintDemon0</a> (Solver *const s, T *const ct, void(T::*method)(), const std::string &amp;name)</td></tr>
<tr class="separator:a3ea6af6581e6922832918c97753146a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0953b50b08320d1109c678555137f1db"><td class="memTemplParams" colspan="2">template&lt;class P &gt; </td></tr>
<tr class="memitem:a0953b50b08320d1109c678555137f1db"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db">operations_research::ParameterDebugString</a> (P param)</td></tr>
<tr class="separator:a0953b50b08320d1109c678555137f1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c2f93547af434566184b7dee7039c93"><td class="memTemplParams" colspan="2">template&lt;class P &gt; </td></tr>
<tr class="memitem:a3c2f93547af434566184b7dee7039c93"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a3c2f93547af434566184b7dee7039c93">operations_research::ParameterDebugString</a> (P *param)</td></tr>
<tr class="memdesc:a3c2f93547af434566184b7dee7039c93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support limited to pointers to classes which define DebugString(). <a href="namespaceoperations__research.html#a3c2f93547af434566184b7dee7039c93">More...</a><br /></td></tr>
<tr class="separator:a3c2f93547af434566184b7dee7039c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fb750da00c784e5ffd1763fd3ce88f7"><td class="memTemplParams" colspan="2">template&lt;class T , class P &gt; </td></tr>
<tr class="memitem:a4fb750da00c784e5ffd1763fd3ce88f7"><td class="memTemplItemLeft" align="right" valign="top">Demon *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a4fb750da00c784e5ffd1763fd3ce88f7">operations_research::MakeConstraintDemon1</a> (Solver *const s, T *const ct, void(T::*method)(P), const std::string &amp;name, P param1)</td></tr>
<tr class="separator:a4fb750da00c784e5ffd1763fd3ce88f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4da629cafe75f958924e1684ac2b0eff"><td class="memTemplParams" colspan="2">template&lt;class T , class P , class Q &gt; </td></tr>
<tr class="memitem:a4da629cafe75f958924e1684ac2b0eff"><td class="memTemplItemLeft" align="right" valign="top">Demon *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a4da629cafe75f958924e1684ac2b0eff">operations_research::MakeConstraintDemon2</a> (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &amp;name, P param1, Q param2)</td></tr>
<tr class="separator:a4da629cafe75f958924e1684ac2b0eff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdca98f14c02e004ab5e19d2c3985667"><td class="memTemplParams" colspan="2">template&lt;class T , class P , class Q , class R &gt; </td></tr>
<tr class="memitem:abdca98f14c02e004ab5e19d2c3985667"><td class="memTemplItemLeft" align="right" valign="top">Demon *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#abdca98f14c02e004ab5e19d2c3985667">operations_research::MakeConstraintDemon3</a> (Solver *const s, T *const ct, void(T::*method)(P, Q, R), const std::string &amp;name, P param1, Q param2, R param3)</td></tr>
<tr class="separator:abdca98f14c02e004ab5e19d2c3985667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a82110ba1f45aa29ffc933102880dbd82"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a82110ba1f45aa29ffc933102880dbd82"><td class="memTemplItemLeft" align="right" valign="top">Demon *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a82110ba1f45aa29ffc933102880dbd82">operations_research::MakeDelayedConstraintDemon0</a> (Solver *const s, T *const ct, void(T::*method)(), const std::string &amp;name)</td></tr>
<tr class="separator:a82110ba1f45aa29ffc933102880dbd82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11f4a7dbafd8e00a36b892a82e44445f"><td class="memTemplParams" colspan="2">template&lt;class T , class P &gt; </td></tr>
<tr class="memitem:a11f4a7dbafd8e00a36b892a82e44445f"><td class="memTemplItemLeft" align="right" valign="top">Demon *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a11f4a7dbafd8e00a36b892a82e44445f">operations_research::MakeDelayedConstraintDemon1</a> (Solver *const s, T *const ct, void(T::*method)(P), const std::string &amp;name, P param1)</td></tr>
<tr class="separator:a11f4a7dbafd8e00a36b892a82e44445f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29b8113bf656aa61493c9459508ed953"><td class="memTemplParams" colspan="2">template&lt;class T , class P , class Q &gt; </td></tr>
<tr class="memitem:a29b8113bf656aa61493c9459508ed953"><td class="memTemplItemLeft" align="right" valign="top">Demon *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a29b8113bf656aa61493c9459508ed953">operations_research::MakeDelayedConstraintDemon2</a> (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &amp;name, P param1, Q param2)</td></tr>
<tr class="separator:a29b8113bf656aa61493c9459508ed953"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>