Files
ortools-clone/docs/cpp_routing/constraint__solver_8h_source.html
Mizux Seiha 3b81c981c2 Update doc
2022-03-04 00:19:15 +01:00

5252 lines
1.7 MiB

<!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"/>-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="styleSheet.tmp.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">Google OR-Tools 9.3</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.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('constraint__solver_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle"><div class="title">constraint_solver.h</div></div>
</div><!--header-->
<div class="contents">
<a href="constraint__solver_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">// Copyright 2010-2021 Google LLC</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">// you may not use this file except in compliance with the License.</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">// You may obtain a copy of the License at</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">//</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">//</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">// See the License for the specific language governing permissions and</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">// limitations under the License.</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="preprocessor">#ifndef OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVER_H_</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor">#define OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVER_H_</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor">#include &lt;deque&gt;</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor">#include &lt;random&gt;</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor">#include &lt;tuple&gt;</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="preprocessor">#include &lt;utility&gt;</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="preprocessor">#include &quot;absl/base/attributes.h&quot;</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="preprocessor">#include &quot;absl/base/log_severity.h&quot;</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="preprocessor">#include &quot;absl/container/flat_hash_map.h&quot;</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="preprocessor">#include &quot;absl/container/flat_hash_set.h&quot;</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor">#include &quot;absl/flags/declare.h&quot;</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor">#include &quot;absl/flags/flag.h&quot;</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor">#include &quot;absl/random/random.h&quot;</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor">#include &quot;absl/strings/str_format.h&quot;</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#include &quot;absl/time/time.h&quot;</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor">#include &quot;ortools/base/integral_types.h&quot;</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor">#include &quot;ortools/base/logging.h&quot;</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="preprocessor">#include &quot;ortools/base/macros.h&quot;</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="preprocessor">#include &quot;ortools/base/map_util.h&quot;</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor">#include &quot;ortools/base/timer.h&quot;</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor">#include &quot;ortools/constraint_solver/search_stats.pb.h&quot;</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="preprocessor">#include &quot;ortools/constraint_solver/solver_parameters.pb.h&quot;</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor">#include &quot;ortools/util/piecewise_linear_function.h&quot;</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor">#include &quot;ortools/util/sorted_interval_list.h&quot;</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="preprocessor">#include &quot;ortools/util/tuple_set.h&quot;</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="constraint__solver_8h.html#a3f9da4a1a05483aa80481604e8983b6b"> 104</a></span><a class="code hl_function" href="constraint__solver_8h.html#a3f9da4a1a05483aa80481604e8983b6b">ABSL_DECLARE_FLAG</a>(int64_t, cp_random_seed);</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="keyword">class </span>File;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html"> 109</a></span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceoperations__research.html">operations_research</a> {</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="keyword">class </span>AssignmentProto;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a>;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_cast_constraint.html">CastConstraint</a>;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_decision_visitor.html">DecisionVisitor</a>;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="keyword">class </span>DemonProfiler;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="keyword">class </span>Dimension;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_disjunctive_constraint.html">DisjunctiveConstraint</a>;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_improvement_search_limit.html">ImprovementSearchLimit</a>;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="keyword">class </span>IntVarAssignment;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_int_var_local_search_filter.html">IntVarLocalSearchFilter</a>;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="keyword">class </span>IntervalVarAssignment;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a>;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_local_search_filter_manager.html">LocalSearchFilterManager</a>;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_local_search_monitor.html">LocalSearchMonitor</a>;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="keyword">class </span>LocalSearchPhaseParameters;</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="keyword">class </span>LocalSearchProfiler;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_model_cache.html">ModelCache</a>;</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>;</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>;</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_pack.html">Pack</a>;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_profiled_decision_builder.html">ProfiledDecisionBuilder</a>;</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a>;</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_propagation_monitor.html">PropagationMonitor</a>;</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="keyword">class </span>Queue;</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="keyword">class </span>RegularLimitParameters;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_rev_bit_matrix.html">RevBitMatrix</a>;</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="keyword">class </span>Search;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="keyword">class </span>SequenceVarAssignment;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a>;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="keyword">struct </span>StateInfo;</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="keyword">struct </span>Trail;</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_simple_rev_f_i_f_o.html">SimpleRevFIFO</a>;</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#a6daa2481a6bbd7b307647006a8752630"> 160</a></span><span class="keyword">inline</span> int64_t <a class="code hl_function" href="namespaceoperations__research.html#a6daa2481a6bbd7b307647006a8752630">CpRandomSeed</a>() {</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span> absl::GetFlag(FLAGS_cp_random_seed) == -1</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> ? absl::Uniform&lt;int64_t&gt;(absl::BitGen(), 0, kint64max)</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> : absl::GetFlag(FLAGS_cp_random_seed);</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span>}</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html"> 169</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structoperations__research_1_1_default_phase_parameters.html">DefaultPhaseParameters</a> {</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffd"> 171</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffd">VariableSelection</a> {</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdac4b4fc1afb505f9a378e3d55747c2c2a"> 172</a></span> <a class="code hl_enumvalue" href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdac4b4fc1afb505f9a378e3d55747c2c2a">CHOOSE_MAX_SUM_IMPACT</a> = 0,</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdae89afeba83d94a0077202576edff7d20"> 173</a></span> <a class="code hl_enumvalue" href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdae89afeba83d94a0077202576edff7d20">CHOOSE_MAX_AVERAGE_IMPACT</a> = 1,</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdaa674cfb9265f697b4ada735c4401aac0"> 174</a></span> <a class="code hl_enumvalue" href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdaa674cfb9265f697b4ada735c4401aac0">CHOOSE_MAX_VALUE_IMPACT</a> = 2,</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> };</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> </div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786f"> 177</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786f">ValueSelection</a> {</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8"> 178</a></span> <a class="code hl_enumvalue" href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8">SELECT_MIN_IMPACT</a> = 0,</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9"> 179</a></span> <a class="code hl_enumvalue" href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9">SELECT_MAX_IMPACT</a> = 1,</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> };</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382"> 182</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382">DisplayLevel</a> { <a class="code hl_enumvalue" href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382ac157bdf0b85a40d2619cbc8bc1ae5fe2">NONE</a> = 0, <a class="code hl_enumvalue" href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382a50d1448013c6f17125caee18aa418af7">NORMAL</a> = 1, <a class="code hl_enumvalue" href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382ace3e26676763569084c86b8c3b67d601">VERBOSE</a> = 2 };</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a61d9b3f13793427aab1d091252cabcdb"> 186</a></span> <a class="code hl_enumeration" href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffd">VariableSelection</a> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#a61d9b3f13793427aab1d091252cabcdb">var_selection_schema</a>;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> </div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a5a24d11f8e77754933853ae4ae721c58"> 189</a></span> <a class="code hl_enumeration" href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786f">ValueSelection</a> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#a5a24d11f8e77754933853ae4ae721c58">value_selection_schema</a>;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a33b5f7988bd900722e702d6e808d091f"> 193</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#a33b5f7988bd900722e702d6e808d091f">initialization_splits</a>;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#ae34ba5540c7682e2efd1a3de7ec92821"> 198</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#ae34ba5540c7682e2efd1a3de7ec92821">run_all_heuristics</a>;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#ac452a91363eef95dc8b527628d122c55"> 203</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#ac452a91363eef95dc8b527628d122c55">heuristic_period</a>;</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a0e6d02b76d3e83bde2a02798e4e7a0a9"> 206</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#a0e6d02b76d3e83bde2a02798e4e7a0a9">heuristic_num_failures_limit</a>;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#aa05a3321d74475f1238d0c51b5754d7e"> 210</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#aa05a3321d74475f1238d0c51b5754d7e">persistent_impact</a>;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#ad9059bc845096b2f05414a66c836b4ee"> 213</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#ad9059bc845096b2f05414a66c836b4ee">random_seed</a>;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a40646422bfe80217dfdf371cca44a63b"> 217</a></span> <a class="code hl_enumeration" href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382">DisplayLevel</a> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#a40646422bfe80217dfdf371cca44a63b">display_level</a>;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#aa978cbe8453310a6381350d867821e0c"> 220</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#aa978cbe8453310a6381350d867821e0c">use_last_conflict</a>;</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a39c899184f62ab82b7ce98b7aaaf7d2d"> 223</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_variable" href="structoperations__research_1_1_default_phase_parameters.html#a39c899184f62ab82b7ce98b7aaaf7d2d">decision_builder</a>;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> </div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_default_phase_parameters.html#a0d757e1829bae7762734bce78136a139"> 225</a></span> <a class="code hl_function" href="structoperations__research_1_1_default_phase_parameters.html#a0d757e1829bae7762734bce78136a139">DefaultPhaseParameters</a>();</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span>};</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> </div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html"> 245</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a> {</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html"> 251</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html">IntegerCastInfo</a> {</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#ab15f186e97754835d5913283a1e176cf"> 252</a></span> <a class="code hl_function" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#ab15f186e97754835d5913283a1e176cf">IntegerCastInfo</a>()</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> : <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#acb71959af429e32049d2b911e4d92ac3">variable</a>(nullptr), <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#a835c75d75486a896c255acb75d6616f3">expression</a>(nullptr), <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#ae1de17a3d4162dd6fef92daccf0741f6">maintainer</a>(nullptr) {}</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#a5d6ae94825077efbea7967ada7a6341c"> 254</a></span> <a class="code hl_function" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#a5d6ae94825077efbea7967ada7a6341c">IntegerCastInfo</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> e, <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <span class="keyword">const</span> c)</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> : <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#acb71959af429e32049d2b911e4d92ac3">variable</a>(v), <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#a835c75d75486a896c255acb75d6616f3">expression</a>(e), <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#ae1de17a3d4162dd6fef92daccf0741f6">maintainer</a>(c) {}</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#acb71959af429e32049d2b911e4d92ac3"> 256</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#acb71959af429e32049d2b911e4d92ac3">variable</a>;</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#a835c75d75486a896c255acb75d6616f3"> 257</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#a835c75d75486a896c255acb75d6616f3">expression</a>;</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#ae1de17a3d4162dd6fef92daccf0741f6"> 258</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#ae1de17a3d4162dd6fef92daccf0741f6">maintainer</a>;</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> };</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a280d7e65c4c7bf84c703fab2323aaa63"> 262</a></span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="classoperations__research_1_1_solver.html#a280d7e65c4c7bf84c703fab2323aaa63">kNumPriorities</a> = 3;</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601"> 266</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> {</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376"> 268</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376">INT_VAR_DEFAULT</a>,</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2"> 271</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2">INT_VAR_SIMPLE</a>,</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> </div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9"> 276</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9">CHOOSE_FIRST_UNBOUND</a>,</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> </div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c"> 279</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c">CHOOSE_RANDOM</a>,</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> </div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448"> 287</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448">CHOOSE_MIN_SIZE_LOWEST_MIN</a>,</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> </div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2"> 295</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2">CHOOSE_MIN_SIZE_HIGHEST_MIN</a>,</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> </div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7"> 303</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7">CHOOSE_MIN_SIZE_LOWEST_MAX</a>,</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> </div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70"> 311</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70">CHOOSE_MIN_SIZE_HIGHEST_MAX</a>,</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> </div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12"> 317</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12">CHOOSE_LOWEST_MIN</a>,</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841"> 323</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841">CHOOSE_HIGHEST_MAX</a>,</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> </div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae"> 328</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae">CHOOSE_MIN_SIZE</a>,</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> </div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a"> 333</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a">CHOOSE_MAX_SIZE</a>,</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> </div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf"> 337</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf">CHOOSE_MAX_REGRET_ON_MIN</a>,</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> </div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d"> 341</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d">CHOOSE_PATH</a>,</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> };</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="comment">// TODO(user): add HIGHEST_MIN and LOWEST_MAX.</span></div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> </div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84"> 347</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> {</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291"> 349</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291">INT_VALUE_DEFAULT</a>,</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> </div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e"> 352</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e">INT_VALUE_SIMPLE</a>,</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> </div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886"> 355</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886">ASSIGN_MIN_VALUE</a>,</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0"> 358</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0">ASSIGN_MAX_VALUE</a>,</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> </div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2"> 361</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2">ASSIGN_RANDOM_VALUE</a>,</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> </div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173"> 366</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173">ASSIGN_CENTER_VALUE</a>,</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> </div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25"> 370</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25">SPLIT_LOWER_HALF</a>,</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> </div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45"> 374</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45">SPLIT_UPPER_HALF</a>,</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> };</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106"> 387</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> {</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1"> 392</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1">CHOOSE_STATIC_GLOBAL_BEST</a>,</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> </div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0"> 398</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0">CHOOSE_DYNAMIC_GLOBAL_BEST</a>,</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> };</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> </div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482b"> 402</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482b">SequenceStrategy</a> {</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f"> 403</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f">SEQUENCE_DEFAULT</a>,</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239"> 404</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239">SEQUENCE_SIMPLE</a>,</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7"> 405</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7">CHOOSE_MIN_SLACK_RANK_FORWARD</a>,</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615"> 406</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615">CHOOSE_RANDOM_RANK_FORWARD</a>,</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> };</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> </div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952f"> 411</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952f">IntervalStrategy</a> {</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3"> 413</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3">INTERVAL_DEFAULT</a>,</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c"> 415</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c">INTERVAL_SIMPLE</a>,</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92"> 418</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92">INTERVAL_SET_TIMES_FORWARD</a>,</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831">INTERVAL_SET_TIMES_BACKWARD</a></div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831"> 422</a></span> };</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> </div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18"> 426</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> {</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e"> 436</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e">TWOOPT</a>,</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> </div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704"> 452</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704">OROPT</a>,</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> </div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3"> 455</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3">RELOCATE</a>,</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> </div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462"> 464</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462">EXCHANGE</a>,</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> </div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d"> 475</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d">CROSS</a>,</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> </div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de"> 483</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de">MAKEACTIVE</a>,</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> </div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5"> 490</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5">MAKEINACTIVE</a>,</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> </div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e"> 498</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e">MAKECHAININACTIVE</a>,</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b"> 505</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b">SWAPACTIVE</a>,</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> </div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9"> 517</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9">EXTENDEDSWAPACTIVE</a>,</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> </div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3"> 526</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3">PATHLNS</a>,</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> </div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a"> 530</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a">FULLPATHLNS</a>,</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> </div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408"> 535</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408">UNACTIVELNS</a>,</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> </div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb"> 545</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb">INCREMENT</a>,</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> </div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84"> 550</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84">DECREMENT</a>,</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> </div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58">SIMPLELNS</a></div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58"> 560</a></span> };</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> </div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4"> 564</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> {</div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e"> 569</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e">LK</a>,</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> </div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87"> 577</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87">TSPOPT</a>,</div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> </div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1">TSPLNS</a></div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1"> 586</a></span> };</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> </div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f"> 592</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">LocalSearchFilterBound</a> {</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce"> 594</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce">GE</a>,</div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61"> 596</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61">LE</a>,</div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f">EQ</a></div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f"> 600</a></span> };</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> </div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7"> 605</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7">DemonPriority</a> {</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068"> 608</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068">DELAYED_PRIORITY</a> = 0,</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> </div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5"> 611</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5">VAR_PRIORITY</a> = 1,</div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span> </div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4"> 614</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4">NORMAL_PRIORITY</a> = 2,</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span> };</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> </div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee"> 619</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> {</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506"> 621</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506">ENDS_AFTER_END</a>,</div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> </div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134"> 624</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134">ENDS_AFTER_START</a>,</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span> </div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204"> 627</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204">ENDS_AT_END</a>,</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> </div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43"> 630</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43">ENDS_AT_START</a>,</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span> </div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8"> 633</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8">STARTS_AFTER_END</a>,</div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span> </div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d"> 636</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d">STARTS_AFTER_START</a>,</div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span> </div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962"> 639</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962">STARTS_AT_END</a>,</div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span> </div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7"> 642</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7">STARTS_AT_START</a>,</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> </div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec">STAYS_IN_SYNC</a></div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec"> 648</a></span> };</div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span> </div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9"> 652</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9">UnaryIntervalRelation</a> {</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1"> 654</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1">ENDS_AFTER</a>,</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span> </div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6"> 657</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6">ENDS_AT</a>,</div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span> </div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430"> 660</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430">ENDS_BEFORE</a>,</div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> </div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020"> 663</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020">STARTS_AFTER</a>,</div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span> </div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac"> 666</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac">STARTS_AT</a>,</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span> </div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131"> 669</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131">STARTS_BEFORE</a>,</div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span> </div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9"> 674</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9">CROSS_DATE</a>,</div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"> 675</span> </div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4">AVOID_DATE</a></div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4"> 680</a></span> };</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span> </div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42"> 687</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42">DecisionModification</a> {</div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd"> 690</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd">NO_CHANGE</a>,</div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span> </div>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f"> 695</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f">KEEP_LEFT</a>,</div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"> 696</span> </div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5"> 700</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5">KEEP_RIGHT</a>,</div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"> 701</span> </div>
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f"> 704</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f">KILL_BOTH</a>,</div>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"> 705</span> </div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"> 708</span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998">SWITCH_BRANCHES</a></div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998"> 709</a></span> };</div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span> </div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa0232b3ece732fa7e71171f78888cea50"> 713</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073df">MarkerType</a> { <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa6239979890280856033280b690ebc218">SENTINEL</a>, <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7">SIMPLE_MARKER</a>, <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa0232b3ece732fa7e71171f78888cea50">CHOICE_POINT</a>, <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfaddfacd8981a3f651982bf9a0c82f0995">REVERSIBLE_ACTION</a> };</div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"> 714</span> </div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63"> 716</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a> {</div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea"> 718</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea">OUTSIDE_SEARCH</a>,</div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351"> 720</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351">IN_ROOT_NODE</a>,</div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013"> 722</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013">IN_SEARCH</a>,</div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650"> 724</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650">AT_SOLUTION</a>,</div>
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5"> 726</a></span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5">NO_MORE_SOLUTIONS</a>,</div>
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"> 728</span> <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13">PROBLEM_INFEASIBLE</a></div>
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13"> 729</a></span> };</div>
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"> 730</span> </div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba20ee926b0aa645b0e3badb5d5171d6e1"> 732</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> { <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba759c34a99344306429e887634b2d688e">NOT_SET</a>, <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba20ee926b0aa645b0e3badb5d5171d6e1">MAXIMIZATION</a>, <a class="code hl_enumvalue" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba34d4bc092ef084ef376537320f95bc13">MINIMIZATION</a> };</div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span> </div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560"> 735</a></span> <span class="keyword">typedef</span> std::function&lt;int64_t(int64_t)&gt; <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">IndexEvaluator1</a>;</div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c"> 736</a></span> <span class="keyword">typedef</span> std::function&lt;int64_t(int64_t, int64_t)&gt; <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a>;</div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3b8bde4dadfe1f1aed53ac24f4cdc94f"> 737</a></span> <span class="keyword">typedef</span> std::function&lt;int64_t(int64_t, int64_t, int64_t)&gt; <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a3b8bde4dadfe1f1aed53ac24f4cdc94f">IndexEvaluator3</a>;</div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"> 738</span> </div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6188d0df45262d3176058485c7f47995"> 739</a></span> <span class="keyword">typedef</span> std::function&lt;bool(int64_t)&gt; <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a6188d0df45262d3176058485c7f47995">IndexFilter1</a>;</div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno"> 740</span> </div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af49346bff5dd53d2e2d1c7c271c1a367"> 741</a></span> <span class="keyword">typedef</span> std::function&lt;<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>*(int64_t)&gt; <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#af49346bff5dd53d2e2d1c7c271c1a367">Int64ToIntVar</a>;</div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"> 742</span> </div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span> <span class="keyword">typedef</span> std::function&lt;int64_t(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* solver,</div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"> 745</span> int64_t first_unbound, int64_t last_unbound)&gt;</div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4cf87e35d556505a51b0e502f8e30a73"> 746</a></span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a4cf87e35d556505a51b0e502f8e30a73">VariableIndexSelector</a>;</div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span> </div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span> <span class="keyword">typedef</span> std::function&lt;int64_t(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* v, int64_t <span class="keywordtype">id</span>)&gt;</div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac26eb1d5bfa1456f13ec3d3d8b5c3536"> 749</a></span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ac26eb1d5bfa1456f13ec3d3d8b5c3536">VariableValueSelector</a>;</div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</span> <span class="keyword">typedef</span> std::function&lt;bool(int64_t, int64_t, int64_t)&gt;</div>
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af5502e2288132c081fc96fdbcee282e6"> 751</a></span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#af5502e2288132c081fc96fdbcee282e6">VariableValueComparator</a>;</div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869"> 752</a></span> <span class="keyword">typedef</span> std::function&lt;<a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42">DecisionModification</a>()&gt; <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a>;</div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"> 753</span> <span class="comment">// TODO(user): wrap in swig.</span></div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b"> 754</a></span> <span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>*)&gt; <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a>;</div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1"> 755</a></span> <span class="keyword">typedef</span> std::function&lt;void()&gt; <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Closure</a>;</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"> 756</span> </div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abac10873a1af49f1dce33a34f3afaa56"> 758</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#abac10873a1af49f1dce33a34f3afaa56">Solver</a>(<span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#add6d1e285b4009e4e966b43defc6652d"> 759</a></span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#add6d1e285b4009e4e966b43defc6652d">Solver</a>(<span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> ConstraintSolverParameters&amp; <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af2496fe19ff323bd292f75b4f6db640d"> 760</a></span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#af2496fe19ff323bd292f75b4f6db640d">~Solver</a>();</div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"> 761</span> </div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff"> 763</a></span> ConstraintSolverParameters <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> parameters_; }</div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno"> 765</span> <span class="comment">// TODO(user): Move to constraint_solver_parameters.h.</span></div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a832486e7bf6410f8986237876356f447"> 766</a></span> <span class="keyword">static</span> ConstraintSolverParameters <a class="code hl_function" href="classoperations__research_1_1_solver.html#a832486e7bf6410f8986237876356f447">DefaultSolverParameters</a>();</div>
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno"> 767</span> </div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"> 769</span> </div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"> 773</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033"> 774</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033">SaveValue</a>(T* o) {</div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno"> 775</span> InternalSaveValue(o);</div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno"> 776</span> }</div>
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno"> 777</span> </div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af5a1f8b1ea0ab0796c8667b9e2ef0ce7"> 791</a></span> T* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af5a1f8b1ea0ab0796c8667b9e2ef0ce7">RevAlloc</a>(T* <span class="keywordtype">object</span>) {</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>T*<span class="keyword">&gt;</span>(SafeRevAlloc(<span class="keywordtype">object</span>));</div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span> }</div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> </div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad8c110b0a2b371b8f632ae17d4a4d563"> 802</a></span> T* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad8c110b0a2b371b8f632ae17d4a4d563">RevAllocArray</a>(T* <span class="keywordtype">object</span>) {</div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>T*<span class="keyword">&gt;</span>(SafeRevAllocArray(<span class="keywordtype">object</span>));</div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span> }</div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"> 805</span> </div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5931080c9bfda8dedfef0e3adf313ab3"> 839</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5931080c9bfda8dedfef0e3adf313ab3">AddConstraint</a>(<a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <span class="keyword">const</span> c);</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae2d27e0db523a7b883fe8bd2f40e9968"> 843</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae2d27e0db523a7b883fe8bd2f40e9968">AddCastConstraint</a>(<a class="code hl_class" href="classoperations__research_1_1_cast_constraint.html">CastConstraint</a>* <span class="keyword">const</span> constraint,</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> target_var, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> </div>
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5"> 887</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5">Solve</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5f81409b337b1aeb8488ae9d828e5df9"> 889</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5f81409b337b1aeb8488ae9d828e5df9">Solve</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db);</div>
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a60e6ac9afd6d3ed6a2a2d972165fee1f"> 890</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a60e6ac9afd6d3ed6a2a2d972165fee1f">Solve</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1);</div>
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4cc78f60d4b904542e2ce25ba888584e"> 891</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4cc78f60d4b904542e2ce25ba888584e">Solve</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2);</div>
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abcc05bab22581393d783134f7ff98eab"> 893</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#abcc05bab22581393d783134f7ff98eab">Solve</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div>
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3);</div>
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7b46349056982fe3dcf19d148eec5fcb"> 895</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7b46349056982fe3dcf19d148eec5fcb">Solve</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div>
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3,</div>
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m4);</div>
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> </div>
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> </div>
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af71de254f80c10584696d5285aca5183"> 909</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#af71de254f80c10584696d5285aca5183">NewSearch</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div>
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a201119e9301443e42699e705c81f4869"> 911</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a201119e9301443e42699e705c81f4869">NewSearch</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db);</div>
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5a9c12ebe393f97a8e32b7554f27d200"> 912</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5a9c12ebe393f97a8e32b7554f27d200">NewSearch</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1);</div>
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af0a9e58068d0d7be9c51854ff7d834cc"> 913</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#af0a9e58068d0d7be9c51854ff7d834cc">NewSearch</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div>
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2);</div>
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abbccede08b03646d29e04acaf71e0c50"> 915</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#abbccede08b03646d29e04acaf71e0c50">NewSearch</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div>
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3);</div>
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a993fbf789b9cfb598af92b35fe414075"> 917</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a993fbf789b9cfb598af92b35fe414075">NewSearch</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div>
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3,</div>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m4);</div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> </div>
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab9b8c3ea993ee19fd9cb68fb3240e09f"> 921</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab9b8c3ea993ee19fd9cb68fb3240e09f">NextSolution</a>();</div>
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0f660e8597c620b46aa963ed7f07c4d7"> 922</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0f660e8597c620b46aa963ed7f07c4d7">RestartSearch</a>();</div>
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3216144f5779ad0022bd7a0421c858d7"> 923</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3216144f5779ad0022bd7a0421c858d7">EndSearch</a>();</div>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span> </div>
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1974d638ba45f2a66ae864e96b766131"> 934</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1974d638ba45f2a66ae864e96b766131">SolveAndCommit</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div>
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0c27e95fb896b9ca243d6ab54da4f7c7"> 936</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0c27e95fb896b9ca243d6ab54da4f7c7">SolveAndCommit</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db);</div>
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae7a6f9406ec6be74bf29518190761b08"> 937</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae7a6f9406ec6be74bf29518190761b08">SolveAndCommit</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1);</div>
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4aeaec72a903164b4a7935c062e36a09"> 938</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4aeaec72a903164b4a7935c062e36a09">SolveAndCommit</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div>
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2);</div>
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a19fe8b2c3564ce52e8cb64b8083c2969"> 940</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a19fe8b2c3564ce52e8cb64b8083c2969">SolveAndCommit</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div>
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3);</div>
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> </div>
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a31b6ef7bff363d68d03eda8c9668e3e0"> 944</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a31b6ef7bff363d68d03eda8c9668e3e0">CheckAssignment</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> solution);</div>
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span> </div>
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a483098cee8f04c87368cd05674dda9df"> 949</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a483098cee8f04c87368cd05674dda9df">CheckConstraint</a>(<a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <span class="keyword">const</span> ct);</div>
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> </div>
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0094fe4296645dbe40d2c5377772e6eb"> 952</a></span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0094fe4296645dbe40d2c5377772e6eb">state</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state_; }</div>
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span> </div>
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aeb92d4addb41255c9732cacfcb54f795"> 955</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aeb92d4addb41255c9732cacfcb54f795">Fail</a>();</div>
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span> </div>
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aae6945c57651cb226561a0ef988a02ac"> 962</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aae6945c57651cb226561a0ef988a02ac">AddBacktrackAction</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> a, <span class="keywordtype">bool</span> fast);</div>
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</span><span class="preprocessor">#endif </span></div>
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"> 964</span> </div>
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a764be64f3029f8b8e23511061d8de355"> 966</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_solver.html#a764be64f3029f8b8e23511061d8de355">DebugString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> </div>
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3a10eb2883b85176076010fb11d40ceb"> 969</a></span> <span class="keyword">static</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3a10eb2883b85176076010fb11d40ceb">MemoryUsage</a>();</div>
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span> </div>
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a372a74e1d5fc647d81a043b81075422d"> 975</a></span> absl::Time <a class="code hl_function" href="classoperations__research_1_1_solver.html#a372a74e1d5fc647d81a043b81075422d">Now</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> </div>
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6129ea627a9a40fc21ddc24914cc6958"> 979</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6129ea627a9a40fc21ddc24914cc6958">wall_time</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"> 980</span> </div>
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a14f1aa725d9c4497296b233dbcb28402"> 982</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a14f1aa725d9c4497296b233dbcb28402">branches</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> branches_; }</div>
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span> </div>
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af1315bc614fc71a3c90729398d208289"> 985</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#af1315bc614fc71a3c90729398d208289">solutions</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span> </div>
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a675126cd5199cc7e815e9db86be0c471"> 988</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a675126cd5199cc7e815e9db86be0c471">unchecked_solutions</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> </div>
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4223e4103350cabed61ec52fdf1fc86f"> 991</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4223e4103350cabed61ec52fdf1fc86f">demon_runs</a>(<a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7">DemonPriority</a> p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> demon_runs_[p]; }</div>
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> </div>
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7dcb440a607b4b39979280ee21621473"> 994</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7dcb440a607b4b39979280ee21621473">failures</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> fails_; }</div>
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> </div>
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a01de90d2d6125531affa1d82bee7efe9"> 997</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a01de90d2d6125531affa1d82bee7efe9">neighbors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> neighbors_; }</div>
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> </div>
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2ee0d33b0d5c5766692b503d6bf09323"> 1000</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2ee0d33b0d5c5766692b503d6bf09323">filtered_neighbors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> filtered_neighbors_; }</div>
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> </div>
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aaa106feefa97b76369b113f62d442db8"> 1003</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#aaa106feefa97b76369b113f62d442db8">accepted_neighbors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> accepted_neighbors_; }</div>
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> </div>
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abbfe61fbd02ff9015e48695d525a889f"> 1007</a></span> uint64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#abbfe61fbd02ff9015e48695d525a889f">stamp</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> </div>
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#acbd7593b810d58ab572e5918d5690a94"> 1010</a></span> uint64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#acbd7593b810d58ab572e5918d5690a94">fail_stamp</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> </div>
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#affa6c6c872b17ceee95a3cd7f24f6848"> 1013</a></span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> <a class="code hl_function" href="classoperations__research_1_1_solver.html#affa6c6c872b17ceee95a3cd7f24f6848">optimization_direction</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> <span class="keywordflow">return</span> optimization_direction_;</div>
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> }</div>
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8bff6cc5ae227e109c6765b4c6809eb3"> 1016</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8bff6cc5ae227e109c6765b4c6809eb3">set_optimization_direction</a>(<a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> direction) {</div>
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> optimization_direction_ = direction;</div>
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span> }</div>
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> </div>
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> <span class="comment">// All factories (MakeXXX methods) encapsulate creation of objects</span></div>
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> <span class="comment">// through RevAlloc(). Hence, the Solver used for allocating the</span></div>
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> <span class="comment">// returned object will retain ownership of the allocated memory.</span></div>
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> <span class="comment">// Destructors are called upon backtrack, or when the Solver is</span></div>
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span> <span class="comment">// itself destructed.</span></div>
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span> </div>
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> <span class="comment">// ----- Int Variables and Constants -----</span></div>
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> </div>
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a495aac6fec0fd7a6780cde3fc6128fdc"> 1029</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a495aac6fec0fd7a6780cde3fc6128fdc">MakeIntVar</a>(int64_t min, int64_t max, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span> </div>
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a189c9fcb00735d25255c567121251a90"> 1032</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a189c9fcb00735d25255c567121251a90">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values,</div>
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span> <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> </div>
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7c94d4523a90b2c5eec25ddcf2e15d68"> 1036</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7c94d4523a90b2c5eec25ddcf2e15d68">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; values, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span> </div>
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aef8fb07ce42926c2fb51650e22b56ee2"> 1039</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aef8fb07ce42926c2fb51650e22b56ee2">MakeIntVar</a>(int64_t min, int64_t max);</div>
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span> </div>
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7628f4f38fe470e0d9ab5903ef9b6a2a"> 1042</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7628f4f38fe470e0d9ab5903ef9b6a2a">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span> </div>
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aed38a7e458a853841bff6027875346fd"> 1045</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aed38a7e458a853841bff6027875346fd">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</div>
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> </div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7fe5747f8adc7d4c5e233f849be04d6d"> 1048</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7fe5747f8adc7d4c5e233f849be04d6d">MakeBoolVar</a>(<span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> </div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa2ccc3c5683cdbf7b7651894f4054385"> 1051</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa2ccc3c5683cdbf7b7651894f4054385">MakeBoolVar</a>();</div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> </div>
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae8cece32cf189d295336a64e00767bdd"> 1054</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae8cece32cf189d295336a64e00767bdd">MakeIntConst</a>(int64_t val, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> </div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4a5546435af7a4dea113f2b12dfa1f84"> 1057</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4a5546435af7a4dea113f2b12dfa1f84">MakeIntConst</a>(int64_t val);</div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> </div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4d481dbddb391e50b458acf586d8ccbd"> 1062</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4d481dbddb391e50b458acf586d8ccbd">MakeIntVarArray</a>(<span class="keywordtype">int</span> var_count, int64_t vmin, int64_t vmax,</div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> <span class="keyword">const</span> std::string&amp; name, std::vector&lt;IntVar*&gt;* vars);</div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa2fd986a08726017fed65f0e543c6c74"> 1066</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa2fd986a08726017fed65f0e543c6c74">MakeIntVarArray</a>(<span class="keywordtype">int</span> var_count, int64_t vmin, int64_t vmax,</div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> std::vector&lt;IntVar*&gt;* vars);</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1f7423eab8919ece19ea66475d075d18"> 1069</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>** <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1f7423eab8919ece19ea66475d075d18">MakeIntVarArray</a>(<span class="keywordtype">int</span> var_count, int64_t vmin, int64_t vmax,</div>
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> </div>
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0c5082a7f40da167784ea364c9797d0e"> 1075</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0c5082a7f40da167784ea364c9797d0e">MakeBoolVarArray</a>(<span class="keywordtype">int</span> var_count, <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> std::vector&lt;IntVar*&gt;* vars);</div>
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a88e5ec53146896696c454ca29cd6366e"> 1079</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a88e5ec53146896696c454ca29cd6366e">MakeBoolVarArray</a>(<span class="keywordtype">int</span> var_count, std::vector&lt;IntVar*&gt;* vars);</div>
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4c9becfde92b690d0869a3127fc34126"> 1081</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>** <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4c9becfde92b690d0869a3127fc34126">MakeBoolVarArray</a>(<span class="keywordtype">int</span> var_count, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> </div>
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> <span class="comment">// ----- Integer Expressions -----</span></div>
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> </div>
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac957f0efc6de9135512f60f80ba36083"> 1086</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac957f0efc6de9135512f60f80ba36083">MakeSum</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a819eede0cc39233558e64f4fb77d28f0"> 1088</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a819eede0cc39233558e64f4fb77d28f0">MakeSum</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a09873cffad10d0c03d9e56bfee8063b5"> 1090</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a09873cffad10d0c03d9e56bfee8063b5">MakeSum</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> </div>
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab951ede85953696032860c7a34b08bc4"> 1093</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab951ede85953696032860c7a34b08bc4">MakeScalProd</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; coefs);</div>
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a23053cfdf78a25b8e04121f30fbaa72f"> 1096</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a23053cfdf78a25b8e04121f30fbaa72f">MakeScalProd</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefs);</div>
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> </div>
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a988e122844528e222326bd327a5d60fd"> 1100</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a988e122844528e222326bd327a5d60fd">MakeDifference</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1f8246a68d8ef1b5d19629747827a26c"> 1102</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1f8246a68d8ef1b5d19629747827a26c">MakeDifference</a>(int64_t value, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div>
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a70f2cba628260a3a04f06f676c65fd0a"> 1104</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a70f2cba628260a3a04f06f676c65fd0a">MakeOpposite</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div>
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> </div>
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae88d696e499f29968ad16dcf587fff50"> 1107</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae88d696e499f29968ad16dcf587fff50">MakeProd</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a17de923c25a5e2da107cc116fae08119"> 1109</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a17de923c25a5e2da107cc116fae08119">MakeProd</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> </div>
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac15faffa16c334370eac056d3986efff"> 1112</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac15faffa16c334370eac056d3986efff">MakeDiv</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a537af2f859a1a28f1cfba78504b01b10"> 1114</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a537af2f859a1a28f1cfba78504b01b10">MakeDiv</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> numerator, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> denominator);</div>
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span> </div>
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1e1ca16d39d47ab8022785dc8e499120"> 1117</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1e1ca16d39d47ab8022785dc8e499120">MakeAbs</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div>
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#acdaa08527897eee872272e8e2d2b28e4"> 1119</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#acdaa08527897eee872272e8e2d2b28e4">MakeSquare</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div>
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa1fbb1e06abdd97d173864cadaf6e290"> 1121</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa1fbb1e06abdd97d173864cadaf6e290">MakePower</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t n);</div>
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span> </div>
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a88b9877d88ea2cf4d4b4b5bfc2916110"> 1124</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a88b9877d88ea2cf4d4b4b5bfc2916110">MakeElement</a>(<span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index);</div>
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5d55c6d88841a24a6475f2b8a0da2dd5"> 1126</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5d55c6d88841a24a6475f2b8a0da2dd5">MakeElement</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; values, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index);</div>
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> </div>
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a82f32152b3e50f4dc8fcf740f28854db"> 1131</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a82f32152b3e50f4dc8fcf740f28854db">MakeElement</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">IndexEvaluator1</a> values, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index);</div>
<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af8000758952f5c47fbc540e7515ec3d7"> 1138</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af8000758952f5c47fbc540e7515ec3d7">MakeMonotonicElement</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">IndexEvaluator1</a> values, <span class="keywordtype">bool</span> increasing,</div>
<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index);</div>
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8f08623720fbf9b78baea270d0a6c55d"> 1141</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8f08623720fbf9b78baea270d0a6c55d">MakeElement</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> values, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index1,</div>
<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index2);</div>
<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span> </div>
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a607c2a1c721c5ca1d2399a13e619e2cd"> 1145</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a607c2a1c721c5ca1d2399a13e619e2cd">MakeElement</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index);</div>
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span> </div>
<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7cb6b671291bba8bc4077e1d2efadbe"> 1149</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab7cb6b671291bba8bc4077e1d2efadbe">MakeElement</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#af49346bff5dd53d2e2d1c7c271c1a367">Int64ToIntVar</a> vars, int64_t range_start,</div>
<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> int64_t range_end, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* argument);</div>
<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span> </div>
<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a141ceaeede5f00e9a4c798e55048cf99"> 1155</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a141ceaeede5f00e9a4c798e55048cf99">MakeIndexExpression</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64_t value);</div>
<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"> 1156</span> </div>
<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a74b8b1a83df2cb86a4e3606c747e202c"> 1158</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a74b8b1a83df2cb86a4e3606c747e202c">MakeIfThenElseCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> condition,</div>
<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> then_expr,</div>
<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"> 1160</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> else_expr,</div>
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> target_var);</div>
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span> </div>
<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a259a4ee93238a1e426362cb830317a57"> 1164</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a259a4ee93238a1e426362cb830317a57">MakeMin</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abb42028bd4d00fa5015a29d271c87723"> 1166</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#abb42028bd4d00fa5015a29d271c87723">MakeMin</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af5ef191b7b02ce107544302d63ab1327"> 1168</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af5ef191b7b02ce107544302d63ab1327">MakeMin</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa84ce64fbf497a38e9364d66d2148c05"> 1170</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa84ce64fbf497a38e9364d66d2148c05">MakeMin</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div>
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span> </div>
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a934e08f84e590e48ab860fcd97ca7130"> 1173</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a934e08f84e590e48ab860fcd97ca7130">MakeMax</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac44fc7b9623b36db077cd649c640a5d3"> 1175</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac44fc7b9623b36db077cd649c640a5d3">MakeMax</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a026b74e972d7a9b260fd689486737907"> 1177</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a026b74e972d7a9b260fd689486737907">MakeMax</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa652e79264bcfb75282b881957366cbd"> 1179</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa652e79264bcfb75282b881957366cbd">MakeMax</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div>
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span> </div>
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa16cd34b1149dd28a69e9d2935b16b27"> 1182</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa16cd34b1149dd28a69e9d2935b16b27">MakeConvexPiecewiseExpr</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* expr, int64_t early_cost,</div>
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> int64_t early_date, int64_t late_date,</div>
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> int64_t late_cost);</div>
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> </div>
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1c80076360afc597a0a4d815b1252cf6"> 1188</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1c80076360afc597a0a4d815b1252cf6">MakeSemiContinuousExpr</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t fixed_charge,</div>
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> int64_t step);</div>
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> </div>
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span> <span class="comment">// TODO(user): Investigate if we can merge all three piecewise linear</span></div>
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span><span class="comment"></span><span class="preprocessor">#ifndef SWIG</span></div>
<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a235c1fd0f0c6d4051a8ff4311ba2630c"> 1196</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a235c1fd0f0c6d4051a8ff4311ba2630c">MakePiecewiseLinearExpr</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* expr,</div>
<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span> <span class="keyword">const</span> PiecewiseLinearFunction&amp; f);</div>
<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"> 1199</span> </div>
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aec20b14075549774bebcd4ba3441f745"> 1201</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aec20b14075549774bebcd4ba3441f745">MakeModulo</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> x, int64_t mod);</div>
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span> </div>
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2db257565e3ee441110a73522333105e"> 1204</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2db257565e3ee441110a73522333105e">MakeModulo</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> x, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> mod);</div>
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span> </div>
<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad13236f48acae72930570e53b05412ad"> 1207</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad13236f48acae72930570e53b05412ad">MakeConditionalExpression</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> condition,</div>
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div>
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span> int64_t unperformed_value);</div>
<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"> 1210</span> </div>
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a783604b36be84a0f63754d0fe5597291"> 1212</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a783604b36be84a0f63754d0fe5597291">MakeTrueConstraint</a>();</div>
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1f73b85db1b5b095064d1b2d1e40f23b"> 1214</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1f73b85db1b5b095064d1b2d1e40f23b">MakeFalseConstraint</a>();</div>
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a852aba0d03119d806f68b204a543596e"> 1215</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a852aba0d03119d806f68b204a543596e">MakeFalseConstraint</a>(<span class="keyword">const</span> std::string&amp; explanation);</div>
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span> </div>
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5e54eba1e518ddf9e0ab35dcd8e65ddc"> 1218</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5e54eba1e518ddf9e0ab35dcd8e65ddc">MakeIsEqualCstCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value,</div>
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div>
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aecc1416849d286531c1820b42d2292fc"> 1221</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aecc1416849d286531c1820b42d2292fc">MakeIsEqualCstVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a707950fd814cfea4d590649559510ae2"> 1223</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a707950fd814cfea4d590649559510ae2">MakeIsEqualCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> v1, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* v2, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a38dd8015b2a97716a49dd5be4695aeea"> 1225</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a38dd8015b2a97716a49dd5be4695aeea">MakeIsEqualVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> v1, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* v2);</div>
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2085a8965de86fa4cf3aa76331331372"> 1227</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2085a8965de86fa4cf3aa76331331372">MakeEquality</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2525395fcb7710c4a1ee0f8c53ab3ef6"> 1229</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2525395fcb7710c4a1ee0f8c53ab3ef6">MakeEquality</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a45e165985c73422b6215e2c303e65125"> 1231</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a45e165985c73422b6215e2c303e65125">MakeEquality</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div>
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span> </div>
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a99f74c4d2d23a341e3983ea0872d5b95"> 1234</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a99f74c4d2d23a341e3983ea0872d5b95">MakeIsDifferentCstCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value,</div>
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div>
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa79e6e327b1680b72ad39b2e2af9e52c"> 1237</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa79e6e327b1680b72ad39b2e2af9e52c">MakeIsDifferentCstVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a37f4cb0801309b89498ea22004c60f71"> 1239</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a37f4cb0801309b89498ea22004c60f71">MakeIsDifferentVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> v1, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> v2);</div>
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a21e692e7b333d7dd72d4b6cc1dbb0b26"> 1241</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a21e692e7b333d7dd72d4b6cc1dbb0b26">MakeIsDifferentCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> v1, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> v2,</div>
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aaa37d5c7962b1ecd6a7575365efeafd7"> 1244</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aaa37d5c7962b1ecd6a7575365efeafd7">MakeNonEquality</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#addcba4112937e66dfad1e22966f43d9c"> 1246</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#addcba4112937e66dfad1e22966f43d9c">MakeNonEquality</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a30ee990a97865308994fb0a3b011a9f0"> 1248</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a30ee990a97865308994fb0a3b011a9f0">MakeNonEquality</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div>
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> </div>
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a24a066918bb2f03909edb814c90477ba"> 1251</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a24a066918bb2f03909edb814c90477ba">MakeIsLessOrEqualCstCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value,</div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div>
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8e9b36ec9914650dc5fa119a8ba54179"> 1254</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8e9b36ec9914650dc5fa119a8ba54179">MakeIsLessOrEqualCstVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afbee77155db9657532f8e28b007336bb"> 1256</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afbee77155db9657532f8e28b007336bb">MakeIsLessOrEqualVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a93a90409c3c835856b7ae70fc9d86c79"> 1258</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a93a90409c3c835856b7ae70fc9d86c79">MakeIsLessOrEqualCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right,</div>
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a233503ed12f669d73f4e50fae345f448"> 1261</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a233503ed12f669d73f4e50fae345f448">MakeLessOrEqual</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2d2160a1a9e905beac8c0b997d509327"> 1263</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2d2160a1a9e905beac8c0b997d509327">MakeLessOrEqual</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6acea1398350fa7def332bb70b8dc50b"> 1265</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6acea1398350fa7def332bb70b8dc50b">MakeLessOrEqual</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> </div>
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab2ce14d291c9d19adede1096abbad6dc"> 1268</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab2ce14d291c9d19adede1096abbad6dc">MakeIsGreaterOrEqualCstCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value,</div>
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div>
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a23edac56b118ef933e3ba15df9f91f92"> 1271</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a23edac56b118ef933e3ba15df9f91f92">MakeIsGreaterOrEqualCstVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af2ee342625cccdeda58ec02d2dfddcbe"> 1273</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af2ee342625cccdeda58ec02d2dfddcbe">MakeIsGreaterOrEqualVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af317a515d70c6fe9b88a56bc0342baf7"> 1275</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af317a515d70c6fe9b88a56bc0342baf7">MakeIsGreaterOrEqualCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right,</div>
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aec68a2a29292f367d4ea1fdd95d1f5c9"> 1278</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aec68a2a29292f367d4ea1fdd95d1f5c9">MakeGreaterOrEqual</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a232f1cfe8e53c0a99d27ecd6db8aae68"> 1280</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a232f1cfe8e53c0a99d27ecd6db8aae68">MakeGreaterOrEqual</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac5a88b8b5ae7d8a03052b00db7dc931e"> 1282</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac5a88b8b5ae7d8a03052b00db7dc931e">MakeGreaterOrEqual</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div>
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> </div>
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae1e21bd569a090f4836285012cd1ab4c"> 1285</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae1e21bd569a090f4836285012cd1ab4c">MakeIsGreaterCstCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> v, int64_t c, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a13e8a8f8144963f9b7d337e34aed616d"> 1287</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a13e8a8f8144963f9b7d337e34aed616d">MakeIsGreaterCstVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a253ce358e3385b12c90e428df5e149e3"> 1289</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a253ce358e3385b12c90e428df5e149e3">MakeIsGreaterVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad44a208d35ca938ae9564e5e26687cde"> 1291</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad44a208d35ca938ae9564e5e26687cde">MakeIsGreaterCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right,</div>
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3acffe26a83237c5ff730b6ee4b81c94"> 1294</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3acffe26a83237c5ff730b6ee4b81c94">MakeGreater</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afb3c159800a0075e82bf5258bbf661e1"> 1296</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afb3c159800a0075e82bf5258bbf661e1">MakeGreater</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a635a8438145d7e0816bc025c24f6e90d"> 1298</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a635a8438145d7e0816bc025c24f6e90d">MakeGreater</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div>
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span> </div>
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a13c5beba743db503500aa75a504168cb"> 1301</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a13c5beba743db503500aa75a504168cb">MakeIsLessCstCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> v, int64_t c, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a43a6dc7053a01035ce1599d50d823b7c"> 1303</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a43a6dc7053a01035ce1599d50d823b7c">MakeIsLessCstVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aaaadfa527b0411d38dbc0d5914814cc1"> 1305</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aaaadfa527b0411d38dbc0d5914814cc1">MakeIsLessVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a626142a335c69b8aefa24c5082033c7b"> 1307</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a626142a335c69b8aefa24c5082033c7b">MakeIsLessCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right,</div>
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a199b73a65e10bcf7c43f391abb06e9f7"> 1310</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a199b73a65e10bcf7c43f391abb06e9f7">MakeLess</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> right);</div>
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a06d4d0c24ce213439923328680453775"> 1312</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a06d4d0c24ce213439923328680453775">MakeLess</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t value);</div>
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a25d18071297935ff4160442ae7c56c27"> 1314</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a25d18071297935ff4160442ae7c56c27">MakeLess</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> </div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae22b51c62a7ca70222c73972a1f7caa5"> 1317</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae22b51c62a7ca70222c73972a1f7caa5">MakeSumLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64_t cst);</div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a65ef9e909e5d6b35ad9d9ff1b97a7916"> 1318</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a65ef9e909e5d6b35ad9d9ff1b97a7916">MakeSumGreaterOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> int64_t cst);</div>
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1cf098b98c67b72f37ca012e69aec6ce"> 1320</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1cf098b98c67b72f37ca012e69aec6ce">MakeSumEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64_t cst);</div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aec6401c023dab782b331b0238c6ff5e4"> 1321</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aec6401c023dab782b331b0238c6ff5e4">MakeSumEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af7d71e7623ee6bb9bb93715e1f9d6e7a"> 1323</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af7d71e7623ee6bb9bb93715e1f9d6e7a">MakeScalProdEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; coefficients,</div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> int64_t cst);</div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a437898bf331c10bc446010c5ef61fe93"> 1326</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a437898bf331c10bc446010c5ef61fe93">MakeScalProdEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefficients,</div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> int64_t cst);</div>
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a64fa7c2277f0a6228151a96403d1ed1c"> 1329</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a64fa7c2277f0a6228151a96403d1ed1c">MakeScalProdEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; coefficients,</div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> target);</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5cb4f284364b6aa084c48de17678399a"> 1332</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5cb4f284364b6aa084c48de17678399a">MakeScalProdEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefficients,</div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> target);</div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac3183a9fb438996e76e3079f397eb9f5"> 1335</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac3183a9fb438996e76e3079f397eb9f5">MakeScalProdGreaterOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; coeffs,</div>
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> int64_t cst);</div>
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa647aa406b7e84a0dfc1cb4ca256480e"> 1338</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa647aa406b7e84a0dfc1cb4ca256480e">MakeScalProdGreaterOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coeffs,</div>
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> int64_t cst);</div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a72cd61da5676c60fc6f2739c0c43fba5"> 1341</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a72cd61da5676c60fc6f2739c0c43fba5">MakeScalProdLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; coefficients,</div>
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> int64_t cst);</div>
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a49794b120249479c29e4539c1af980e7"> 1344</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a49794b120249479c29e4539c1af980e7">MakeScalProdLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefficients,</div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> int64_t cst);</div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> </div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#adf4b4c9f1cc7a6f674a721a5943034af"> 1348</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#adf4b4c9f1cc7a6f674a721a5943034af">MakeMinEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> min_var);</div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6f94e0e067e2b294237e14f0dfd5aaa7"> 1350</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6f94e0e067e2b294237e14f0dfd5aaa7">MakeMaxEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> max_var);</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> </div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a42aa9b19e7f196e8ae5d94a192f132d5"> 1353</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a42aa9b19e7f196e8ae5d94a192f132d5">MakeElementEquality</a>(<span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; vals,</div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> target);</div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7dacaf3594ba4371238e9d69ba778151"> 1355</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7dacaf3594ba4371238e9d69ba778151">MakeElementEquality</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; vals,</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> target);</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2988304a57c8b68fdd6ea271259d0143"> 1357</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2988304a57c8b68fdd6ea271259d0143">MakeElementEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> target);</div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac085ecdbf4f27716641a6369da14d954"> 1359</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac085ecdbf4f27716641a6369da14d954">MakeElementEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index, int64_t target);</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2fff62e191cecd9c73a05eeb4d386914"> 1362</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2fff62e191cecd9c73a05eeb4d386914">MakeAbsEquality</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> abs_var);</div>
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a814f10c84ca9b8ee0b25453b8c381a02"> 1367</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a814f10c84ca9b8ee0b25453b8c381a02">MakeIndexOfConstraint</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> index, int64_t target);</div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> </div>
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a757134fa69300766dced7f3ed9cd1810"> 1372</a></span> <a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a757134fa69300766dced7f3ed9cd1810">MakeConstraintInitialPropagateCallback</a>(<a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <span class="keyword">const</span> ct);</div>
<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac46ae3a82d68424788c0eabc3d4b838c"> 1376</a></span> <a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac46ae3a82d68424788c0eabc3d4b838c">MakeDelayedConstraintInitialPropagateCallback</a>(<a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <span class="keyword">const</span> ct);</div>
<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"> 1377</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3f0e3322d5ae085dc9958c4fd5329918"> 1379</a></span> <a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3f0e3322d5ae085dc9958c4fd5329918">MakeActionDemon</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> action);</div>
<div class="line"><a id="l01380" name="l01380"></a><span class="lineno"> 1380</span><span class="preprocessor">#endif </span></div>
<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a59234ab632db0df159df6a15f32d904a"> 1382</a></span> <a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a59234ab632db0df159df6a15f32d904a">MakeClosureDemon</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Closure</a> closure);</div>
<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"> 1383</span> </div>
<div class="line"><a id="l01384" name="l01384"></a><span class="lineno"> 1384</span> <span class="comment">// ----- Between and related constraints -----</span></div>
<div class="line"><a id="l01385" name="l01385"></a><span class="lineno"> 1385</span> </div>
<div class="line"><a id="l01387" name="l01387"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a00eb3ca90c8502f67cf5ef3ed050596a"> 1387</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a00eb3ca90c8502f67cf5ef3ed050596a">MakeBetweenCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t l, int64_t u);</div>
<div class="line"><a id="l01388" name="l01388"></a><span class="lineno"> 1388</span> </div>
<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a527c9139e9c7a67de20f23ae85f40461"> 1393</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a527c9139e9c7a67de20f23ae85f40461">MakeNotBetweenCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t l, int64_t u);</div>
<div class="line"><a id="l01394" name="l01394"></a><span class="lineno"> 1394</span> </div>
<div class="line"><a id="l01396" name="l01396"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac2bf0f5265b277fd5e9cdfffb1130af8"> 1396</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac2bf0f5265b277fd5e9cdfffb1130af8">MakeIsBetweenCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64_t l, int64_t u,</div>
<div class="line"><a id="l01397" name="l01397"></a><span class="lineno"> 1397</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l01398" name="l01398"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a87dbc21fae26a20e69eac4c09d408e5a"> 1398</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a87dbc21fae26a20e69eac4c09d408e5a">MakeIsBetweenVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> v, int64_t l, int64_t u);</div>
<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"> 1399</span> </div>
<div class="line"><a id="l01400" name="l01400"></a><span class="lineno"> 1400</span> <span class="comment">// ----- Member and related constraints -----</span></div>
<div class="line"><a id="l01401" name="l01401"></a><span class="lineno"> 1401</span> </div>
<div class="line"><a id="l01404" name="l01404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4d94925b21a62f9e9ecba91d4783b30d"> 1404</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4d94925b21a62f9e9ecba91d4783b30d">MakeMemberCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div>
<div class="line"><a id="l01405" name="l01405"></a><span class="lineno"> 1405</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l01406" name="l01406"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3882fe2a352a093187ede78f9e532035"> 1406</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3882fe2a352a093187ede78f9e532035">MakeMemberCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</div>
<div class="line"><a id="l01407" name="l01407"></a><span class="lineno"> 1407</span> </div>
<div class="line"><a id="l01409" name="l01409"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2d2401b25fcb2cd3ba3a4b639bb57d4c"> 1409</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2d2401b25fcb2cd3ba3a4b639bb57d4c">MakeNotMemberCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div>
<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"> 1410</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5701706ae773c6626d2f0b79892e61d9"> 1411</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5701706ae773c6626d2f0b79892e61d9">MakeNotMemberCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div>
<div class="line"><a id="l01412" name="l01412"></a><span class="lineno"> 1412</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</div>
<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"> 1413</span> </div>
<div class="line"><a id="l01415" name="l01415"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a70e858d1ac055189f8406336aff2c5a9"> 1415</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a70e858d1ac055189f8406336aff2c5a9">MakeNotMemberCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, std::vector&lt;int64_t&gt; starts,</div>
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"> 1416</span> std::vector&lt;int64_t&gt; ends);</div>
<div class="line"><a id="l01418" name="l01418"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a9bd156c8498d15a6f3993b695ebb9d51"> 1418</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a9bd156c8498d15a6f3993b695ebb9d51">MakeNotMemberCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, std::vector&lt;int&gt; starts,</div>
<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"> 1419</span> std::vector&lt;int&gt; ends);</div>
<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"> 1420</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5d8d56f97ecfa5148d9073ea4e7a09b6"> 1422</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5d8d56f97ecfa5148d9073ea4e7a09b6">MakeNotMemberCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* expr,</div>
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span> SortedDisjointIntervalList intervals);</div>
<div class="line"><a id="l01424" name="l01424"></a><span class="lineno"> 1424</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"> 1425</span> </div>
<div class="line"><a id="l01427" name="l01427"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aeec1ca58d160e909e7b5e2a7dc62d2b9"> 1427</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aeec1ca58d160e909e7b5e2a7dc62d2b9">MakeIsMemberCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div>
<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"> 1428</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values,</div>
<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div>
<div class="line"><a id="l01430" name="l01430"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#adedce71d13d901cec6c4c8ff80b10377"> 1430</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#adedce71d13d901cec6c4c8ff80b10377">MakeIsMemberCt</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div>
<div class="line"><a id="l01431" name="l01431"></a><span class="lineno"> 1431</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values,</div>
<div class="line"><a id="l01432" name="l01432"></a><span class="lineno"> 1432</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div>
<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8e95e9a369daa0527746deb967d6b577"> 1433</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8e95e9a369daa0527746deb967d6b577">MakeIsMemberVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div>
<div class="line"><a id="l01434" name="l01434"></a><span class="lineno"> 1434</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l01435" name="l01435"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a95dadc61fe3a5d03148b48898a76ba08"> 1435</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a95dadc61fe3a5d03148b48898a76ba08">MakeIsMemberVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</div>
<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"> 1436</span> </div>
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af563b9a4a5d95d2552b0d5f43a679e98"> 1438</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af563b9a4a5d95d2552b0d5f43a679e98">MakeAtMost</a>(std::vector&lt;IntVar*&gt; vars, int64_t value,</div>
<div class="line"><a id="l01439" name="l01439"></a><span class="lineno"> 1439</span> int64_t max_count);</div>
<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a068546fafd21de918946e45778117900"> 1441</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a068546fafd21de918946e45778117900">MakeCount</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64_t value,</div>
<div class="line"><a id="l01442" name="l01442"></a><span class="lineno"> 1442</span> int64_t max_count);</div>
<div class="line"><a id="l01444" name="l01444"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6878c212b4e7e362fa3c8e07493b27a2"> 1444</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6878c212b4e7e362fa3c8e07493b27a2">MakeCount</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64_t value,</div>
<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> max_count);</div>
<div class="line"><a id="l01446" name="l01446"></a><span class="lineno"> 1446</span> </div>
<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6b46626f38ab21a3120112a7c76fb076"> 1448</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6b46626f38ab21a3120112a7c76fb076">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values,</div>
<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"> 1450</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cards);</div>
<div class="line"><a id="l01452" name="l01452"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aee1a846454b8c2e5f38a8e030343e24f"> 1452</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aee1a846454b8c2e5f38a8e030343e24f">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01453" name="l01453"></a><span class="lineno"> 1453</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values,</div>
<div class="line"><a id="l01454" name="l01454"></a><span class="lineno"> 1454</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cards);</div>
<div class="line"><a id="l01456" name="l01456"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a9535e1e548aac3b91310c82b71bf6d22"> 1456</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a9535e1e548aac3b91310c82b71bf6d22">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01457" name="l01457"></a><span class="lineno"> 1457</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cards);</div>
<div class="line"><a id="l01460" name="l01460"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0e8ab9d9a1ef238b46200f440cf4bd4d"> 1460</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0e8ab9d9a1ef238b46200f440cf4bd4d">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64_t card_min,</div>
<div class="line"><a id="l01461" name="l01461"></a><span class="lineno"> 1461</span> int64_t card_max, int64_t card_size);</div>
<div class="line"><a id="l01465" name="l01465"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1849746a651b4e617a8a4350c3426234"> 1465</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1849746a651b4e617a8a4350c3426234">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01466" name="l01466"></a><span class="lineno"> 1466</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; card_min,</div>
<div class="line"><a id="l01467" name="l01467"></a><span class="lineno"> 1467</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; card_max);</div>
<div class="line"><a id="l01471" name="l01471"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a9ddd8656b185d1ec97ba582431c39787"> 1471</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a9ddd8656b185d1ec97ba582431c39787">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01472" name="l01472"></a><span class="lineno"> 1472</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_min,</div>
<div class="line"><a id="l01473" name="l01473"></a><span class="lineno"> 1473</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_max);</div>
<div class="line"><a id="l01477" name="l01477"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afa7690756ad1204af852494cd98381b1"> 1477</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afa7690756ad1204af852494cd98381b1">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01478" name="l01478"></a><span class="lineno"> 1478</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values,</div>
<div class="line"><a id="l01479" name="l01479"></a><span class="lineno"> 1479</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; card_min,</div>
<div class="line"><a id="l01480" name="l01480"></a><span class="lineno"> 1480</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; card_max);</div>
<div class="line"><a id="l01484" name="l01484"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd3decca8be2b860ad07a2755cd1405c"> 1484</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afd3decca8be2b860ad07a2755cd1405c">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01485" name="l01485"></a><span class="lineno"> 1485</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values,</div>
<div class="line"><a id="l01486" name="l01486"></a><span class="lineno"> 1486</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_min,</div>
<div class="line"><a id="l01487" name="l01487"></a><span class="lineno"> 1487</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_max);</div>
<div class="line"><a id="l01488" name="l01488"></a><span class="lineno"> 1488</span> </div>
<div class="line"><a id="l01493" name="l01493"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af48977474f3c25fbf91d2600f8924182"> 1493</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af48977474f3c25fbf91d2600f8924182">MakeDeviation</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01494" name="l01494"></a><span class="lineno"> 1494</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> deviation_var, int64_t total_sum);</div>
<div class="line"><a id="l01495" name="l01495"></a><span class="lineno"> 1495</span> </div>
<div class="line"><a id="l01498" name="l01498"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac145423b7d355bcd75d627871ca95e86"> 1498</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac145423b7d355bcd75d627871ca95e86">MakeAllDifferent</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l01499" name="l01499"></a><span class="lineno"> 1499</span> </div>
<div class="line"><a id="l01503" name="l01503"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5ab1471e27355b524a9a50b8e8386717"> 1503</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5ab1471e27355b524a9a50b8e8386717">MakeAllDifferent</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01504" name="l01504"></a><span class="lineno"> 1504</span> <span class="keywordtype">bool</span> stronger_propagation);</div>
<div class="line"><a id="l01505" name="l01505"></a><span class="lineno"> 1505</span> </div>
<div class="line"><a id="l01508" name="l01508"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7d6119e587498d09e5ab7d3ae47fea09"> 1508</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7d6119e587498d09e5ab7d3ae47fea09">MakeAllDifferentExcept</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01509" name="l01509"></a><span class="lineno"> 1509</span> int64_t escape_value);</div>
<div class="line"><a id="l01510" name="l01510"></a><span class="lineno"> 1510</span> <span class="comment">// TODO(user): Do we need a version with an array of escape values.</span></div>
<div class="line"><a id="l01511" name="l01511"></a><span class="lineno"> 1511</span> </div>
<div class="line"><a id="l01527" name="l01527"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac14b4f9be9e760378da86da1bc2abd00"> 1527</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac14b4f9be9e760378da86da1bc2abd00">MakeSortingConstraint</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01528" name="l01528"></a><span class="lineno"> 1528</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sorted);</div>
<div class="line"><a id="l01529" name="l01529"></a><span class="lineno"> 1529</span> <span class="comment">// TODO(user): Add void MakeSortedArray(</span></div>
<div class="line"><a id="l01530" name="l01530"></a><span class="lineno"> 1530</span> <span class="comment">// const std::vector&lt;IntVar*&gt;&amp; vars,</span></div>
<div class="line"><a id="l01531" name="l01531"></a><span class="lineno"> 1531</span> <span class="comment">// std::vector&lt;IntVar*&gt;* const sorted);</span></div>
<div class="line"><a id="l01532" name="l01532"></a><span class="lineno"> 1532</span> </div>
<div class="line"><a id="l01535" name="l01535"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a41bc583e647b18a0b71d07859581e640"> 1535</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a41bc583e647b18a0b71d07859581e640">MakeLexicalLess</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; left,</div>
<div class="line"><a id="l01536" name="l01536"></a><span class="lineno"> 1536</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; right);</div>
<div class="line"><a id="l01537" name="l01537"></a><span class="lineno"> 1537</span> </div>
<div class="line"><a id="l01540" name="l01540"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8acdedd57a41a9cf6e607bdd8e20f02b"> 1540</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8acdedd57a41a9cf6e607bdd8e20f02b">MakeLexicalLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; left,</div>
<div class="line"><a id="l01541" name="l01541"></a><span class="lineno"> 1541</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; right);</div>
<div class="line"><a id="l01542" name="l01542"></a><span class="lineno"> 1542</span> </div>
<div class="line"><a id="l01547" name="l01547"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abc32f3a80394fd12e8fc7f22e20c34ca"> 1547</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#abc32f3a80394fd12e8fc7f22e20c34ca">MakeInversePermutationConstraint</a>(</div>
<div class="line"><a id="l01548" name="l01548"></a><span class="lineno"> 1548</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; left, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; right);</div>
<div class="line"><a id="l01549" name="l01549"></a><span class="lineno"> 1549</span> </div>
<div class="line"><a id="l01552" name="l01552"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#add19a54159cf1d9d075474b977a8788f"> 1552</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#add19a54159cf1d9d075474b977a8788f">MakeIndexOfFirstMaxValueConstraint</a>(</div>
<div class="line"><a id="l01553" name="l01553"></a><span class="lineno"> 1553</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* index, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l01554" name="l01554"></a><span class="lineno"> 1554</span> </div>
<div class="line"><a id="l01557" name="l01557"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2b761ab631609dadf6e6d06432853051"> 1557</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2b761ab631609dadf6e6d06432853051">MakeIndexOfFirstMinValueConstraint</a>(</div>
<div class="line"><a id="l01558" name="l01558"></a><span class="lineno"> 1558</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* index, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l01559" name="l01559"></a><span class="lineno"> 1559</span> </div>
<div class="line"><a id="l01564" name="l01564"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a244b2a437a5d33e9c08c747988c8f830"> 1564</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a244b2a437a5d33e9c08c747988c8f830">MakeNullIntersect</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; first_vars,</div>
<div class="line"><a id="l01565" name="l01565"></a><span class="lineno"> 1565</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; second_vars);</div>
<div class="line"><a id="l01566" name="l01566"></a><span class="lineno"> 1566</span> </div>
<div class="line"><a id="l01572" name="l01572"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a113b01eca9d8ce4a7bf14f9f7e2e9d4d"> 1572</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a113b01eca9d8ce4a7bf14f9f7e2e9d4d">MakeNullIntersectExcept</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; first_vars,</div>
<div class="line"><a id="l01573" name="l01573"></a><span class="lineno"> 1573</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; second_vars,</div>
<div class="line"><a id="l01574" name="l01574"></a><span class="lineno"> 1574</span> int64_t escape_value);</div>
<div class="line"><a id="l01575" name="l01575"></a><span class="lineno"> 1575</span> </div>
<div class="line"><a id="l01576" name="l01576"></a><span class="lineno"> 1576</span> <span class="comment">// TODO(user): Implement MakeAllNullIntersect taking an array of</span></div>
<div class="line"><a id="l01577" name="l01577"></a><span class="lineno"> 1577</span> <span class="comment">// variable vectors.</span></div>
<div class="line"><a id="l01578" name="l01578"></a><span class="lineno"> 1578</span> </div>
<div class="line"><a id="l01588" name="l01588"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af86d4d3fd4b1b37d56a50a0a6c7628d6"> 1588</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af86d4d3fd4b1b37d56a50a0a6c7628d6">MakeNoCycle</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div>
<div class="line"><a id="l01589" name="l01589"></a><span class="lineno"> 1589</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a id="l01590" name="l01590"></a><span class="lineno"> 1590</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a6188d0df45262d3176058485c7f47995">IndexFilter1</a> sink_handler = <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l01591" name="l01591"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a81fb93226e8adf2f9131624b7a0eaba3"> 1591</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a81fb93226e8adf2f9131624b7a0eaba3">MakeNoCycle</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div>
<div class="line"><a id="l01592" name="l01592"></a><span class="lineno"> 1592</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a id="l01593" name="l01593"></a><span class="lineno"> 1593</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a6188d0df45262d3176058485c7f47995">IndexFilter1</a> sink_handler, <span class="keywordtype">bool</span> assume_paths);</div>
<div class="line"><a id="l01594" name="l01594"></a><span class="lineno"> 1594</span> </div>
<div class="line"><a id="l01596" name="l01596"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a399fa67037695a2651e9e9c49ec1e014"> 1596</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a399fa67037695a2651e9e9c49ec1e014">MakeCircuit</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts);</div>
<div class="line"><a id="l01597" name="l01597"></a><span class="lineno"> 1597</span> </div>
<div class="line"><a id="l01600" name="l01600"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1c08fc5456634780867df83cff1d8a54"> 1600</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1c08fc5456634780867df83cff1d8a54">MakeSubCircuit</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts);</div>
<div class="line"><a id="l01601" name="l01601"></a><span class="lineno"> 1601</span> </div>
<div class="line"><a id="l01606" name="l01606"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad66fddae43e332f97a4adc47624b799b"> 1606</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad66fddae43e332f97a4adc47624b799b">MakePathCumul</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div>
<div class="line"><a id="l01607" name="l01607"></a><span class="lineno"> 1607</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a id="l01608" name="l01608"></a><span class="lineno"> 1608</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div>
<div class="line"><a id="l01609" name="l01609"></a><span class="lineno"> 1609</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; transits);</div>
<div class="line"><a id="l01612" name="l01612"></a><span class="lineno"> 1612</span> <span class="comment">// TODO(user): Merge with other path-cumuls constraints.</span></div>
<div class="line"><a id="l01613" name="l01613"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a46d06186cf102695501bfc59cf790877"> 1613</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a46d06186cf102695501bfc59cf790877">MakeDelayedPathCumul</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div>
<div class="line"><a id="l01614" name="l01614"></a><span class="lineno"> 1614</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a id="l01615" name="l01615"></a><span class="lineno"> 1615</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div>
<div class="line"><a id="l01616" name="l01616"></a><span class="lineno"> 1616</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; transits);</div>
<div class="line"><a id="l01623" name="l01623"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a69686be8775ce21f8f1da5ae8570ec71"> 1623</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a69686be8775ce21f8f1da5ae8570ec71">MakePathCumul</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div>
<div class="line"><a id="l01624" name="l01624"></a><span class="lineno"> 1624</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a id="l01625" name="l01625"></a><span class="lineno"> 1625</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div>
<div class="line"><a id="l01626" name="l01626"></a><span class="lineno"> 1626</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> transit_evaluator);</div>
<div class="line"><a id="l01627" name="l01627"></a><span class="lineno"> 1627</span> </div>
<div class="line"><a id="l01634" name="l01634"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad92d314c2a6358cff54e0cafbee5c5af"> 1634</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad92d314c2a6358cff54e0cafbee5c5af">MakePathCumul</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div>
<div class="line"><a id="l01635" name="l01635"></a><span class="lineno"> 1635</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a id="l01636" name="l01636"></a><span class="lineno"> 1636</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div>
<div class="line"><a id="l01637" name="l01637"></a><span class="lineno"> 1637</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; slacks,</div>
<div class="line"><a id="l01638" name="l01638"></a><span class="lineno"> 1638</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> transit_evaluator);</div>
<div class="line"><a id="l01641" name="l01641"></a><span class="lineno"> 1641</span> <span class="comment">// TODO(user): Only does checking on WhenBound events on next variables.</span></div>
<div class="line"><a id="l01643" name="l01643"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0e7c36ddf2c9c9ce4e9f09621bd04804"> 1643</a></span><span class="comment"></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0e7c36ddf2c9c9ce4e9f09621bd04804">MakePathConnected</a>(std::vector&lt;IntVar*&gt; nexts,</div>
<div class="line"><a id="l01644" name="l01644"></a><span class="lineno"> 1644</span> std::vector&lt;int64_t&gt; sources,</div>
<div class="line"><a id="l01645" name="l01645"></a><span class="lineno"> 1645</span> std::vector&lt;int64_t&gt; sinks,</div>
<div class="line"><a id="l01646" name="l01646"></a><span class="lineno"> 1646</span> std::vector&lt;IntVar*&gt; status);</div>
<div class="line"><a id="l01647" name="l01647"></a><span class="lineno"> 1647</span><span class="preprocessor">#ifndef SWIG</span></div>
<div class="line"><a id="l01650" name="l01650"></a><span class="lineno"> 1650</span> <span class="comment">// TODO(user): This constraint does not make holes in variable domains;</span></div>
<div class="line"><a id="l01653" name="l01653"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae0b1df3ad0e100dddfea9713ce9e3db2"> 1653</a></span><span class="comment"></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae0b1df3ad0e100dddfea9713ce9e3db2">MakePathPrecedenceConstraint</a>(</div>
<div class="line"><a id="l01654" name="l01654"></a><span class="lineno"> 1654</span> std::vector&lt;IntVar*&gt; nexts,</div>
<div class="line"><a id="l01655" name="l01655"></a><span class="lineno"> 1655</span> <span class="keyword">const</span> std::vector&lt;std::pair&lt;int, int&gt;&gt;&amp; precedences);</div>
<div class="line"><a id="l01664" name="l01664"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5bbf63eac923815ac22af3f55e4ff081"> 1664</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5bbf63eac923815ac22af3f55e4ff081">MakePathPrecedenceConstraint</a>(</div>
<div class="line"><a id="l01665" name="l01665"></a><span class="lineno"> 1665</span> std::vector&lt;IntVar*&gt; nexts,</div>
<div class="line"><a id="l01666" name="l01666"></a><span class="lineno"> 1666</span> <span class="keyword">const</span> std::vector&lt;std::pair&lt;int, int&gt;&gt;&amp; precedences,</div>
<div class="line"><a id="l01667" name="l01667"></a><span class="lineno"> 1667</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; lifo_path_starts,</div>
<div class="line"><a id="l01668" name="l01668"></a><span class="lineno"> 1668</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; fifo_path_starts);</div>
<div class="line"><a id="l01671" name="l01671"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a566dc7c3dba8bbcfa3a2e3f34b1acdfe"> 1671</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a566dc7c3dba8bbcfa3a2e3f34b1acdfe">MakePathTransitPrecedenceConstraint</a>(</div>
<div class="line"><a id="l01672" name="l01672"></a><span class="lineno"> 1672</span> std::vector&lt;IntVar*&gt; nexts, std::vector&lt;IntVar*&gt; transits,</div>
<div class="line"><a id="l01673" name="l01673"></a><span class="lineno"> 1673</span> <span class="keyword">const</span> std::vector&lt;std::pair&lt;int, int&gt;&gt;&amp; precedences);</div>
<div class="line"><a id="l01674" name="l01674"></a><span class="lineno"> 1674</span><span class="preprocessor">#endif </span><span class="comment">// !SWIG</span></div>
<div class="line"><a id="l01678" name="l01678"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a19542a9cd12586e432cf9ef6d9b07c31"> 1678</a></span><span class="comment"></span> Constraint* MakeMapDomain(IntVar* const var,</div>
<div class="line"><a id="l01679" name="l01679"></a><span class="lineno"> 1679</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; actives);</div>
<div class="line"><a id="l01680" name="l01680"></a><span class="lineno"> 1680</span> </div>
<div class="line"><a id="l01685" name="l01685"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af4c960f5d46ac35f537ade04ff7e2cc3"> 1685</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af4c960f5d46ac35f537ade04ff7e2cc3">MakeAllowedAssignments</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01686" name="l01686"></a><span class="lineno"> 1686</span> <span class="keyword">const</span> IntTupleSet&amp; tuples);</div>
<div class="line"><a id="l01687" name="l01687"></a><span class="lineno"> 1687</span> </div>
<div class="line"><a id="l01695" name="l01695"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7f1d4e45e25d6c7c4c373e5a9677393d"> 1695</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7f1d4e45e25d6c7c4c373e5a9677393d">MakeTransitionConstraint</a>(</div>
<div class="line"><a id="l01696" name="l01696"></a><span class="lineno"> 1696</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <span class="keyword">const</span> IntTupleSet&amp; transition_table,</div>
<div class="line"><a id="l01697" name="l01697"></a><span class="lineno"> 1697</span> int64_t initial_state, <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; final_states);</div>
<div class="line"><a id="l01698" name="l01698"></a><span class="lineno"> 1698</span> </div>
<div class="line"><a id="l01706" name="l01706"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2d98d0213497868803af4120f7bdb082"> 1706</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2d98d0213497868803af4120f7bdb082">MakeTransitionConstraint</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01707" name="l01707"></a><span class="lineno"> 1707</span> <span class="keyword">const</span> IntTupleSet&amp; transition_table,</div>
<div class="line"><a id="l01708" name="l01708"></a><span class="lineno"> 1708</span> int64_t initial_state,</div>
<div class="line"><a id="l01709" name="l01709"></a><span class="lineno"> 1709</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; final_states);</div>
<div class="line"><a id="l01710" name="l01710"></a><span class="lineno"> 1710</span> </div>
<div class="line"><a id="l01711" name="l01711"></a><span class="lineno"> 1711</span><span class="preprocessor">#if defined(SWIGPYTHON)</span></div>
<div class="line"><a id="l01713" name="l01713"></a><span class="lineno"> 1713</span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af4c960f5d46ac35f537ade04ff7e2cc3">MakeAllowedAssignments</a>(</div>
<div class="line"><a id="l01714" name="l01714"></a><span class="lineno"> 1714</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01715" name="l01715"></a><span class="lineno"> 1715</span> <span class="keyword">const</span> std::vector&lt;std::vector&lt;int64_t&gt; <span class="comment">/*keep for swig*/</span>&gt;&amp; raw_tuples) {</div>
<div class="line"><a id="l01716" name="l01716"></a><span class="lineno"> 1716</span> IntTupleSet tuples(vars.size());</div>
<div class="line"><a id="l01717" name="l01717"></a><span class="lineno"> 1717</span> tuples.InsertAll(raw_tuples);</div>
<div class="line"><a id="l01718" name="l01718"></a><span class="lineno"> 1718</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#af4c960f5d46ac35f537ade04ff7e2cc3">MakeAllowedAssignments</a>(vars, tuples);</div>
<div class="line"><a id="l01719" name="l01719"></a><span class="lineno"> 1719</span> }</div>
<div class="line"><a id="l01720" name="l01720"></a><span class="lineno"> 1720</span> </div>
<div class="line"><a id="l01721" name="l01721"></a><span class="lineno"> 1721</span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7f1d4e45e25d6c7c4c373e5a9677393d">MakeTransitionConstraint</a>(</div>
<div class="line"><a id="l01722" name="l01722"></a><span class="lineno"> 1722</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l01723" name="l01723"></a><span class="lineno"> 1723</span> <span class="keyword">const</span> std::vector&lt;std::vector&lt;int64_t&gt; <span class="comment">/*keep for swig*/</span>&gt;&amp;</div>
<div class="line"><a id="l01724" name="l01724"></a><span class="lineno"> 1724</span> raw_transitions,</div>
<div class="line"><a id="l01725" name="l01725"></a><span class="lineno"> 1725</span> int64_t initial_state, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; final_states) {</div>
<div class="line"><a id="l01726" name="l01726"></a><span class="lineno"> 1726</span> IntTupleSet transitions(3);</div>
<div class="line"><a id="l01727" name="l01727"></a><span class="lineno"> 1727</span> transitions.InsertAll(raw_transitions);</div>
<div class="line"><a id="l01728" name="l01728"></a><span class="lineno"> 1728</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7f1d4e45e25d6c7c4c373e5a9677393d">MakeTransitionConstraint</a>(vars, transitions, initial_state,</div>
<div class="line"><a id="l01729" name="l01729"></a><span class="lineno"> 1729</span> final_states);</div>
<div class="line"><a id="l01730" name="l01730"></a><span class="lineno"> 1730</span> }</div>
<div class="line"><a id="l01731" name="l01731"></a><span class="lineno"> 1731</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l01732" name="l01732"></a><span class="lineno"> 1732</span> </div>
<div class="line"><a id="l01741" name="l01741"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4ddadd35d3227ee3f1216b9d7129227f"> 1741</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4ddadd35d3227ee3f1216b9d7129227f">MakeNonOverlappingBoxesConstraint</a>(</div>
<div class="line"><a id="l01742" name="l01742"></a><span class="lineno"> 1742</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div>
<div class="line"><a id="l01743" name="l01743"></a><span class="lineno"> 1743</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_size);</div>
<div class="line"><a id="l01744" name="l01744"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a27c2d8bdabfef5fd7507993153c0f957"> 1744</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a27c2d8bdabfef5fd7507993153c0f957">MakeNonOverlappingBoxesConstraint</a>(</div>
<div class="line"><a id="l01745" name="l01745"></a><span class="lineno"> 1745</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div>
<div class="line"><a id="l01746" name="l01746"></a><span class="lineno"> 1746</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; y_size);</div>
<div class="line"><a id="l01747" name="l01747"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac0226a133f43985fecfdd49803e53b17"> 1747</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac0226a133f43985fecfdd49803e53b17">MakeNonOverlappingBoxesConstraint</a>(</div>
<div class="line"><a id="l01748" name="l01748"></a><span class="lineno"> 1748</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div>
<div class="line"><a id="l01749" name="l01749"></a><span class="lineno"> 1749</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; y_size);</div>
<div class="line"><a id="l01750" name="l01750"></a><span class="lineno"> 1750</span> </div>
<div class="line"><a id="l01759" name="l01759"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac4f11683c5546c728671e917d2031384"> 1759</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac4f11683c5546c728671e917d2031384">MakeNonOverlappingNonStrictBoxesConstraint</a>(</div>
<div class="line"><a id="l01760" name="l01760"></a><span class="lineno"> 1760</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div>
<div class="line"><a id="l01761" name="l01761"></a><span class="lineno"> 1761</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_size);</div>
<div class="line"><a id="l01762" name="l01762"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a454d82afd3f209d01ee2b69290fc8bf7"> 1762</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a454d82afd3f209d01ee2b69290fc8bf7">MakeNonOverlappingNonStrictBoxesConstraint</a>(</div>
<div class="line"><a id="l01763" name="l01763"></a><span class="lineno"> 1763</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div>
<div class="line"><a id="l01764" name="l01764"></a><span class="lineno"> 1764</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; y_size);</div>
<div class="line"><a id="l01765" name="l01765"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a931314662eb3ee9591e6d0c7635f5971"> 1765</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a931314662eb3ee9591e6d0c7635f5971">MakeNonOverlappingNonStrictBoxesConstraint</a>(</div>
<div class="line"><a id="l01766" name="l01766"></a><span class="lineno"> 1766</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div>
<div class="line"><a id="l01767" name="l01767"></a><span class="lineno"> 1767</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; y_size);</div>
<div class="line"><a id="l01768" name="l01768"></a><span class="lineno"> 1768</span> </div>
<div class="line"><a id="l01774" name="l01774"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3b2a6a82cd9f48e35d7927df60f823df"> 1774</a></span> <a class="code hl_class" href="classoperations__research_1_1_pack.html">Pack</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3b2a6a82cd9f48e35d7927df60f823df">MakePack</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <span class="keywordtype">int</span> number_of_bins);</div>
<div class="line"><a id="l01775" name="l01775"></a><span class="lineno"> 1775</span> </div>
<div class="line"><a id="l01780" name="l01780"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1daa3dbab615c819d591d3613a283ad8"> 1780</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1daa3dbab615c819d591d3613a283ad8">MakeFixedDurationIntervalVar</a>(int64_t start_min,</div>
<div class="line"><a id="l01781" name="l01781"></a><span class="lineno"> 1781</span> int64_t start_max, int64_t duration,</div>
<div class="line"><a id="l01782" name="l01782"></a><span class="lineno"> 1782</span> <span class="keywordtype">bool</span> optional,</div>
<div class="line"><a id="l01783" name="l01783"></a><span class="lineno"> 1783</span> <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01784" name="l01784"></a><span class="lineno"> 1784</span> </div>
<div class="line"><a id="l01787" name="l01787"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a91f8e6e1182779ea31b2f89b334cbdbd"> 1787</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a91f8e6e1182779ea31b2f89b334cbdbd">MakeFixedDurationIntervalVarArray</a>(</div>
<div class="line"><a id="l01788" name="l01788"></a><span class="lineno"> 1788</span> <span class="keywordtype">int</span> count, int64_t start_min, int64_t start_max, int64_t duration,</div>
<div class="line"><a id="l01789" name="l01789"></a><span class="lineno"> 1789</span> <span class="keywordtype">bool</span> optional, <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l01790" name="l01790"></a><span class="lineno"> 1790</span> std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a id="l01791" name="l01791"></a><span class="lineno"> 1791</span> </div>
<div class="line"><a id="l01794" name="l01794"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd76de2f858c289571fc1fc5ce7b37ee"> 1794</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afd76de2f858c289571fc1fc5ce7b37ee">MakeFixedDurationIntervalVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> start_variable,</div>
<div class="line"><a id="l01795" name="l01795"></a><span class="lineno"> 1795</span> int64_t duration,</div>
<div class="line"><a id="l01796" name="l01796"></a><span class="lineno"> 1796</span> <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01797" name="l01797"></a><span class="lineno"> 1797</span> </div>
<div class="line"><a id="l01800" name="l01800"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad91241d4de66226e892d64fdc46357d2"> 1800</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad91241d4de66226e892d64fdc46357d2">MakeFixedDurationIntervalVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> start_variable,</div>
<div class="line"><a id="l01801" name="l01801"></a><span class="lineno"> 1801</span> int64_t duration,</div>
<div class="line"><a id="l01802" name="l01802"></a><span class="lineno"> 1802</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> performed_variable,</div>
<div class="line"><a id="l01803" name="l01803"></a><span class="lineno"> 1803</span> <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01804" name="l01804"></a><span class="lineno"> 1804</span> </div>
<div class="line"><a id="l01807" name="l01807"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa1f5ccd2d2851b3eabd61dc5236a0124"> 1807</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa1f5ccd2d2851b3eabd61dc5236a0124">MakeFixedDurationIntervalVarArray</a>(</div>
<div class="line"><a id="l01808" name="l01808"></a><span class="lineno"> 1808</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables, int64_t duration,</div>
<div class="line"><a id="l01809" name="l01809"></a><span class="lineno"> 1809</span> <span class="keyword">const</span> std::string&amp; name, std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a id="l01810" name="l01810"></a><span class="lineno"> 1810</span> </div>
<div class="line"><a id="l01813" name="l01813"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a20f45c3009db36d8993a8b9292c50511"> 1813</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a20f45c3009db36d8993a8b9292c50511">MakeFixedDurationIntervalVarArray</a>(</div>
<div class="line"><a id="l01814" name="l01814"></a><span class="lineno"> 1814</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div>
<div class="line"><a id="l01815" name="l01815"></a><span class="lineno"> 1815</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; durations, <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l01816" name="l01816"></a><span class="lineno"> 1816</span> std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a id="l01819" name="l01819"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae003f9e6fbeec988e9e3ba456d1f2808"> 1819</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae003f9e6fbeec988e9e3ba456d1f2808">MakeFixedDurationIntervalVarArray</a>(</div>
<div class="line"><a id="l01820" name="l01820"></a><span class="lineno"> 1820</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div>
<div class="line"><a id="l01821" name="l01821"></a><span class="lineno"> 1821</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; durations, <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l01822" name="l01822"></a><span class="lineno"> 1822</span> std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a id="l01823" name="l01823"></a><span class="lineno"> 1823</span> </div>
<div class="line"><a id="l01826" name="l01826"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a97ae6043a42254cbe41763984739d870"> 1826</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a97ae6043a42254cbe41763984739d870">MakeFixedDurationIntervalVarArray</a>(</div>
<div class="line"><a id="l01827" name="l01827"></a><span class="lineno"> 1827</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div>
<div class="line"><a id="l01828" name="l01828"></a><span class="lineno"> 1828</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; durations,</div>
<div class="line"><a id="l01829" name="l01829"></a><span class="lineno"> 1829</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; performed_variables, <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l01830" name="l01830"></a><span class="lineno"> 1830</span> std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a id="l01831" name="l01831"></a><span class="lineno"> 1831</span> </div>
<div class="line"><a id="l01834" name="l01834"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4fed63f576ec3fe7a25a5a0341537480"> 1834</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4fed63f576ec3fe7a25a5a0341537480">MakeFixedDurationIntervalVarArray</a>(</div>
<div class="line"><a id="l01835" name="l01835"></a><span class="lineno"> 1835</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div>
<div class="line"><a id="l01836" name="l01836"></a><span class="lineno"> 1836</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; durations,</div>
<div class="line"><a id="l01837" name="l01837"></a><span class="lineno"> 1837</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; performed_variables, <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l01838" name="l01838"></a><span class="lineno"> 1838</span> std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a id="l01839" name="l01839"></a><span class="lineno"> 1839</span> </div>
<div class="line"><a id="l01841" name="l01841"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8099693ec3e385052dff3508d6cbf9d0"> 1841</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8099693ec3e385052dff3508d6cbf9d0">MakeFixedInterval</a>(int64_t start, int64_t duration,</div>
<div class="line"><a id="l01842" name="l01842"></a><span class="lineno"> 1842</span> <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01843" name="l01843"></a><span class="lineno"> 1843</span> </div>
<div class="line"><a id="l01846" name="l01846"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a68b73826f74251f2d2f64ca5ca86925a"> 1846</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a68b73826f74251f2d2f64ca5ca86925a">MakeIntervalVar</a>(int64_t start_min, int64_t start_max,</div>
<div class="line"><a id="l01847" name="l01847"></a><span class="lineno"> 1847</span> int64_t duration_min, int64_t duration_max,</div>
<div class="line"><a id="l01848" name="l01848"></a><span class="lineno"> 1848</span> int64_t end_min, int64_t end_max, <span class="keywordtype">bool</span> optional,</div>
<div class="line"><a id="l01849" name="l01849"></a><span class="lineno"> 1849</span> <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01850" name="l01850"></a><span class="lineno"> 1850</span> </div>
<div class="line"><a id="l01853" name="l01853"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aba638811cb1bbc4649c3d7b2b8be6954"> 1853</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aba638811cb1bbc4649c3d7b2b8be6954">MakeIntervalVarArray</a>(<span class="keywordtype">int</span> count, int64_t start_min, int64_t start_max,</div>
<div class="line"><a id="l01854" name="l01854"></a><span class="lineno"> 1854</span> int64_t duration_min, int64_t duration_max,</div>
<div class="line"><a id="l01855" name="l01855"></a><span class="lineno"> 1855</span> int64_t end_min, int64_t end_max, <span class="keywordtype">bool</span> optional,</div>
<div class="line"><a id="l01856" name="l01856"></a><span class="lineno"> 1856</span> <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l01857" name="l01857"></a><span class="lineno"> 1857</span> std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a id="l01858" name="l01858"></a><span class="lineno"> 1858</span> </div>
<div class="line"><a id="l01861" name="l01861"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad10da04717f2923d609f093f9cb372c7"> 1861</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad10da04717f2923d609f093f9cb372c7">MakeMirrorInterval</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> interval_var);</div>
<div class="line"><a id="l01862" name="l01862"></a><span class="lineno"> 1862</span> </div>
<div class="line"><a id="l01867" name="l01867"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#adf2170edc8a72ab03c2a3c84ddbb559f"> 1867</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#adf2170edc8a72ab03c2a3c84ddbb559f">MakeFixedDurationStartSyncedOnStartIntervalVar</a>(</div>
<div class="line"><a id="l01868" name="l01868"></a><span class="lineno"> 1868</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> interval_var, int64_t duration, int64_t offset);</div>
<div class="line"><a id="l01869" name="l01869"></a><span class="lineno"> 1869</span> </div>
<div class="line"><a id="l01874" name="l01874"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad444dc10026855dbfa54b1fc728118d5"> 1874</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad444dc10026855dbfa54b1fc728118d5">MakeFixedDurationStartSyncedOnEndIntervalVar</a>(</div>
<div class="line"><a id="l01875" name="l01875"></a><span class="lineno"> 1875</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> interval_var, int64_t duration, int64_t offset);</div>
<div class="line"><a id="l01876" name="l01876"></a><span class="lineno"> 1876</span> </div>
<div class="line"><a id="l01881" name="l01881"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6c01d3e35d414d2b7ee929b9b14960f3"> 1881</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6c01d3e35d414d2b7ee929b9b14960f3">MakeFixedDurationEndSyncedOnStartIntervalVar</a>(</div>
<div class="line"><a id="l01882" name="l01882"></a><span class="lineno"> 1882</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> interval_var, int64_t duration, int64_t offset);</div>
<div class="line"><a id="l01883" name="l01883"></a><span class="lineno"> 1883</span> </div>
<div class="line"><a id="l01888" name="l01888"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0c9019db8534afd25ac930898530a5ba"> 1888</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0c9019db8534afd25ac930898530a5ba">MakeFixedDurationEndSyncedOnEndIntervalVar</a>(</div>
<div class="line"><a id="l01889" name="l01889"></a><span class="lineno"> 1889</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> interval_var, int64_t duration, int64_t offset);</div>
<div class="line"><a id="l01890" name="l01890"></a><span class="lineno"> 1890</span> </div>
<div class="line"><a id="l01908" name="l01908"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a56e2e5cebd866f391c08575b1e68bfa9"> 1908</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a56e2e5cebd866f391c08575b1e68bfa9">MakeIntervalRelaxedMin</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> interval_var);</div>
<div class="line"><a id="l01909" name="l01909"></a><span class="lineno"> 1909</span> </div>
<div class="line"><a id="l01927" name="l01927"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7e4d98b8a01fda7eb776fbc559096f5f"> 1927</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7e4d98b8a01fda7eb776fbc559096f5f">MakeIntervalRelaxedMax</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> interval_var);</div>
<div class="line"><a id="l01928" name="l01928"></a><span class="lineno"> 1928</span> </div>
<div class="line"><a id="l01931" name="l01931"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae6d95e33b8115fc1b83d8a28a26ba7b5"> 1931</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae6d95e33b8115fc1b83d8a28a26ba7b5">MakeIntervalVarRelation</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> t,</div>
<div class="line"><a id="l01932" name="l01932"></a><span class="lineno"> 1932</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9">UnaryIntervalRelation</a> r, int64_t d);</div>
<div class="line"><a id="l01933" name="l01933"></a><span class="lineno"> 1933</span> </div>
<div class="line"><a id="l01935" name="l01935"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a00078e41fa2bdd723a05a8a9530e0806"> 1935</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a00078e41fa2bdd723a05a8a9530e0806">MakeIntervalVarRelation</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> t1,</div>
<div class="line"><a id="l01936" name="l01936"></a><span class="lineno"> 1936</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> r,</div>
<div class="line"><a id="l01937" name="l01937"></a><span class="lineno"> 1937</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> t2);</div>
<div class="line"><a id="l01938" name="l01938"></a><span class="lineno"> 1938</span> </div>
<div class="line"><a id="l01943" name="l01943"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a22741e3ceaafd6f85fd4e5f3a612a9ba"> 1943</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a22741e3ceaafd6f85fd4e5f3a612a9ba">MakeIntervalVarRelationWithDelay</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> t1,</div>
<div class="line"><a id="l01944" name="l01944"></a><span class="lineno"> 1944</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> r,</div>
<div class="line"><a id="l01945" name="l01945"></a><span class="lineno"> 1945</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> t2,</div>
<div class="line"><a id="l01946" name="l01946"></a><span class="lineno"> 1946</span> int64_t delay);</div>
<div class="line"><a id="l01947" name="l01947"></a><span class="lineno"> 1947</span> </div>
<div class="line"><a id="l01951" name="l01951"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aaed1bc5fc04dc964df5e7dfd11476098"> 1951</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aaed1bc5fc04dc964df5e7dfd11476098">MakeTemporalDisjunction</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> t1,</div>
<div class="line"><a id="l01952" name="l01952"></a><span class="lineno"> 1952</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> t2, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> alt);</div>
<div class="line"><a id="l01953" name="l01953"></a><span class="lineno"> 1953</span> </div>
<div class="line"><a id="l01956" name="l01956"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a69b188301916efe8e213e3ac35264dc6"> 1956</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a69b188301916efe8e213e3ac35264dc6">MakeTemporalDisjunction</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> t1,</div>
<div class="line"><a id="l01957" name="l01957"></a><span class="lineno"> 1957</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> t2);</div>
<div class="line"><a id="l01958" name="l01958"></a><span class="lineno"> 1958</span> </div>
<div class="line"><a id="l01961" name="l01961"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a62dca63c6e5610d51dc8c3abe6227747"> 1961</a></span> <a class="code hl_class" href="classoperations__research_1_1_disjunctive_constraint.html">DisjunctiveConstraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a62dca63c6e5610d51dc8c3abe6227747">MakeDisjunctiveConstraint</a>(</div>
<div class="line"><a id="l01962" name="l01962"></a><span class="lineno"> 1962</span> <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01963" name="l01963"></a><span class="lineno"> 1963</span> </div>
<div class="line"><a id="l01967" name="l01967"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a24b4b61a5f3c224f86354447abdccaa8"> 1967</a></span> <a class="code hl_class" href="classoperations__research_1_1_disjunctive_constraint.html">DisjunctiveConstraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a24b4b61a5f3c224f86354447abdccaa8">MakeStrictDisjunctiveConstraint</a>(</div>
<div class="line"><a id="l01968" name="l01968"></a><span class="lineno"> 1968</span> <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01969" name="l01969"></a><span class="lineno"> 1969</span> </div>
<div class="line"><a id="l01979" name="l01979"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a864623eb2f553d81f668fcfee5c7d3a5"> 1979</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a864623eb2f553d81f668fcfee5c7d3a5">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a id="l01980" name="l01980"></a><span class="lineno"> 1980</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; demands,</div>
<div class="line"><a id="l01981" name="l01981"></a><span class="lineno"> 1981</span> int64_t capacity, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01982" name="l01982"></a><span class="lineno"> 1982</span> </div>
<div class="line"><a id="l01992" name="l01992"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab99d2fcc4694c1d3eef0d314e15690b0"> 1992</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab99d2fcc4694c1d3eef0d314e15690b0">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a id="l01993" name="l01993"></a><span class="lineno"> 1993</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; demands, int64_t capacity,</div>
<div class="line"><a id="l01994" name="l01994"></a><span class="lineno"> 1994</span> <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l01995" name="l01995"></a><span class="lineno"> 1995</span> </div>
<div class="line"><a id="l02005" name="l02005"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8ed71618199a7819aa950d179f32fed6"> 2005</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8ed71618199a7819aa950d179f32fed6">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a id="l02006" name="l02006"></a><span class="lineno"> 2006</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; demands,</div>
<div class="line"><a id="l02007" name="l02007"></a><span class="lineno"> 2007</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> capacity, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l02008" name="l02008"></a><span class="lineno"> 2008</span> </div>
<div class="line"><a id="l02018" name="l02018"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a93e20bcba087839713b8f10e0f906396"> 2018</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a93e20bcba087839713b8f10e0f906396">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a id="l02019" name="l02019"></a><span class="lineno"> 2019</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; demands,</div>
<div class="line"><a id="l02020" name="l02020"></a><span class="lineno"> 2020</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> capacity, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l02021" name="l02021"></a><span class="lineno"> 2021</span> </div>
<div class="line"><a id="l02029" name="l02029"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac0428855f960dc76ecb2c5d1877aed8c"> 2029</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac0428855f960dc76ecb2c5d1877aed8c">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a id="l02030" name="l02030"></a><span class="lineno"> 2030</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; demands,</div>
<div class="line"><a id="l02031" name="l02031"></a><span class="lineno"> 2031</span> int64_t capacity, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l02032" name="l02032"></a><span class="lineno"> 2032</span> </div>
<div class="line"><a id="l02040" name="l02040"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a251bbe8741707d92c5ff1fbf2ddcd51c"> 2040</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a251bbe8741707d92c5ff1fbf2ddcd51c">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a id="l02041" name="l02041"></a><span class="lineno"> 2041</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; demands,</div>
<div class="line"><a id="l02042" name="l02042"></a><span class="lineno"> 2042</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> capacity, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l02043" name="l02043"></a><span class="lineno"> 2043</span> </div>
<div class="line"><a id="l02049" name="l02049"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4a279756d1bcfa51f40d5fc8e299abab"> 2049</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4a279756d1bcfa51f40d5fc8e299abab">MakeCover</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02050" name="l02050"></a><span class="lineno"> 2050</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> target_var);</div>
<div class="line"><a id="l02051" name="l02051"></a><span class="lineno"> 2051</span> </div>
<div class="line"><a id="l02053" name="l02053"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac8d11f92b1af7b582f49c50ff1a02559"> 2053</a></span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac8d11f92b1af7b582f49c50ff1a02559">MakeEquality</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var1, <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var2);</div>
<div class="line"><a id="l02054" name="l02054"></a><span class="lineno"> 2054</span> </div>
<div class="line"><a id="l02056" name="l02056"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad45ddc54149c5954c2bbd4e2657f9148"> 2056</a></span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad45ddc54149c5954c2bbd4e2657f9148">MakeAssignment</a>();</div>
<div class="line"><a id="l02057" name="l02057"></a><span class="lineno"> 2057</span> </div>
<div class="line"><a id="l02059" name="l02059"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a9de14b462099fa53449fe7a133d1fc2f"> 2059</a></span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a9de14b462099fa53449fe7a133d1fc2f">MakeAssignment</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> a);</div>
<div class="line"><a id="l02060" name="l02060"></a><span class="lineno"> 2060</span> </div>
<div class="line"><a id="l02062" name="l02062"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#acf9b3b0021ba123b577f437d549432f8"> 2062</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#acf9b3b0021ba123b577f437d549432f8">MakeFirstSolutionCollector</a>(</div>
<div class="line"><a id="l02063" name="l02063"></a><span class="lineno"> 2063</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment);</div>
<div class="line"><a id="l02066" name="l02066"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad86f3c4cb67c8eb128337d1204546788"> 2066</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad86f3c4cb67c8eb128337d1204546788">MakeFirstSolutionCollector</a>();</div>
<div class="line"><a id="l02067" name="l02067"></a><span class="lineno"> 2067</span> </div>
<div class="line"><a id="l02069" name="l02069"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a332573b6f1f4a48e23907a8128d18b03"> 2069</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a332573b6f1f4a48e23907a8128d18b03">MakeLastSolutionCollector</a>(</div>
<div class="line"><a id="l02070" name="l02070"></a><span class="lineno"> 2070</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment);</div>
<div class="line"><a id="l02073" name="l02073"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a119c56614135f6d23a162fd8f42f99bf"> 2073</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a119c56614135f6d23a162fd8f42f99bf">MakeLastSolutionCollector</a>();</div>
<div class="line"><a id="l02074" name="l02074"></a><span class="lineno"> 2074</span> </div>
<div class="line"><a id="l02079" name="l02079"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aded8803669b18a66cf5746fdc3bedfc9"> 2079</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aded8803669b18a66cf5746fdc3bedfc9">MakeBestValueSolutionCollector</a>(</div>
<div class="line"><a id="l02080" name="l02080"></a><span class="lineno"> 2080</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment, <span class="keywordtype">bool</span> maximize);</div>
<div class="line"><a id="l02086" name="l02086"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a67f24dec948277b4e908f49f8c3c8909"> 2086</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a67f24dec948277b4e908f49f8c3c8909">MakeBestValueSolutionCollector</a>(<span class="keywordtype">bool</span> maximize);</div>
<div class="line"><a id="l02087" name="l02087"></a><span class="lineno"> 2087</span> </div>
<div class="line"><a id="l02091" name="l02091"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afabdd434109505b4ffb708387f868c1c"> 2091</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afabdd434109505b4ffb708387f868c1c">MakeNBestValueSolutionCollector</a>(</div>
<div class="line"><a id="l02092" name="l02092"></a><span class="lineno"> 2092</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment, <span class="keywordtype">int</span> solution_count, <span class="keywordtype">bool</span> maximize);</div>
<div class="line"><a id="l02093" name="l02093"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#adbc2064c8c125c7d57064b7f9bbb02e7"> 2093</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#adbc2064c8c125c7d57064b7f9bbb02e7">MakeNBestValueSolutionCollector</a>(<span class="keywordtype">int</span> solution_count,</div>
<div class="line"><a id="l02094" name="l02094"></a><span class="lineno"> 2094</span> <span class="keywordtype">bool</span> maximize);</div>
<div class="line"><a id="l02095" name="l02095"></a><span class="lineno"> 2095</span> </div>
<div class="line"><a id="l02097" name="l02097"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a159af7a4def562cb19dc241d2dedb082"> 2097</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a159af7a4def562cb19dc241d2dedb082">MakeAllSolutionCollector</a>(</div>
<div class="line"><a id="l02098" name="l02098"></a><span class="lineno"> 2098</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment);</div>
<div class="line"><a id="l02101" name="l02101"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a05d70521aabf6139379104bb7b1bc891"> 2101</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a05d70521aabf6139379104bb7b1bc891">MakeAllSolutionCollector</a>();</div>
<div class="line"><a id="l02102" name="l02102"></a><span class="lineno"> 2102</span> </div>
<div class="line"><a id="l02104" name="l02104"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a570953e1557ce3248a4c0323879ea021"> 2104</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a570953e1557ce3248a4c0323879ea021">MakeMinimize</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v, int64_t step);</div>
<div class="line"><a id="l02105" name="l02105"></a><span class="lineno"> 2105</span> </div>
<div class="line"><a id="l02107" name="l02107"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4430185c4d311256c66b138010008552"> 2107</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4430185c4d311256c66b138010008552">MakeMaximize</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v, int64_t step);</div>
<div class="line"><a id="l02108" name="l02108"></a><span class="lineno"> 2108</span> </div>
<div class="line"><a id="l02110" name="l02110"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2224264557c711f34709e3298191db2a"> 2110</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2224264557c711f34709e3298191db2a">MakeOptimize</a>(<span class="keywordtype">bool</span> maximize, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v, int64_t step);</div>
<div class="line"><a id="l02111" name="l02111"></a><span class="lineno"> 2111</span> </div>
<div class="line"><a id="l02114" name="l02114"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0c4d89081091cee9256c781d5cac0812"> 2114</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0c4d89081091cee9256c781d5cac0812">MakeWeightedMinimize</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div>
<div class="line"><a id="l02115" name="l02115"></a><span class="lineno"> 2115</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; weights,</div>
<div class="line"><a id="l02116" name="l02116"></a><span class="lineno"> 2116</span> int64_t step);</div>
<div class="line"><a id="l02117" name="l02117"></a><span class="lineno"> 2117</span> </div>
<div class="line"><a id="l02120" name="l02120"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3b934552c233f02bdad3cad563141ba7"> 2120</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3b934552c233f02bdad3cad563141ba7">MakeWeightedMinimize</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div>
<div class="line"><a id="l02121" name="l02121"></a><span class="lineno"> 2121</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; weights,</div>
<div class="line"><a id="l02122" name="l02122"></a><span class="lineno"> 2122</span> int64_t step);</div>
<div class="line"><a id="l02123" name="l02123"></a><span class="lineno"> 2123</span> </div>
<div class="line"><a id="l02125" name="l02125"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a62fe7b551b92c5417f9b7f2116cac2f3"> 2125</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a62fe7b551b92c5417f9b7f2116cac2f3">MakeWeightedMaximize</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div>
<div class="line"><a id="l02126" name="l02126"></a><span class="lineno"> 2126</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; weights,</div>
<div class="line"><a id="l02127" name="l02127"></a><span class="lineno"> 2127</span> int64_t step);</div>
<div class="line"><a id="l02128" name="l02128"></a><span class="lineno"> 2128</span> </div>
<div class="line"><a id="l02130" name="l02130"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1ec335170646beeb45e0321c0db77664"> 2130</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1ec335170646beeb45e0321c0db77664">MakeWeightedMaximize</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div>
<div class="line"><a id="l02131" name="l02131"></a><span class="lineno"> 2131</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; weights,</div>
<div class="line"><a id="l02132" name="l02132"></a><span class="lineno"> 2132</span> int64_t step);</div>
<div class="line"><a id="l02133" name="l02133"></a><span class="lineno"> 2133</span> </div>
<div class="line"><a id="l02135" name="l02135"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae0c7477ddd7a172d07e70b2dc0829112"> 2135</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae0c7477ddd7a172d07e70b2dc0829112">MakeWeightedOptimize</a>(<span class="keywordtype">bool</span> maximize,</div>
<div class="line"><a id="l02136" name="l02136"></a><span class="lineno"> 2136</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div>
<div class="line"><a id="l02137" name="l02137"></a><span class="lineno"> 2137</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; weights,</div>
<div class="line"><a id="l02138" name="l02138"></a><span class="lineno"> 2138</span> int64_t step);</div>
<div class="line"><a id="l02139" name="l02139"></a><span class="lineno"> 2139</span> </div>
<div class="line"><a id="l02141" name="l02141"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a9ac87e0179e35c71c9d6ffdc6c3d597a"> 2141</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a9ac87e0179e35c71c9d6ffdc6c3d597a">MakeWeightedOptimize</a>(<span class="keywordtype">bool</span> maximize,</div>
<div class="line"><a id="l02142" name="l02142"></a><span class="lineno"> 2142</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div>
<div class="line"><a id="l02143" name="l02143"></a><span class="lineno"> 2143</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; weights,</div>
<div class="line"><a id="l02144" name="l02144"></a><span class="lineno"> 2144</span> int64_t step);</div>
<div class="line"><a id="l02145" name="l02145"></a><span class="lineno"> 2145</span> </div>
<div class="line"><a id="l02147" name="l02147"></a><span class="lineno"> 2147</span> </div>
<div class="line"><a id="l02163" name="l02163"></a><span class="lineno"> 2163</span> </div>
<div class="line"><a id="l02164" name="l02164"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3d05d3008622ca204bed218d30bdf414"> 2164</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3d05d3008622ca204bed218d30bdf414">MakeTabuSearch</a>(<span class="keywordtype">bool</span> maximize, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v, int64_t step,</div>
<div class="line"><a id="l02165" name="l02165"></a><span class="lineno"> 2165</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02166" name="l02166"></a><span class="lineno"> 2166</span> int64_t keep_tenure, int64_t forbid_tenure,</div>
<div class="line"><a id="l02167" name="l02167"></a><span class="lineno"> 2167</span> <span class="keywordtype">double</span> tabu_factor);</div>
<div class="line"><a id="l02168" name="l02168"></a><span class="lineno"> 2168</span> </div>
<div class="line"><a id="l02171" name="l02171"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa70e1cba110407b48b7be391f3d5a0f3"> 2171</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa70e1cba110407b48b7be391f3d5a0f3">MakeGenericTabuSearch</a>(<span class="keywordtype">bool</span> maximize, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v,</div>
<div class="line"><a id="l02172" name="l02172"></a><span class="lineno"> 2172</span> int64_t step,</div>
<div class="line"><a id="l02173" name="l02173"></a><span class="lineno"> 2173</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; tabu_vars,</div>
<div class="line"><a id="l02174" name="l02174"></a><span class="lineno"> 2174</span> int64_t forbid_tenure);</div>
<div class="line"><a id="l02175" name="l02175"></a><span class="lineno"> 2175</span> </div>
<div class="line"><a id="l02177" name="l02177"></a><span class="lineno"> 2177</span> <span class="comment">// TODO(user): document behavior</span></div>
<div class="line"><a id="l02178" name="l02178"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8f3fe7c7d63aa2ccced86067386cbc38"> 2178</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8f3fe7c7d63aa2ccced86067386cbc38">MakeSimulatedAnnealing</a>(<span class="keywordtype">bool</span> maximize, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v,</div>
<div class="line"><a id="l02179" name="l02179"></a><span class="lineno"> 2179</span> int64_t step,</div>
<div class="line"><a id="l02180" name="l02180"></a><span class="lineno"> 2180</span> int64_t initial_temperature);</div>
<div class="line"><a id="l02181" name="l02181"></a><span class="lineno"> 2181</span> </div>
<div class="line"><a id="l02184" name="l02184"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5fb7049e95ce9c6914c8d57c4ce29266"> 2184</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5fb7049e95ce9c6914c8d57c4ce29266">MakeGuidedLocalSearch</a>(<span class="keywordtype">bool</span> maximize, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> objective,</div>
<div class="line"><a id="l02185" name="l02185"></a><span class="lineno"> 2185</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> objective_function,</div>
<div class="line"><a id="l02186" name="l02186"></a><span class="lineno"> 2186</span> int64_t step,</div>
<div class="line"><a id="l02187" name="l02187"></a><span class="lineno"> 2187</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02188" name="l02188"></a><span class="lineno"> 2188</span> <span class="keywordtype">double</span> penalty_factor);</div>
<div class="line"><a id="l02189" name="l02189"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#adc1bf65f960a8967b417cf7586f47972"> 2189</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#adc1bf65f960a8967b417cf7586f47972">MakeGuidedLocalSearch</a>(</div>
<div class="line"><a id="l02190" name="l02190"></a><span class="lineno"> 2190</span> <span class="keywordtype">bool</span> maximize, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> objective,</div>
<div class="line"><a id="l02191" name="l02191"></a><span class="lineno"> 2191</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a3b8bde4dadfe1f1aed53ac24f4cdc94f">IndexEvaluator3</a> objective_function, int64_t step,</div>
<div class="line"><a id="l02192" name="l02192"></a><span class="lineno"> 2192</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02193" name="l02193"></a><span class="lineno"> 2193</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars, <span class="keywordtype">double</span> penalty_factor);</div>
<div class="line"><a id="l02194" name="l02194"></a><span class="lineno"> 2194</span> </div>
<div class="line"><a id="l02198" name="l02198"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a03acbbff21df66d6b126aa41124e5d2c"> 2198</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a03acbbff21df66d6b126aa41124e5d2c">MakeLubyRestart</a>(<span class="keywordtype">int</span> scale_factor);</div>
<div class="line"><a id="l02199" name="l02199"></a><span class="lineno"> 2199</span> </div>
<div class="line"><a id="l02202" name="l02202"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a860294d137e8364921c233dccb725ace"> 2202</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a860294d137e8364921c233dccb725ace">MakeConstantRestart</a>(<span class="keywordtype">int</span> frequency);</div>
<div class="line"><a id="l02203" name="l02203"></a><span class="lineno"> 2203</span> </div>
<div class="line"><a id="l02205" name="l02205"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#acdeae37255ed2f47076a5eaf5a441f08"> 2205</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#acdeae37255ed2f47076a5eaf5a441f08">MakeTimeLimit</a>(absl::Duration time);</div>
<div class="line"><a id="l02206" name="l02206"></a><span class="lineno"> 2206</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l02207" name="l02207"></a><span class="lineno"> 2207</span> ABSL_DEPRECATED(<span class="stringliteral">&quot;Use the version taking absl::Duration() as argument&quot;</span>)</div>
<div class="line"><a id="l02208" name="l02208"></a><span class="lineno"> 2208</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l02209" name="l02209"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a42055bf5670c2272eaa5ac6cbf984fe9"> 2209</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a42055bf5670c2272eaa5ac6cbf984fe9">MakeTimeLimit</a>(int64_t time_in_ms) {</div>
<div class="line"><a id="l02210" name="l02210"></a><span class="lineno"> 2210</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#acdeae37255ed2f47076a5eaf5a441f08">MakeTimeLimit</a>(time_in_ms == kint64max</div>
<div class="line"><a id="l02211" name="l02211"></a><span class="lineno"> 2211</span> ? absl::InfiniteDuration()</div>
<div class="line"><a id="l02212" name="l02212"></a><span class="lineno"> 2212</span> : absl::Milliseconds(time_in_ms));</div>
<div class="line"><a id="l02213" name="l02213"></a><span class="lineno"> 2213</span> }</div>
<div class="line"><a id="l02214" name="l02214"></a><span class="lineno"> 2214</span> </div>
<div class="line"><a id="l02217" name="l02217"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa9315b9e849db7bef0b50168cdd017ac"> 2217</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa9315b9e849db7bef0b50168cdd017ac">MakeBranchesLimit</a>(int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a14f1aa725d9c4497296b233dbcb28402">branches</a>);</div>
<div class="line"><a id="l02218" name="l02218"></a><span class="lineno"> 2218</span> </div>
<div class="line"><a id="l02221" name="l02221"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae6a26e644ab0fc0e92841bf54b5a11f7"> 2221</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae6a26e644ab0fc0e92841bf54b5a11f7">MakeFailuresLimit</a>(int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7dcb440a607b4b39979280ee21621473">failures</a>);</div>
<div class="line"><a id="l02222" name="l02222"></a><span class="lineno"> 2222</span> </div>
<div class="line"><a id="l02225" name="l02225"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a339117ca4cc88d137549202c541e3ab7"> 2225</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a339117ca4cc88d137549202c541e3ab7">MakeSolutionsLimit</a>(int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#af1315bc614fc71a3c90729398d208289">solutions</a>);</div>
<div class="line"><a id="l02226" name="l02226"></a><span class="lineno"> 2226</span> </div>
<div class="line"><a id="l02229" name="l02229"></a><span class="lineno"> 2229</span> <span class="comment">// timer by estimating the number of remaining calls, and &#39;cumulative&#39; means</span></div>
<div class="line"><a id="l02230" name="l02230"></a><span class="lineno"> 2230</span> <span class="comment">// that the limit applies cumulatively, instead of search-by-search.</span></div>
<div class="line"><a id="l02231" name="l02231"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab9eb11186f72ffbb1dd788a15191d770"> 2231</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab9eb11186f72ffbb1dd788a15191d770">MakeLimit</a>(absl::Duration time,</div>
<div class="line"><a id="l02232" name="l02232"></a><span class="lineno"> 2232</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a14f1aa725d9c4497296b233dbcb28402">branches</a>,</div>
<div class="line"><a id="l02233" name="l02233"></a><span class="lineno"> 2233</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7dcb440a607b4b39979280ee21621473">failures</a>,</div>
<div class="line"><a id="l02234" name="l02234"></a><span class="lineno"> 2234</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#af1315bc614fc71a3c90729398d208289">solutions</a>,</div>
<div class="line"><a id="l02235" name="l02235"></a><span class="lineno"> 2235</span> <span class="keywordtype">bool</span> smart_time_check = <span class="keyword">false</span>,</div>
<div class="line"><a id="l02236" name="l02236"></a><span class="lineno"> 2236</span> <span class="keywordtype">bool</span> cumulative = <span class="keyword">false</span>);</div>
<div class="line"><a id="l02238" name="l02238"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3c94a0c37a23ce7ed226b75e0838e2f5"> 2238</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3c94a0c37a23ce7ed226b75e0838e2f5">MakeLimit</a>(</div>
<div class="line"><a id="l02239" name="l02239"></a><span class="lineno"> 2239</span> <span class="keyword">const</span> RegularLimitParameters&amp; proto);</div>
<div class="line"><a id="l02240" name="l02240"></a><span class="lineno"> 2240</span> </div>
<div class="line"><a id="l02241" name="l02241"></a><span class="lineno"> 2241</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l02242" name="l02242"></a><span class="lineno"> 2242</span> ABSL_DEPRECATED(<span class="stringliteral">&quot;Use other MakeLimit() versions&quot;</span>)</div>
<div class="line"><a id="l02243" name="l02243"></a><span class="lineno"> 2243</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l02244" name="l02244"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae645e8df0cf59088cfdd7de26775247f"> 2244</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae645e8df0cf59088cfdd7de26775247f">MakeLimit</a>(int64_t time, int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a14f1aa725d9c4497296b233dbcb28402">branches</a>,</div>
<div class="line"><a id="l02245" name="l02245"></a><span class="lineno"> 2245</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7dcb440a607b4b39979280ee21621473">failures</a>,</div>
<div class="line"><a id="l02246" name="l02246"></a><span class="lineno"> 2246</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#af1315bc614fc71a3c90729398d208289">solutions</a>,</div>
<div class="line"><a id="l02247" name="l02247"></a><span class="lineno"> 2247</span> <span class="keywordtype">bool</span> smart_time_check = <span class="keyword">false</span>,</div>
<div class="line"><a id="l02248" name="l02248"></a><span class="lineno"> 2248</span> <span class="keywordtype">bool</span> cumulative = <span class="keyword">false</span>);</div>
<div class="line"><a id="l02249" name="l02249"></a><span class="lineno"> 2249</span> </div>
<div class="line"><a id="l02251" name="l02251"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a9f52516c4ad3aced15492b20a58dc2d9"> 2251</a></span> RegularLimitParameters <a class="code hl_function" href="classoperations__research_1_1_solver.html#a9f52516c4ad3aced15492b20a58dc2d9">MakeDefaultRegularLimitParameters</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02252" name="l02252"></a><span class="lineno"> 2252</span> </div>
<div class="line"><a id="l02256" name="l02256"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abb8e2fda6869954bba10036a5cdf6ec8"> 2256</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#abb8e2fda6869954bba10036a5cdf6ec8">MakeLimit</a>(<a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <span class="keyword">const</span> limit_1,</div>
<div class="line"><a id="l02257" name="l02257"></a><span class="lineno"> 2257</span> <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <span class="keyword">const</span> limit_2);</div>
<div class="line"><a id="l02258" name="l02258"></a><span class="lineno"> 2258</span> </div>
<div class="line"><a id="l02263" name="l02263"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad664fb0d69f84f5b35739481ebeaf105"> 2263</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_improvement_search_limit.html">ImprovementSearchLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad664fb0d69f84f5b35739481ebeaf105">MakeImprovementLimit</a>(</div>
<div class="line"><a id="l02264" name="l02264"></a><span class="lineno"> 2264</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* objective_var, <span class="keywordtype">bool</span> maximize, <span class="keywordtype">double</span> objective_scaling_factor,</div>
<div class="line"><a id="l02265" name="l02265"></a><span class="lineno"> 2265</span> <span class="keywordtype">double</span> objective_offset, <span class="keywordtype">double</span> improvement_rate_coefficient,</div>
<div class="line"><a id="l02266" name="l02266"></a><span class="lineno"> 2266</span> <span class="keywordtype">int</span> improvement_rate_solutions_distance);</div>
<div class="line"><a id="l02267" name="l02267"></a><span class="lineno"> 2267</span> </div>
<div class="line"><a id="l02270" name="l02270"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a39e788fb623ab65293219d67b75cab19"> 2270</a></span> ABSL_MUST_USE_RESULT <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a39e788fb623ab65293219d67b75cab19">MakeCustomLimit</a>(</div>
<div class="line"><a id="l02271" name="l02271"></a><span class="lineno"> 2271</span> std::function&lt;<span class="keywordtype">bool</span>()&gt; limiter);</div>
<div class="line"><a id="l02272" name="l02272"></a><span class="lineno"> 2272</span> </div>
<div class="line"><a id="l02273" name="l02273"></a><span class="lineno"> 2273</span> <span class="comment">// TODO(user): DEPRECATE API of MakeSearchLog(.., IntVar* var,..).</span></div>
<div class="line"><a id="l02274" name="l02274"></a><span class="lineno"> 2274</span> </div>
<div class="line"><a id="l02277" name="l02277"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a44df25a1775b3d0f19f70bdf00c99727"> 2277</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a44df25a1775b3d0f19f70bdf00c99727">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period);</div>
<div class="line"><a id="l02278" name="l02278"></a><span class="lineno"> 2278</span> </div>
<div class="line"><a id="l02280" name="l02280"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5fc2de1ecfafccc86f4e5f4ac74f286d"> 2280</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5fc2de1ecfafccc86f4e5f4ac74f286d">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l02281" name="l02281"></a><span class="lineno"> 2281</span> </div>
<div class="line"><a id="l02284" name="l02284"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4b2df6b7cf1af454ded80e5ec44b800b"> 2284</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4b2df6b7cf1af454ded80e5ec44b800b">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period,</div>
<div class="line"><a id="l02285" name="l02285"></a><span class="lineno"> 2285</span> std::function&lt;std::string()&gt; display_callback);</div>
<div class="line"><a id="l02286" name="l02286"></a><span class="lineno"> 2286</span> </div>
<div class="line"><a id="l02289" name="l02289"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5610f093f1d8b485f33bd1884e396015"> 2289</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5610f093f1d8b485f33bd1884e396015">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* var,</div>
<div class="line"><a id="l02290" name="l02290"></a><span class="lineno"> 2290</span> std::function&lt;std::string()&gt; display_callback);</div>
<div class="line"><a id="l02291" name="l02291"></a><span class="lineno"> 2291</span> </div>
<div class="line"><a id="l02294" name="l02294"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7b7b1d0be3f915a12386d9036e33e492"> 2294</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7b7b1d0be3f915a12386d9036e33e492">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period, <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <span class="keyword">const</span> opt_var);</div>
<div class="line"><a id="l02295" name="l02295"></a><span class="lineno"> 2295</span> </div>
<div class="line"><a id="l02298" name="l02298"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#addca91d25656941db14e8c2851155ae8"> 2298</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#addca91d25656941db14e8c2851155ae8">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period, <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <span class="keyword">const</span> opt_var,</div>
<div class="line"><a id="l02299" name="l02299"></a><span class="lineno"> 2299</span> std::function&lt;std::string()&gt; display_callback);</div>
<div class="line"><a id="l02300" name="l02300"></a><span class="lineno"> 2300</span> </div>
<div class="line"><a id="l02302" name="l02302"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html"> 2302</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html">SearchLogParameters</a> {</div>
<div class="line"><a id="l02305" name="l02305"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a0bf4ffabed15383c43b3c5e2dc265832"> 2305</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a0bf4ffabed15383c43b3c5e2dc265832">branch_period</a> = 1;</div>
<div class="line"><a id="l02308" name="l02308"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a2c9d6d70a3357d2d6841660510cd6a19"> 2308</a></span> <a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>* <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a2c9d6d70a3357d2d6841660510cd6a19">objective</a> = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l02309" name="l02309"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#acb71959af429e32049d2b911e4d92ac3"> 2309</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#acb71959af429e32049d2b911e4d92ac3">variable</a> = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l02313" name="l02313"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a82cee82f19757e963cd151f690439a61"> 2313</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a82cee82f19757e963cd151f690439a61">scaling_factor</a> = 1.0;</div>
<div class="line"><a id="l02314" name="l02314"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a129303e4bd38a8cdba722b6238ed56e9"> 2314</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a129303e4bd38a8cdba722b6238ed56e9">offset</a> = 0;</div>
<div class="line"><a id="l02318" name="l02318"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a6bf53f14d9ee02da685f39fbe96eacaf"> 2318</a></span> std::function&lt;std::string()&gt; <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a6bf53f14d9ee02da685f39fbe96eacaf">display_callback</a>;</div>
<div class="line"><a id="l02321" name="l02321"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a86921616de71e7e64968652d3edec4cb"> 2321</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a86921616de71e7e64968652d3edec4cb">display_on_new_solutions_only</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l02322" name="l02322"></a><span class="lineno"> 2322</span> };</div>
<div class="line"><a id="l02323" name="l02323"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae989ff30cc9bd52ad392e92f1bf79f30"> 2323</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae989ff30cc9bd52ad392e92f1bf79f30">MakeSearchLog</a>(<a class="code hl_struct" href="structoperations__research_1_1_solver_1_1_search_log_parameters.html">SearchLogParameters</a> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div>
<div class="line"><a id="l02324" name="l02324"></a><span class="lineno"> 2324</span> </div>
<div class="line"><a id="l02327" name="l02327"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa7f37dd789676fe977046bd4d1becfa6"> 2327</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa7f37dd789676fe977046bd4d1becfa6">MakeSearchTrace</a>(<span class="keyword">const</span> std::string&amp; prefix);</div>
<div class="line"><a id="l02328" name="l02328"></a><span class="lineno"> 2328</span> </div>
<div class="line"><a id="l02330" name="l02330"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aca90f8eeeac883bdb7bee6fd1be1c9f3"> 2330</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aca90f8eeeac883bdb7bee6fd1be1c9f3">MakeEnterSearchCallback</a>(std::function&lt;<span class="keywordtype">void</span>()&gt; callback);</div>
<div class="line"><a id="l02331" name="l02331"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae70ed50181af7d10b023eb2ea7151d63"> 2331</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae70ed50181af7d10b023eb2ea7151d63">MakeExitSearchCallback</a>(std::function&lt;<span class="keywordtype">void</span>()&gt; callback);</div>
<div class="line"><a id="l02332" name="l02332"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a13cf423397bb12a1a502312c460764a7"> 2332</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a13cf423397bb12a1a502312c460764a7">MakeAtSolutionCallback</a>(std::function&lt;<span class="keywordtype">void</span>()&gt; callback);</div>
<div class="line"><a id="l02333" name="l02333"></a><span class="lineno"> 2333</span> </div>
<div class="line"><a id="l02335" name="l02335"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad4bbef048381ee722e0f189bab7641fa"> 2335</a></span> <a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad4bbef048381ee722e0f189bab7641fa">MakePrintModelVisitor</a>();</div>
<div class="line"><a id="l02337" name="l02337"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afb14a213b7e0c68394ea080aaad11c88"> 2337</a></span> <a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afb14a213b7e0c68394ea080aaad11c88">MakeStatisticsModelVisitor</a>();</div>
<div class="line"><a id="l02338" name="l02338"></a><span class="lineno"> 2338</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l02340" name="l02340"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a841aa319d231a7662b799078307c8de9"> 2340</a></span> <a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a841aa319d231a7662b799078307c8de9">MakeVariableDegreeVisitor</a>(</div>
<div class="line"><a id="l02341" name="l02341"></a><span class="lineno"> 2341</span> absl::flat_hash_map&lt;const IntVar*, int&gt;* <span class="keyword">const</span> map);</div>
<div class="line"><a id="l02342" name="l02342"></a><span class="lineno"> 2342</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l02343" name="l02343"></a><span class="lineno"> 2343</span> </div>
<div class="line"><a id="l02345" name="l02345"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2c773c8b749ed6d7fa8f80f5725b443a"> 2345</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2c773c8b749ed6d7fa8f80f5725b443a">MakeSymmetryManager</a>(</div>
<div class="line"><a id="l02346" name="l02346"></a><span class="lineno"> 2346</span> <span class="keyword">const</span> std::vector&lt;SymmetryBreaker*&gt;&amp; visitors);</div>
<div class="line"><a id="l02347" name="l02347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#acee8bdfca8ecbafa24d474ab1d6e7e66"> 2347</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#acee8bdfca8ecbafa24d474ab1d6e7e66">MakeSymmetryManager</a>(<a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v1);</div>
<div class="line"><a id="l02348" name="l02348"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af8d468e26945c7d4c6b1035826f14947"> 2348</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af8d468e26945c7d4c6b1035826f14947">MakeSymmetryManager</a>(<a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v1,</div>
<div class="line"><a id="l02349" name="l02349"></a><span class="lineno"> 2349</span> <a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v2);</div>
<div class="line"><a id="l02350" name="l02350"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a53da2948c0da1854a0e46dc47913bdf6"> 2350</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a53da2948c0da1854a0e46dc47913bdf6">MakeSymmetryManager</a>(<a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v1,</div>
<div class="line"><a id="l02351" name="l02351"></a><span class="lineno"> 2351</span> <a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v2,</div>
<div class="line"><a id="l02352" name="l02352"></a><span class="lineno"> 2352</span> <a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v3);</div>
<div class="line"><a id="l02353" name="l02353"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6b8aa046fc429cf1edeef77b3e3bc58f"> 2353</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6b8aa046fc429cf1edeef77b3e3bc58f">MakeSymmetryManager</a>(<a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v1,</div>
<div class="line"><a id="l02354" name="l02354"></a><span class="lineno"> 2354</span> <a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v2,</div>
<div class="line"><a id="l02355" name="l02355"></a><span class="lineno"> 2355</span> <a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v3,</div>
<div class="line"><a id="l02356" name="l02356"></a><span class="lineno"> 2356</span> <a class="code hl_class" href="classoperations__research_1_1_symmetry_breaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v4);</div>
<div class="line"><a id="l02357" name="l02357"></a><span class="lineno"> 2357</span> </div>
<div class="line"><a id="l02359" name="l02359"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a56d3301a8504e69e51c16d3d98079e5f"> 2359</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a56d3301a8504e69e51c16d3d98079e5f">MakeAssignVariableValue</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t val);</div>
<div class="line"><a id="l02360" name="l02360"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae8f64501937a37692af9e56e4fbe6393"> 2360</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae8f64501937a37692af9e56e4fbe6393">MakeVariableLessOrEqualValue</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l02361" name="l02361"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afdbc33ce0ac6ba6fb5fa36bb8825c3d8"> 2361</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afdbc33ce0ac6ba6fb5fa36bb8825c3d8">MakeVariableGreaterOrEqualValue</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l02362" name="l02362"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae777f900e6094de081dc73c81f3c9f2c"> 2362</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae777f900e6094de081dc73c81f3c9f2c">MakeSplitVariableDomain</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t val,</div>
<div class="line"><a id="l02363" name="l02363"></a><span class="lineno"> 2363</span> <span class="keywordtype">bool</span> start_with_lower_half);</div>
<div class="line"><a id="l02364" name="l02364"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af6b5f0b114ccab3c53024020b7db0d3d"> 2364</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af6b5f0b114ccab3c53024020b7db0d3d">MakeAssignVariableValueOrFail</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l02365" name="l02365"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a123f8b1f425860ad4b38ca840ea844fe"> 2365</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a123f8b1f425860ad4b38ca840ea844fe">MakeAssignVariableValueOrDoNothing</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var,</div>
<div class="line"><a id="l02366" name="l02366"></a><span class="lineno"> 2366</span> int64_t value);</div>
<div class="line"><a id="l02367" name="l02367"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5a025adefdc10aafc0503ca7d0b2f628"> 2367</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5a025adefdc10aafc0503ca7d0b2f628">MakeAssignVariablesValues</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02368" name="l02368"></a><span class="lineno"> 2368</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l02369" name="l02369"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6973359c0392b393b0f30694a4771ab8"> 2369</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6973359c0392b393b0f30694a4771ab8">MakeAssignVariablesValuesOrDoNothing</a>(</div>
<div class="line"><a id="l02370" name="l02370"></a><span class="lineno"> 2370</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l02371" name="l02371"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a265f3eb309cb6e32df85fe08c0227b15"> 2371</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a265f3eb309cb6e32df85fe08c0227b15">MakeAssignVariablesValuesOrFail</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02372" name="l02372"></a><span class="lineno"> 2372</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l02373" name="l02373"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aeb4b40e28341f9c71198a6c9f0a78c06"> 2373</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aeb4b40e28341f9c71198a6c9f0a78c06">MakeFailDecision</a>();</div>
<div class="line"><a id="l02374" name="l02374"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a00f78f79ea5ff448caa08cba62054859"> 2374</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a00f78f79ea5ff448caa08cba62054859">MakeDecision</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> apply, <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> refute);</div>
<div class="line"><a id="l02375" name="l02375"></a><span class="lineno"> 2375</span> </div>
<div class="line"><a id="l02384" name="l02384"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#adbf7d490e8a610424c1cdcc336fed1b2"> 2384</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#adbf7d490e8a610424c1cdcc336fed1b2">Compose</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1,</div>
<div class="line"><a id="l02385" name="l02385"></a><span class="lineno"> 2385</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2);</div>
<div class="line"><a id="l02386" name="l02386"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a621ee0adf3f4bfe542791a29e674f010"> 2386</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a621ee0adf3f4bfe542791a29e674f010">Compose</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1,</div>
<div class="line"><a id="l02387" name="l02387"></a><span class="lineno"> 2387</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2,</div>
<div class="line"><a id="l02388" name="l02388"></a><span class="lineno"> 2388</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db3);</div>
<div class="line"><a id="l02389" name="l02389"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae5d9ab0205e5c3f5be37e9450d5af1ed"> 2389</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae5d9ab0205e5c3f5be37e9450d5af1ed">Compose</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1,</div>
<div class="line"><a id="l02390" name="l02390"></a><span class="lineno"> 2390</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2,</div>
<div class="line"><a id="l02391" name="l02391"></a><span class="lineno"> 2391</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db3,</div>
<div class="line"><a id="l02392" name="l02392"></a><span class="lineno"> 2392</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db4);</div>
<div class="line"><a id="l02393" name="l02393"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a81e71c126a9066bd3c3177bd2ef4b123"> 2393</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a81e71c126a9066bd3c3177bd2ef4b123">Compose</a>(<span class="keyword">const</span> std::vector&lt;DecisionBuilder*&gt;&amp; dbs);</div>
<div class="line"><a id="l02394" name="l02394"></a><span class="lineno"> 2394</span> </div>
<div class="line"><a id="l02406" name="l02406"></a><span class="lineno"> 2406</span> <span class="comment">// TODO(user): The search tree can be balanced by using binary</span></div>
<div class="line"><a id="l02411" name="l02411"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3ffb0fce7364b43d73556c79ffce1a89"> 2411</a></span><span class="comment"></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3ffb0fce7364b43d73556c79ffce1a89">Try</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1, <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2);</div>
<div class="line"><a id="l02412" name="l02412"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a99e4c78c7b2dc331fbf682f5e158e945"> 2412</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a99e4c78c7b2dc331fbf682f5e158e945">Try</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1, <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2,</div>
<div class="line"><a id="l02413" name="l02413"></a><span class="lineno"> 2413</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db3);</div>
<div class="line"><a id="l02414" name="l02414"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab67a32caadf6ffe757ecbefd60b51617"> 2414</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab67a32caadf6ffe757ecbefd60b51617">Try</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1, <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2,</div>
<div class="line"><a id="l02415" name="l02415"></a><span class="lineno"> 2415</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db3, <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db4);</div>
<div class="line"><a id="l02416" name="l02416"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a341ffdcad6e944d8dbdda8db7bb85131"> 2416</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a341ffdcad6e944d8dbdda8db7bb85131">Try</a>(<span class="keyword">const</span> std::vector&lt;DecisionBuilder*&gt;&amp; dbs);</div>
<div class="line"><a id="l02417" name="l02417"></a><span class="lineno"> 2417</span> </div>
<div class="line"><a id="l02419" name="l02419"></a><span class="lineno"> 2419</span> <span class="comment">// TODO(user): name each of them differently, and document them (and do that</span></div>
<div class="line"><a id="l02421" name="l02421"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab8c32c78b5af7d4975432c0971369153"> 2421</a></span><span class="comment"></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab8c32c78b5af7d4975432c0971369153">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02422" name="l02422"></a><span class="lineno"> 2422</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div>
<div class="line"><a id="l02423" name="l02423"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac036235208064d566fad74b721bc1a0a"> 2423</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac036235208064d566fad74b721bc1a0a">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02424" name="l02424"></a><span class="lineno"> 2424</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">IndexEvaluator1</a> var_evaluator,</div>
<div class="line"><a id="l02425" name="l02425"></a><span class="lineno"> 2425</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div>
<div class="line"><a id="l02426" name="l02426"></a><span class="lineno"> 2426</span> </div>
<div class="line"><a id="l02427" name="l02427"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad9daba429662707b8d6bd5e119cd4da5"> 2427</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad9daba429662707b8d6bd5e119cd4da5">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02428" name="l02428"></a><span class="lineno"> 2428</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div>
<div class="line"><a id="l02429" name="l02429"></a><span class="lineno"> 2429</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> value_evaluator);</div>
<div class="line"><a id="l02430" name="l02430"></a><span class="lineno"> 2430</span> </div>
<div class="line"><a id="l02433" name="l02433"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1f1cb613307dc4642d193c7e88d665d2"> 2433</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1f1cb613307dc4642d193c7e88d665d2">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02434" name="l02434"></a><span class="lineno"> 2434</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div>
<div class="line"><a id="l02435" name="l02435"></a><span class="lineno"> 2435</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#af5502e2288132c081fc96fdbcee282e6">VariableValueComparator</a> var_val1_val2_comparator);</div>
<div class="line"><a id="l02436" name="l02436"></a><span class="lineno"> 2436</span> </div>
<div class="line"><a id="l02437" name="l02437"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#adb0d364d98cccb26eed10317ec8e442a"> 2437</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#adb0d364d98cccb26eed10317ec8e442a">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02438" name="l02438"></a><span class="lineno"> 2438</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">IndexEvaluator1</a> var_evaluator,</div>
<div class="line"><a id="l02439" name="l02439"></a><span class="lineno"> 2439</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> value_evaluator);</div>
<div class="line"><a id="l02440" name="l02440"></a><span class="lineno"> 2440</span> </div>
<div class="line"><a id="l02441" name="l02441"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7faa757e27fce57320e08645dd657249"> 2441</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7faa757e27fce57320e08645dd657249">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02442" name="l02442"></a><span class="lineno"> 2442</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div>
<div class="line"><a id="l02443" name="l02443"></a><span class="lineno"> 2443</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> value_evaluator,</div>
<div class="line"><a id="l02444" name="l02444"></a><span class="lineno"> 2444</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">IndexEvaluator1</a> tie_breaker);</div>
<div class="line"><a id="l02445" name="l02445"></a><span class="lineno"> 2445</span> </div>
<div class="line"><a id="l02446" name="l02446"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a63d7a3444090331f668a230b22f1948b"> 2446</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a63d7a3444090331f668a230b22f1948b">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02447" name="l02447"></a><span class="lineno"> 2447</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">IndexEvaluator1</a> var_evaluator,</div>
<div class="line"><a id="l02448" name="l02448"></a><span class="lineno"> 2448</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> value_evaluator,</div>
<div class="line"><a id="l02449" name="l02449"></a><span class="lineno"> 2449</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">IndexEvaluator1</a> tie_breaker);</div>
<div class="line"><a id="l02450" name="l02450"></a><span class="lineno"> 2450</span> </div>
<div class="line"><a id="l02451" name="l02451"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae83f4bd46d24db9dd2177e84cae8da6d"> 2451</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae83f4bd46d24db9dd2177e84cae8da6d">MakeDefaultPhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l02452" name="l02452"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aff916492777aed8cc81ce92767cd461a"> 2452</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aff916492777aed8cc81ce92767cd461a">MakeDefaultPhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02453" name="l02453"></a><span class="lineno"> 2453</span> <span class="keyword">const</span> <a class="code hl_struct" href="structoperations__research_1_1_default_phase_parameters.html">DefaultPhaseParameters</a>&amp; <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div>
<div class="line"><a id="l02454" name="l02454"></a><span class="lineno"> 2454</span> </div>
<div class="line"><a id="l02456" name="l02456"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa4848ca854d8dc0abe1e78f9e820e7ea"> 2456</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa4848ca854d8dc0abe1e78f9e820e7ea">MakePhase</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v0, <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div>
<div class="line"><a id="l02457" name="l02457"></a><span class="lineno"> 2457</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div>
<div class="line"><a id="l02458" name="l02458"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3240a820ac60b9152527d4dfdf5ce757"> 2458</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3240a820ac60b9152527d4dfdf5ce757">MakePhase</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v0, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v1,</div>
<div class="line"><a id="l02459" name="l02459"></a><span class="lineno"> 2459</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div>
<div class="line"><a id="l02460" name="l02460"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a799cf5fa06f5941ec238a20c11a3732d"> 2460</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a799cf5fa06f5941ec238a20c11a3732d">MakePhase</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v0, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v1,</div>
<div class="line"><a id="l02461" name="l02461"></a><span class="lineno"> 2461</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v2, <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div>
<div class="line"><a id="l02462" name="l02462"></a><span class="lineno"> 2462</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div>
<div class="line"><a id="l02463" name="l02463"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#acaa896a88abfa6b0f69c0bbb5dba2e66"> 2463</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#acaa896a88abfa6b0f69c0bbb5dba2e66">MakePhase</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v0, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v1,</div>
<div class="line"><a id="l02464" name="l02464"></a><span class="lineno"> 2464</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v2, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v3,</div>
<div class="line"><a id="l02465" name="l02465"></a><span class="lineno"> 2465</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div>
<div class="line"><a id="l02466" name="l02466"></a><span class="lineno"> 2466</span> </div>
<div class="line"><a id="l02472" name="l02472"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abdb542d05e19b8c9ad5dbea0709555fe"> 2472</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#abdb542d05e19b8c9ad5dbea0709555fe">MakeScheduleOrPostpone</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t est,</div>
<div class="line"><a id="l02473" name="l02473"></a><span class="lineno"> 2473</span> int64_t* <span class="keyword">const</span> marker);</div>
<div class="line"><a id="l02474" name="l02474"></a><span class="lineno"> 2474</span> </div>
<div class="line"><a id="l02480" name="l02480"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1d099ae04835723ee3ccd7644f1d40cc"> 2480</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1d099ae04835723ee3ccd7644f1d40cc">MakeScheduleOrExpedite</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t est,</div>
<div class="line"><a id="l02481" name="l02481"></a><span class="lineno"> 2481</span> int64_t* <span class="keyword">const</span> marker);</div>
<div class="line"><a id="l02482" name="l02482"></a><span class="lineno"> 2482</span> </div>
<div class="line"><a id="l02485" name="l02485"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a928815a4c6a634b490c936097b7d00a5"> 2485</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a928815a4c6a634b490c936097b7d00a5">MakeRankFirstInterval</a>(<a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> sequence, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l02486" name="l02486"></a><span class="lineno"> 2486</span> </div>
<div class="line"><a id="l02489" name="l02489"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac0ac844f6576d238f6c11f4069b4576d"> 2489</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac0ac844f6576d238f6c11f4069b4576d">MakeRankLastInterval</a>(<a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> sequence, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l02490" name="l02490"></a><span class="lineno"> 2490</span> </div>
<div class="line"><a id="l02496" name="l02496"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a87f248f1badf459f6f9a28bf7400f4f7"> 2496</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a87f248f1badf459f6f9a28bf7400f4f7">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02497" name="l02497"></a><span class="lineno"> 2497</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> eval, <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> str);</div>
<div class="line"><a id="l02498" name="l02498"></a><span class="lineno"> 2498</span> </div>
<div class="line"><a id="l02506" name="l02506"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac09271a5cd507d9af4a6b0a5e35a9516"> 2506</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac09271a5cd507d9af4a6b0a5e35a9516">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02507" name="l02507"></a><span class="lineno"> 2507</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> eval, <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">IndexEvaluator1</a> tie_breaker,</div>
<div class="line"><a id="l02508" name="l02508"></a><span class="lineno"> 2508</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> str);</div>
<div class="line"><a id="l02509" name="l02509"></a><span class="lineno"> 2509</span> </div>
<div class="line"><a id="l02511" name="l02511"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5817205b496242838ae749efe532f8e1"> 2511</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5817205b496242838ae749efe532f8e1">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a id="l02512" name="l02512"></a><span class="lineno"> 2512</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952f">IntervalStrategy</a> str);</div>
<div class="line"><a id="l02513" name="l02513"></a><span class="lineno"> 2513</span> </div>
<div class="line"><a id="l02514" name="l02514"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac312642e015dc90cfe57ced402222862"> 2514</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac312642e015dc90cfe57ced402222862">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; sequences,</div>
<div class="line"><a id="l02515" name="l02515"></a><span class="lineno"> 2515</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482b">SequenceStrategy</a> str);</div>
<div class="line"><a id="l02516" name="l02516"></a><span class="lineno"> 2516</span> </div>
<div class="line"><a id="l02519" name="l02519"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae8b8c06e2106f61105c9e861bc4b6aa8"> 2519</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae8b8c06e2106f61105c9e861bc4b6aa8">MakeDecisionBuilderFromAssignment</a>(</div>
<div class="line"><a id="l02520" name="l02520"></a><span class="lineno"> 2520</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment, <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02521" name="l02521"></a><span class="lineno"> 2521</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l02522" name="l02522"></a><span class="lineno"> 2522</span> </div>
<div class="line"><a id="l02525" name="l02525"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a39757eedc8178cf992eb82aaf28df10c"> 2525</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a39757eedc8178cf992eb82aaf28df10c">MakeConstraintAdder</a>(<a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <span class="keyword">const</span> ct);</div>
<div class="line"><a id="l02526" name="l02526"></a><span class="lineno"> 2526</span> </div>
<div class="line"><a id="l02531" name="l02531"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5afecd416b70bdf535a69119e4ffd271"> 2531</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5afecd416b70bdf535a69119e4ffd271">MakeSolveOnce</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db);</div>
<div class="line"><a id="l02532" name="l02532"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a77bdbc3cfba031e3b33295b4c551d488"> 2532</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a77bdbc3cfba031e3b33295b4c551d488">MakeSolveOnce</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02533" name="l02533"></a><span class="lineno"> 2533</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1);</div>
<div class="line"><a id="l02534" name="l02534"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a670dc3b46b8bc19cf07a7b90076aca5c"> 2534</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a670dc3b46b8bc19cf07a7b90076aca5c">MakeSolveOnce</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02535" name="l02535"></a><span class="lineno"> 2535</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div>
<div class="line"><a id="l02536" name="l02536"></a><span class="lineno"> 2536</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2);</div>
<div class="line"><a id="l02537" name="l02537"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac2c5df6e512f5ebe6ac88b9b8f3a3058"> 2537</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac2c5df6e512f5ebe6ac88b9b8f3a3058">MakeSolveOnce</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02538" name="l02538"></a><span class="lineno"> 2538</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div>
<div class="line"><a id="l02539" name="l02539"></a><span class="lineno"> 2539</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2,</div>
<div class="line"><a id="l02540" name="l02540"></a><span class="lineno"> 2540</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor3);</div>
<div class="line"><a id="l02541" name="l02541"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac56745ef934f2e711fcd5aa02a827146"> 2541</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac56745ef934f2e711fcd5aa02a827146">MakeSolveOnce</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02542" name="l02542"></a><span class="lineno"> 2542</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div>
<div class="line"><a id="l02543" name="l02543"></a><span class="lineno"> 2543</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2,</div>
<div class="line"><a id="l02544" name="l02544"></a><span class="lineno"> 2544</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor3,</div>
<div class="line"><a id="l02545" name="l02545"></a><span class="lineno"> 2545</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor4);</div>
<div class="line"><a id="l02546" name="l02546"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac26b924138fa2c1cbb1cdb83c4374ea3"> 2546</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac26b924138fa2c1cbb1cdb83c4374ea3">MakeSolveOnce</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02547" name="l02547"></a><span class="lineno"> 2547</span> <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div>
<div class="line"><a id="l02548" name="l02548"></a><span class="lineno"> 2548</span> </div>
<div class="line"><a id="l02556" name="l02556"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3fd66f0e4b32c3ea2ec08750c91ac9df"> 2556</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3fd66f0e4b32c3ea2ec08750c91ac9df">MakeNestedOptimize</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02557" name="l02557"></a><span class="lineno"> 2557</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div>
<div class="line"><a id="l02558" name="l02558"></a><span class="lineno"> 2558</span> int64_t step);</div>
<div class="line"><a id="l02559" name="l02559"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8e7dea8a1be75b44a2dc1d9600833e03"> 2559</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8e7dea8a1be75b44a2dc1d9600833e03">MakeNestedOptimize</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02560" name="l02560"></a><span class="lineno"> 2560</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div>
<div class="line"><a id="l02561" name="l02561"></a><span class="lineno"> 2561</span> int64_t step,</div>
<div class="line"><a id="l02562" name="l02562"></a><span class="lineno"> 2562</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1);</div>
<div class="line"><a id="l02563" name="l02563"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5ef4ab44aa4a6cf4ee035f51cb651b03"> 2563</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5ef4ab44aa4a6cf4ee035f51cb651b03">MakeNestedOptimize</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02564" name="l02564"></a><span class="lineno"> 2564</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div>
<div class="line"><a id="l02565" name="l02565"></a><span class="lineno"> 2565</span> int64_t step,</div>
<div class="line"><a id="l02566" name="l02566"></a><span class="lineno"> 2566</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div>
<div class="line"><a id="l02567" name="l02567"></a><span class="lineno"> 2567</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2);</div>
<div class="line"><a id="l02568" name="l02568"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6edfbb7111d607105bd3ebd0e9e7ac98"> 2568</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6edfbb7111d607105bd3ebd0e9e7ac98">MakeNestedOptimize</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02569" name="l02569"></a><span class="lineno"> 2569</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div>
<div class="line"><a id="l02570" name="l02570"></a><span class="lineno"> 2570</span> int64_t step,</div>
<div class="line"><a id="l02571" name="l02571"></a><span class="lineno"> 2571</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div>
<div class="line"><a id="l02572" name="l02572"></a><span class="lineno"> 2572</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2,</div>
<div class="line"><a id="l02573" name="l02573"></a><span class="lineno"> 2573</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor3);</div>
<div class="line"><a id="l02574" name="l02574"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aebd2e4df3c099bc0b9ab7e496bc16327"> 2574</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aebd2e4df3c099bc0b9ab7e496bc16327">MakeNestedOptimize</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div>
<div class="line"><a id="l02575" name="l02575"></a><span class="lineno"> 2575</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div>
<div class="line"><a id="l02576" name="l02576"></a><span class="lineno"> 2576</span> int64_t step,</div>
<div class="line"><a id="l02577" name="l02577"></a><span class="lineno"> 2577</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div>
<div class="line"><a id="l02578" name="l02578"></a><span class="lineno"> 2578</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2,</div>
<div class="line"><a id="l02579" name="l02579"></a><span class="lineno"> 2579</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor3,</div>
<div class="line"><a id="l02580" name="l02580"></a><span class="lineno"> 2580</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor4);</div>
<div class="line"><a id="l02581" name="l02581"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a896e154d5fe92c46f70484b96b672eab"> 2581</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a896e154d5fe92c46f70484b96b672eab">MakeNestedOptimize</a>(</div>
<div class="line"><a id="l02582" name="l02582"></a><span class="lineno"> 2582</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div>
<div class="line"><a id="l02583" name="l02583"></a><span class="lineno"> 2583</span> int64_t step, <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div>
<div class="line"><a id="l02584" name="l02584"></a><span class="lineno"> 2584</span> </div>
<div class="line"><a id="l02587" name="l02587"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae95ca181ba462987f0cd6e10eef83a97"> 2587</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae95ca181ba462987f0cd6e10eef83a97">MakeRestoreAssignment</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* assignment);</div>
<div class="line"><a id="l02588" name="l02588"></a><span class="lineno"> 2588</span> </div>
<div class="line"><a id="l02591" name="l02591"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae3e41eaf96a9ec044d34293897960631"> 2591</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae3e41eaf96a9ec044d34293897960631">MakeStoreAssignment</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* assignment);</div>
<div class="line"><a id="l02592" name="l02592"></a><span class="lineno"> 2592</span> </div>
<div class="line"><a id="l02594" name="l02594"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aabf79e2e1b17a7a5ce1c5e69cc3f582b"> 2594</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aabf79e2e1b17a7a5ce1c5e69cc3f582b">MakeOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02595" name="l02595"></a><span class="lineno"> 2595</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> op);</div>
<div class="line"><a id="l02596" name="l02596"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a60127c548cf811a3b54240d6b039c5ea"> 2596</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a60127c548cf811a3b54240d6b039c5ea">MakeOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02597" name="l02597"></a><span class="lineno"> 2597</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars,</div>
<div class="line"><a id="l02598" name="l02598"></a><span class="lineno"> 2598</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> op);</div>
<div class="line"><a id="l02599" name="l02599"></a><span class="lineno"> 2599</span> <span class="comment">// TODO(user): Make the callback an IndexEvaluator2 when there are no</span></div>
<div class="line"><a id="l02600" name="l02600"></a><span class="lineno"> 2600</span> <span class="comment">// secondary variables.</span></div>
<div class="line"><a id="l02601" name="l02601"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3dbb98d0c2db9df4320ca55a33c805e3"> 2601</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3dbb98d0c2db9df4320ca55a33c805e3">MakeOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02602" name="l02602"></a><span class="lineno"> 2602</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a3b8bde4dadfe1f1aed53ac24f4cdc94f">IndexEvaluator3</a> evaluator,</div>
<div class="line"><a id="l02603" name="l02603"></a><span class="lineno"> 2603</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> op);</div>
<div class="line"><a id="l02604" name="l02604"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a783c59b969849452c383bab1d14b284b"> 2604</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a783c59b969849452c383bab1d14b284b">MakeOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02605" name="l02605"></a><span class="lineno"> 2605</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars,</div>
<div class="line"><a id="l02606" name="l02606"></a><span class="lineno"> 2606</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a3b8bde4dadfe1f1aed53ac24f4cdc94f">IndexEvaluator3</a> evaluator,</div>
<div class="line"><a id="l02607" name="l02607"></a><span class="lineno"> 2607</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> op);</div>
<div class="line"><a id="l02608" name="l02608"></a><span class="lineno"> 2608</span> </div>
<div class="line"><a id="l02616" name="l02616"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a609ad11d842b8b7b4a8b0d2028818d31"> 2616</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a609ad11d842b8b7b4a8b0d2028818d31">MakeRandomLnsOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02617" name="l02617"></a><span class="lineno"> 2617</span> <span class="keywordtype">int</span> number_of_variables);</div>
<div class="line"><a id="l02618" name="l02618"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8f83f778df75caa4532c32b97d36ca6e"> 2618</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8f83f778df75caa4532c32b97d36ca6e">MakeRandomLnsOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02619" name="l02619"></a><span class="lineno"> 2619</span> <span class="keywordtype">int</span> number_of_variables,</div>
<div class="line"><a id="l02620" name="l02620"></a><span class="lineno"> 2620</span> int32_t seed);</div>
<div class="line"><a id="l02621" name="l02621"></a><span class="lineno"> 2621</span> </div>
<div class="line"><a id="l02627" name="l02627"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1b5f4ac1fc0e68af2247581f7396f454"> 2627</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a1b5f4ac1fc0e68af2247581f7396f454">MakeMoveTowardTargetOperator</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>&amp; target);</div>
<div class="line"><a id="l02628" name="l02628"></a><span class="lineno"> 2628</span> </div>
<div class="line"><a id="l02635" name="l02635"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a05d5d6048a880ed54cdc0e61c9131c89"> 2635</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a05d5d6048a880ed54cdc0e61c9131c89">MakeMoveTowardTargetOperator</a>(</div>
<div class="line"><a id="l02636" name="l02636"></a><span class="lineno"> 2636</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; variables,</div>
<div class="line"><a id="l02637" name="l02637"></a><span class="lineno"> 2637</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; target_values);</div>
<div class="line"><a id="l02638" name="l02638"></a><span class="lineno"> 2638</span> </div>
<div class="line"><a id="l02669" name="l02669"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5b65e631181f40eedd7afba46116fa66"> 2669</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5b65e631181f40eedd7afba46116fa66">ConcatenateOperators</a>(</div>
<div class="line"><a id="l02670" name="l02670"></a><span class="lineno"> 2670</span> <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops);</div>
<div class="line"><a id="l02671" name="l02671"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af17b122f41dbc903a8e1aefa20628949"> 2671</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af17b122f41dbc903a8e1aefa20628949">ConcatenateOperators</a>(</div>
<div class="line"><a id="l02672" name="l02672"></a><span class="lineno"> 2672</span> <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops, <span class="keywordtype">bool</span> restart);</div>
<div class="line"><a id="l02673" name="l02673"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3601d060ad17023f019375e9882ebf77"> 2673</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3601d060ad17023f019375e9882ebf77">ConcatenateOperators</a>(</div>
<div class="line"><a id="l02674" name="l02674"></a><span class="lineno"> 2674</span> <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops,</div>
<div class="line"><a id="l02675" name="l02675"></a><span class="lineno"> 2675</span> std::function&lt;int64_t(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>)&gt; evaluator);</div>
<div class="line"><a id="l02678" name="l02678"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6cadf6ba5aec276c1bab7db60b5eeb13"> 2678</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6cadf6ba5aec276c1bab7db60b5eeb13">RandomConcatenateOperators</a>(</div>
<div class="line"><a id="l02679" name="l02679"></a><span class="lineno"> 2679</span> <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops);</div>
<div class="line"><a id="l02680" name="l02680"></a><span class="lineno"> 2680</span> </div>
<div class="line"><a id="l02684" name="l02684"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afd9bceff0c00d226e49f6d7d08607166"> 2684</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afd9bceff0c00d226e49f6d7d08607166">RandomConcatenateOperators</a>(</div>
<div class="line"><a id="l02685" name="l02685"></a><span class="lineno"> 2685</span> <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops, int32_t seed);</div>
<div class="line"><a id="l02686" name="l02686"></a><span class="lineno"> 2686</span> </div>
<div class="line"><a id="l02694" name="l02694"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad1715ae8613b43ca37c2d76e61047a82"> 2694</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ad1715ae8613b43ca37c2d76e61047a82">MultiArmedBanditConcatenateOperators</a>(</div>
<div class="line"><a id="l02695" name="l02695"></a><span class="lineno"> 2695</span> <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops, <span class="keywordtype">double</span> memory_coefficient,</div>
<div class="line"><a id="l02696" name="l02696"></a><span class="lineno"> 2696</span> <span class="keywordtype">double</span> exploration_coefficient, <span class="keywordtype">bool</span> maximize);</div>
<div class="line"><a id="l02697" name="l02697"></a><span class="lineno"> 2697</span> </div>
<div class="line"><a id="l02703" name="l02703"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7d7f85d631ce26fd2e025555d65b1aad"> 2703</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7d7f85d631ce26fd2e025555d65b1aad">MakeNeighborhoodLimit</a>(<a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <span class="keyword">const</span> op,</div>
<div class="line"><a id="l02704" name="l02704"></a><span class="lineno"> 2704</span> int64_t limit);</div>
<div class="line"><a id="l02705" name="l02705"></a><span class="lineno"> 2705</span> </div>
<div class="line"><a id="l02730" name="l02730"></a><span class="lineno"> 2730</span> <span class="comment">// TODO(user): Make a variant which runs a local search after each</span></div>
<div class="line"><a id="l02731" name="l02731"></a><span class="lineno"> 2731</span> <span class="comment">// solution found in a DFS.</span></div>
<div class="line"><a id="l02732" name="l02732"></a><span class="lineno"> 2732</span> </div>
<div class="line"><a id="l02733" name="l02733"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac2e2c11fe0cb421b8b6785b3f0bbb201"> 2733</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac2e2c11fe0cb421b8b6785b3f0bbb201">MakeLocalSearchPhase</a>(</div>
<div class="line"><a id="l02734" name="l02734"></a><span class="lineno"> 2734</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment,</div>
<div class="line"><a id="l02735" name="l02735"></a><span class="lineno"> 2735</span> LocalSearchPhaseParameters* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div>
<div class="line"><a id="l02736" name="l02736"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a91eda0fa95a8ae13f412894b05d188d4"> 2736</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a91eda0fa95a8ae13f412894b05d188d4">MakeLocalSearchPhase</a>(</div>
<div class="line"><a id="l02737" name="l02737"></a><span class="lineno"> 2737</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> first_solution,</div>
<div class="line"><a id="l02738" name="l02738"></a><span class="lineno"> 2738</span> LocalSearchPhaseParameters* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div>
<div class="line"><a id="l02740" name="l02740"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4ec960bcf67cfb15b00f95884425713b"> 2740</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4ec960bcf67cfb15b00f95884425713b">MakeLocalSearchPhase</a>(</div>
<div class="line"><a id="l02741" name="l02741"></a><span class="lineno"> 2741</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> first_solution,</div>
<div class="line"><a id="l02742" name="l02742"></a><span class="lineno"> 2742</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> first_solution_sub_decision_builder,</div>
<div class="line"><a id="l02743" name="l02743"></a><span class="lineno"> 2743</span> LocalSearchPhaseParameters* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div>
<div class="line"><a id="l02744" name="l02744"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af35f78c27f773a8ffc787537dc9f4982"> 2744</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#af35f78c27f773a8ffc787537dc9f4982">MakeLocalSearchPhase</a>(</div>
<div class="line"><a id="l02745" name="l02745"></a><span class="lineno"> 2745</span> <span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02746" name="l02746"></a><span class="lineno"> 2746</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> first_solution,</div>
<div class="line"><a id="l02747" name="l02747"></a><span class="lineno"> 2747</span> LocalSearchPhaseParameters* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div>
<div class="line"><a id="l02748" name="l02748"></a><span class="lineno"> 2748</span> </div>
<div class="line"><a id="l02750" name="l02750"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a953add22f3c0d887291eec2b40eb0aeb"> 2750</a></span> <a class="code hl_class" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a953add22f3c0d887291eec2b40eb0aeb">MakeDefaultSolutionPool</a>();</div>
<div class="line"><a id="l02751" name="l02751"></a><span class="lineno"> 2751</span> </div>
<div class="line"><a id="l02753" name="l02753"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a70cdd3625d5c9c18b5cd1d662cb704bb"> 2753</a></span> LocalSearchPhaseParameters* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a70cdd3625d5c9c18b5cd1d662cb704bb">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a id="l02754" name="l02754"></a><span class="lineno"> 2754</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* objective, <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div>
<div class="line"><a id="l02755" name="l02755"></a><span class="lineno"> 2755</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder);</div>
<div class="line"><a id="l02756" name="l02756"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a112004c0c1baefeaa167b25d03002d19"> 2756</a></span> LocalSearchPhaseParameters* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a112004c0c1baefeaa167b25d03002d19">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a id="l02757" name="l02757"></a><span class="lineno"> 2757</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* objective, <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div>
<div class="line"><a id="l02758" name="l02758"></a><span class="lineno"> 2758</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder, <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <span class="keyword">const</span> limit);</div>
<div class="line"><a id="l02759" name="l02759"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a11af853d7a7d2ebbdf01cf2ee6811f11"> 2759</a></span> LocalSearchPhaseParameters* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a11af853d7a7d2ebbdf01cf2ee6811f11">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a id="l02760" name="l02760"></a><span class="lineno"> 2760</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* objective, <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div>
<div class="line"><a id="l02761" name="l02761"></a><span class="lineno"> 2761</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder, <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <span class="keyword">const</span> limit,</div>
<div class="line"><a id="l02762" name="l02762"></a><span class="lineno"> 2762</span> <a class="code hl_class" href="classoperations__research_1_1_local_search_filter_manager.html">LocalSearchFilterManager</a>* filter_manager);</div>
<div class="line"><a id="l02763" name="l02763"></a><span class="lineno"> 2763</span> </div>
<div class="line"><a id="l02764" name="l02764"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5273d9884b017bc280ce67c427927211"> 2764</a></span> LocalSearchPhaseParameters* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5273d9884b017bc280ce67c427927211">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a id="l02765" name="l02765"></a><span class="lineno"> 2765</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* objective, <a class="code hl_class" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a>* <span class="keyword">const</span> pool,</div>
<div class="line"><a id="l02766" name="l02766"></a><span class="lineno"> 2766</span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div>
<div class="line"><a id="l02767" name="l02767"></a><span class="lineno"> 2767</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder);</div>
<div class="line"><a id="l02768" name="l02768"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abee99b27e59ac8f7676db50d736a17ab"> 2768</a></span> LocalSearchPhaseParameters* <a class="code hl_function" href="classoperations__research_1_1_solver.html#abee99b27e59ac8f7676db50d736a17ab">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a id="l02769" name="l02769"></a><span class="lineno"> 2769</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* objective, <a class="code hl_class" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a>* <span class="keyword">const</span> pool,</div>
<div class="line"><a id="l02770" name="l02770"></a><span class="lineno"> 2770</span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div>
<div class="line"><a id="l02771" name="l02771"></a><span class="lineno"> 2771</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder, <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <span class="keyword">const</span> limit);</div>
<div class="line"><a id="l02772" name="l02772"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2d3c3e8cd9ba876f082fee6a773a86fc"> 2772</a></span> LocalSearchPhaseParameters* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2d3c3e8cd9ba876f082fee6a773a86fc">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a id="l02773" name="l02773"></a><span class="lineno"> 2773</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* objective, <a class="code hl_class" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a>* <span class="keyword">const</span> pool,</div>
<div class="line"><a id="l02774" name="l02774"></a><span class="lineno"> 2774</span> <a class="code hl_class" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div>
<div class="line"><a id="l02775" name="l02775"></a><span class="lineno"> 2775</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder, <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <span class="keyword">const</span> limit,</div>
<div class="line"><a id="l02776" name="l02776"></a><span class="lineno"> 2776</span> <a class="code hl_class" href="classoperations__research_1_1_local_search_filter_manager.html">LocalSearchFilterManager</a>* filter_manager);</div>
<div class="line"><a id="l02777" name="l02777"></a><span class="lineno"> 2777</span> </div>
<div class="line"><a id="l02779" name="l02779"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5eb867095eedbb05c137aae7aac299de"> 2779</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5eb867095eedbb05c137aae7aac299de">MakeAcceptFilter</a>();</div>
<div class="line"><a id="l02780" name="l02780"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5b9158014841db28425c3fe68700af22"> 2780</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5b9158014841db28425c3fe68700af22">MakeRejectFilter</a>();</div>
<div class="line"><a id="l02781" name="l02781"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0cb99d2eebdcea4267b7ab1b21059d37"> 2781</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0cb99d2eebdcea4267b7ab1b21059d37">MakeVariableDomainFilter</a>();</div>
<div class="line"><a id="l02782" name="l02782"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7327212dd857729d8d4dfaa7192a55ef"> 2782</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var_local_search_filter.html">IntVarLocalSearchFilter</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7327212dd857729d8d4dfaa7192a55ef">MakeSumObjectiveFilter</a>(</div>
<div class="line"><a id="l02783" name="l02783"></a><span class="lineno"> 2783</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">IndexEvaluator2</a> values,</div>
<div class="line"><a id="l02784" name="l02784"></a><span class="lineno"> 2784</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a> filter_enum);</div>
<div class="line"><a id="l02785" name="l02785"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a070201812ff6640e86ad7d2d68181703"> 2785</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var_local_search_filter.html">IntVarLocalSearchFilter</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a070201812ff6640e86ad7d2d68181703">MakeSumObjectiveFilter</a>(</div>
<div class="line"><a id="l02786" name="l02786"></a><span class="lineno"> 2786</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a id="l02787" name="l02787"></a><span class="lineno"> 2787</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars, <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a3b8bde4dadfe1f1aed53ac24f4cdc94f">IndexEvaluator3</a> values,</div>
<div class="line"><a id="l02788" name="l02788"></a><span class="lineno"> 2788</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a> filter_enum);</div>
<div class="line"><a id="l02789" name="l02789"></a><span class="lineno"> 2789</span> </div>
<div class="line"><a id="l02792" name="l02792"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4de855c905df4a729715972dc39997a4"> 2792</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4de855c905df4a729715972dc39997a4">TopPeriodicCheck</a>();</div>
<div class="line"><a id="l02796" name="l02796"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab003619f8e2f35a1ca01aa7713c674ea"> 2796</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab003619f8e2f35a1ca01aa7713c674ea">TopProgressPercent</a>();</div>
<div class="line"><a id="l02797" name="l02797"></a><span class="lineno"> 2797</span> </div>
<div class="line"><a id="l02801" name="l02801"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a71535de01a6527099122f4b7284e1796"> 2801</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a71535de01a6527099122f4b7284e1796">PushState</a>();</div>
<div class="line"><a id="l02802" name="l02802"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a831b8d703cefe8bce66a0483e08917ee"> 2802</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a831b8d703cefe8bce66a0483e08917ee">PopState</a>();</div>
<div class="line"><a id="l02803" name="l02803"></a><span class="lineno"> 2803</span> </div>
<div class="line"><a id="l02806" name="l02806"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a657ccc52a96d58f8c0e8eedc204952fb"> 2806</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a657ccc52a96d58f8c0e8eedc204952fb">SearchDepth</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02807" name="l02807"></a><span class="lineno"> 2807</span> </div>
<div class="line"><a id="l02810" name="l02810"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aac9afa5dce7f5a9edfa9655496dbc47b"> 2810</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aac9afa5dce7f5a9edfa9655496dbc47b">SearchLeftDepth</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02811" name="l02811"></a><span class="lineno"> 2811</span> </div>
<div class="line"><a id="l02814" name="l02814"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8d9ad7ab9d335a6284cf55573c1e99a1"> 2814</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8d9ad7ab9d335a6284cf55573c1e99a1">SolveDepth</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02815" name="l02815"></a><span class="lineno"> 2815</span> </div>
<div class="line"><a id="l02817" name="l02817"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#accc247a793239898fa4a822389614c73"> 2817</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#accc247a793239898fa4a822389614c73">SetBranchSelector</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a> bs);</div>
<div class="line"><a id="l02818" name="l02818"></a><span class="lineno"> 2818</span> </div>
<div class="line"><a id="l02820" name="l02820"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a50abbcc8065d8edb6d4bd2d7362c736a"> 2820</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a50abbcc8065d8edb6d4bd2d7362c736a">MakeApplyBranchSelector</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a> bs);</div>
<div class="line"><a id="l02821" name="l02821"></a><span class="lineno"> 2821</span> </div>
<div class="line"><a id="l02823" name="l02823"></a><span class="lineno"> 2823</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l02824" name="l02824"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a675d33a9ef9aa399017fb68e652c7a5c"> 2824</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a675d33a9ef9aa399017fb68e652c7a5c">SaveAndSetValue</a>(T* adr, T val) {</div>
<div class="line"><a id="l02825" name="l02825"></a><span class="lineno"> 2825</span> <span class="keywordflow">if</span> (*adr != val) {</div>
<div class="line"><a id="l02826" name="l02826"></a><span class="lineno"> 2826</span> InternalSaveValue(adr);</div>
<div class="line"><a id="l02827" name="l02827"></a><span class="lineno"> 2827</span> *adr = val;</div>
<div class="line"><a id="l02828" name="l02828"></a><span class="lineno"> 2828</span> }</div>
<div class="line"><a id="l02829" name="l02829"></a><span class="lineno"> 2829</span> }</div>
<div class="line"><a id="l02830" name="l02830"></a><span class="lineno"> 2830</span> </div>
<div class="line"><a id="l02832" name="l02832"></a><span class="lineno"> 2832</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l02833" name="l02833"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#affc00ecba247e10af0e2bebb3e1718c5"> 2833</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#affc00ecba247e10af0e2bebb3e1718c5">SaveAndAdd</a>(T* adr, T val) {</div>
<div class="line"><a id="l02834" name="l02834"></a><span class="lineno"> 2834</span> <span class="keywordflow">if</span> (val != 0) {</div>
<div class="line"><a id="l02835" name="l02835"></a><span class="lineno"> 2835</span> InternalSaveValue(adr);</div>
<div class="line"><a id="l02836" name="l02836"></a><span class="lineno"> 2836</span> (*adr) += val;</div>
<div class="line"><a id="l02837" name="l02837"></a><span class="lineno"> 2837</span> }</div>
<div class="line"><a id="l02838" name="l02838"></a><span class="lineno"> 2838</span> }</div>
<div class="line"><a id="l02839" name="l02839"></a><span class="lineno"> 2839</span> </div>
<div class="line"><a id="l02841" name="l02841"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a508bc1c932fca0619b340e90d26e9fc7"> 2841</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#a508bc1c932fca0619b340e90d26e9fc7">Rand64</a>(int64_t size) {</div>
<div class="line"><a id="l02842" name="l02842"></a><span class="lineno"> 2842</span> DCHECK_GT(size, 0);</div>
<div class="line"><a id="l02843" name="l02843"></a><span class="lineno"> 2843</span> <span class="keywordflow">return</span> absl::Uniform&lt;int64_t&gt;(random_, 0, size);</div>
<div class="line"><a id="l02844" name="l02844"></a><span class="lineno"> 2844</span> }</div>
<div class="line"><a id="l02845" name="l02845"></a><span class="lineno"> 2845</span> </div>
<div class="line"><a id="l02847" name="l02847"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae3a68c1cd26973c190846053f202fa8c"> 2847</a></span> int32_t <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae3a68c1cd26973c190846053f202fa8c">Rand32</a>(int32_t size) {</div>
<div class="line"><a id="l02848" name="l02848"></a><span class="lineno"> 2848</span> DCHECK_GT(size, 0);</div>
<div class="line"><a id="l02849" name="l02849"></a><span class="lineno"> 2849</span> <span class="keywordflow">return</span> absl::Uniform&lt;int32_t&gt;(random_, 0, size);</div>
<div class="line"><a id="l02850" name="l02850"></a><span class="lineno"> 2850</span> }</div>
<div class="line"><a id="l02851" name="l02851"></a><span class="lineno"> 2851</span> </div>
<div class="line"><a id="l02853" name="l02853"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a74e54b03bc3198869cea2fb12f0903f5"> 2853</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a74e54b03bc3198869cea2fb12f0903f5">ReSeed</a>(int32_t seed) { random_.seed(seed); }</div>
<div class="line"><a id="l02854" name="l02854"></a><span class="lineno"> 2854</span> </div>
<div class="line"><a id="l02858" name="l02858"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#adb5dd2b903aed4484d190730863f26c2"> 2858</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#adb5dd2b903aed4484d190730863f26c2">ExportProfilingOverview</a>(<span class="keyword">const</span> std::string&amp; filename);</div>
<div class="line"><a id="l02859" name="l02859"></a><span class="lineno"> 2859</span> </div>
<div class="line"><a id="l02861" name="l02861"></a><span class="lineno"> 2861</span> <span class="comment">// TODO(user): Merge demon and local search profiles.</span></div>
<div class="line"><a id="l02862" name="l02862"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aac351c16876d84a5b0602aa1337a3c61"> 2862</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_solver.html#aac351c16876d84a5b0602aa1337a3c61">LocalSearchProfile</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02863" name="l02863"></a><span class="lineno"> 2863</span> </div>
<div class="line"><a id="l02864" name="l02864"></a><span class="lineno"> 2864</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l02866" name="l02866"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a23b67374a08dfb275ebd9f084ff42567"> 2866</a></span> ConstraintSolverStatistics <a class="code hl_function" href="classoperations__research_1_1_solver.html#a23b67374a08dfb275ebd9f084ff42567">GetConstraintSolverStatistics</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02868" name="l02868"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a2563992eba2a464bd9f4c56c7f894945"> 2868</a></span> LocalSearchStatistics <a class="code hl_function" href="classoperations__research_1_1_solver.html#a2563992eba2a464bd9f4c56c7f894945">GetLocalSearchStatistics</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02869" name="l02869"></a><span class="lineno"> 2869</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l02870" name="l02870"></a><span class="lineno"> 2870</span> </div>
<div class="line"><a id="l02874" name="l02874"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab2613a9bd44c5b87559103fc66bfbda4"> 2874</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab2613a9bd44c5b87559103fc66bfbda4">CurrentlyInSolve</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02875" name="l02875"></a><span class="lineno"> 2875</span> </div>
<div class="line"><a id="l02878" name="l02878"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a86ecff14fc3b94df60069a4bca94c06b"> 2878</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a86ecff14fc3b94df60069a4bca94c06b">constraints</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> constraints_list_.size(); }</div>
<div class="line"><a id="l02879" name="l02879"></a><span class="lineno"> 2879</span> </div>
<div class="line"><a id="l02881" name="l02881"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aac4aa5ecf086378b1bbac4b669bab4db"> 2881</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aac4aa5ecf086378b1bbac4b669bab4db">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div>
<div class="line"><a id="l02882" name="l02882"></a><span class="lineno"> 2882</span> </div>
<div class="line"><a id="l02883" name="l02883"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab47fb6c4acece60219da82ed255bcf72"> 2883</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#ab47fb6c4acece60219da82ed255bcf72">balancing_decision</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> balancing_decision_.get(); }</div>
<div class="line"><a id="l02884" name="l02884"></a><span class="lineno"> 2884</span> </div>
<div class="line"><a id="l02886" name="l02886"></a><span class="lineno"> 2886</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l02887" name="l02887"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae9387021d508fb4ecec7728972d7b8a4"> 2887</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae9387021d508fb4ecec7728972d7b8a4">set_fail_intercept</a>(std::function&lt;<span class="keywordtype">void</span>()&gt; fail_intercept) {</div>
<div class="line"><a id="l02888" name="l02888"></a><span class="lineno"> 2888</span> fail_intercept_ = std::move(fail_intercept);</div>
<div class="line"><a id="l02889" name="l02889"></a><span class="lineno"> 2889</span> }</div>
<div class="line"><a id="l02890" name="l02890"></a><span class="lineno"> 2890</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l02891" name="l02891"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a95d15794f0eaa4727439f364889a8064"> 2891</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a95d15794f0eaa4727439f364889a8064">clear_fail_intercept</a>() { fail_intercept_ = <span class="keyword">nullptr</span>; }</div>
<div class="line"><a id="l02893" name="l02893"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3178f78af15a506afea55c2f28b1e80a"> 2893</a></span> <a class="code hl_friend" href="classoperations__research_1_1_solver.html#a17a56adc8ee57642c3f00a1778319192">DemonProfiler</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3178f78af15a506afea55c2f28b1e80a">demon_profiler</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> demon_profiler_; }</div>
<div class="line"><a id="l02894" name="l02894"></a><span class="lineno"> 2894</span> <span class="comment">// TODO(user): Get rid of the following methods once fast local search is</span></div>
<div class="line"><a id="l02897" name="l02897"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a5672241cc0faf1be50826c7795320cac"> 2897</a></span><span class="comment"></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a5672241cc0faf1be50826c7795320cac">SetUseFastLocalSearch</a>(<span class="keywordtype">bool</span> use_fast_local_search) {</div>
<div class="line"><a id="l02898" name="l02898"></a><span class="lineno"> 2898</span> use_fast_local_search_ = use_fast_local_search;</div>
<div class="line"><a id="l02899" name="l02899"></a><span class="lineno"> 2899</span> }</div>
<div class="line"><a id="l02901" name="l02901"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa58a5d8b15333d39678c0d6180c1c0b1"> 2901</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa58a5d8b15333d39678c0d6180c1c0b1">UseFastLocalSearch</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> use_fast_local_search_; }</div>
<div class="line"><a id="l02903" name="l02903"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0dd1d43eaa36e3edea0a0c24a1eb558e"> 2903</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0dd1d43eaa36e3edea0a0c24a1eb558e">HasName</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a>* <span class="keywordtype">object</span>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l02905" name="l02905"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7a202227fee0ce0a3cbf8218379a410d"> 2905</a></span> <a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7a202227fee0ce0a3cbf8218379a410d">RegisterDemon</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> demon);</div>
<div class="line"><a id="l02907" name="l02907"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a14f5f5eb80fe6b09d39ff1c0f0b816a3"> 2907</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a14f5f5eb80fe6b09d39ff1c0f0b816a3">RegisterIntExpr</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div>
<div class="line"><a id="l02909" name="l02909"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a320ce6dcbd8f9f17cd5ae933dfefc51b"> 2909</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a320ce6dcbd8f9f17cd5ae933dfefc51b">RegisterIntVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l02912" name="l02912"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#afcb4f63f7ef24e1894c88755c8e18b4e"> 2912</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#afcb4f63f7ef24e1894c88755c8e18b4e">RegisterIntervalVar</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l02913" name="l02913"></a><span class="lineno"> 2913</span> </div>
<div class="line"><a id="l02915" name="l02915"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7c06ab0a290a6fbdc909fd63c192a4bf"> 2915</a></span> Search* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a7c06ab0a290a6fbdc909fd63c192a4bf">ActiveSearch</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02917" name="l02917"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abe9b685ee0bca9e541bce7d2dbd61761"> 2917</a></span> <a class="code hl_class" href="classoperations__research_1_1_model_cache.html">ModelCache</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#abe9b685ee0bca9e541bce7d2dbd61761">Cache</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02919" name="l02919"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ae5dafec4a3984f3a489f81ad5af0e4c1"> 2919</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#ae5dafec4a3984f3a489f81ad5af0e4c1">InstrumentsDemons</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02921" name="l02921"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3dc3be2f47a73287c5edd7cf80beaa89"> 2921</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3dc3be2f47a73287c5edd7cf80beaa89">IsProfilingEnabled</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02923" name="l02923"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a72954fb35fd0dd0d796b18d893e957b4"> 2923</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a72954fb35fd0dd0d796b18d893e957b4">IsLocalSearchProfilingEnabled</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02925" name="l02925"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aa637423a56e06d52bc9beed8d6fda7ab"> 2925</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aa637423a56e06d52bc9beed8d6fda7ab">InstrumentsVariables</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02927" name="l02927"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ac50a9f394a6fc3e1707074bccd8bd334"> 2927</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#ac50a9f394a6fc3e1707074bccd8bd334">NameAllVariables</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02929" name="l02929"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a9c44ecfda194a78c5167e7c9d3579b01"> 2929</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_solver.html#a9c44ecfda194a78c5167e7c9d3579b01">model_name</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02931" name="l02931"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a92271ad8e09cd801f83ae84e6af5f609"> 2931</a></span> <a class="code hl_class" href="classoperations__research_1_1_propagation_monitor.html">PropagationMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a92271ad8e09cd801f83ae84e6af5f609">GetPropagationMonitor</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02934" name="l02934"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4260a3ba3644fec332cd650e2d3c9f68"> 2934</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4260a3ba3644fec332cd650e2d3c9f68">AddPropagationMonitor</a>(<a class="code hl_class" href="classoperations__research_1_1_propagation_monitor.html">PropagationMonitor</a>* <span class="keyword">const</span> monitor);</div>
<div class="line"><a id="l02936" name="l02936"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a869f7ed2cc6505c59ecf1eb8ecb2288a"> 2936</a></span> <a class="code hl_class" href="classoperations__research_1_1_local_search_monitor.html">LocalSearchMonitor</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a869f7ed2cc6505c59ecf1eb8ecb2288a">GetLocalSearchMonitor</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02939" name="l02939"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6c3752c7d9425f4a5243176d3f6fcbc7"> 2939</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6c3752c7d9425f4a5243176d3f6fcbc7">AddLocalSearchMonitor</a>(<a class="code hl_class" href="classoperations__research_1_1_local_search_monitor.html">LocalSearchMonitor</a>* monitor);</div>
<div class="line"><a id="l02940" name="l02940"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a4a54531bd135948e0c2a039b4435d952"> 2940</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a4a54531bd135948e0c2a039b4435d952">SetSearchContext</a>(Search* search, <span class="keyword">const</span> std::string&amp; search_context);</div>
<div class="line"><a id="l02941" name="l02941"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a314668fc29e10470b51994530769d1b0"> 2941</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_solver.html#a314668fc29e10470b51994530769d1b0">SearchContext</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l02942" name="l02942"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a8769d5e084acd0e19f0ddfa18207aafc"> 2942</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_solver.html#a8769d5e084acd0e19f0ddfa18207aafc">SearchContext</a>(<span class="keyword">const</span> Search* search) <span class="keyword">const</span>;</div>
<div class="line"><a id="l02944" name="l02944"></a><span class="lineno"> 2944</span> <span class="comment">// TODO(user): Investigate if this should be moved to Search.</span></div>
<div class="line"><a id="l02945" name="l02945"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a3c57f3559561d1a7616bbe881d7e79d3"> 2945</a></span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a3c57f3559561d1a7616bbe881d7e79d3">GetOrCreateLocalSearchState</a>();</div>
<div class="line"><a id="l02947" name="l02947"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0f7179b03ab49e7ee79f9b7e8c4dc129"> 2947</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0f7179b03ab49e7ee79f9b7e8c4dc129">ClearLocalSearchState</a>() { local_search_state_.reset(<span class="keyword">nullptr</span>); }</div>
<div class="line"><a id="l02948" name="l02948"></a><span class="lineno"> 2948</span> </div>
<div class="line"><a id="l02953" name="l02953"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ad3ae26b2787de582f090ef86c77e0484"> 2953</a></span> std::vector&lt;int64_t&gt; <a class="code hl_variable" href="classoperations__research_1_1_solver.html#ad3ae26b2787de582f090ef86c77e0484">tmp_vector_</a>;</div>
<div class="line"><a id="l02954" name="l02954"></a><span class="lineno"> 2954</span> </div>
<div class="line"><a id="l02955" name="l02955"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a7de3703a8816dad121d3fd166c07a79c"> 2955</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_base_int_expr.html">BaseIntExpr</a>;</div>
<div class="line"><a id="l02956" name="l02956"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a697ed9eaa8955d595a023663ab1e8418"> 2956</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>;</div>
<div class="line"><a id="l02957" name="l02957"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a17a56adc8ee57642c3f00a1778319192"> 2957</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_friend" href="classoperations__research_1_1_solver.html#a17a56adc8ee57642c3f00a1778319192">DemonProfiler</a>;</div>
<div class="line"><a id="l02958" name="l02958"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a68ccd69d2cb81ad9b176a007275fde0b"> 2958</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_friend" href="classoperations__research_1_1_solver.html#a68ccd69d2cb81ad9b176a007275fde0b">FindOneNeighbor</a>;</div>
<div class="line"><a id="l02959" name="l02959"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a34419e55556ff4e92b447fe895bdb9c3"> 2959</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>;</div>
<div class="line"><a id="l02960" name="l02960"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#acd6c49bd62ce1a1777a1c0e644f1186e"> 2960</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a>;</div>
<div class="line"><a id="l02961" name="l02961"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a47dfc6f2bc0d50a6e7c92eb00d97b064"> 2961</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_friend" href="classoperations__research_1_1_solver.html#a47dfc6f2bc0d50a6e7c92eb00d97b064">Queue</a>;</div>
<div class="line"><a id="l02962" name="l02962"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b"> 2962</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>;</div>
<div class="line"><a id="l02963" name="l02963"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#abb737b44b0a0335d550d2a740ba00236"> 2963</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>;</div>
<div class="line"><a id="l02964" name="l02964"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#ab7aef297f0c654af26dc7108c9ee6c69"> 2964</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_routing_model.html">RoutingModel</a>;</div>
<div class="line"><a id="l02965" name="l02965"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a622500a4c7e11bbc4b8a5e5de2c84f13"> 2965</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_friend" href="classoperations__research_1_1_solver.html#a622500a4c7e11bbc4b8a5e5de2c84f13">LocalSearchProfiler</a>;</div>
<div class="line"><a id="l02966" name="l02966"></a><span class="lineno"> 2966</span> </div>
<div class="line"><a id="l02967" name="l02967"></a><span class="lineno"> 2967</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l02968" name="l02968"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a1a981ab215cf0097502d1dd4f3a542ac"> 2968</a></span> <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code hl_friend" href="classoperations__research_1_1_solver.html#a1a981ab215cf0097502d1dd4f3a542ac">InternalSaveBooleanVarValue</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span>, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span>);</div>
<div class="line"><a id="l02969" name="l02969"></a><span class="lineno"> 2969</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span>&gt;</div>
<div class="line"><a id="l02970" name="l02970"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a830db5e85473a2e0a7392ac6bbc538d1"> 2970</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_simple_rev_f_i_f_o.html">SimpleRevFIFO</a>;</div>
<div class="line"><a id="l02971" name="l02971"></a><span class="lineno"> 2971</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> K, <span class="keyword">class</span> V&gt;</div>
<div class="line"><a id="l02972" name="l02972"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a523b4c1786dd34b9d1fa2579b91b4c0d"> 2972</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_rev_immutable_multi_map.html">RevImmutableMultiMap</a>;</div>
<div class="line"><a id="l02973" name="l02973"></a><span class="lineno"> 2973</span> </div>
<div class="line"><a id="l02978" name="l02978"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a078a6a3543d033fc6f9b42938f96a702"> 2978</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a078a6a3543d033fc6f9b42938f96a702">IsBooleanVar</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>** inner_var,</div>
<div class="line"><a id="l02979" name="l02979"></a><span class="lineno"> 2979</span> <span class="keywordtype">bool</span>* is_negated) <span class="keyword">const</span>;</div>
<div class="line"><a id="l02980" name="l02980"></a><span class="lineno"> 2980</span> </div>
<div class="line"><a id="l02985" name="l02985"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a31fb88446ef58b4621c5c89623c0d60d"> 2985</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a31fb88446ef58b4621c5c89623c0d60d">IsProduct</a>(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr, <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>** inner_expr,</div>
<div class="line"><a id="l02986" name="l02986"></a><span class="lineno"> 2986</span> int64_t* coefficient);</div>
<div class="line"><a id="l02987" name="l02987"></a><span class="lineno"> 2987</span><span class="preprocessor">#endif </span></div>
<div class="line"><a id="l02988" name="l02988"></a><span class="lineno"> 2988</span> </div>
<div class="line"><a id="l02991" name="l02991"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#aca0863f3e90f03bf77bbcb9aceb02e85"> 2991</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#aca0863f3e90f03bf77bbcb9aceb02e85">CastExpression</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l02992" name="l02992"></a><span class="lineno"> 2992</span> </div>
<div class="line"><a id="l02994" name="l02994"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#af62a385d57256e5179b185d003dcfea1"> 2994</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#af62a385d57256e5179b185d003dcfea1">FinishCurrentSearch</a>();</div>
<div class="line"><a id="l02995" name="l02995"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a166c36cdc73ef649a97330f9a5f421e1"> 2995</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a166c36cdc73ef649a97330f9a5f421e1">RestartCurrentSearch</a>();</div>
<div class="line"><a id="l02996" name="l02996"></a><span class="lineno"> 2996</span> </div>
<div class="line"><a id="l02999" name="l02999"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a64e3df5cecd4de1a3d052795458f7069"> 2999</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a64e3df5cecd4de1a3d052795458f7069">ShouldFail</a>() { should_fail_ = <span class="keyword">true</span>; }</div>
<div class="line"><a id="l03000" name="l03000"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a6d5ff1ccb832c9d27fa7a579248f8084"> 3000</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a6d5ff1ccb832c9d27fa7a579248f8084">CheckFail</a>() {</div>
<div class="line"><a id="l03001" name="l03001"></a><span class="lineno"> 3001</span> <span class="keywordflow">if</span> (!should_fail_) <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l03002" name="l03002"></a><span class="lineno"> 3002</span> should_fail_ = <span class="keyword">false</span>;</div>
<div class="line"><a id="l03003" name="l03003"></a><span class="lineno"> 3003</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#aeb92d4addb41255c9732cacfcb54f795">Fail</a>();</div>
<div class="line"><a id="l03004" name="l03004"></a><span class="lineno"> 3004</span> }</div>
<div class="line"><a id="l03005" name="l03005"></a><span class="lineno"> 3005</span> </div>
<div class="line"><a id="l03007" name="l03007"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solver.html#a0a0fa138e73ae39159c557c6356d055f"> 3007</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <a class="code hl_function" href="classoperations__research_1_1_solver.html#a0a0fa138e73ae39159c557c6356d055f">MakeProfiledDecisionBuilderWrapper</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* db);</div>
<div class="line"><a id="l03008" name="l03008"></a><span class="lineno"> 3008</span> </div>
<div class="line"><a id="l03009" name="l03009"></a><span class="lineno"> 3009</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03010" name="l03010"></a><span class="lineno"> 3010</span> <span class="keywordtype">void</span> Init(); </div>
<div class="line"><a id="l03011" name="l03011"></a><span class="lineno"> 3011</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a71535de01a6527099122f4b7284e1796">PushState</a>(<a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073df">MarkerType</a> t, <span class="keyword">const</span> StateInfo&amp; info);</div>
<div class="line"><a id="l03012" name="l03012"></a><span class="lineno"> 3012</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073df">MarkerType</a> <a class="code hl_function" href="classoperations__research_1_1_solver.html#a831b8d703cefe8bce66a0483e08917ee">PopState</a>(StateInfo* info);</div>
<div class="line"><a id="l03013" name="l03013"></a><span class="lineno"> 3013</span> <span class="keywordtype">void</span> PushSentinel(<span class="keywordtype">int</span> magic_code);</div>
<div class="line"><a id="l03014" name="l03014"></a><span class="lineno"> 3014</span> <span class="keywordtype">void</span> BacktrackToSentinel(<span class="keywordtype">int</span> magic_code);</div>
<div class="line"><a id="l03015" name="l03015"></a><span class="lineno"> 3015</span> <span class="keywordtype">void</span> ProcessConstraints();</div>
<div class="line"><a id="l03016" name="l03016"></a><span class="lineno"> 3016</span> <span class="keywordtype">bool</span> BacktrackOneLevel(<a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>** fail_decision);</div>
<div class="line"><a id="l03017" name="l03017"></a><span class="lineno"> 3017</span> <span class="keywordtype">void</span> JumpToSentinelWhenNested();</div>
<div class="line"><a id="l03018" name="l03018"></a><span class="lineno"> 3018</span> <span class="keywordtype">void</span> JumpToSentinel();</div>
<div class="line"><a id="l03019" name="l03019"></a><span class="lineno"> 3019</span> <span class="keywordtype">void</span> check_alloc_state();</div>
<div class="line"><a id="l03020" name="l03020"></a><span class="lineno"> 3020</span> <span class="keywordtype">void</span> FreezeQueue();</div>
<div class="line"><a id="l03021" name="l03021"></a><span class="lineno"> 3021</span> <span class="keywordtype">void</span> EnqueueVar(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d);</div>
<div class="line"><a id="l03022" name="l03022"></a><span class="lineno"> 3022</span> <span class="keywordtype">void</span> EnqueueDelayedDemon(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d);</div>
<div class="line"><a id="l03023" name="l03023"></a><span class="lineno"> 3023</span> <span class="keywordtype">void</span> ExecuteAll(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_simple_rev_f_i_f_o.html">SimpleRevFIFO&lt;Demon*&gt;</a>&amp; demons);</div>
<div class="line"><a id="l03024" name="l03024"></a><span class="lineno"> 3024</span> <span class="keywordtype">void</span> EnqueueAll(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_simple_rev_f_i_f_o.html">SimpleRevFIFO&lt;Demon*&gt;</a>&amp; demons);</div>
<div class="line"><a id="l03025" name="l03025"></a><span class="lineno"> 3025</span> <span class="keywordtype">void</span> UnfreezeQueue();</div>
<div class="line"><a id="l03026" name="l03026"></a><span class="lineno"> 3026</span> <span class="keywordtype">void</span> reset_action_on_fail();</div>
<div class="line"><a id="l03027" name="l03027"></a><span class="lineno"> 3027</span> <span class="keywordtype">void</span> set_action_on_fail(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> a);</div>
<div class="line"><a id="l03028" name="l03028"></a><span class="lineno"> 3028</span> <span class="keywordtype">void</span> set_variable_to_clean_on_fail(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* v);</div>
<div class="line"><a id="l03029" name="l03029"></a><span class="lineno"> 3029</span> <span class="keywordtype">void</span> IncrementUncheckedSolutionCounter();</div>
<div class="line"><a id="l03030" name="l03030"></a><span class="lineno"> 3030</span> <span class="keywordtype">bool</span> IsUncheckedSolutionLimitReached();</div>
<div class="line"><a id="l03031" name="l03031"></a><span class="lineno"> 3031</span> </div>
<div class="line"><a id="l03032" name="l03032"></a><span class="lineno"> 3032</span> <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">int</span>* valptr);</div>
<div class="line"><a id="l03033" name="l03033"></a><span class="lineno"> 3033</span> <span class="keywordtype">void</span> InternalSaveValue(int64_t* valptr);</div>
<div class="line"><a id="l03034" name="l03034"></a><span class="lineno"> 3034</span> <span class="keywordtype">void</span> InternalSaveValue(uint64_t* valptr);</div>
<div class="line"><a id="l03035" name="l03035"></a><span class="lineno"> 3035</span> <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">double</span>* valptr);</div>
<div class="line"><a id="l03036" name="l03036"></a><span class="lineno"> 3036</span> <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">bool</span>* valptr);</div>
<div class="line"><a id="l03037" name="l03037"></a><span class="lineno"> 3037</span> <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">void</span>** valptr);</div>
<div class="line"><a id="l03038" name="l03038"></a><span class="lineno"> 3038</span> <span class="keywordtype">void</span> InternalSaveValue(int64_t** valptr) {</div>
<div class="line"><a id="l03039" name="l03039"></a><span class="lineno"> 3039</span> InternalSaveValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span>**<span class="keyword">&gt;</span>(valptr));</div>
<div class="line"><a id="l03040" name="l03040"></a><span class="lineno"> 3040</span> }</div>
<div class="line"><a id="l03041" name="l03041"></a><span class="lineno"> 3041</span> </div>
<div class="line"><a id="l03042" name="l03042"></a><span class="lineno"> 3042</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a>* SafeRevAlloc(<a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a>* ptr);</div>
<div class="line"><a id="l03043" name="l03043"></a><span class="lineno"> 3043</span> </div>
<div class="line"><a id="l03044" name="l03044"></a><span class="lineno"> 3044</span> <span class="keywordtype">int</span>* SafeRevAllocArray(<span class="keywordtype">int</span>* ptr);</div>
<div class="line"><a id="l03045" name="l03045"></a><span class="lineno"> 3045</span> int64_t* SafeRevAllocArray(int64_t* ptr);</div>
<div class="line"><a id="l03046" name="l03046"></a><span class="lineno"> 3046</span> uint64_t* SafeRevAllocArray(uint64_t* ptr);</div>
<div class="line"><a id="l03047" name="l03047"></a><span class="lineno"> 3047</span> <span class="keywordtype">double</span>* SafeRevAllocArray(<span class="keywordtype">double</span>* ptr);</div>
<div class="line"><a id="l03048" name="l03048"></a><span class="lineno"> 3048</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a>** SafeRevAllocArray(<a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a>** ptr);</div>
<div class="line"><a id="l03049" name="l03049"></a><span class="lineno"> 3049</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>** SafeRevAllocArray(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>** ptr);</div>
<div class="line"><a id="l03050" name="l03050"></a><span class="lineno"> 3050</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>** SafeRevAllocArray(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>** ptr);</div>
<div class="line"><a id="l03051" name="l03051"></a><span class="lineno"> 3051</span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>** SafeRevAllocArray(<a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>** ptr);</div>
<div class="line"><a id="l03054" name="l03054"></a><span class="lineno"> 3054</span> <span class="keywordtype">void</span>* UnsafeRevAllocAux(<span class="keywordtype">void</span>* ptr);</div>
<div class="line"><a id="l03055" name="l03055"></a><span class="lineno"> 3055</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l03056" name="l03056"></a><span class="lineno"> 3056</span> T* UnsafeRevAlloc(T* ptr) {</div>
<div class="line"><a id="l03057" name="l03057"></a><span class="lineno"> 3057</span> <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>T*<span class="keyword">&gt;</span>(</div>
<div class="line"><a id="l03058" name="l03058"></a><span class="lineno"> 3058</span> UnsafeRevAllocAux(<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span>*<span class="keyword">&gt;</span>(ptr)));</div>
<div class="line"><a id="l03059" name="l03059"></a><span class="lineno"> 3059</span> }</div>
<div class="line"><a id="l03060" name="l03060"></a><span class="lineno"> 3060</span> <span class="keywordtype">void</span>** UnsafeRevAllocArrayAux(<span class="keywordtype">void</span>** ptr);</div>
<div class="line"><a id="l03061" name="l03061"></a><span class="lineno"> 3061</span> <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l03062" name="l03062"></a><span class="lineno"> 3062</span> T** UnsafeRevAllocArray(T** ptr) {</div>
<div class="line"><a id="l03063" name="l03063"></a><span class="lineno"> 3063</span> <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>T**<span class="keyword">&gt;</span>(</div>
<div class="line"><a id="l03064" name="l03064"></a><span class="lineno"> 3064</span> UnsafeRevAllocArrayAux(<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span>**<span class="keyword">&gt;</span>(ptr)));</div>
<div class="line"><a id="l03065" name="l03065"></a><span class="lineno"> 3065</span> }</div>
<div class="line"><a id="l03066" name="l03066"></a><span class="lineno"> 3066</span> </div>
<div class="line"><a id="l03067" name="l03067"></a><span class="lineno"> 3067</span> <span class="keywordtype">void</span> InitCachedIntConstants();</div>
<div class="line"><a id="l03068" name="l03068"></a><span class="lineno"> 3068</span> <span class="keywordtype">void</span> InitCachedConstraint();</div>
<div class="line"><a id="l03069" name="l03069"></a><span class="lineno"> 3069</span> </div>
<div class="line"><a id="l03073" name="l03073"></a><span class="lineno"> 3073</span> Search* TopLevelSearch()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> searches_.at(1); }</div>
<div class="line"><a id="l03077" name="l03077"></a><span class="lineno"> 3077</span> Search* ParentSearch()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l03078" name="l03078"></a><span class="lineno"> 3078</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> search_size = searches_.size();</div>
<div class="line"><a id="l03079" name="l03079"></a><span class="lineno"> 3079</span> DCHECK_GT(search_size, 1);</div>
<div class="line"><a id="l03080" name="l03080"></a><span class="lineno"> 3080</span> <span class="keywordflow">return</span> searches_[search_size - 2];</div>
<div class="line"><a id="l03081" name="l03081"></a><span class="lineno"> 3081</span> }</div>
<div class="line"><a id="l03082" name="l03082"></a><span class="lineno"> 3082</span> </div>
<div class="line"><a id="l03084" name="l03084"></a><span class="lineno"> 3084</span> std::string GetName(<span class="keyword">const</span> <a class="code hl_friend" href="classoperations__research_1_1_solver.html#acd6c49bd62ce1a1777a1c0e644f1186e">PropagationBaseObject</a>* <span class="keywordtype">object</span>);</div>
<div class="line"><a id="l03085" name="l03085"></a><span class="lineno"> 3085</span> <span class="keywordtype">void</span> SetName(<span class="keyword">const</span> <a class="code hl_friend" href="classoperations__research_1_1_solver.html#acd6c49bd62ce1a1777a1c0e644f1186e">PropagationBaseObject</a>* <span class="keywordtype">object</span>, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l03086" name="l03086"></a><span class="lineno"> 3086</span> </div>
<div class="line"><a id="l03089" name="l03089"></a><span class="lineno"> 3089</span> <span class="keywordtype">int</span> GetNewIntVarIndex() { <span class="keywordflow">return</span> num_int_vars_++; }</div>
<div class="line"><a id="l03090" name="l03090"></a><span class="lineno"> 3090</span> </div>
<div class="line"><a id="l03092" name="l03092"></a><span class="lineno"> 3092</span> <span class="keywordtype">bool</span> IsADifference(IntExpr* expr, IntExpr** <span class="keyword">const</span> left,</div>
<div class="line"><a id="l03093" name="l03093"></a><span class="lineno"> 3093</span> IntExpr** <span class="keyword">const</span> right);</div>
<div class="line"><a id="l03094" name="l03094"></a><span class="lineno"> 3094</span> </div>
<div class="line"><a id="l03095" name="l03095"></a><span class="lineno"> 3095</span> <span class="keyword">const</span> std::string name_;</div>
<div class="line"><a id="l03096" name="l03096"></a><span class="lineno"> 3096</span> <span class="keyword">const</span> ConstraintSolverParameters parameters_;</div>
<div class="line"><a id="l03097" name="l03097"></a><span class="lineno"> 3097</span> absl::flat_hash_map&lt;const PropagationBaseObject*, std::string&gt;</div>
<div class="line"><a id="l03098" name="l03098"></a><span class="lineno"> 3098</span> propagation_object_names_;</div>
<div class="line"><a id="l03099" name="l03099"></a><span class="lineno"> 3099</span> absl::flat_hash_map&lt;const PropagationBaseObject*, IntegerCastInfo&gt;</div>
<div class="line"><a id="l03100" name="l03100"></a><span class="lineno"> 3100</span> cast_information_;</div>
<div class="line"><a id="l03101" name="l03101"></a><span class="lineno"> 3101</span> absl::flat_hash_set&lt;const Constraint*&gt; cast_constraints_;</div>
<div class="line"><a id="l03102" name="l03102"></a><span class="lineno"> 3102</span> <span class="keyword">const</span> std::string empty_name_;</div>
<div class="line"><a id="l03103" name="l03103"></a><span class="lineno"> 3103</span> std::unique_ptr&lt;Queue&gt; queue_;</div>
<div class="line"><a id="l03104" name="l03104"></a><span class="lineno"> 3104</span> std::unique_ptr&lt;Trail&gt; trail_;</div>
<div class="line"><a id="l03105" name="l03105"></a><span class="lineno"> 3105</span> std::vector&lt;Constraint*&gt; constraints_list_;</div>
<div class="line"><a id="l03106" name="l03106"></a><span class="lineno"> 3106</span> std::vector&lt;Constraint*&gt; additional_constraints_list_;</div>
<div class="line"><a id="l03107" name="l03107"></a><span class="lineno"> 3107</span> std::vector&lt;int&gt; additional_constraints_parent_list_;</div>
<div class="line"><a id="l03108" name="l03108"></a><span class="lineno"> 3108</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a> state_;</div>
<div class="line"><a id="l03109" name="l03109"></a><span class="lineno"> 3109</span> int64_t branches_;</div>
<div class="line"><a id="l03110" name="l03110"></a><span class="lineno"> 3110</span> int64_t fails_;</div>
<div class="line"><a id="l03111" name="l03111"></a><span class="lineno"> 3111</span> int64_t decisions_;</div>
<div class="line"><a id="l03112" name="l03112"></a><span class="lineno"> 3112</span> int64_t demon_runs_[<a class="code hl_variable" href="classoperations__research_1_1_solver.html#a280d7e65c4c7bf84c703fab2323aaa63">kNumPriorities</a>];</div>
<div class="line"><a id="l03113" name="l03113"></a><span class="lineno"> 3113</span> int64_t neighbors_;</div>
<div class="line"><a id="l03114" name="l03114"></a><span class="lineno"> 3114</span> int64_t filtered_neighbors_;</div>
<div class="line"><a id="l03115" name="l03115"></a><span class="lineno"> 3115</span> int64_t accepted_neighbors_;</div>
<div class="line"><a id="l03116" name="l03116"></a><span class="lineno"> 3116</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> optimization_direction_;</div>
<div class="line"><a id="l03117" name="l03117"></a><span class="lineno"> 3117</span> std::unique_ptr&lt;ClockTimer&gt; timer_;</div>
<div class="line"><a id="l03118" name="l03118"></a><span class="lineno"> 3118</span> std::vector&lt;Search*&gt; searches_;</div>
<div class="line"><a id="l03119" name="l03119"></a><span class="lineno"> 3119</span> std::mt19937 random_;</div>
<div class="line"><a id="l03120" name="l03120"></a><span class="lineno"> 3120</span> uint64_t fail_stamp_;</div>
<div class="line"><a id="l03121" name="l03121"></a><span class="lineno"> 3121</span> std::unique_ptr&lt;Decision&gt; balancing_decision_;</div>
<div class="line"><a id="l03123" name="l03123"></a><span class="lineno"> 3123</span> std::function&lt;void()&gt; fail_intercept_;</div>
<div class="line"><a id="l03125" name="l03125"></a><span class="lineno"> 3125</span> <a class="code hl_friend" href="classoperations__research_1_1_solver.html#a17a56adc8ee57642c3f00a1778319192">DemonProfiler</a>* <span class="keyword">const</span> demon_profiler_;</div>
<div class="line"><a id="l03127" name="l03127"></a><span class="lineno"> 3127</span> <span class="keywordtype">bool</span> use_fast_local_search_;</div>
<div class="line"><a id="l03129" name="l03129"></a><span class="lineno"> 3129</span> <a class="code hl_friend" href="classoperations__research_1_1_solver.html#a622500a4c7e11bbc4b8a5e5de2c84f13">LocalSearchProfiler</a>* <span class="keyword">const</span> local_search_profiler_;</div>
<div class="line"><a id="l03131" name="l03131"></a><span class="lineno"> 3131</span> std::unique_ptr&lt;Assignment&gt; local_search_state_;</div>
<div class="line"><a id="l03132" name="l03132"></a><span class="lineno"> 3132</span> </div>
<div class="line"><a id="l03134" name="l03134"></a><span class="lineno"> 3134</span> <span class="keyword">enum</span> { MIN_CACHED_INT_CONST = -8, MAX_CACHED_INT_CONST = 8 };</div>
<div class="line"><a id="l03135" name="l03135"></a><span class="lineno"> 3135</span> <a class="code hl_friend" href="classoperations__research_1_1_solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* cached_constants_[MAX_CACHED_INT_CONST + 1 - MIN_CACHED_INT_CONST];</div>
<div class="line"><a id="l03136" name="l03136"></a><span class="lineno"> 3136</span> </div>
<div class="line"><a id="l03138" name="l03138"></a><span class="lineno"> 3138</span> <a class="code hl_friend" href="classoperations__research_1_1_solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* true_constraint_;</div>
<div class="line"><a id="l03139" name="l03139"></a><span class="lineno"> 3139</span> <a class="code hl_friend" href="classoperations__research_1_1_solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* false_constraint_;</div>
<div class="line"><a id="l03140" name="l03140"></a><span class="lineno"> 3140</span> </div>
<div class="line"><a id="l03141" name="l03141"></a><span class="lineno"> 3141</span> std::unique_ptr&lt;Decision&gt; fail_decision_;</div>
<div class="line"><a id="l03142" name="l03142"></a><span class="lineno"> 3142</span> <span class="keywordtype">int</span> constraint_index_;</div>
<div class="line"><a id="l03143" name="l03143"></a><span class="lineno"> 3143</span> <span class="keywordtype">int</span> additional_constraint_index_;</div>
<div class="line"><a id="l03144" name="l03144"></a><span class="lineno"> 3144</span> <span class="keywordtype">int</span> num_int_vars_;</div>
<div class="line"><a id="l03145" name="l03145"></a><span class="lineno"> 3145</span> </div>
<div class="line"><a id="l03146" name="l03146"></a><span class="lineno"> 3146</span> std::unique_ptr&lt;ModelCache&gt; model_cache_;</div>
<div class="line"><a id="l03147" name="l03147"></a><span class="lineno"> 3147</span> std::unique_ptr&lt;PropagationMonitor&gt; propagation_monitor_;</div>
<div class="line"><a id="l03148" name="l03148"></a><span class="lineno"> 3148</span> PropagationMonitor* print_trace_;</div>
<div class="line"><a id="l03149" name="l03149"></a><span class="lineno"> 3149</span> std::unique_ptr&lt;LocalSearchMonitor&gt; local_search_monitor_;</div>
<div class="line"><a id="l03150" name="l03150"></a><span class="lineno"> 3150</span> <span class="keywordtype">int</span> anonymous_variable_index_;</div>
<div class="line"><a id="l03151" name="l03151"></a><span class="lineno"> 3151</span> <span class="keywordtype">bool</span> should_fail_;</div>
<div class="line"><a id="l03152" name="l03152"></a><span class="lineno"> 3152</span> </div>
<div class="line"><a id="l03153" name="l03153"></a><span class="lineno"> 3153</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_function" href="classoperations__research_1_1_solver.html#abac10873a1af49f1dce33a34f3afaa56">Solver</a>);</div>
<div class="line"><a id="l03154" name="l03154"></a><span class="lineno"> 3154</span>};</div>
<div class="line"><a id="l03155" name="l03155"></a><span class="lineno"> 3155</span> </div>
<div class="line"><a id="l03156" name="l03156"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#a87fdc0126f6fc98ffb86ba1aa618f322"> 3156</a></span>std::ostream&amp; <a class="code hl_function" href="namespaceoperations__research.html#a87fdc0126f6fc98ffb86ba1aa618f322">operator&lt;&lt;</a>(std::ostream&amp; out, <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s); </div>
<div class="line"><a id="l03157" name="l03157"></a><span class="lineno"> 3157</span> </div>
<div class="line"><a id="l03161" name="l03161"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#a5a9881f8a07b166ef2cbde572cea27b6"> 3161</a></span><span class="keyword">inline</span> int64_t <a class="code hl_function" href="namespaceoperations__research.html#a5a9881f8a07b166ef2cbde572cea27b6">Zero</a>() { <span class="keywordflow">return</span> 0; }</div>
<div class="line"><a id="l03162" name="l03162"></a><span class="lineno"> 3162</span> </div>
<div class="line"><a id="l03164" name="l03164"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#a9e48359348ad94d97e6c44ffd52b33e3"> 3164</a></span><span class="keyword">inline</span> int64_t <a class="code hl_function" href="namespaceoperations__research.html#a9e48359348ad94d97e6c44ffd52b33e3">One</a>() { <span class="keywordflow">return</span> 1; }</div>
<div class="line"><a id="l03165" name="l03165"></a><span class="lineno"> 3165</span> </div>
<div class="line"><a id="l03169" name="l03169"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_base_object.html"> 3169</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l03170" name="l03170"></a><span class="lineno"> 3170</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03171" name="l03171"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_base_object.html#a48f1c86064886ad6b10822e12c877da9"> 3171</a></span> <a class="code hl_function" href="classoperations__research_1_1_base_object.html#a48f1c86064886ad6b10822e12c877da9">BaseObject</a>() {}</div>
<div class="line"><a id="l03172" name="l03172"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_base_object.html#a9d8322d9fcae16059ee5a30839360bfe"> 3172</a></span> <span class="keyword">virtual</span> <a class="code hl_function" href="classoperations__research_1_1_base_object.html#a9d8322d9fcae16059ee5a30839360bfe">~BaseObject</a>() {}</div>
<div class="line"><a id="l03173" name="l03173"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_base_object.html#a8eba5d533fa9df4617c1868d3ec2afc4"> 3173</a></span> <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classoperations__research_1_1_base_object.html#a8eba5d533fa9df4617c1868d3ec2afc4">DebugString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;BaseObject&quot;</span>; }</div>
<div class="line"><a id="l03174" name="l03174"></a><span class="lineno"> 3174</span> </div>
<div class="line"><a id="l03175" name="l03175"></a><span class="lineno"> 3175</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03176" name="l03176"></a><span class="lineno"> 3176</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a>);</div>
<div class="line"><a id="l03177" name="l03177"></a><span class="lineno"> 3177</span>};</div>
<div class="line"><a id="l03178" name="l03178"></a><span class="lineno"> 3178</span> </div>
<div class="line"><a id="l03179" name="l03179"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#ab563b868509e5ca6c0db57a038d863e4"> 3179</a></span>std::ostream&amp; <a class="code hl_function" href="namespaceoperations__research.html#a87fdc0126f6fc98ffb86ba1aa618f322">operator&lt;&lt;</a>(std::ostream&amp; out, <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a>* o); </div>
<div class="line"><a id="l03180" name="l03180"></a><span class="lineno"> 3180</span> </div>
<div class="line"><a id="l03184" name="l03184"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html"> 3184</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l03185" name="l03185"></a><span class="lineno"> 3185</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03186" name="l03186"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#aacb2f6b1ab33fb65796b6c46d46e0813"> 3186</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#aacb2f6b1ab33fb65796b6c46d46e0813">PropagationBaseObject</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) : solver_(s) {}</div>
<div class="line"><a id="l03187" name="l03187"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a8ddd42bb805c00b56ea575e78151c5e0"> 3187</a></span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a8ddd42bb805c00b56ea575e78151c5e0">~PropagationBaseObject</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03188" name="l03188"></a><span class="lineno"> 3188</span> </div>
<div class="line"><a id="l03189" name="l03189"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#aed804747c45a7e1caf81461f9e45dd91"> 3189</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{</div>
<div class="line"><a id="l03190" name="l03190"></a><span class="lineno"> 3190</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>().empty()) {</div>
<div class="line"><a id="l03191" name="l03191"></a><span class="lineno"> 3191</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;PropagationBaseObject&quot;</span>;</div>
<div class="line"><a id="l03192" name="l03192"></a><span class="lineno"> 3192</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l03193" name="l03193"></a><span class="lineno"> 3193</span> <span class="keywordflow">return</span> absl::StrFormat(<span class="stringliteral">&quot;PropagationBaseObject: %s&quot;</span>, <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>());</div>
<div class="line"><a id="l03194" name="l03194"></a><span class="lineno"> 3194</span> }</div>
<div class="line"><a id="l03195" name="l03195"></a><span class="lineno"> 3195</span> }</div>
<div class="line"><a id="l03196" name="l03196"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a"> 3196</a></span> <a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> solver_; }</div>
<div class="line"><a id="l03197" name="l03197"></a><span class="lineno"> 3197</span> </div>
<div class="line"><a id="l03200" name="l03200"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a5155ff01cf80f5a478fd09916abab155"> 3200</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a5155ff01cf80f5a478fd09916abab155">FreezeQueue</a>() { solver_-&gt;FreezeQueue(); }</div>
<div class="line"><a id="l03201" name="l03201"></a><span class="lineno"> 3201</span> </div>
<div class="line"><a id="l03204" name="l03204"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#ae038f4a9249362629fc47e8dfc441ec7"> 3204</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#ae038f4a9249362629fc47e8dfc441ec7">UnfreezeQueue</a>() { solver_-&gt;UnfreezeQueue(); }</div>
<div class="line"><a id="l03205" name="l03205"></a><span class="lineno"> 3205</span> </div>
<div class="line"><a id="l03209" name="l03209"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a173cbf153462b14f9b57362d2c45638a"> 3209</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a173cbf153462b14f9b57362d2c45638a">EnqueueDelayedDemon</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d) { solver_-&gt;EnqueueDelayedDemon(d); }</div>
<div class="line"><a id="l03210" name="l03210"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a448b9bde901fcf3ec2e94ab972b083f0"> 3210</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a448b9bde901fcf3ec2e94ab972b083f0">EnqueueVar</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d) { solver_-&gt;EnqueueVar(d); }</div>
<div class="line"><a id="l03211" name="l03211"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a3d3bd9d99cf43cf184a1246d2c278c31"> 3211</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a3d3bd9d99cf43cf184a1246d2c278c31">ExecuteAll</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_simple_rev_f_i_f_o.html">SimpleRevFIFO&lt;Demon*&gt;</a>&amp; demons);</div>
<div class="line"><a id="l03212" name="l03212"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a5a5ad1a2482043e4a9d2c19bbab1e250"> 3212</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a5a5ad1a2482043e4a9d2c19bbab1e250">EnqueueAll</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_simple_rev_f_i_f_o.html">SimpleRevFIFO&lt;Demon*&gt;</a>&amp; demons);</div>
<div class="line"><a id="l03213" name="l03213"></a><span class="lineno"> 3213</span> </div>
<div class="line"><a id="l03214" name="l03214"></a><span class="lineno"> 3214</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l03215" name="l03215"></a><span class="lineno"> 3215</span> <span class="comment">// This method sets a callback that will be called if a failure</span></div>
<div class="line"><a id="l03216" name="l03216"></a><span class="lineno"> 3216</span> <span class="comment">// happens during the propagation of the queue.</span></div>
<div class="line"><a id="l03217" name="l03217"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a3ae4667b0e7a9e6c63c91202480c8876"> 3217</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a3ae4667b0e7a9e6c63c91202480c8876">set_action_on_fail</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> a) {</div>
<div class="line"><a id="l03218" name="l03218"></a><span class="lineno"> 3218</span> solver_-&gt;set_action_on_fail(std::move(a));</div>
<div class="line"><a id="l03219" name="l03219"></a><span class="lineno"> 3219</span> }</div>
<div class="line"><a id="l03220" name="l03220"></a><span class="lineno"> 3220</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l03221" name="l03221"></a><span class="lineno"> 3221</span> </div>
<div class="line"><a id="l03223" name="l03223"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a26d87b428f06d54a1a44d6e950a0e196"> 3223</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a26d87b428f06d54a1a44d6e950a0e196">reset_action_on_fail</a>() { solver_-&gt;reset_action_on_fail(); }</div>
<div class="line"><a id="l03224" name="l03224"></a><span class="lineno"> 3224</span> </div>
<div class="line"><a id="l03226" name="l03226"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#aa799a452245f03cc53355e6432c107a7"> 3226</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#aa799a452245f03cc53355e6432c107a7">set_variable_to_clean_on_fail</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* v) {</div>
<div class="line"><a id="l03227" name="l03227"></a><span class="lineno"> 3227</span> solver_-&gt;set_variable_to_clean_on_fail(v);</div>
<div class="line"><a id="l03228" name="l03228"></a><span class="lineno"> 3228</span> }</div>
<div class="line"><a id="l03229" name="l03229"></a><span class="lineno"> 3229</span> </div>
<div class="line"><a id="l03231" name="l03231"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e"> 3231</a></span> <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l03232" name="l03232"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#ad5260b9627048b854b45d05ed34adc22"> 3232</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#ad5260b9627048b854b45d05ed34adc22">set_name</a>(<span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div>
<div class="line"><a id="l03234" name="l03234"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a31eda3918c04e32fa9e8c432d72b2d60"> 3234</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a31eda3918c04e32fa9e8c432d72b2d60">HasName</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l03236" name="l03236"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_propagation_base_object.html#a09cbe240b742fbdcf4d3c70d19c2ed10"> 3236</a></span> <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a09cbe240b742fbdcf4d3c70d19c2ed10">BaseName</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l03237" name="l03237"></a><span class="lineno"> 3237</span> </div>
<div class="line"><a id="l03238" name="l03238"></a><span class="lineno"> 3238</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03239" name="l03239"></a><span class="lineno"> 3239</span> <a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> solver_;</div>
<div class="line"><a id="l03240" name="l03240"></a><span class="lineno"> 3240</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a>);</div>
<div class="line"><a id="l03241" name="l03241"></a><span class="lineno"> 3241</span>};</div>
<div class="line"><a id="l03242" name="l03242"></a><span class="lineno"> 3242</span> </div>
<div class="line"><a id="l03245" name="l03245"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision.html"> 3245</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l03246" name="l03246"></a><span class="lineno"> 3246</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03247" name="l03247"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision.html#abd62b993702516d946bdbef25f6d29b0"> 3247</a></span> <a class="code hl_function" href="classoperations__research_1_1_decision.html#abd62b993702516d946bdbef25f6d29b0">Decision</a>() {}</div>
<div class="line"><a id="l03248" name="l03248"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision.html#a51b2fa6aacf500666d37f0a73eb57c45"> 3248</a></span> <a class="code hl_function" href="classoperations__research_1_1_decision.html#a51b2fa6aacf500666d37f0a73eb57c45">~Decision</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03249" name="l03249"></a><span class="lineno"> 3249</span> </div>
<div class="line"><a id="l03251" name="l03251"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision.html#a4adc076f6a88e85584762d4b7f30a820"> 3251</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision.html#a4adc076f6a88e85584762d4b7f30a820">Apply</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) = 0;</div>
<div class="line"><a id="l03252" name="l03252"></a><span class="lineno"> 3252</span> </div>
<div class="line"><a id="l03254" name="l03254"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision.html#a8b28baa822da63142e875e1258fe0973"> 3254</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision.html#a8b28baa822da63142e875e1258fe0973">Refute</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) = 0;</div>
<div class="line"><a id="l03255" name="l03255"></a><span class="lineno"> 3255</span> </div>
<div class="line"><a id="l03256" name="l03256"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision.html#aed804747c45a7e1caf81461f9e45dd91"> 3256</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_decision.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;Decision&quot;</span>; }</div>
<div class="line"><a id="l03258" name="l03258"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision.html#a8462eeafe7a33b8330e9a660d7678456"> 3258</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision.html#a8462eeafe7a33b8330e9a660d7678456">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_visitor.html">DecisionVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div>
<div class="line"><a id="l03259" name="l03259"></a><span class="lineno"> 3259</span> </div>
<div class="line"><a id="l03260" name="l03260"></a><span class="lineno"> 3260</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03261" name="l03261"></a><span class="lineno"> 3261</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>);</div>
<div class="line"><a id="l03262" name="l03262"></a><span class="lineno"> 3262</span>};</div>
<div class="line"><a id="l03263" name="l03263"></a><span class="lineno"> 3263</span> </div>
<div class="line"><a id="l03266" name="l03266"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html"> 3266</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_decision_visitor.html">DecisionVisitor</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l03267" name="l03267"></a><span class="lineno"> 3267</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03268" name="l03268"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html#af92f578c97531537e56d6bf57447bc6b"> 3268</a></span> <a class="code hl_function" href="classoperations__research_1_1_decision_visitor.html#af92f578c97531537e56d6bf57447bc6b">DecisionVisitor</a>() {}</div>
<div class="line"><a id="l03269" name="l03269"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html#a355cefbc4074014fa7dfe2b8843b95d9"> 3269</a></span> <a class="code hl_function" href="classoperations__research_1_1_decision_visitor.html#a355cefbc4074014fa7dfe2b8843b95d9">~DecisionVisitor</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03270" name="l03270"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html#a6ed8ebdedee3354d6dfdd87f31bf0bec"> 3270</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_visitor.html#a6ed8ebdedee3354d6dfdd87f31bf0bec">VisitSetVariableValue</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l03271" name="l03271"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html#a910416d65b91c74949c37baa9f2bd0b3"> 3271</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_visitor.html#a910416d65b91c74949c37baa9f2bd0b3">VisitSplitVariableDomain</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t value,</div>
<div class="line"><a id="l03272" name="l03272"></a><span class="lineno"> 3272</span> <span class="keywordtype">bool</span> start_with_lower_half);</div>
<div class="line"><a id="l03273" name="l03273"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html#ad1ab6d0815aeb8701ad95793775a0fc2"> 3273</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_visitor.html#ad1ab6d0815aeb8701ad95793775a0fc2">VisitScheduleOrPostpone</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t est);</div>
<div class="line"><a id="l03274" name="l03274"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html#a43ca496a77b53af5304266275f538677"> 3274</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_visitor.html#a43ca496a77b53af5304266275f538677">VisitScheduleOrExpedite</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t est);</div>
<div class="line"><a id="l03275" name="l03275"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html#ac0309a0302536688f65af03dc87292f5"> 3275</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_visitor.html#ac0309a0302536688f65af03dc87292f5">VisitRankFirstInterval</a>(<a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> sequence, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l03276" name="l03276"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html#aa353bc0782b1d85de7571e888cc19b69"> 3276</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_visitor.html#aa353bc0782b1d85de7571e888cc19b69">VisitRankLastInterval</a>(<a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> sequence, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l03277" name="l03277"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_visitor.html#acea5888cfe948f90c0237cb4765bf940"> 3277</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_visitor.html#acea5888cfe948f90c0237cb4765bf940">VisitUnknownDecision</a>();</div>
<div class="line"><a id="l03278" name="l03278"></a><span class="lineno"> 3278</span> </div>
<div class="line"><a id="l03279" name="l03279"></a><span class="lineno"> 3279</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03280" name="l03280"></a><span class="lineno"> 3280</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_decision_visitor.html">DecisionVisitor</a>);</div>
<div class="line"><a id="l03281" name="l03281"></a><span class="lineno"> 3281</span>};</div>
<div class="line"><a id="l03282" name="l03282"></a><span class="lineno"> 3282</span> </div>
<div class="line"><a id="l03285" name="l03285"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_builder.html"> 3285</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l03286" name="l03286"></a><span class="lineno"> 3286</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03287" name="l03287"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_builder.html#ac822e3c8055eeace0165357c9b35a490"> 3287</a></span> <a class="code hl_function" href="classoperations__research_1_1_decision_builder.html#ac822e3c8055eeace0165357c9b35a490">DecisionBuilder</a>() {}</div>
<div class="line"><a id="l03288" name="l03288"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_builder.html#ad3bd886b44a7c315a2ed7b5da09798aa"> 3288</a></span> <a class="code hl_function" href="classoperations__research_1_1_decision_builder.html#ad3bd886b44a7c315a2ed7b5da09798aa">~DecisionBuilder</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03293" name="l03293"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_builder.html#a56fb7470075432c3b0870a1a1d1fcb02"> 3293</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_decision_builder.html#a56fb7470075432c3b0870a1a1d1fcb02">Next</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) = 0;</div>
<div class="line"><a id="l03294" name="l03294"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_builder.html#aed804747c45a7e1caf81461f9e45dd91"> 3294</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_decision_builder.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l03295" name="l03295"></a><span class="lineno"> 3295</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l03300" name="l03300"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_builder.html#a952c3ef185d196855cc6c5f2b7ab749c"> 3300</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_builder.html#a952c3ef185d196855cc6c5f2b7ab749c">AppendMonitors</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> solver,</div>
<div class="line"><a id="l03301" name="l03301"></a><span class="lineno"> 3301</span> std::vector&lt;SearchMonitor*&gt;* <span class="keyword">const</span> extras);</div>
<div class="line"><a id="l03302" name="l03302"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_builder.html#afcde421cf076575a27bed81c80093ac8"> 3302</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_builder.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div>
<div class="line"><a id="l03303" name="l03303"></a><span class="lineno"> 3303</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l03304" name="l03304"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_builder.html#ad5260b9627048b854b45d05ed34adc22"> 3304</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_decision_builder.html#ad5260b9627048b854b45d05ed34adc22">set_name</a>(<span class="keyword">const</span> std::string&amp; name) { name_ = name; }</div>
<div class="line"><a id="l03305" name="l03305"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_decision_builder.html#a9a98946a64f3893b085f650932c9dfee"> 3305</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_decision_builder.html#a9a98946a64f3893b085f650932c9dfee">GetName</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l03306" name="l03306"></a><span class="lineno"> 3306</span> </div>
<div class="line"><a id="l03307" name="l03307"></a><span class="lineno"> 3307</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03308" name="l03308"></a><span class="lineno"> 3308</span> std::string name_;</div>
<div class="line"><a id="l03309" name="l03309"></a><span class="lineno"> 3309</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>);</div>
<div class="line"><a id="l03310" name="l03310"></a><span class="lineno"> 3310</span>};</div>
<div class="line"><a id="l03311" name="l03311"></a><span class="lineno"> 3311</span> </div>
<div class="line"><a id="l03312" name="l03312"></a><span class="lineno"> 3312</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l03313" name="l03313"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_profiled_decision_builder.html"> 3313</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_profiled_decision_builder.html">ProfiledDecisionBuilder</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> {</div>
<div class="line"><a id="l03314" name="l03314"></a><span class="lineno"> 3314</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03315" name="l03315"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_profiled_decision_builder.html#a028ace33568c053bb8707159420a3964"> 3315</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_profiled_decision_builder.html#a028ace33568c053bb8707159420a3964">ProfiledDecisionBuilder</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* db);</div>
<div class="line"><a id="l03316" name="l03316"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_profiled_decision_builder.html#a9fc37d3686757be1f5d2e2115b2531d9"> 3316</a></span> <a class="code hl_function" href="classoperations__research_1_1_profiled_decision_builder.html#a9fc37d3686757be1f5d2e2115b2531d9">~ProfiledDecisionBuilder</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03317" name="l03317"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_profiled_decision_builder.html#a24dcbf29c0d6cd766009a182a6484e3b"> 3317</a></span> <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classoperations__research_1_1_profiled_decision_builder.html#a24dcbf29c0d6cd766009a182a6484e3b">name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name_; }</div>
<div class="line"><a id="l03318" name="l03318"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_profiled_decision_builder.html#a229c06dbdb7df3141ac5a8e791a56b4e"> 3318</a></span> <span class="keywordtype">double</span> <a class="code hl_function" href="classoperations__research_1_1_profiled_decision_builder.html#a229c06dbdb7df3141ac5a8e791a56b4e">seconds</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> seconds_; }</div>
<div class="line"><a id="l03319" name="l03319"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_profiled_decision_builder.html#ad7f92654b8e5be833b185bd72f6c1e24"> 3319</a></span> <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <a class="code hl_function" href="classoperations__research_1_1_profiled_decision_builder.html#ad7f92654b8e5be833b185bd72f6c1e24">Next</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> solver) <span class="keyword">override</span>;</div>
<div class="line"><a id="l03320" name="l03320"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_profiled_decision_builder.html#aed804747c45a7e1caf81461f9e45dd91"> 3320</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_profiled_decision_builder.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l03321" name="l03321"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_profiled_decision_builder.html#a5be468994928418ddc2cbb43742d781b"> 3321</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_profiled_decision_builder.html#a5be468994928418ddc2cbb43742d781b">AppendMonitors</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> solver,</div>
<div class="line"><a id="l03322" name="l03322"></a><span class="lineno"> 3322</span> std::vector&lt;SearchMonitor*&gt;* <span class="keyword">const</span> extras) <span class="keyword">override</span>;</div>
<div class="line"><a id="l03323" name="l03323"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_profiled_decision_builder.html#aa30c84aec5e60d6b74e1e1eb15011d4a"> 3323</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_profiled_decision_builder.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const override</span>;</div>
<div class="line"><a id="l03324" name="l03324"></a><span class="lineno"> 3324</span> </div>
<div class="line"><a id="l03325" name="l03325"></a><span class="lineno"> 3325</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03326" name="l03326"></a><span class="lineno"> 3326</span> <a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db_;</div>
<div class="line"><a id="l03327" name="l03327"></a><span class="lineno"> 3327</span> <span class="keyword">const</span> std::string name_;</div>
<div class="line"><a id="l03328" name="l03328"></a><span class="lineno"> 3328</span> SimpleCycleTimer timer_;</div>
<div class="line"><a id="l03329" name="l03329"></a><span class="lineno"> 3329</span> <span class="keywordtype">double</span> seconds_;</div>
<div class="line"><a id="l03330" name="l03330"></a><span class="lineno"> 3330</span>};</div>
<div class="line"><a id="l03331" name="l03331"></a><span class="lineno"> 3331</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l03332" name="l03332"></a><span class="lineno"> 3332</span> </div>
<div class="line"><a id="l03342" name="l03342"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_demon.html"> 3342</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l03343" name="l03343"></a><span class="lineno"> 3343</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03346" name="l03346"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_demon.html#a18542ce967b086b67c5b0e2b1c025bcf"> 3346</a></span> <a class="code hl_function" href="classoperations__research_1_1_demon.html#a18542ce967b086b67c5b0e2b1c025bcf">Demon</a>() : stamp_(uint64_t{0}) {}</div>
<div class="line"><a id="l03347" name="l03347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_demon.html#a5c1d752bf5b8c6e57bd7defbdbc3e0d8"> 3347</a></span> <a class="code hl_function" href="classoperations__research_1_1_demon.html#a5c1d752bf5b8c6e57bd7defbdbc3e0d8">~Demon</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03348" name="l03348"></a><span class="lineno"> 3348</span> </div>
<div class="line"><a id="l03350" name="l03350"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_demon.html#aff915cd1c182d7e7ce5c9d15e9ae1da7"> 3350</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_demon.html#aff915cd1c182d7e7ce5c9d15e9ae1da7">Run</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) = 0;</div>
<div class="line"><a id="l03351" name="l03351"></a><span class="lineno"> 3351</span> </div>
<div class="line"><a id="l03355" name="l03355"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_demon.html#a5ac0e92284072f70d4e73188ced54885"> 3355</a></span> <span class="keyword">virtual</span> <a class="code hl_enumeration" href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7">Solver::DemonPriority</a> <a class="code hl_function" href="classoperations__research_1_1_demon.html#a5ac0e92284072f70d4e73188ced54885">priority</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l03356" name="l03356"></a><span class="lineno"> 3356</span> </div>
<div class="line"><a id="l03357" name="l03357"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_demon.html#aed804747c45a7e1caf81461f9e45dd91"> 3357</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_demon.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l03358" name="l03358"></a><span class="lineno"> 3358</span> </div>
<div class="line"><a id="l03361" name="l03361"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_demon.html#a0c1ff1e86b1eb08d0f87eab2943dac2a"> 3361</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_demon.html#a0c1ff1e86b1eb08d0f87eab2943dac2a">inhibit</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s);</div>
<div class="line"><a id="l03362" name="l03362"></a><span class="lineno"> 3362</span> </div>
<div class="line"><a id="l03364" name="l03364"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_demon.html#a2baabc490b7cd5aa80136e07b358cb21"> 3364</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_demon.html#a2baabc490b7cd5aa80136e07b358cb21">desinhibit</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s);</div>
<div class="line"><a id="l03365" name="l03365"></a><span class="lineno"> 3365</span> </div>
<div class="line"><a id="l03366" name="l03366"></a><span class="lineno"> 3366</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03367" name="l03367"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_demon.html#a47dfc6f2bc0d50a6e7c92eb00d97b064"> 3367</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_friend" href="classoperations__research_1_1_demon.html#a47dfc6f2bc0d50a6e7c92eb00d97b064">Queue</a>;</div>
<div class="line"><a id="l03368" name="l03368"></a><span class="lineno"> 3368</span> <span class="keywordtype">void</span> set_stamp(int64_t stamp) { stamp_ = stamp; }</div>
<div class="line"><a id="l03369" name="l03369"></a><span class="lineno"> 3369</span> uint64_t stamp()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stamp_; }</div>
<div class="line"><a id="l03370" name="l03370"></a><span class="lineno"> 3370</span> uint64_t stamp_;</div>
<div class="line"><a id="l03371" name="l03371"></a><span class="lineno"> 3371</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_function" href="classoperations__research_1_1_demon.html#a18542ce967b086b67c5b0e2b1c025bcf">Demon</a>);</div>
<div class="line"><a id="l03372" name="l03372"></a><span class="lineno"> 3372</span>};</div>
<div class="line"><a id="l03373" name="l03373"></a><span class="lineno"> 3373</span> </div>
<div class="line"><a id="l03375" name="l03375"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html"> 3375</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l03376" name="l03376"></a><span class="lineno"> 3376</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03378" name="l03378"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aed85f9e320a2352ea31db4ae2e816861"> 3378</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aed85f9e320a2352ea31db4ae2e816861">kAbs</a>[];</div>
<div class="line"><a id="l03379" name="l03379"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a795a3239d887c8e56bd2f96f44285f34"> 3379</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a795a3239d887c8e56bd2f96f44285f34">kAbsEqual</a>[];</div>
<div class="line"><a id="l03380" name="l03380"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a58c32b91992c812416e017260a5308e5"> 3380</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a58c32b91992c812416e017260a5308e5">kAllDifferent</a>[];</div>
<div class="line"><a id="l03381" name="l03381"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a1680a15375772b3c4930869519695e27"> 3381</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a1680a15375772b3c4930869519695e27">kAllowedAssignments</a>[];</div>
<div class="line"><a id="l03382" name="l03382"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ac92009c58c162047bc1232c8b1b955e5"> 3382</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ac92009c58c162047bc1232c8b1b955e5">kAtMost</a>[];</div>
<div class="line"><a id="l03383" name="l03383"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a047b2a1ed371f7cbfc2b712eae1c9518"> 3383</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a047b2a1ed371f7cbfc2b712eae1c9518">kIndexOf</a>[];</div>
<div class="line"><a id="l03384" name="l03384"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a51b35b919713ff95a1319b391a818948"> 3384</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a51b35b919713ff95a1319b391a818948">kBetween</a>[];</div>
<div class="line"><a id="l03385" name="l03385"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#af6181ef449bab02788536ca503cd3cd8"> 3385</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#af6181ef449bab02788536ca503cd3cd8">kConditionalExpr</a>[];</div>
<div class="line"><a id="l03386" name="l03386"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a1d734a2c4dd2abac8ff580437c3fd0e0"> 3386</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a1d734a2c4dd2abac8ff580437c3fd0e0">kCircuit</a>[];</div>
<div class="line"><a id="l03387" name="l03387"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a6547847378ab8737c33862119548fa7a"> 3387</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a6547847378ab8737c33862119548fa7a">kConvexPiecewise</a>[];</div>
<div class="line"><a id="l03388" name="l03388"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a2b39b4ddeced08534a545a2af992ea25"> 3388</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a2b39b4ddeced08534a545a2af992ea25">kCountEqual</a>[];</div>
<div class="line"><a id="l03389" name="l03389"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ab562410a4141319c760d7187cae60ae3"> 3389</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ab562410a4141319c760d7187cae60ae3">kCover</a>[];</div>
<div class="line"><a id="l03390" name="l03390"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a7cd2b6f03b98cca52a9c1162ff4e588d"> 3390</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a7cd2b6f03b98cca52a9c1162ff4e588d">kCumulative</a>[];</div>
<div class="line"><a id="l03391" name="l03391"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a1abb7cd1adc423a0c095f0c902a498b5"> 3391</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a1abb7cd1adc423a0c095f0c902a498b5">kDeviation</a>[];</div>
<div class="line"><a id="l03392" name="l03392"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a793434fd2029abd85f59147b7671e1e9"> 3392</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a793434fd2029abd85f59147b7671e1e9">kDifference</a>[];</div>
<div class="line"><a id="l03393" name="l03393"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a900b6f477d759869da0e9a89c5201642"> 3393</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a900b6f477d759869da0e9a89c5201642">kDisjunctive</a>[];</div>
<div class="line"><a id="l03394" name="l03394"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a037a01ecac6de7f83233f48bdec420f0"> 3394</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a037a01ecac6de7f83233f48bdec420f0">kDistribute</a>[];</div>
<div class="line"><a id="l03395" name="l03395"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a1cabba002c738f52f516bde312d250ff"> 3395</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a1cabba002c738f52f516bde312d250ff">kDivide</a>[];</div>
<div class="line"><a id="l03396" name="l03396"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a5742cff510396670bc30e59b21bc4f02"> 3396</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a5742cff510396670bc30e59b21bc4f02">kDurationExpr</a>[];</div>
<div class="line"><a id="l03397" name="l03397"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a0cf22f4d4e6ca99119b47786c7051872"> 3397</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a0cf22f4d4e6ca99119b47786c7051872">kElement</a>[];</div>
<div class="line"><a id="l03398" name="l03398"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a9d247821942bd436a451b98b6a820a0b"> 3398</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a9d247821942bd436a451b98b6a820a0b">kElementEqual</a>[];</div>
<div class="line"><a id="l03399" name="l03399"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a90a61ae1140d0653a779c95428efd1e9"> 3399</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a90a61ae1140d0653a779c95428efd1e9">kEndExpr</a>[];</div>
<div class="line"><a id="l03400" name="l03400"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a493ce359cebf04754142358695c209e4"> 3400</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a493ce359cebf04754142358695c209e4">kEquality</a>[];</div>
<div class="line"><a id="l03401" name="l03401"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a8c5cbe7b436dce3afff17642fce39ea1"> 3401</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a8c5cbe7b436dce3afff17642fce39ea1">kFalseConstraint</a>[];</div>
<div class="line"><a id="l03402" name="l03402"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a6a623ce0e4622390eee08d0e5b501cea"> 3402</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a6a623ce0e4622390eee08d0e5b501cea">kGlobalCardinality</a>[];</div>
<div class="line"><a id="l03403" name="l03403"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a418093315d91c51a1adb1dda94266643"> 3403</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a418093315d91c51a1adb1dda94266643">kGreater</a>[];</div>
<div class="line"><a id="l03404" name="l03404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a9e0316ea65eff972a717d636c75482f6"> 3404</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a9e0316ea65eff972a717d636c75482f6">kGreaterOrEqual</a>[];</div>
<div class="line"><a id="l03405" name="l03405"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ab3bfa3eba327be16a5710d64401f0f59"> 3405</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ab3bfa3eba327be16a5710d64401f0f59">kIntegerVariable</a>[];</div>
<div class="line"><a id="l03406" name="l03406"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a3bd22735c865e1bd450f7e01747390f2"> 3406</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a3bd22735c865e1bd450f7e01747390f2">kIntervalBinaryRelation</a>[];</div>
<div class="line"><a id="l03407" name="l03407"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#affe125bed1edf258797dae8d40428107"> 3407</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#affe125bed1edf258797dae8d40428107">kIntervalDisjunction</a>[];</div>
<div class="line"><a id="l03408" name="l03408"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a35959a8f06ab5704037d3ba6f6e57807"> 3408</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a35959a8f06ab5704037d3ba6f6e57807">kIntervalUnaryRelation</a>[];</div>
<div class="line"><a id="l03409" name="l03409"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a0d9e5851d0f32ac86e3a80f9d83f56f7"> 3409</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a0d9e5851d0f32ac86e3a80f9d83f56f7">kIntervalVariable</a>[];</div>
<div class="line"><a id="l03410" name="l03410"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ae5aadcc612ef6d5d5745016e047cc114"> 3410</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ae5aadcc612ef6d5d5745016e047cc114">kInversePermutation</a>[];</div>
<div class="line"><a id="l03411" name="l03411"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aa8ff2529b746694f1e84c0ae3539a771"> 3411</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aa8ff2529b746694f1e84c0ae3539a771">kIsBetween</a>[];</div>
<div class="line"><a id="l03412" name="l03412"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a27f93e67bcfff37a7387c8d0470a1a84"> 3412</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a27f93e67bcfff37a7387c8d0470a1a84">kIsDifferent</a>[];</div>
<div class="line"><a id="l03413" name="l03413"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a580be6f5821ff3e30fda51d180ec4381"> 3413</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a580be6f5821ff3e30fda51d180ec4381">kIsEqual</a>[];</div>
<div class="line"><a id="l03414" name="l03414"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a523dfb65ec9b9b012b2414087ad66ece"> 3414</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a523dfb65ec9b9b012b2414087ad66ece">kIsGreater</a>[];</div>
<div class="line"><a id="l03415" name="l03415"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a9f8656876765452bb1532eaa2ae63542"> 3415</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a9f8656876765452bb1532eaa2ae63542">kIsGreaterOrEqual</a>[];</div>
<div class="line"><a id="l03416" name="l03416"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a74cffe7b975f432fec064daf60d35e6d"> 3416</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a74cffe7b975f432fec064daf60d35e6d">kIsLess</a>[];</div>
<div class="line"><a id="l03417" name="l03417"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ae71cfc5d896488af982bf109d0b3dbd3"> 3417</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ae71cfc5d896488af982bf109d0b3dbd3">kIsLessOrEqual</a>[];</div>
<div class="line"><a id="l03418" name="l03418"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a00684eaee743cc9b418ebdf99a9027be"> 3418</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a00684eaee743cc9b418ebdf99a9027be">kIsMember</a>[];</div>
<div class="line"><a id="l03419" name="l03419"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a66badecb0606e028c8f2318523337510"> 3419</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a66badecb0606e028c8f2318523337510">kLess</a>[];</div>
<div class="line"><a id="l03420" name="l03420"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a561d0006662c709e158b85992727024a"> 3420</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a561d0006662c709e158b85992727024a">kLessOrEqual</a>[];</div>
<div class="line"><a id="l03421" name="l03421"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#af5045f41feeb94cbea4250ba15adcd24"> 3421</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#af5045f41feeb94cbea4250ba15adcd24">kLexLess</a>[];</div>
<div class="line"><a id="l03422" name="l03422"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a26685fc40f9c1a471f510c940229f12a"> 3422</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a26685fc40f9c1a471f510c940229f12a">kLinkExprVar</a>[];</div>
<div class="line"><a id="l03423" name="l03423"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a381c6eb4722ef4ec71888612ffd9dcdb"> 3423</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a381c6eb4722ef4ec71888612ffd9dcdb">kMapDomain</a>[];</div>
<div class="line"><a id="l03424" name="l03424"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aa95757a513f781326dd6909766f893d4"> 3424</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aa95757a513f781326dd6909766f893d4">kMax</a>[];</div>
<div class="line"><a id="l03425" name="l03425"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a1dad7894187a044deb1348a4401b01dd"> 3425</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a1dad7894187a044deb1348a4401b01dd">kMaxEqual</a>[];</div>
<div class="line"><a id="l03426" name="l03426"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a60e019a6fcc850c0f9b3f1d0d510ff58"> 3426</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a60e019a6fcc850c0f9b3f1d0d510ff58">kMember</a>[];</div>
<div class="line"><a id="l03427" name="l03427"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a589dbe140227cc5b787cdda276b67acc"> 3427</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a589dbe140227cc5b787cdda276b67acc">kMin</a>[];</div>
<div class="line"><a id="l03428" name="l03428"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a2c093c2312ebcf6e2731da682e0adfae"> 3428</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a2c093c2312ebcf6e2731da682e0adfae">kMinEqual</a>[];</div>
<div class="line"><a id="l03429" name="l03429"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a58204b09320f02bca9bd9574cec4cc11"> 3429</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a58204b09320f02bca9bd9574cec4cc11">kModulo</a>[];</div>
<div class="line"><a id="l03430" name="l03430"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a69b3391b3f8ada3bf0c2c69a8c7a799e"> 3430</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a69b3391b3f8ada3bf0c2c69a8c7a799e">kNoCycle</a>[];</div>
<div class="line"><a id="l03431" name="l03431"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a6fa8bac903075afe8a670a0c2206fcc5"> 3431</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a6fa8bac903075afe8a670a0c2206fcc5">kNonEqual</a>[];</div>
<div class="line"><a id="l03432" name="l03432"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a7f60481e6d86f31e943ae6b6e0f6410b"> 3432</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a7f60481e6d86f31e943ae6b6e0f6410b">kNotBetween</a>[];</div>
<div class="line"><a id="l03433" name="l03433"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ac98ea1ab84216d43ee4fdd81ab7474fc"> 3433</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ac98ea1ab84216d43ee4fdd81ab7474fc">kNotMember</a>[];</div>
<div class="line"><a id="l03434" name="l03434"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a800e6dd7541cfccb30f9ff87b0806282"> 3434</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a800e6dd7541cfccb30f9ff87b0806282">kNullIntersect</a>[];</div>
<div class="line"><a id="l03435" name="l03435"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a096edf47d0fdf540679b385bc80ece6a"> 3435</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a096edf47d0fdf540679b385bc80ece6a">kOpposite</a>[];</div>
<div class="line"><a id="l03436" name="l03436"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ab14b83147d91ddc7f870334f23c93459"> 3436</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ab14b83147d91ddc7f870334f23c93459">kPack</a>[];</div>
<div class="line"><a id="l03437" name="l03437"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a0f5cb6f97a812bf8259c3e2b15cc6445"> 3437</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a0f5cb6f97a812bf8259c3e2b15cc6445">kPathCumul</a>[];</div>
<div class="line"><a id="l03438" name="l03438"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a5fd20f96469c4dc88975e6ccfdc6d0b3"> 3438</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a5fd20f96469c4dc88975e6ccfdc6d0b3">kDelayedPathCumul</a>[];</div>
<div class="line"><a id="l03439" name="l03439"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a75651946a55c50f7006d07a0ee4e67c2"> 3439</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a75651946a55c50f7006d07a0ee4e67c2">kPerformedExpr</a>[];</div>
<div class="line"><a id="l03440" name="l03440"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ac6d86b11992187f28b77b7c48e0af0c9"> 3440</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ac6d86b11992187f28b77b7c48e0af0c9">kPower</a>[];</div>
<div class="line"><a id="l03441" name="l03441"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#afdd57d000496bd12a81e008f1445c6e0"> 3441</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#afdd57d000496bd12a81e008f1445c6e0">kProduct</a>[];</div>
<div class="line"><a id="l03442" name="l03442"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ac21aa6c10029dac2f0260d71be9edcdf"> 3442</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ac21aa6c10029dac2f0260d71be9edcdf">kScalProd</a>[];</div>
<div class="line"><a id="l03443" name="l03443"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a63ad0c64681ddabe0c2121f40f2ed594"> 3443</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a63ad0c64681ddabe0c2121f40f2ed594">kScalProdEqual</a>[];</div>
<div class="line"><a id="l03444" name="l03444"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#adc4da30a70d833a3e0d59a5b3945a001"> 3444</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#adc4da30a70d833a3e0d59a5b3945a001">kScalProdGreaterOrEqual</a>[];</div>
<div class="line"><a id="l03445" name="l03445"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a58992f144ba268bf675eb1c6c2327453"> 3445</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a58992f144ba268bf675eb1c6c2327453">kScalProdLessOrEqual</a>[];</div>
<div class="line"><a id="l03446" name="l03446"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#af6146bd50969010daeee8c1005ccf59c"> 3446</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#af6146bd50969010daeee8c1005ccf59c">kSemiContinuous</a>[];</div>
<div class="line"><a id="l03447" name="l03447"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a8dd7af97dcb7f2d7161a49057b8d97d3"> 3447</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a8dd7af97dcb7f2d7161a49057b8d97d3">kSequenceVariable</a>[];</div>
<div class="line"><a id="l03448" name="l03448"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a52e35a16f2c1fc6072eeac9e0848c8eb"> 3448</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a52e35a16f2c1fc6072eeac9e0848c8eb">kSortingConstraint</a>[];</div>
<div class="line"><a id="l03449" name="l03449"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a92149cd4553cbe6b381ea8a10bd2751a"> 3449</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a92149cd4553cbe6b381ea8a10bd2751a">kSquare</a>[];</div>
<div class="line"><a id="l03450" name="l03450"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#acc606748a8d51c2ded9fe90bb6cd1af3"> 3450</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#acc606748a8d51c2ded9fe90bb6cd1af3">kStartExpr</a>[];</div>
<div class="line"><a id="l03451" name="l03451"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a56c59c6a5d75ab26416250cc2a820ebd"> 3451</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a56c59c6a5d75ab26416250cc2a820ebd">kSum</a>[];</div>
<div class="line"><a id="l03452" name="l03452"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#af06d49a292922944bda010d437a22dc7"> 3452</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#af06d49a292922944bda010d437a22dc7">kSumEqual</a>[];</div>
<div class="line"><a id="l03453" name="l03453"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aa39de23b822bea8a9e5119b8e6585092"> 3453</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aa39de23b822bea8a9e5119b8e6585092">kSumGreaterOrEqual</a>[];</div>
<div class="line"><a id="l03454" name="l03454"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a725ba236296fa779119bcd3f0566d6e6"> 3454</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a725ba236296fa779119bcd3f0566d6e6">kSumLessOrEqual</a>[];</div>
<div class="line"><a id="l03455" name="l03455"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a153cf778a5285fe08ec6044dbedefcab"> 3455</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a153cf778a5285fe08ec6044dbedefcab">kTrace</a>[];</div>
<div class="line"><a id="l03456" name="l03456"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a162a515ab9cca0684b341c60cc27b23f"> 3456</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a162a515ab9cca0684b341c60cc27b23f">kTransition</a>[];</div>
<div class="line"><a id="l03457" name="l03457"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a9093917d6df37ace90b5d1ee3456f18e"> 3457</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a9093917d6df37ace90b5d1ee3456f18e">kTrueConstraint</a>[];</div>
<div class="line"><a id="l03458" name="l03458"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ac23e672966c12db7c5fde3efd03bc22f"> 3458</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ac23e672966c12db7c5fde3efd03bc22f">kVarBoundWatcher</a>[];</div>
<div class="line"><a id="l03459" name="l03459"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a46e38a552aa77be3b194f0187f3b254e"> 3459</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a46e38a552aa77be3b194f0187f3b254e">kVarValueWatcher</a>[];</div>
<div class="line"><a id="l03460" name="l03460"></a><span class="lineno"> 3460</span> </div>
<div class="line"><a id="l03462" name="l03462"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a936ce8be9aba423200e61fb24e9dd038"> 3462</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a936ce8be9aba423200e61fb24e9dd038">kCountAssignedItemsExtension</a>[];</div>
<div class="line"><a id="l03463" name="l03463"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a27c23b6ecc378e75b4da22f166c50244"> 3463</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a27c23b6ecc378e75b4da22f166c50244">kCountUsedBinsExtension</a>[];</div>
<div class="line"><a id="l03464" name="l03464"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a226ea285176281ef88069a3b47806e23"> 3464</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a226ea285176281ef88069a3b47806e23">kInt64ToBoolExtension</a>[];</div>
<div class="line"><a id="l03465" name="l03465"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a4075e44ab81cbc73f867fafc86e62bfa"> 3465</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a4075e44ab81cbc73f867fafc86e62bfa">kInt64ToInt64Extension</a>[];</div>
<div class="line"><a id="l03466" name="l03466"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a04804fdad2e38f6b6f9d959c9e4578b2"> 3466</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a04804fdad2e38f6b6f9d959c9e4578b2">kObjectiveExtension</a>[];</div>
<div class="line"><a id="l03467" name="l03467"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a590f984893598c7a56c2b0f0d9b953ca"> 3467</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a590f984893598c7a56c2b0f0d9b953ca">kSearchLimitExtension</a>[];</div>
<div class="line"><a id="l03468" name="l03468"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a161e7c4d5001343bb14fe419f35924a3"> 3468</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a161e7c4d5001343bb14fe419f35924a3">kUsageEqualVariableExtension</a>[];</div>
<div class="line"><a id="l03469" name="l03469"></a><span class="lineno"> 3469</span> </div>
<div class="line"><a id="l03470" name="l03470"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a4de059a43f7663843517c5a6f09dd87c"> 3470</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a4de059a43f7663843517c5a6f09dd87c">kUsageLessConstantExtension</a>[];</div>
<div class="line"><a id="l03471" name="l03471"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a30b50b7180fb05913750969f7099b3b5"> 3471</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a30b50b7180fb05913750969f7099b3b5">kVariableGroupExtension</a>[];</div>
<div class="line"><a id="l03472" name="l03472"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aee2485c2027447e429ba05e54da45da7"> 3472</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aee2485c2027447e429ba05e54da45da7">kVariableUsageLessConstantExtension</a>[];</div>
<div class="line"><a id="l03473" name="l03473"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#add65f146a423ac3dc2393b9308e4c476"> 3473</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#add65f146a423ac3dc2393b9308e4c476">kWeightedSumOfAssignedEqualVariableExtension</a>[];</div>
<div class="line"><a id="l03474" name="l03474"></a><span class="lineno"> 3474</span> </div>
<div class="line"><a id="l03476" name="l03476"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ab95b49639e4e70860b08ac6c29235b1a"> 3476</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ab95b49639e4e70860b08ac6c29235b1a">kActiveArgument</a>[];</div>
<div class="line"><a id="l03477" name="l03477"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a57b18ff410cb385f7cbd1690202d8b1b"> 3477</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a57b18ff410cb385f7cbd1690202d8b1b">kAssumePathsArgument</a>[];</div>
<div class="line"><a id="l03478" name="l03478"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ac72c2601b14178d2e6512802e67c1e82"> 3478</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ac72c2601b14178d2e6512802e67c1e82">kBranchesLimitArgument</a>[];</div>
<div class="line"><a id="l03479" name="l03479"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a1efb04d5976e6f974337313f20a8abed"> 3479</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a1efb04d5976e6f974337313f20a8abed">kCapacityArgument</a>[];</div>
<div class="line"><a id="l03480" name="l03480"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a2ad108e7c25038cfe1700a5902925b1d"> 3480</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a2ad108e7c25038cfe1700a5902925b1d">kCardsArgument</a>[];</div>
<div class="line"><a id="l03481" name="l03481"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aa0d733541b65e81e2aa5cfc817f4b306"> 3481</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aa0d733541b65e81e2aa5cfc817f4b306">kCoefficientsArgument</a>[];</div>
<div class="line"><a id="l03482" name="l03482"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ad31ec726916dcb6a86af35964b1d84f5"> 3482</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ad31ec726916dcb6a86af35964b1d84f5">kCountArgument</a>[];</div>
<div class="line"><a id="l03483" name="l03483"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a246e5ce5866d7a5af3c417e1157be7e4"> 3483</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a246e5ce5866d7a5af3c417e1157be7e4">kCumulativeArgument</a>[];</div>
<div class="line"><a id="l03484" name="l03484"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aa397e45304c8b4a7b5b16392f80cc781"> 3484</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aa397e45304c8b4a7b5b16392f80cc781">kCumulsArgument</a>[];</div>
<div class="line"><a id="l03485" name="l03485"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a16bcd268aea2212502a7905c2167a640"> 3485</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a16bcd268aea2212502a7905c2167a640">kDemandsArgument</a>[];</div>
<div class="line"><a id="l03486" name="l03486"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a6c32b3d2b7cafc36493d2e39b058f322"> 3486</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a6c32b3d2b7cafc36493d2e39b058f322">kDurationMaxArgument</a>[];</div>
<div class="line"><a id="l03487" name="l03487"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a71c1aed86ff5e8d8203cf7f75a6b0ec4"> 3487</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a71c1aed86ff5e8d8203cf7f75a6b0ec4">kDurationMinArgument</a>[];</div>
<div class="line"><a id="l03488" name="l03488"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#acf10b6b6ef31fd88f39d0ea38885a2dc"> 3488</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#acf10b6b6ef31fd88f39d0ea38885a2dc">kEarlyCostArgument</a>[];</div>
<div class="line"><a id="l03489" name="l03489"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a4c28d8452e85cc7cb4a9473382126f18"> 3489</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a4c28d8452e85cc7cb4a9473382126f18">kEarlyDateArgument</a>[];</div>
<div class="line"><a id="l03490" name="l03490"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a875953606fef3f5ea86436055d5db9cb"> 3490</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a875953606fef3f5ea86436055d5db9cb">kEndMaxArgument</a>[];</div>
<div class="line"><a id="l03491" name="l03491"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a7c32a99f7ea498fd5fd744a40a49978b"> 3491</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a7c32a99f7ea498fd5fd744a40a49978b">kEndMinArgument</a>[];</div>
<div class="line"><a id="l03492" name="l03492"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a2d38bb37c4d53747bee6bd7a4dbea683"> 3492</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a2d38bb37c4d53747bee6bd7a4dbea683">kEndsArgument</a>[];</div>
<div class="line"><a id="l03493" name="l03493"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#adbc3285e0e5dac4f291280baed6a3660"> 3493</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#adbc3285e0e5dac4f291280baed6a3660">kExpressionArgument</a>[];</div>
<div class="line"><a id="l03494" name="l03494"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ac0dd4d0fa61e614fe002bc4a44c68cc4"> 3494</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ac0dd4d0fa61e614fe002bc4a44c68cc4">kFailuresLimitArgument</a>[];</div>
<div class="line"><a id="l03495" name="l03495"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a9344fe5bdffcdcaa4ff2e3e38202d329"> 3495</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a9344fe5bdffcdcaa4ff2e3e38202d329">kFinalStatesArgument</a>[];</div>
<div class="line"><a id="l03496" name="l03496"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a5d91f82112a1b3e4cb0c51125d9c5bbe"> 3496</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a5d91f82112a1b3e4cb0c51125d9c5bbe">kFixedChargeArgument</a>[];</div>
<div class="line"><a id="l03497" name="l03497"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#abb68faceb7bde97b48b06ed3ee2c8965"> 3497</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#abb68faceb7bde97b48b06ed3ee2c8965">kIndex2Argument</a>[];</div>
<div class="line"><a id="l03498" name="l03498"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a5ef2508f0144802647e1384aec4dc8c8"> 3498</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a5ef2508f0144802647e1384aec4dc8c8">kIndexArgument</a>[];</div>
<div class="line"><a id="l03499" name="l03499"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ad2eec282542c2acaee9c694c5944917c"> 3499</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ad2eec282542c2acaee9c694c5944917c">kInitialState</a>[];</div>
<div class="line"><a id="l03500" name="l03500"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aad0692e603eced5a224664493e4e04a0"> 3500</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aad0692e603eced5a224664493e4e04a0">kIntervalArgument</a>[];</div>
<div class="line"><a id="l03501" name="l03501"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a99e145b912e32fd3ab2ed6208c9b502b"> 3501</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a99e145b912e32fd3ab2ed6208c9b502b">kIntervalsArgument</a>[];</div>
<div class="line"><a id="l03502" name="l03502"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a5b75952975129483f50194a37280456e"> 3502</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a5b75952975129483f50194a37280456e">kLateCostArgument</a>[];</div>
<div class="line"><a id="l03503" name="l03503"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a7c58989fce778932cadb9e0c652ca719"> 3503</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a7c58989fce778932cadb9e0c652ca719">kLateDateArgument</a>[];</div>
<div class="line"><a id="l03504" name="l03504"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a66131a3db06416f42609a2dfa7a578e0"> 3504</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a66131a3db06416f42609a2dfa7a578e0">kLeftArgument</a>[];</div>
<div class="line"><a id="l03505" name="l03505"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a9148e84bdd8ea90a08dd76122d041400"> 3505</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a9148e84bdd8ea90a08dd76122d041400">kMaxArgument</a>[];</div>
<div class="line"><a id="l03506" name="l03506"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aaa55b6256b0d1ab1bfe6eddecb629d71"> 3506</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aaa55b6256b0d1ab1bfe6eddecb629d71">kMaximizeArgument</a>[];</div>
<div class="line"><a id="l03507" name="l03507"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#abf8d63c7d5f292d9e040073cb2c195bf"> 3507</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#abf8d63c7d5f292d9e040073cb2c195bf">kMinArgument</a>[];</div>
<div class="line"><a id="l03508" name="l03508"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a65cd4717ce546015917331bfd6b25735"> 3508</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a65cd4717ce546015917331bfd6b25735">kModuloArgument</a>[];</div>
<div class="line"><a id="l03509" name="l03509"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a4592f7b31305062855ebb7a29d179cf5"> 3509</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a4592f7b31305062855ebb7a29d179cf5">kNextsArgument</a>[];</div>
<div class="line"><a id="l03510" name="l03510"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a9c68bcf81a3279ccd6cce9a3b1b782da"> 3510</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a9c68bcf81a3279ccd6cce9a3b1b782da">kOptionalArgument</a>[];</div>
<div class="line"><a id="l03511" name="l03511"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a36304d31cb04978db9a9e1e4ac412156"> 3511</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a36304d31cb04978db9a9e1e4ac412156">kPartialArgument</a>[];</div>
<div class="line"><a id="l03512" name="l03512"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aec97eb5843e01eedea22c9391094784c"> 3512</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aec97eb5843e01eedea22c9391094784c">kPositionXArgument</a>[];</div>
<div class="line"><a id="l03513" name="l03513"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ad5cc2e043cec5569e67c9e4ca8c5ef8e"> 3513</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ad5cc2e043cec5569e67c9e4ca8c5ef8e">kPositionYArgument</a>[];</div>
<div class="line"><a id="l03514" name="l03514"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a1f95080d6a2e37f4773ec9494479b752"> 3514</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a1f95080d6a2e37f4773ec9494479b752">kRangeArgument</a>[];</div>
<div class="line"><a id="l03515" name="l03515"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a5e74213547167ce6a3f2b2741eb6245d"> 3515</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a5e74213547167ce6a3f2b2741eb6245d">kRelationArgument</a>[];</div>
<div class="line"><a id="l03516" name="l03516"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a4fddb36c5bb92575a98b7e54f018da8d"> 3516</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a4fddb36c5bb92575a98b7e54f018da8d">kRightArgument</a>[];</div>
<div class="line"><a id="l03517" name="l03517"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ab632d1514a9794685b449641d16f7b8a"> 3517</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ab632d1514a9794685b449641d16f7b8a">kSequenceArgument</a>[];</div>
<div class="line"><a id="l03518" name="l03518"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#af8646fdcdbc833407fcd408e7174bae5"> 3518</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#af8646fdcdbc833407fcd408e7174bae5">kSequencesArgument</a>[];</div>
<div class="line"><a id="l03519" name="l03519"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a2eb741fdb1a57428e28d76b75828f53d"> 3519</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a2eb741fdb1a57428e28d76b75828f53d">kSizeArgument</a>[];</div>
<div class="line"><a id="l03520" name="l03520"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ad00a73251ccc9fcc667a424ebaf2c22d"> 3520</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ad00a73251ccc9fcc667a424ebaf2c22d">kSizeXArgument</a>[];</div>
<div class="line"><a id="l03521" name="l03521"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a196309551c4bd33cdea7377baec9e998"> 3521</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a196309551c4bd33cdea7377baec9e998">kSizeYArgument</a>[];</div>
<div class="line"><a id="l03522" name="l03522"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a7e86e0902e293a0eed1d9c0ea1d8d5ea"> 3522</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a7e86e0902e293a0eed1d9c0ea1d8d5ea">kSmartTimeCheckArgument</a>[];</div>
<div class="line"><a id="l03523" name="l03523"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a98308e5047f0292f8f18e03285e07458"> 3523</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a98308e5047f0292f8f18e03285e07458">kSolutionLimitArgument</a>[];</div>
<div class="line"><a id="l03524" name="l03524"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a6cca6dfc9f84533f608c0c092e7882d4"> 3524</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a6cca6dfc9f84533f608c0c092e7882d4">kStartMaxArgument</a>[];</div>
<div class="line"><a id="l03525" name="l03525"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#adb7e758609f3da38bb0bdd445e9e2461"> 3525</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#adb7e758609f3da38bb0bdd445e9e2461">kStartMinArgument</a>[];</div>
<div class="line"><a id="l03526" name="l03526"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#addf253a2cee11ca1350b491972d20b28"> 3526</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#addf253a2cee11ca1350b491972d20b28">kStartsArgument</a>[];</div>
<div class="line"><a id="l03527" name="l03527"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a0e210e117d5baa103bcee4bf41feb86f"> 3527</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a0e210e117d5baa103bcee4bf41feb86f">kStepArgument</a>[];</div>
<div class="line"><a id="l03528" name="l03528"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a38498bce8edef1f7864fe72312b32b2c"> 3528</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a38498bce8edef1f7864fe72312b32b2c">kTargetArgument</a>[];</div>
<div class="line"><a id="l03529" name="l03529"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a2ddcfef771ca0d18764cd96da315f94a"> 3529</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a2ddcfef771ca0d18764cd96da315f94a">kTimeLimitArgument</a>[];</div>
<div class="line"><a id="l03530" name="l03530"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#acf408604098ab222c1235e29836be09b"> 3530</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#acf408604098ab222c1235e29836be09b">kTransitsArgument</a>[];</div>
<div class="line"><a id="l03531" name="l03531"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a958b4a3a9b2925a92c8598a72f5cefbd"> 3531</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a958b4a3a9b2925a92c8598a72f5cefbd">kTuplesArgument</a>[];</div>
<div class="line"><a id="l03532" name="l03532"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a997c9b5e3c862f9f813c9c89a6b1c93b"> 3532</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a997c9b5e3c862f9f813c9c89a6b1c93b">kValueArgument</a>[];</div>
<div class="line"><a id="l03533" name="l03533"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a640f5ca056aaf5f3cc0ac458bea4e22a"> 3533</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a640f5ca056aaf5f3cc0ac458bea4e22a">kValuesArgument</a>[];</div>
<div class="line"><a id="l03534" name="l03534"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a59af473ffc9f974d315aaeef845b7998"> 3534</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a59af473ffc9f974d315aaeef845b7998">kVariableArgument</a>[];</div>
<div class="line"><a id="l03535" name="l03535"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a29ab76d140dc963e6ff300c10f2e6b69"> 3535</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a29ab76d140dc963e6ff300c10f2e6b69">kVarsArgument</a>[];</div>
<div class="line"><a id="l03536" name="l03536"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a4a72b1cb4e58e1791a99234104a33658"> 3536</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a4a72b1cb4e58e1791a99234104a33658">kEvaluatorArgument</a>[];</div>
<div class="line"><a id="l03537" name="l03537"></a><span class="lineno"> 3537</span> </div>
<div class="line"><a id="l03539" name="l03539"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aa0e5213a87d88a0a5e22c33842870ae2"> 3539</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aa0e5213a87d88a0a5e22c33842870ae2">kMirrorOperation</a>[];</div>
<div class="line"><a id="l03540" name="l03540"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ad510d142b8ae51807937639ce713e830"> 3540</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ad510d142b8ae51807937639ce713e830">kRelaxedMaxOperation</a>[];</div>
<div class="line"><a id="l03541" name="l03541"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a1472c6d924697afc986d7650a08c7a1f"> 3541</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a1472c6d924697afc986d7650a08c7a1f">kRelaxedMinOperation</a>[];</div>
<div class="line"><a id="l03542" name="l03542"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a3d3319d34dd3c36b158e52dbbbf53627"> 3542</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a3d3319d34dd3c36b158e52dbbbf53627">kSumOperation</a>[];</div>
<div class="line"><a id="l03543" name="l03543"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a29dbfc2d9cb6c5525f69bc14b9181f34"> 3543</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#a29dbfc2d9cb6c5525f69bc14b9181f34">kDifferenceOperation</a>[];</div>
<div class="line"><a id="l03544" name="l03544"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ac3119dd51e22d5265000c78420be940a"> 3544</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ac3119dd51e22d5265000c78420be940a">kProductOperation</a>[];</div>
<div class="line"><a id="l03545" name="l03545"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ac9f18af3bfc84a788bd79fc0a07fecc8"> 3545</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#ac9f18af3bfc84a788bd79fc0a07fecc8">kStartSyncOnStartOperation</a>[];</div>
<div class="line"><a id="l03546" name="l03546"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#aefb5e9428f09f6d4829ce1c01ecdd86d"> 3546</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#aefb5e9428f09f6d4829ce1c01ecdd86d">kStartSyncOnEndOperation</a>[];</div>
<div class="line"><a id="l03547" name="l03547"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#afd0afc083b6231aea53675d7fdd43558"> 3547</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code hl_variable" href="classoperations__research_1_1_model_visitor.html#afd0afc083b6231aea53675d7fdd43558">kTraceOperation</a>[];</div>
<div class="line"><a id="l03548" name="l03548"></a><span class="lineno"> 3548</span> </div>
<div class="line"><a id="l03549" name="l03549"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a1462f7a4a6016963a51d12ccd37bc0f3"> 3549</a></span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a1462f7a4a6016963a51d12ccd37bc0f3">~ModelVisitor</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l03550" name="l03550"></a><span class="lineno"> 3550</span> </div>
<div class="line"><a id="l03552" name="l03552"></a><span class="lineno"> 3552</span> </div>
<div class="line"><a id="l03554" name="l03554"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a63773f7de26444ddaa612e5106d4c3a1"> 3554</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a63773f7de26444ddaa612e5106d4c3a1">BeginVisitModel</a>(<span class="keyword">const</span> std::string&amp; type_name);</div>
<div class="line"><a id="l03555" name="l03555"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#af3de64bc71699e2e3dc32e15b30a98fa"> 3555</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#af3de64bc71699e2e3dc32e15b30a98fa">EndVisitModel</a>(<span class="keyword">const</span> std::string&amp; type_name);</div>
<div class="line"><a id="l03556" name="l03556"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a71daddfa207d9a10652752da7c9df78f"> 3556</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a71daddfa207d9a10652752da7c9df78f">BeginVisitConstraint</a>(<span class="keyword">const</span> std::string&amp; type_name,</div>
<div class="line"><a id="l03557" name="l03557"></a><span class="lineno"> 3557</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <span class="keyword">const</span> constraint);</div>
<div class="line"><a id="l03558" name="l03558"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a7599a55b43d85348b1efa77225b514be"> 3558</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a7599a55b43d85348b1efa77225b514be">EndVisitConstraint</a>(<span class="keyword">const</span> std::string&amp; type_name,</div>
<div class="line"><a id="l03559" name="l03559"></a><span class="lineno"> 3559</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>* <span class="keyword">const</span> constraint);</div>
<div class="line"><a id="l03560" name="l03560"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a290fc3c2f12eaa320db59f8f71e07747"> 3560</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a290fc3c2f12eaa320db59f8f71e07747">BeginVisitExtension</a>(<span class="keyword">const</span> std::string&amp; type);</div>
<div class="line"><a id="l03561" name="l03561"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a7a8458025b2650b4e0cf2aafde506817"> 3561</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a7a8458025b2650b4e0cf2aafde506817">EndVisitExtension</a>(<span class="keyword">const</span> std::string&amp; type);</div>
<div class="line"><a id="l03562" name="l03562"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a705fc09ad35dc614f58b5f32ad3c66d4"> 3562</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a705fc09ad35dc614f58b5f32ad3c66d4">BeginVisitIntegerExpression</a>(<span class="keyword">const</span> std::string&amp; type_name,</div>
<div class="line"><a id="l03563" name="l03563"></a><span class="lineno"> 3563</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div>
<div class="line"><a id="l03564" name="l03564"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a046faf12ede984ba678bd3a08d90fe27"> 3564</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a046faf12ede984ba678bd3a08d90fe27">EndVisitIntegerExpression</a>(<span class="keyword">const</span> std::string&amp; type_name,</div>
<div class="line"><a id="l03565" name="l03565"></a><span class="lineno"> 3565</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div>
<div class="line"><a id="l03566" name="l03566"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a08ed9db2196c99ddf5ffde772a865fcd"> 3566</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a08ed9db2196c99ddf5ffde772a865fcd">VisitIntegerVariable</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> variable,</div>
<div class="line"><a id="l03567" name="l03567"></a><span class="lineno"> 3567</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> delegate);</div>
<div class="line"><a id="l03568" name="l03568"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a2c8b58a4536a165161bb4a4009d51592"> 3568</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a2c8b58a4536a165161bb4a4009d51592">VisitIntegerVariable</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> variable,</div>
<div class="line"><a id="l03569" name="l03569"></a><span class="lineno"> 3569</span> <span class="keyword">const</span> std::string&amp; operation, int64_t value,</div>
<div class="line"><a id="l03570" name="l03570"></a><span class="lineno"> 3570</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> delegate);</div>
<div class="line"><a id="l03571" name="l03571"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a997e4f5781355b26f58092ec7cceb3a9"> 3571</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a997e4f5781355b26f58092ec7cceb3a9">VisitIntervalVariable</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> variable,</div>
<div class="line"><a id="l03572" name="l03572"></a><span class="lineno"> 3572</span> <span class="keyword">const</span> std::string&amp; operation,</div>
<div class="line"><a id="l03573" name="l03573"></a><span class="lineno"> 3573</span> int64_t value,</div>
<div class="line"><a id="l03574" name="l03574"></a><span class="lineno"> 3574</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> delegate);</div>
<div class="line"><a id="l03575" name="l03575"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a4e5344711c44bb56cb8bb380b604ddd4"> 3575</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a4e5344711c44bb56cb8bb380b604ddd4">VisitSequenceVariable</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> variable);</div>
<div class="line"><a id="l03576" name="l03576"></a><span class="lineno"> 3576</span> </div>
<div class="line"><a id="l03578" name="l03578"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#adf750d5853f4e932b20bf20f2e805c9f"> 3578</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#adf750d5853f4e932b20bf20f2e805c9f">VisitIntegerArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name, int64_t value);</div>
<div class="line"><a id="l03579" name="l03579"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a614da33a32c253b2138879cfc4a1f0c2"> 3579</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a614da33a32c253b2138879cfc4a1f0c2">VisitIntegerArrayArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div>
<div class="line"><a id="l03580" name="l03580"></a><span class="lineno"> 3580</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l03581" name="l03581"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a879d8c2011eff14fe12fb47819dc45a1"> 3581</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a879d8c2011eff14fe12fb47819dc45a1">VisitIntegerMatrixArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div>
<div class="line"><a id="l03582" name="l03582"></a><span class="lineno"> 3582</span> <span class="keyword">const</span> IntTupleSet&amp; tuples);</div>
<div class="line"><a id="l03583" name="l03583"></a><span class="lineno"> 3583</span> </div>
<div class="line"><a id="l03585" name="l03585"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#acade762559b4a07b7ff2835513fea331"> 3585</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#acade762559b4a07b7ff2835513fea331">VisitIntegerExpressionArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div>
<div class="line"><a id="l03586" name="l03586"></a><span class="lineno"> 3586</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <span class="keyword">const</span> argument);</div>
<div class="line"><a id="l03587" name="l03587"></a><span class="lineno"> 3587</span> </div>
<div class="line"><a id="l03588" name="l03588"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a2a891b6bc3eedc72dfb7b32e4aee96e6"> 3588</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a2a891b6bc3eedc72dfb7b32e4aee96e6">VisitIntegerVariableArrayArgument</a>(</div>
<div class="line"><a id="l03589" name="l03589"></a><span class="lineno"> 3589</span> <span class="keyword">const</span> std::string&amp; arg_name, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; arguments);</div>
<div class="line"><a id="l03590" name="l03590"></a><span class="lineno"> 3590</span> </div>
<div class="line"><a id="l03592" name="l03592"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ad27539b7139884e4904329fd2fd82671"> 3592</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#ad27539b7139884e4904329fd2fd82671">VisitIntervalArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div>
<div class="line"><a id="l03593" name="l03593"></a><span class="lineno"> 3593</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> argument);</div>
<div class="line"><a id="l03594" name="l03594"></a><span class="lineno"> 3594</span> </div>
<div class="line"><a id="l03595" name="l03595"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ab5bbd458168c635ffd13dcb791187957"> 3595</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#ab5bbd458168c635ffd13dcb791187957">VisitIntervalArrayArgument</a>(</div>
<div class="line"><a id="l03596" name="l03596"></a><span class="lineno"> 3596</span> <span class="keyword">const</span> std::string&amp; arg_name, <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; arguments);</div>
<div class="line"><a id="l03598" name="l03598"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#ae41b2bf84506cfcf1c4e17056c589f99"> 3598</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#ae41b2bf84506cfcf1c4e17056c589f99">VisitSequenceArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div>
<div class="line"><a id="l03599" name="l03599"></a><span class="lineno"> 3599</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> argument);</div>
<div class="line"><a id="l03600" name="l03600"></a><span class="lineno"> 3600</span> </div>
<div class="line"><a id="l03601" name="l03601"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#acf91de1238d3626085e38d5b42a8af76"> 3601</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#acf91de1238d3626085e38d5b42a8af76">VisitSequenceArrayArgument</a>(</div>
<div class="line"><a id="l03602" name="l03602"></a><span class="lineno"> 3602</span> <span class="keyword">const</span> std::string&amp; arg_name, <span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; arguments);</div>
<div class="line"><a id="l03603" name="l03603"></a><span class="lineno"> 3603</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l03605" name="l03605"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a11cfb1b537a1200911695a7075fa8d32"> 3605</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a11cfb1b537a1200911695a7075fa8d32">VisitIntegerVariableEvaluatorArgument</a>(</div>
<div class="line"><a id="l03606" name="l03606"></a><span class="lineno"> 3606</span> <span class="keyword">const</span> std::string&amp; arg_name, <span class="keyword">const</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#af49346bff5dd53d2e2d1c7c271c1a367">Solver::Int64ToIntVar</a>&amp; arguments);</div>
<div class="line"><a id="l03607" name="l03607"></a><span class="lineno"> 3607</span> </div>
<div class="line"><a id="l03610" name="l03610"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a504e661a909be2e7e2a8dd07acb4f21d"> 3610</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a504e661a909be2e7e2a8dd07acb4f21d">VisitInt64ToBoolExtension</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a6188d0df45262d3176058485c7f47995">Solver::IndexFilter1</a> filter, int64_t index_min,</div>
<div class="line"><a id="l03611" name="l03611"></a><span class="lineno"> 3611</span> int64_t index_max);</div>
<div class="line"><a id="l03612" name="l03612"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a479844cfe961e8a22a710496cf435bda"> 3612</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a479844cfe961e8a22a710496cf435bda">VisitInt64ToInt64Extension</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">Solver::IndexEvaluator1</a>&amp; eval,</div>
<div class="line"><a id="l03613" name="l03613"></a><span class="lineno"> 3613</span> int64_t index_min, int64_t index_max);</div>
<div class="line"><a id="l03615" name="l03615"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_model_visitor.html#a342e588faac341123634f9e7c610b9bb"> 3615</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_model_visitor.html#a342e588faac341123634f9e7c610b9bb">VisitInt64ToInt64AsArray</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">Solver::IndexEvaluator1</a>&amp; eval,</div>
<div class="line"><a id="l03616" name="l03616"></a><span class="lineno"> 3616</span> <span class="keyword">const</span> std::string&amp; arg_name, int64_t index_max);</div>
<div class="line"><a id="l03617" name="l03617"></a><span class="lineno"> 3617</span><span class="preprocessor">#endif </span><span class="comment">// #if !defined(SWIG)</span></div>
<div class="line"><a id="l03618" name="l03618"></a><span class="lineno"> 3618</span>};</div>
<div class="line"><a id="l03619" name="l03619"></a><span class="lineno"> 3619</span> </div>
<div class="line"><a id="l03626" name="l03626"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html"> 3626</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a> {</div>
<div class="line"><a id="l03627" name="l03627"></a><span class="lineno"> 3627</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03628" name="l03628"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html#ad73d074eabf60c009e7ca6a16a5909e4"> 3628</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_constraint.html#ad73d074eabf60c009e7ca6a16a5909e4">Constraint</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>) : <a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>) {}</div>
<div class="line"><a id="l03629" name="l03629"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html#a06a1a88fd005ae10834c7fcfa4bc8d20"> 3629</a></span> <a class="code hl_function" href="classoperations__research_1_1_constraint.html#a06a1a88fd005ae10834c7fcfa4bc8d20">~Constraint</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03630" name="l03630"></a><span class="lineno"> 3630</span> </div>
<div class="line"><a id="l03633" name="l03633"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html#af33bad3aa81a2f411224d5e471f9956f"> 3633</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_constraint.html#af33bad3aa81a2f411224d5e471f9956f">Post</a>() = 0;</div>
<div class="line"><a id="l03634" name="l03634"></a><span class="lineno"> 3634</span> </div>
<div class="line"><a id="l03637" name="l03637"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html#a9100fab5545234f60a4ce442dbb45630"> 3637</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_constraint.html#a9100fab5545234f60a4ce442dbb45630">InitialPropagate</a>() = 0;</div>
<div class="line"><a id="l03638" name="l03638"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html#aed804747c45a7e1caf81461f9e45dd91"> 3638</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_constraint.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l03639" name="l03639"></a><span class="lineno"> 3639</span> </div>
<div class="line"><a id="l03642" name="l03642"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html#a19c44e0b2911b809a9403701804088e3"> 3642</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_constraint.html#a19c44e0b2911b809a9403701804088e3">PostAndPropagate</a>();</div>
<div class="line"><a id="l03643" name="l03643"></a><span class="lineno"> 3643</span> </div>
<div class="line"><a id="l03645" name="l03645"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html#afcde421cf076575a27bed81c80093ac8"> 3645</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_constraint.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div>
<div class="line"><a id="l03646" name="l03646"></a><span class="lineno"> 3646</span> </div>
<div class="line"><a id="l03648" name="l03648"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html#a573284ea4ace994b6886c6a4feffa0aa"> 3648</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_constraint.html#a573284ea4ace994b6886c6a4feffa0aa">IsCastConstraint</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l03649" name="l03649"></a><span class="lineno"> 3649</span> </div>
<div class="line"><a id="l03653" name="l03653"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_constraint.html#a2d3440f89eb5f785654b251239ca049b"> 3653</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_constraint.html#a2d3440f89eb5f785654b251239ca049b">Var</a>();</div>
<div class="line"><a id="l03654" name="l03654"></a><span class="lineno"> 3654</span> </div>
<div class="line"><a id="l03655" name="l03655"></a><span class="lineno"> 3655</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03656" name="l03656"></a><span class="lineno"> 3656</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>);</div>
<div class="line"><a id="l03657" name="l03657"></a><span class="lineno"> 3657</span>};</div>
<div class="line"><a id="l03658" name="l03658"></a><span class="lineno"> 3658</span> </div>
<div class="line"><a id="l03662" name="l03662"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_cast_constraint.html"> 3662</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_cast_constraint.html">CastConstraint</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a> {</div>
<div class="line"><a id="l03663" name="l03663"></a><span class="lineno"> 3663</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03664" name="l03664"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_cast_constraint.html#af819176a9aae0724902c5a1b50786b0b"> 3664</a></span> <a class="code hl_function" href="classoperations__research_1_1_cast_constraint.html#af819176a9aae0724902c5a1b50786b0b">CastConstraint</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_cast_constraint.html#adb41490adbe44e16dbf6f777dda74ece">target_var</a>)</div>
<div class="line"><a id="l03665" name="l03665"></a><span class="lineno"> 3665</span> : <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>), <a class="code hl_variable" href="classoperations__research_1_1_cast_constraint.html#a98fcd7d6529aa105a5d9ca4b282579f0">target_var_</a>(<a class="code hl_function" href="classoperations__research_1_1_cast_constraint.html#adb41490adbe44e16dbf6f777dda74ece">target_var</a>) {</div>
<div class="line"><a id="l03666" name="l03666"></a><span class="lineno"> 3666</span> CHECK(<a class="code hl_function" href="classoperations__research_1_1_cast_constraint.html#adb41490adbe44e16dbf6f777dda74ece">target_var</a> != <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l03667" name="l03667"></a><span class="lineno"> 3667</span> }</div>
<div class="line"><a id="l03668" name="l03668"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_cast_constraint.html#a870e6a416b760b2c0aaba0d45ce7a359"> 3668</a></span> <a class="code hl_function" href="classoperations__research_1_1_cast_constraint.html#a870e6a416b760b2c0aaba0d45ce7a359">~CastConstraint</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03669" name="l03669"></a><span class="lineno"> 3669</span> </div>
<div class="line"><a id="l03670" name="l03670"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_cast_constraint.html#adb41490adbe44e16dbf6f777dda74ece"> 3670</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_cast_constraint.html#adb41490adbe44e16dbf6f777dda74ece">target_var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code hl_variable" href="classoperations__research_1_1_cast_constraint.html#a98fcd7d6529aa105a5d9ca4b282579f0">target_var_</a>; }</div>
<div class="line"><a id="l03671" name="l03671"></a><span class="lineno"> 3671</span> </div>
<div class="line"><a id="l03672" name="l03672"></a><span class="lineno"> 3672</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l03673" name="l03673"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_cast_constraint.html#a98fcd7d6529aa105a5d9ca4b282579f0"> 3673</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> <a class="code hl_variable" href="classoperations__research_1_1_cast_constraint.html#a98fcd7d6529aa105a5d9ca4b282579f0">target_var_</a>;</div>
<div class="line"><a id="l03674" name="l03674"></a><span class="lineno"> 3674</span>};</div>
<div class="line"><a id="l03675" name="l03675"></a><span class="lineno"> 3675</span> </div>
<div class="line"><a id="l03677" name="l03677"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html"> 3677</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l03678" name="l03678"></a><span class="lineno"> 3678</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03679" name="l03679"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a97c59af2c64e5f0c004243f4266173cc"> 3679</a></span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="classoperations__research_1_1_search_monitor.html#a97c59af2c64e5f0c004243f4266173cc">kNoProgress</a> = -1;</div>
<div class="line"><a id="l03680" name="l03680"></a><span class="lineno"> 3680</span> </div>
<div class="line"><a id="l03681" name="l03681"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a0717f339467adcc032d893007b3695be"> 3681</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a0717f339467adcc032d893007b3695be">SearchMonitor</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) : solver_(s) {}</div>
<div class="line"><a id="l03682" name="l03682"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a72beba8c14dafe98d7faea2fd625bf27"> 3682</a></span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a72beba8c14dafe98d7faea2fd625bf27">~SearchMonitor</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03684" name="l03684"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a27bff456d096558a8be08ca6fee989f2"> 3684</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a27bff456d096558a8be08ca6fee989f2">EnterSearch</a>();</div>
<div class="line"><a id="l03685" name="l03685"></a><span class="lineno"> 3685</span> </div>
<div class="line"><a id="l03687" name="l03687"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a262b3b6ef45475daffd66c5ada5dfdd2"> 3687</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a262b3b6ef45475daffd66c5ada5dfdd2">RestartSearch</a>();</div>
<div class="line"><a id="l03688" name="l03688"></a><span class="lineno"> 3688</span> </div>
<div class="line"><a id="l03690" name="l03690"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a19bef8716e7418748ef666b07b09c25d"> 3690</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a19bef8716e7418748ef666b07b09c25d">ExitSearch</a>();</div>
<div class="line"><a id="l03691" name="l03691"></a><span class="lineno"> 3691</span> </div>
<div class="line"><a id="l03693" name="l03693"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#ad68c792579832141c205985973ba8a88"> 3693</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#ad68c792579832141c205985973ba8a88">BeginNextDecision</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> b);</div>
<div class="line"><a id="l03694" name="l03694"></a><span class="lineno"> 3694</span> </div>
<div class="line"><a id="l03696" name="l03696"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#ab472eccafac416112828cde24cefb907"> 3696</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#ab472eccafac416112828cde24cefb907">EndNextDecision</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> b, <a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <span class="keyword">const</span> d);</div>
<div class="line"><a id="l03697" name="l03697"></a><span class="lineno"> 3697</span> </div>
<div class="line"><a id="l03699" name="l03699"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#af4cd0c541c53920fa86ff54ba2349cb2"> 3699</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#af4cd0c541c53920fa86ff54ba2349cb2">ApplyDecision</a>(<a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <span class="keyword">const</span> d);</div>
<div class="line"><a id="l03700" name="l03700"></a><span class="lineno"> 3700</span> </div>
<div class="line"><a id="l03702" name="l03702"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a150f3693eacbeff5fcf5fb1ab954d11e"> 3702</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a150f3693eacbeff5fcf5fb1ab954d11e">RefuteDecision</a>(<a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <span class="keyword">const</span> d);</div>
<div class="line"><a id="l03703" name="l03703"></a><span class="lineno"> 3703</span> </div>
<div class="line"><a id="l03706" name="l03706"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a9e7b2a7775d2ff7735f77716cb29d15b"> 3706</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a9e7b2a7775d2ff7735f77716cb29d15b">AfterDecision</a>(<a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <span class="keyword">const</span> d, <span class="keywordtype">bool</span> apply);</div>
<div class="line"><a id="l03707" name="l03707"></a><span class="lineno"> 3707</span> </div>
<div class="line"><a id="l03709" name="l03709"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a232379b0cabc402db868a849f4f71273"> 3709</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a232379b0cabc402db868a849f4f71273">BeginFail</a>();</div>
<div class="line"><a id="l03710" name="l03710"></a><span class="lineno"> 3710</span> </div>
<div class="line"><a id="l03712" name="l03712"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a365797300972514a230eeb9e2f45f441"> 3712</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a365797300972514a230eeb9e2f45f441">EndFail</a>();</div>
<div class="line"><a id="l03713" name="l03713"></a><span class="lineno"> 3713</span> </div>
<div class="line"><a id="l03715" name="l03715"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#adfeaf3bb78e09fb211bdb8a4fa605c05"> 3715</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#adfeaf3bb78e09fb211bdb8a4fa605c05">BeginInitialPropagation</a>();</div>
<div class="line"><a id="l03716" name="l03716"></a><span class="lineno"> 3716</span> </div>
<div class="line"><a id="l03718" name="l03718"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a1ef0300d79ec636a79c06486f695b2ff"> 3718</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a1ef0300d79ec636a79c06486f695b2ff">EndInitialPropagation</a>();</div>
<div class="line"><a id="l03719" name="l03719"></a><span class="lineno"> 3719</span> </div>
<div class="line"><a id="l03723" name="l03723"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a2895de3ad67f901de28f00994cdcfa34"> 3723</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a2895de3ad67f901de28f00994cdcfa34">AcceptSolution</a>();</div>
<div class="line"><a id="l03724" name="l03724"></a><span class="lineno"> 3724</span> </div>
<div class="line"><a id="l03728" name="l03728"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a9f55f75747d65ad9c4ca9c6fdc01800d"> 3728</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a9f55f75747d65ad9c4ca9c6fdc01800d">AtSolution</a>();</div>
<div class="line"><a id="l03729" name="l03729"></a><span class="lineno"> 3729</span> </div>
<div class="line"><a id="l03731" name="l03731"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a6c85276e75542eb410f09b0ccd78379b"> 3731</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a6c85276e75542eb410f09b0ccd78379b">NoMoreSolutions</a>();</div>
<div class="line"><a id="l03732" name="l03732"></a><span class="lineno"> 3732</span> </div>
<div class="line"><a id="l03735" name="l03735"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#ad6087c8c2f28d22ff19052db7c0045cf"> 3735</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#ad6087c8c2f28d22ff19052db7c0045cf">LocalOptimum</a>();</div>
<div class="line"><a id="l03736" name="l03736"></a><span class="lineno"> 3736</span> </div>
<div class="line"><a id="l03738" name="l03738"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a98a16aa379c7240ae374adb128142a02"> 3738</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a98a16aa379c7240ae374adb128142a02">AcceptDelta</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* delta, <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* deltadelta);</div>
<div class="line"><a id="l03739" name="l03739"></a><span class="lineno"> 3739</span> </div>
<div class="line"><a id="l03741" name="l03741"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a36df6248a273f003d8d9e1414e3c5e5c"> 3741</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a36df6248a273f003d8d9e1414e3c5e5c">AcceptNeighbor</a>();</div>
<div class="line"><a id="l03742" name="l03742"></a><span class="lineno"> 3742</span> </div>
<div class="line"><a id="l03744" name="l03744"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#ae08d9f4aadd8be8f98637c6dec237b57"> 3744</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#ae08d9f4aadd8be8f98637c6dec237b57">AcceptUncheckedNeighbor</a>();</div>
<div class="line"><a id="l03745" name="l03745"></a><span class="lineno"> 3745</span> </div>
<div class="line"><a id="l03748" name="l03748"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a198e17615278d9d5b9f39e4f0493447b"> 3748</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a198e17615278d9d5b9f39e4f0493447b">IsUncheckedSolutionLimitReached</a>() { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a id="l03749" name="l03749"></a><span class="lineno"> 3749</span> </div>
<div class="line"><a id="l03750" name="l03750"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a0b526d33739114e9255ffbe8343efe1a"> 3750</a></span> <a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> solver_; }</div>
<div class="line"><a id="l03751" name="l03751"></a><span class="lineno"> 3751</span> </div>
<div class="line"><a id="l03753" name="l03753"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a1fc71393e20b97540f90702601b75fe1"> 3753</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a1fc71393e20b97540f90702601b75fe1">PeriodicCheck</a>();</div>
<div class="line"><a id="l03754" name="l03754"></a><span class="lineno"> 3754</span> </div>
<div class="line"><a id="l03757" name="l03757"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a2ebc7607687823d65bf65f331c9ac246"> 3757</a></span> <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a2ebc7607687823d65bf65f331c9ac246">ProgressPercent</a>() { <span class="keywordflow">return</span> <a class="code hl_variable" href="classoperations__research_1_1_search_monitor.html#a97c59af2c64e5f0c004243f4266173cc">kNoProgress</a>; }</div>
<div class="line"><a id="l03758" name="l03758"></a><span class="lineno"> 3758</span> </div>
<div class="line"><a id="l03760" name="l03760"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#afcde421cf076575a27bed81c80093ac8"> 3760</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div>
<div class="line"><a id="l03761" name="l03761"></a><span class="lineno"> 3761</span> </div>
<div class="line"><a id="l03764" name="l03764"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_monitor.html#a16adaa01a30033dfc04405c25b7ede7b"> 3764</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a16adaa01a30033dfc04405c25b7ede7b">Install</a>();</div>
<div class="line"><a id="l03765" name="l03765"></a><span class="lineno"> 3765</span> </div>
<div class="line"><a id="l03766" name="l03766"></a><span class="lineno"> 3766</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03767" name="l03767"></a><span class="lineno"> 3767</span> <a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> solver_;</div>
<div class="line"><a id="l03768" name="l03768"></a><span class="lineno"> 3768</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>);</div>
<div class="line"><a id="l03769" name="l03769"></a><span class="lineno"> 3769</span>};</div>
<div class="line"><a id="l03770" name="l03770"></a><span class="lineno"> 3770</span> </div>
<div class="line"><a id="l03776" name="l03776"></a><span class="lineno"> 3776</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l03777" name="l03777"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev.html"> 3777</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_rev.html">Rev</a> {</div>
<div class="line"><a id="l03778" name="l03778"></a><span class="lineno"> 3778</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03779" name="l03779"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev.html#a9d6eb996de91fb8ea31c9e20bb7d655f"> 3779</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_rev.html#a9d6eb996de91fb8ea31c9e20bb7d655f">Rev</a>(<span class="keyword">const</span> T&amp; val) : stamp_(0), value_(val) {}</div>
<div class="line"><a id="l03780" name="l03780"></a><span class="lineno"> 3780</span> </div>
<div class="line"><a id="l03781" name="l03781"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev.html#ac1647d6fcecffc2d2e773545ee0a4f2d"> 3781</a></span> <span class="keyword">const</span> T&amp; <a class="code hl_function" href="classoperations__research_1_1_rev.html#ac1647d6fcecffc2d2e773545ee0a4f2d">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value_; }</div>
<div class="line"><a id="l03782" name="l03782"></a><span class="lineno"> 3782</span> </div>
<div class="line"><a id="l03783" name="l03783"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688"> 3783</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688">SetValue</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> T&amp; val) {</div>
<div class="line"><a id="l03784" name="l03784"></a><span class="lineno"> 3784</span> <span class="keywordflow">if</span> (val != value_) {</div>
<div class="line"><a id="l03785" name="l03785"></a><span class="lineno"> 3785</span> <span class="keywordflow">if</span> (stamp_ &lt; s-&gt;stamp()) {</div>
<div class="line"><a id="l03786" name="l03786"></a><span class="lineno"> 3786</span> s-&gt;<a class="code hl_function" href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033">SaveValue</a>(&amp;value_);</div>
<div class="line"><a id="l03787" name="l03787"></a><span class="lineno"> 3787</span> stamp_ = s-&gt;<a class="code hl_function" href="classoperations__research_1_1_solver.html#abbfe61fbd02ff9015e48695d525a889f">stamp</a>();</div>
<div class="line"><a id="l03788" name="l03788"></a><span class="lineno"> 3788</span> }</div>
<div class="line"><a id="l03789" name="l03789"></a><span class="lineno"> 3789</span> value_ = val;</div>
<div class="line"><a id="l03790" name="l03790"></a><span class="lineno"> 3790</span> }</div>
<div class="line"><a id="l03791" name="l03791"></a><span class="lineno"> 3791</span> }</div>
<div class="line"><a id="l03792" name="l03792"></a><span class="lineno"> 3792</span> </div>
<div class="line"><a id="l03793" name="l03793"></a><span class="lineno"> 3793</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03794" name="l03794"></a><span class="lineno"> 3794</span> uint64_t stamp_;</div>
<div class="line"><a id="l03795" name="l03795"></a><span class="lineno"> 3795</span> T value_;</div>
<div class="line"><a id="l03796" name="l03796"></a><span class="lineno"> 3796</span>};</div>
<div class="line"><a id="l03797" name="l03797"></a><span class="lineno"> 3797</span> </div>
<div class="line"><a id="l03799" name="l03799"></a><span class="lineno"> 3799</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l03800" name="l03800"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev.html"> 3800</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_numerical_rev.html">NumericalRev</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_rev.html">Rev</a>&lt;T&gt; {</div>
<div class="line"><a id="l03801" name="l03801"></a><span class="lineno"> 3801</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03802" name="l03802"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev.html#a32c6aa2b614e866158426d0ffc43dc55"> 3802</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_numerical_rev.html#a32c6aa2b614e866158426d0ffc43dc55">NumericalRev</a>(<span class="keyword">const</span> T&amp; val) : <a class="code hl_class" href="classoperations__research_1_1_rev.html">Rev</a>&lt;T&gt;(val) {}</div>
<div class="line"><a id="l03803" name="l03803"></a><span class="lineno"> 3803</span> </div>
<div class="line"><a id="l03804" name="l03804"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev.html#acefa703f28a3c0a63d826bba8f19deb9"> 3804</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_numerical_rev.html#acefa703f28a3c0a63d826bba8f19deb9">Add</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> T&amp; to_add) {</div>
<div class="line"><a id="l03805" name="l03805"></a><span class="lineno"> 3805</span> this-&gt;<a class="code hl_function" href="classoperations__research_1_1_rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688">SetValue</a>(s, this-&gt;<a class="code hl_function" href="classoperations__research_1_1_rev.html#ac1647d6fcecffc2d2e773545ee0a4f2d">Value</a>() + to_add);</div>
<div class="line"><a id="l03806" name="l03806"></a><span class="lineno"> 3806</span> }</div>
<div class="line"><a id="l03807" name="l03807"></a><span class="lineno"> 3807</span> </div>
<div class="line"><a id="l03808" name="l03808"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b"> 3808</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_numerical_rev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b">Incr</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) { <a class="code hl_function" href="classoperations__research_1_1_numerical_rev.html#acefa703f28a3c0a63d826bba8f19deb9">Add</a>(s, 1); }</div>
<div class="line"><a id="l03809" name="l03809"></a><span class="lineno"> 3809</span> </div>
<div class="line"><a id="l03810" name="l03810"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev.html#a83c8a2812799fd87becd114374fb1d36"> 3810</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_numerical_rev.html#a83c8a2812799fd87becd114374fb1d36">Decr</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) { <a class="code hl_function" href="classoperations__research_1_1_numerical_rev.html#acefa703f28a3c0a63d826bba8f19deb9">Add</a>(s, -1); }</div>
<div class="line"><a id="l03811" name="l03811"></a><span class="lineno"> 3811</span>};</div>
<div class="line"><a id="l03812" name="l03812"></a><span class="lineno"> 3812</span> </div>
<div class="line"><a id="l03818" name="l03818"></a><span class="lineno"> 3818</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l03819" name="l03819"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev_array.html"> 3819</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_rev_array.html">RevArray</a> {</div>
<div class="line"><a id="l03820" name="l03820"></a><span class="lineno"> 3820</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03821" name="l03821"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev_array.html#a6ee1e316ed04f92451652ee0853d6980"> 3821</a></span> <a class="code hl_function" href="classoperations__research_1_1_rev_array.html#a6ee1e316ed04f92451652ee0853d6980">RevArray</a>(<span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de">size</a>, <span class="keyword">const</span> T&amp; val)</div>
<div class="line"><a id="l03822" name="l03822"></a><span class="lineno"> 3822</span> : stamps_(new uint64_t[<a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de">size</a>]), values_(new T[<a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de">size</a>]), size_(<a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de">size</a>) {</div>
<div class="line"><a id="l03823" name="l03823"></a><span class="lineno"> 3823</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de">size</a>; ++i) {</div>
<div class="line"><a id="l03824" name="l03824"></a><span class="lineno"> 3824</span> stamps_[i] = 0;</div>
<div class="line"><a id="l03825" name="l03825"></a><span class="lineno"> 3825</span> values_[i] = val;</div>
<div class="line"><a id="l03826" name="l03826"></a><span class="lineno"> 3826</span> }</div>
<div class="line"><a id="l03827" name="l03827"></a><span class="lineno"> 3827</span> }</div>
<div class="line"><a id="l03828" name="l03828"></a><span class="lineno"> 3828</span> </div>
<div class="line"><a id="l03829" name="l03829"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev_array.html#ad03255d57248b6a11f3b236f7164266b"> 3829</a></span> <a class="code hl_function" href="classoperations__research_1_1_rev_array.html#ad03255d57248b6a11f3b236f7164266b">~RevArray</a>() {}</div>
<div class="line"><a id="l03830" name="l03830"></a><span class="lineno"> 3830</span> </div>
<div class="line"><a id="l03831" name="l03831"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de"> 3831</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size_; }</div>
<div class="line"><a id="l03832" name="l03832"></a><span class="lineno"> 3832</span> </div>
<div class="line"><a id="l03833" name="l03833"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev_array.html#a494ce986cd77f4a0feb833a56de7b40c"> 3833</a></span> <span class="keyword">const</span> T&amp; <a class="code hl_function" href="classoperations__research_1_1_rev_array.html#a494ce986cd77f4a0feb833a56de7b40c">Value</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> values_[index]; }</div>
<div class="line"><a id="l03834" name="l03834"></a><span class="lineno"> 3834</span> </div>
<div class="line"><a id="l03835" name="l03835"></a><span class="lineno"> 3835</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l03836" name="l03836"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev_array.html#a1e6a80b4bd5602e71351fb6aaffcbb58"> 3836</a></span> <span class="keyword">const</span> T&amp; <a class="code hl_function" href="classoperations__research_1_1_rev_array.html#a1e6a80b4bd5602e71351fb6aaffcbb58">operator[]</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> values_[index]; }</div>
<div class="line"><a id="l03837" name="l03837"></a><span class="lineno"> 3837</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l03838" name="l03838"></a><span class="lineno"> 3838</span> </div>
<div class="line"><a id="l03839" name="l03839"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_rev_array.html#aae1ddec3323cbaa8f2b29e1d211cb5c7"> 3839</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aae1ddec3323cbaa8f2b29e1d211cb5c7">SetValue</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">int</span> index, <span class="keyword">const</span> T&amp; val) {</div>
<div class="line"><a id="l03840" name="l03840"></a><span class="lineno"> 3840</span> DCHECK_LT(index, size_);</div>
<div class="line"><a id="l03841" name="l03841"></a><span class="lineno"> 3841</span> <span class="keywordflow">if</span> (val != values_[index]) {</div>
<div class="line"><a id="l03842" name="l03842"></a><span class="lineno"> 3842</span> <span class="keywordflow">if</span> (stamps_[index] &lt; s-&gt;<a class="code hl_function" href="classoperations__research_1_1_solver.html#abbfe61fbd02ff9015e48695d525a889f">stamp</a>()) {</div>
<div class="line"><a id="l03843" name="l03843"></a><span class="lineno"> 3843</span> s-&gt;<a class="code hl_function" href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033">SaveValue</a>(&amp;values_[index]);</div>
<div class="line"><a id="l03844" name="l03844"></a><span class="lineno"> 3844</span> stamps_[index] = s-&gt;<a class="code hl_function" href="classoperations__research_1_1_solver.html#abbfe61fbd02ff9015e48695d525a889f">stamp</a>();</div>
<div class="line"><a id="l03845" name="l03845"></a><span class="lineno"> 3845</span> }</div>
<div class="line"><a id="l03846" name="l03846"></a><span class="lineno"> 3846</span> values_[index] = val;</div>
<div class="line"><a id="l03847" name="l03847"></a><span class="lineno"> 3847</span> }</div>
<div class="line"><a id="l03848" name="l03848"></a><span class="lineno"> 3848</span> }</div>
<div class="line"><a id="l03849" name="l03849"></a><span class="lineno"> 3849</span> </div>
<div class="line"><a id="l03850" name="l03850"></a><span class="lineno"> 3850</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03851" name="l03851"></a><span class="lineno"> 3851</span> std::unique_ptr&lt;uint64_t[]&gt; stamps_;</div>
<div class="line"><a id="l03852" name="l03852"></a><span class="lineno"> 3852</span> std::unique_ptr&lt;T[]&gt; values_;</div>
<div class="line"><a id="l03853" name="l03853"></a><span class="lineno"> 3853</span> <span class="keyword">const</span> <span class="keywordtype">int</span> size_;</div>
<div class="line"><a id="l03854" name="l03854"></a><span class="lineno"> 3854</span>};</div>
<div class="line"><a id="l03855" name="l03855"></a><span class="lineno"> 3855</span> </div>
<div class="line"><a id="l03857" name="l03857"></a><span class="lineno"> 3857</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a id="l03858" name="l03858"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev_array.html"> 3858</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_numerical_rev_array.html">NumericalRevArray</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_rev_array.html">RevArray</a>&lt;T&gt; {</div>
<div class="line"><a id="l03859" name="l03859"></a><span class="lineno"> 3859</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03860" name="l03860"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev_array.html#a3a0219adafe884709e47adad37885e7e"> 3860</a></span> <a class="code hl_function" href="classoperations__research_1_1_numerical_rev_array.html#a3a0219adafe884709e47adad37885e7e">NumericalRevArray</a>(<span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de">size</a>, <span class="keyword">const</span> T&amp; val) : <a class="code hl_class" href="classoperations__research_1_1_rev_array.html">RevArray</a>&lt;T&gt;(<a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de">size</a>, val) {}</div>
<div class="line"><a id="l03861" name="l03861"></a><span class="lineno"> 3861</span> </div>
<div class="line"><a id="l03862" name="l03862"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev_array.html#a651028799de2560833cac2fff292fdf1"> 3862</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_numerical_rev_array.html#a651028799de2560833cac2fff292fdf1">Add</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">int</span> index, <span class="keyword">const</span> T&amp; to_add) {</div>
<div class="line"><a id="l03863" name="l03863"></a><span class="lineno"> 3863</span> this-&gt;<a class="code hl_function" href="classoperations__research_1_1_rev_array.html#aae1ddec3323cbaa8f2b29e1d211cb5c7">SetValue</a>(s, index, this-&gt;<a class="code hl_function" href="classoperations__research_1_1_rev_array.html#a494ce986cd77f4a0feb833a56de7b40c">Value</a>(index) + to_add);</div>
<div class="line"><a id="l03864" name="l03864"></a><span class="lineno"> 3864</span> }</div>
<div class="line"><a id="l03865" name="l03865"></a><span class="lineno"> 3865</span> </div>
<div class="line"><a id="l03866" name="l03866"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev_array.html#af23967e29b34eca150d8aa96bbea9546"> 3866</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_numerical_rev_array.html#af23967e29b34eca150d8aa96bbea9546">Incr</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">int</span> index) { <a class="code hl_function" href="classoperations__research_1_1_numerical_rev_array.html#a651028799de2560833cac2fff292fdf1">Add</a>(s, index, 1); }</div>
<div class="line"><a id="l03867" name="l03867"></a><span class="lineno"> 3867</span> </div>
<div class="line"><a id="l03868" name="l03868"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_numerical_rev_array.html#a167fff28f9eee9b29f1bf06db43caecd"> 3868</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_numerical_rev_array.html#a167fff28f9eee9b29f1bf06db43caecd">Decr</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">int</span> index) { <a class="code hl_function" href="classoperations__research_1_1_numerical_rev_array.html#a651028799de2560833cac2fff292fdf1">Add</a>(s, index, -1); }</div>
<div class="line"><a id="l03869" name="l03869"></a><span class="lineno"> 3869</span>};</div>
<div class="line"><a id="l03870" name="l03870"></a><span class="lineno"> 3870</span> </div>
<div class="line"><a id="l03878" name="l03878"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html"> 3878</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a> {</div>
<div class="line"><a id="l03879" name="l03879"></a><span class="lineno"> 3879</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03880" name="l03880"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a71eb39de86b7fb423d3b9c215f56593c"> 3880</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a71eb39de86b7fb423d3b9c215f56593c">IntExpr</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) : <a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a>(s) {}</div>
<div class="line"><a id="l03881" name="l03881"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a5ca509deddcf7e1a1498f770ec71934e"> 3881</a></span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a5ca509deddcf7e1a1498f770ec71934e">~IntExpr</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03882" name="l03882"></a><span class="lineno"> 3882</span> </div>
<div class="line"><a id="l03883" name="l03883"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a62b340f6d1dde6a36560bd88a382ada7"> 3883</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a62b340f6d1dde6a36560bd88a382ada7">Min</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l03884" name="l03884"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#aac7dfcb9ef06cc889474d5043b580a45"> 3884</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#aac7dfcb9ef06cc889474d5043b580a45">SetMin</a>(int64_t m) = 0;</div>
<div class="line"><a id="l03885" name="l03885"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#ac84c250d67f30c89e845cd460eeaaad8"> 3885</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#ac84c250d67f30c89e845cd460eeaaad8">Max</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l03886" name="l03886"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a67b97db6268b823e295b9d5284e5a03e"> 3886</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a67b97db6268b823e295b9d5284e5a03e">SetMax</a>(int64_t m) = 0;</div>
<div class="line"><a id="l03887" name="l03887"></a><span class="lineno"> 3887</span> </div>
<div class="line"><a id="l03890" name="l03890"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#ace746bea8d19ba6bbf319dafbd5f5e5c"> 3890</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#ace746bea8d19ba6bbf319dafbd5f5e5c">Range</a>(int64_t* l, int64_t* u) {</div>
<div class="line"><a id="l03891" name="l03891"></a><span class="lineno"> 3891</span> *l = <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a62b340f6d1dde6a36560bd88a382ada7">Min</a>();</div>
<div class="line"><a id="l03892" name="l03892"></a><span class="lineno"> 3892</span> *u = <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#ac84c250d67f30c89e845cd460eeaaad8">Max</a>();</div>
<div class="line"><a id="l03893" name="l03893"></a><span class="lineno"> 3893</span> }</div>
<div class="line"><a id="l03895" name="l03895"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a076a8890703df019ca737781b376cbe3"> 3895</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a076a8890703df019ca737781b376cbe3">SetRange</a>(int64_t l, int64_t u) {</div>
<div class="line"><a id="l03896" name="l03896"></a><span class="lineno"> 3896</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#aac7dfcb9ef06cc889474d5043b580a45">SetMin</a>(l);</div>
<div class="line"><a id="l03897" name="l03897"></a><span class="lineno"> 3897</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a67b97db6268b823e295b9d5284e5a03e">SetMax</a>(u);</div>
<div class="line"><a id="l03898" name="l03898"></a><span class="lineno"> 3898</span> }</div>
<div class="line"><a id="l03899" name="l03899"></a><span class="lineno"> 3899</span> </div>
<div class="line"><a id="l03901" name="l03901"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a2e57f8b497596533aae4607d8a89dd10"> 3901</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a2e57f8b497596533aae4607d8a89dd10">SetValue</a>(int64_t v) { <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a076a8890703df019ca737781b376cbe3">SetRange</a>(v, v); }</div>
<div class="line"><a id="l03902" name="l03902"></a><span class="lineno"> 3902</span> </div>
<div class="line"><a id="l03904" name="l03904"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a1d04569b37cb7fe6ed0956ab71e08bc9"> 3904</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a1d04569b37cb7fe6ed0956ab71e08bc9">Bound</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a62b340f6d1dde6a36560bd88a382ada7">Min</a>() == <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#ac84c250d67f30c89e845cd460eeaaad8">Max</a>()); }</div>
<div class="line"><a id="l03905" name="l03905"></a><span class="lineno"> 3905</span> </div>
<div class="line"><a id="l03907" name="l03907"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a2e9b93ea445f156328eaa782adf7cb8b"> 3907</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a2e9b93ea445f156328eaa782adf7cb8b">IsVar</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a id="l03908" name="l03908"></a><span class="lineno"> 3908</span> </div>
<div class="line"><a id="l03910" name="l03910"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a8a1d9ddd5f5fc8f2a02b8a8700d3e3b1"> 3910</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a8a1d9ddd5f5fc8f2a02b8a8700d3e3b1">Var</a>() = 0;</div>
<div class="line"><a id="l03911" name="l03911"></a><span class="lineno"> 3911</span> </div>
<div class="line"><a id="l03916" name="l03916"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#abd9d7cc56655b46f400ee98ffd9870ab"> 3916</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#abd9d7cc56655b46f400ee98ffd9870ab">VarWithName</a>(<span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div>
<div class="line"><a id="l03917" name="l03917"></a><span class="lineno"> 3917</span> </div>
<div class="line"><a id="l03919" name="l03919"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#af13b2ea301c6800bb6d43bd70716bf6d"> 3919</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#af13b2ea301c6800bb6d43bd70716bf6d">WhenRange</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* d) = 0;</div>
<div class="line"><a id="l03921" name="l03921"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#a0b5304838bbd2834ba9f7b38db07996f"> 3921</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a0b5304838bbd2834ba9f7b38db07996f">WhenRange</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l03922" name="l03922"></a><span class="lineno"> 3922</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#af13b2ea301c6800bb6d43bd70716bf6d">WhenRange</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l03923" name="l03923"></a><span class="lineno"> 3923</span> }</div>
<div class="line"><a id="l03924" name="l03924"></a><span class="lineno"> 3924</span> </div>
<div class="line"><a id="l03925" name="l03925"></a><span class="lineno"> 3925</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l03927" name="l03927"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#af460f815f9770713347d6609456c9508"> 3927</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#af460f815f9770713347d6609456c9508">WhenRange</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l03928" name="l03928"></a><span class="lineno"> 3928</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#af13b2ea301c6800bb6d43bd70716bf6d">WhenRange</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l03929" name="l03929"></a><span class="lineno"> 3929</span> }</div>
<div class="line"><a id="l03930" name="l03930"></a><span class="lineno"> 3930</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l03931" name="l03931"></a><span class="lineno"> 3931</span> </div>
<div class="line"><a id="l03933" name="l03933"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_expr.html#afcde421cf076575a27bed81c80093ac8"> 3933</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_expr.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div>
<div class="line"><a id="l03934" name="l03934"></a><span class="lineno"> 3934</span> </div>
<div class="line"><a id="l03935" name="l03935"></a><span class="lineno"> 3935</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l03936" name="l03936"></a><span class="lineno"> 3936</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>);</div>
<div class="line"><a id="l03937" name="l03937"></a><span class="lineno"> 3937</span>};</div>
<div class="line"><a id="l03938" name="l03938"></a><span class="lineno"> 3938</span> </div>
<div class="line"><a id="l03946" name="l03946"></a><span class="lineno"> 3946</span> </div>
<div class="line"><a id="l03949" name="l03949"></a><span class="lineno"> 3949</span> </div>
<div class="line"><a id="l03955" name="l03955"></a><span class="lineno"> 3955</span> </div>
<div class="line"><a id="l03956" name="l03956"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_iterator.html"> 3956</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_int_var_iterator.html">IntVarIterator</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l03957" name="l03957"></a><span class="lineno"> 3957</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03958" name="l03958"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_iterator.html#ad58ad3bd33c8c89814ca3675c414406d"> 3958</a></span> <a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#ad58ad3bd33c8c89814ca3675c414406d">~IntVarIterator</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l03959" name="l03959"></a><span class="lineno"> 3959</span> </div>
<div class="line"><a id="l03961" name="l03961"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_iterator.html#a5368a4a3fff770682cf257e81707d9f0"> 3961</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#a5368a4a3fff770682cf257e81707d9f0">Init</a>() = 0;</div>
<div class="line"><a id="l03962" name="l03962"></a><span class="lineno"> 3962</span> </div>
<div class="line"><a id="l03964" name="l03964"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_iterator.html#afd583d1de9a76003cabb79710d08e1b5"> 3964</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l03965" name="l03965"></a><span class="lineno"> 3965</span> </div>
<div class="line"><a id="l03967" name="l03967"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_iterator.html#acc2ece7bb8bf97bb35cdf9650fe6c55b"> 3967</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#acc2ece7bb8bf97bb35cdf9650fe6c55b">Value</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l03968" name="l03968"></a><span class="lineno"> 3968</span> </div>
<div class="line"><a id="l03970" name="l03970"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_iterator.html#a5e6ce1b8883cf6764780b7108dbb8495"> 3970</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#a5e6ce1b8883cf6764780b7108dbb8495">Next</a>() = 0;</div>
<div class="line"><a id="l03971" name="l03971"></a><span class="lineno"> 3971</span> </div>
<div class="line"><a id="l03973" name="l03973"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_iterator.html#aed804747c45a7e1caf81461f9e45dd91"> 3973</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;IntVar::Iterator&quot;</span>; }</div>
<div class="line"><a id="l03974" name="l03974"></a><span class="lineno"> 3974</span>};</div>
<div class="line"><a id="l03975" name="l03975"></a><span class="lineno"> 3975</span> </div>
<div class="line"><a id="l03976" name="l03976"></a><span class="lineno"> 3976</span><span class="preprocessor">#ifndef SWIG</span></div>
<div class="line"><a id="l03983" name="l03983"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_init_and_get_values.html"> 3983</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_init_and_get_values.html">InitAndGetValues</a> {</div>
<div class="line"><a id="l03984" name="l03984"></a><span class="lineno"> 3984</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l03985" name="l03985"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_init_and_get_values.html#a6e10bae8d4199a0ed4dc82abda824543"> 3985</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_init_and_get_values.html#a6e10bae8d4199a0ed4dc82abda824543">InitAndGetValues</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var_iterator.html">IntVarIterator</a>* it)</div>
<div class="line"><a id="l03986" name="l03986"></a><span class="lineno"> 3986</span> : it_(it), begin_was_called_(false) {</div>
<div class="line"><a id="l03987" name="l03987"></a><span class="lineno"> 3987</span> it_-&gt;<a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#a5368a4a3fff770682cf257e81707d9f0">Init</a>();</div>
<div class="line"><a id="l03988" name="l03988"></a><span class="lineno"> 3988</span> }</div>
<div class="line"><a id="l03989" name="l03989"></a><span class="lineno"> 3989</span> <span class="keyword">struct </span>Iterator;</div>
<div class="line"><a id="l03990" name="l03990"></a><span class="lineno"> 3990</span> </div>
<div class="line"><a id="l03991" name="l03991"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_init_and_get_values.html#a2387033802383edbdc95f9bbb12a707e"> 3991</a></span> <a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a> <a class="code hl_function" href="classoperations__research_1_1_init_and_get_values.html#a2387033802383edbdc95f9bbb12a707e">begin</a>() {</div>
<div class="line"><a id="l03992" name="l03992"></a><span class="lineno"> 3992</span> <span class="keywordflow">if</span> (DEBUG_MODE) {</div>
<div class="line"><a id="l03993" name="l03993"></a><span class="lineno"> 3993</span> DCHECK(!begin_was_called_);</div>
<div class="line"><a id="l03994" name="l03994"></a><span class="lineno"> 3994</span> begin_was_called_ = <span class="keyword">true</span>;</div>
<div class="line"><a id="l03995" name="l03995"></a><span class="lineno"> 3995</span> }</div>
<div class="line"><a id="l03996" name="l03996"></a><span class="lineno"> 3996</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a28707ecfd89699b87e970e59df75435c">Iterator::Begin</a>(it_);</div>
<div class="line"><a id="l03997" name="l03997"></a><span class="lineno"> 3997</span> }</div>
<div class="line"><a id="l03998" name="l03998"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_init_and_get_values.html#ab45dae688fc5d8983727abffa4389003"> 3998</a></span> <a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a> <a class="code hl_function" href="classoperations__research_1_1_init_and_get_values.html#ab45dae688fc5d8983727abffa4389003">end</a>() { <span class="keywordflow">return</span> <a class="code hl_function" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#aa0e28d1c59211c96da145cb1f14623af">Iterator::End</a>(it_); }</div>
<div class="line"><a id="l03999" name="l03999"></a><span class="lineno"> 3999</span> </div>
<div class="line"><a id="l04000" name="l04000"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html"> 4000</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a> {</div>
<div class="line"><a id="l04002" name="l04002"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a28707ecfd89699b87e970e59df75435c"> 4002</a></span> <span class="keyword">static</span> <a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a> <a class="code hl_function" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a28707ecfd89699b87e970e59df75435c">Begin</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var_iterator.html">IntVarIterator</a>* it) {</div>
<div class="line"><a id="l04003" name="l04003"></a><span class="lineno"> 4003</span> <span class="keywordflow">return</span> <a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a>(it, <span class="comment">/*is_end=*/</span><span class="keyword">false</span>);</div>
<div class="line"><a id="l04004" name="l04004"></a><span class="lineno"> 4004</span> }</div>
<div class="line"><a id="l04005" name="l04005"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#aa0e28d1c59211c96da145cb1f14623af"> 4005</a></span> <span class="keyword">static</span> <a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a> <a class="code hl_function" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#aa0e28d1c59211c96da145cb1f14623af">End</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var_iterator.html">IntVarIterator</a>* it) {</div>
<div class="line"><a id="l04006" name="l04006"></a><span class="lineno"> 4006</span> <span class="keywordflow">return</span> <a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a>(it, <span class="comment">/*is_end=*/</span><span class="keyword">true</span>);</div>
<div class="line"><a id="l04007" name="l04007"></a><span class="lineno"> 4007</span> }</div>
<div class="line"><a id="l04008" name="l04008"></a><span class="lineno"> 4008</span> </div>
<div class="line"><a id="l04009" name="l04009"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a7d67cf62e589098c5cfddb3dd44249fb"> 4009</a></span> int64_t <a class="code hl_function" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a7d67cf62e589098c5cfddb3dd44249fb">operator*</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04010" name="l04010"></a><span class="lineno"> 4010</span> DCHECK(it_-&gt;<a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>());</div>
<div class="line"><a id="l04011" name="l04011"></a><span class="lineno"> 4011</span> <span class="keywordflow">return</span> it_-&gt;<a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#acc2ece7bb8bf97bb35cdf9650fe6c55b">Value</a>();</div>
<div class="line"><a id="l04012" name="l04012"></a><span class="lineno"> 4012</span> }</div>
<div class="line"><a id="l04013" name="l04013"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#ae1f21c74128a5ef5d1b9de72ceb09be8"> 4013</a></span> <a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a>&amp; <a class="code hl_function" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#ae1f21c74128a5ef5d1b9de72ceb09be8">operator++</a>() {</div>
<div class="line"><a id="l04014" name="l04014"></a><span class="lineno"> 4014</span> DCHECK(it_-&gt;<a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>());</div>
<div class="line"><a id="l04015" name="l04015"></a><span class="lineno"> 4015</span> it_-&gt;<a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#a5e6ce1b8883cf6764780b7108dbb8495">Next</a>();</div>
<div class="line"><a id="l04016" name="l04016"></a><span class="lineno"> 4016</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l04017" name="l04017"></a><span class="lineno"> 4017</span> }</div>
<div class="line"><a id="l04018" name="l04018"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a710b1a5c9f835b20b87a76ce12e4f305"> 4018</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a710b1a5c9f835b20b87a76ce12e4f305">operator!=</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a>&amp; other)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04019" name="l04019"></a><span class="lineno"> 4019</span> DCHECK(other.it_ == it_);</div>
<div class="line"><a id="l04020" name="l04020"></a><span class="lineno"> 4020</span> DCHECK(other.is_end_);</div>
<div class="line"><a id="l04021" name="l04021"></a><span class="lineno"> 4021</span> <span class="keywordflow">return</span> it_-&gt;<a class="code hl_function" href="classoperations__research_1_1_int_var_iterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>();</div>
<div class="line"><a id="l04022" name="l04022"></a><span class="lineno"> 4022</span> }</div>
<div class="line"><a id="l04023" name="l04023"></a><span class="lineno"> 4023</span> </div>
<div class="line"><a id="l04024" name="l04024"></a><span class="lineno"> 4024</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04025" name="l04025"></a><span class="lineno"> 4025</span> <a class="code hl_struct" href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">Iterator</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var_iterator.html">IntVarIterator</a>* it, <span class="keywordtype">bool</span> is_end) : it_(it), is_end_(is_end) {}</div>
<div class="line"><a id="l04026" name="l04026"></a><span class="lineno"> 4026</span> </div>
<div class="line"><a id="l04027" name="l04027"></a><span class="lineno"> 4027</span> <a class="code hl_class" href="classoperations__research_1_1_int_var_iterator.html">IntVarIterator</a>* <span class="keyword">const</span> it_;</div>
<div class="line"><a id="l04028" name="l04028"></a><span class="lineno"> 4028</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_end_;</div>
<div class="line"><a id="l04029" name="l04029"></a><span class="lineno"> 4029</span> };</div>
<div class="line"><a id="l04030" name="l04030"></a><span class="lineno"> 4030</span> </div>
<div class="line"><a id="l04031" name="l04031"></a><span class="lineno"> 4031</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04032" name="l04032"></a><span class="lineno"> 4032</span> IntVarIterator* <span class="keyword">const</span> it_;</div>
<div class="line"><a id="l04033" name="l04033"></a><span class="lineno"> 4033</span> <span class="keywordtype">bool</span> begin_was_called_;</div>
<div class="line"><a id="l04034" name="l04034"></a><span class="lineno"> 4034</span>};</div>
<div class="line"><a id="l04035" name="l04035"></a><span class="lineno"> 4035</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04036" name="l04036"></a><span class="lineno"> 4036</span> </div>
<div class="line"><a id="l04040" name="l04040"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html"> 4040</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a> {</div>
<div class="line"><a id="l04041" name="l04041"></a><span class="lineno"> 4041</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04042" name="l04042"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a6c325613bf5172c0cc1162ec8579eca2"> 4042</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a6c325613bf5172c0cc1162ec8579eca2">IntVar</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s);</div>
<div class="line"><a id="l04043" name="l04043"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#ab5ceedd975b9299c4b66558e207a36c1"> 4043</a></span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#ab5ceedd975b9299c4b66558e207a36c1">IntVar</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div>
<div class="line"><a id="l04044" name="l04044"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a68b27e4c46794ff800c17f7b9760adba"> 4044</a></span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a68b27e4c46794ff800c17f7b9760adba">~IntVar</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l04045" name="l04045"></a><span class="lineno"> 4045</span> </div>
<div class="line"><a id="l04046" name="l04046"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#af5d847a82550308399c315915ef8408f"> 4046</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#af5d847a82550308399c315915ef8408f">IsVar</a>()<span class="keyword"> const override </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a id="l04047" name="l04047"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#aabb6b039a96b1f9aaed302ba620c08cd"> 4047</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_int_var.html#aabb6b039a96b1f9aaed302ba620c08cd">Var</a>()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }</div>
<div class="line"><a id="l04048" name="l04048"></a><span class="lineno"> 4048</span> </div>
<div class="line"><a id="l04051" name="l04051"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#acc2ece7bb8bf97bb35cdf9650fe6c55b"> 4051</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_int_var.html#acc2ece7bb8bf97bb35cdf9650fe6c55b">Value</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04052" name="l04052"></a><span class="lineno"> 4052</span> </div>
<div class="line"><a id="l04054" name="l04054"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a4ad6e7b43ae5f8c2bf2c865960e578fe"> 4054</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a4ad6e7b43ae5f8c2bf2c865960e578fe">RemoveValue</a>(int64_t v) = 0;</div>
<div class="line"><a id="l04055" name="l04055"></a><span class="lineno"> 4055</span> </div>
<div class="line"><a id="l04058" name="l04058"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#aabbb2f320d69a86e7690614a8c3505c1"> 4058</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#aabbb2f320d69a86e7690614a8c3505c1">RemoveInterval</a>(int64_t l, int64_t u) = 0;</div>
<div class="line"><a id="l04059" name="l04059"></a><span class="lineno"> 4059</span> </div>
<div class="line"><a id="l04061" name="l04061"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a87c43554b697c5aed8561215cc3befbb"> 4061</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a87c43554b697c5aed8561215cc3befbb">RemoveValues</a>(<span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l04062" name="l04062"></a><span class="lineno"> 4062</span> </div>
<div class="line"><a id="l04064" name="l04064"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#aa12c746d088d4b8f5eb2608335ab9886"> 4064</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#aa12c746d088d4b8f5eb2608335ab9886">SetValues</a>(<span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values);</div>
<div class="line"><a id="l04065" name="l04065"></a><span class="lineno"> 4065</span> </div>
<div class="line"><a id="l04068" name="l04068"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a6e33a313eaf507bae0eb7068455a5bdc"> 4068</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a6e33a313eaf507bae0eb7068455a5bdc">WhenBound</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* d) = 0;</div>
<div class="line"><a id="l04071" name="l04071"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a4bd4b9edfecdf647038f030759e8da11"> 4071</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a4bd4b9edfecdf647038f030759e8da11">WhenBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04072" name="l04072"></a><span class="lineno"> 4072</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a6e33a313eaf507bae0eb7068455a5bdc">WhenBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04073" name="l04073"></a><span class="lineno"> 4073</span> }</div>
<div class="line"><a id="l04074" name="l04074"></a><span class="lineno"> 4074</span> </div>
<div class="line"><a id="l04075" name="l04075"></a><span class="lineno"> 4075</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04078" name="l04078"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#ae3293377cabb09f916c442de71de5910"> 4078</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#ae3293377cabb09f916c442de71de5910">WhenBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04079" name="l04079"></a><span class="lineno"> 4079</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a6e33a313eaf507bae0eb7068455a5bdc">WhenBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04080" name="l04080"></a><span class="lineno"> 4080</span> }</div>
<div class="line"><a id="l04081" name="l04081"></a><span class="lineno"> 4081</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04082" name="l04082"></a><span class="lineno"> 4082</span> </div>
<div class="line"><a id="l04085" name="l04085"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#ab36f6f122cb3e8554b160ba67608b1c0"> 4085</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#ab36f6f122cb3e8554b160ba67608b1c0">WhenDomain</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* d) = 0;</div>
<div class="line"><a id="l04088" name="l04088"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a7777129f7b59f5d9dbeb043c6bf945dd"> 4088</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a7777129f7b59f5d9dbeb043c6bf945dd">WhenDomain</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04089" name="l04089"></a><span class="lineno"> 4089</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#ab36f6f122cb3e8554b160ba67608b1c0">WhenDomain</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04090" name="l04090"></a><span class="lineno"> 4090</span> }</div>
<div class="line"><a id="l04091" name="l04091"></a><span class="lineno"> 4091</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04094" name="l04094"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a913821767956a457482c91f4bce6b99c"> 4094</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a913821767956a457482c91f4bce6b99c">WhenDomain</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04095" name="l04095"></a><span class="lineno"> 4095</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#ab36f6f122cb3e8554b160ba67608b1c0">WhenDomain</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04096" name="l04096"></a><span class="lineno"> 4096</span> }</div>
<div class="line"><a id="l04097" name="l04097"></a><span class="lineno"> 4097</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04098" name="l04098"></a><span class="lineno"> 4098</span> </div>
<div class="line"><a id="l04100" name="l04100"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#af8625719d57e4a61b5aa251d99762966"> 4100</a></span> <span class="keyword">virtual</span> uint64_t <a class="code hl_function" href="classoperations__research_1_1_int_var.html#af8625719d57e4a61b5aa251d99762966">Size</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04101" name="l04101"></a><span class="lineno"> 4101</span> </div>
<div class="line"><a id="l04104" name="l04104"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a0723abf37f7a5a8a604fd1bcd96a7be0"> 4104</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a0723abf37f7a5a8a604fd1bcd96a7be0">Contains</a>(int64_t v) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04105" name="l04105"></a><span class="lineno"> 4105</span> </div>
<div class="line"><a id="l04109" name="l04109"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a572e24495b29d1ec6bb48c65497fa686"> 4109</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_var_iterator.html">IntVarIterator</a>* <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a572e24495b29d1ec6bb48c65497fa686">MakeHoleIterator</a>(<span class="keywordtype">bool</span> reversible) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04110" name="l04110"></a><span class="lineno"> 4110</span> </div>
<div class="line"><a id="l04114" name="l04114"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#affdd564449bc36ce5db44cfc1c9e86d4"> 4114</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_var_iterator.html">IntVarIterator</a>* <a class="code hl_function" href="classoperations__research_1_1_int_var.html#affdd564449bc36ce5db44cfc1c9e86d4">MakeDomainIterator</a>(<span class="keywordtype">bool</span> reversible) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04115" name="l04115"></a><span class="lineno"> 4115</span> </div>
<div class="line"><a id="l04117" name="l04117"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#af3a292044fe0483a2b2f7b65f94a7dc2"> 4117</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_int_var.html#af3a292044fe0483a2b2f7b65f94a7dc2">OldMin</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04118" name="l04118"></a><span class="lineno"> 4118</span> </div>
<div class="line"><a id="l04120" name="l04120"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a3173e28151b3e04888127961cacc42b1"> 4120</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a3173e28151b3e04888127961cacc42b1">OldMax</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04121" name="l04121"></a><span class="lineno"> 4121</span> </div>
<div class="line"><a id="l04122" name="l04122"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#ae8d85a8a6f3e8fbc31f291a4b809c8a2"> 4122</a></span> <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#ae8d85a8a6f3e8fbc31f291a4b809c8a2">VarType</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04123" name="l04123"></a><span class="lineno"> 4123</span> </div>
<div class="line"><a id="l04125" name="l04125"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#aa30c84aec5e60d6b74e1e1eb15011d4a"> 4125</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const override</span>;</div>
<div class="line"><a id="l04126" name="l04126"></a><span class="lineno"> 4126</span> </div>
<div class="line"><a id="l04128" name="l04128"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a6bc094ba586670d6384a051c922b6ba8"> 4128</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a6bc094ba586670d6384a051c922b6ba8">IsEqual</a>(int64_t constant) = 0;</div>
<div class="line"><a id="l04129" name="l04129"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a2c61333dd5d0aa38ae7bc8ead710a38a"> 4129</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a2c61333dd5d0aa38ae7bc8ead710a38a">IsDifferent</a>(int64_t constant) = 0;</div>
<div class="line"><a id="l04130" name="l04130"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a48a7f403da7ce86b002403e7c155a90f"> 4130</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a48a7f403da7ce86b002403e7c155a90f">IsGreaterOrEqual</a>(int64_t constant) = 0;</div>
<div class="line"><a id="l04131" name="l04131"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#a71ebaeb507ee630711ef95d334279787"> 4131</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_int_var.html#a71ebaeb507ee630711ef95d334279787">IsLessOrEqual</a>(int64_t constant) = 0;</div>
<div class="line"><a id="l04132" name="l04132"></a><span class="lineno"> 4132</span> </div>
<div class="line"><a id="l04134" name="l04134"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var.html#acca41811e8aaab0112b987749c0ecb93"> 4134</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_int_var.html#acca41811e8aaab0112b987749c0ecb93">index</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> index_; }</div>
<div class="line"><a id="l04135" name="l04135"></a><span class="lineno"> 4135</span> </div>
<div class="line"><a id="l04136" name="l04136"></a><span class="lineno"> 4136</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04137" name="l04137"></a><span class="lineno"> 4137</span> <span class="keyword">const</span> <span class="keywordtype">int</span> index_;</div>
<div class="line"><a id="l04138" name="l04138"></a><span class="lineno"> 4138</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>);</div>
<div class="line"><a id="l04139" name="l04139"></a><span class="lineno"> 4139</span>};</div>
<div class="line"><a id="l04140" name="l04140"></a><span class="lineno"> 4140</span> </div>
<div class="line"><a id="l04144" name="l04144"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html"> 4144</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> {</div>
<div class="line"><a id="l04145" name="l04145"></a><span class="lineno"> 4145</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04146" name="l04146"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#adbd3b8b25d686516cba29e11ad483b43"> 4146</a></span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#adbd3b8b25d686516cba29e11ad483b43">SolutionCollector</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>, <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* assignment);</div>
<div class="line"><a id="l04147" name="l04147"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a517903bea1be89b6c194bc4d1eb28a51"> 4147</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a517903bea1be89b6c194bc4d1eb28a51">SolutionCollector</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_search_monitor.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>);</div>
<div class="line"><a id="l04148" name="l04148"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a33042163bd532ccbfe547236b22bf614"> 4148</a></span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a33042163bd532ccbfe547236b22bf614">~SolutionCollector</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04149" name="l04149"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#aed804747c45a7e1caf81461f9e45dd91"> 4149</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SolutionCollector&quot;</span>; }</div>
<div class="line"><a id="l04150" name="l04150"></a><span class="lineno"> 4150</span> </div>
<div class="line"><a id="l04152" name="l04152"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a5a589c2741d5a4b5b777b0dfe2433d13"> 4152</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a5a589c2741d5a4b5b777b0dfe2433d13">Add</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l04153" name="l04153"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a62eeaedd1b35f3805bbd3e544c16577b"> 4153</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a62eeaedd1b35f3805bbd3e544c16577b">Add</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l04154" name="l04154"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a69c1d2e1b243c1ce6f7663c297c0b357"> 4154</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a69c1d2e1b243c1ce6f7663c297c0b357">Add</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l04155" name="l04155"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a6f3a03e958cc119592fc6ecdf2b1e908"> 4155</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a6f3a03e958cc119592fc6ecdf2b1e908">Add</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; vars);</div>
<div class="line"><a id="l04156" name="l04156"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#af549aaf97ee31923831935c407eff0de"> 4156</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#af549aaf97ee31923831935c407eff0de">Add</a>(<a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l04157" name="l04157"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a4f586a9056698e50f687455cbe3c79c7"> 4157</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a4f586a9056698e50f687455cbe3c79c7">Add</a>(<span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; vars);</div>
<div class="line"><a id="l04158" name="l04158"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a40060f6e513255a9133645c7179fa0d1"> 4158</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a40060f6e513255a9133645c7179fa0d1">AddObjective</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> objective);</div>
<div class="line"><a id="l04159" name="l04159"></a><span class="lineno"> 4159</span> </div>
<div class="line"><a id="l04161" name="l04161"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a0c955ff1b2eae2daece0f25f1e57fb16"> 4161</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a0c955ff1b2eae2daece0f25f1e57fb16">EnterSearch</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04162" name="l04162"></a><span class="lineno"> 4162</span> </div>
<div class="line"><a id="l04164" name="l04164"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a5aeabb40e6e7550c805534764b3076fa"> 4164</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a5aeabb40e6e7550c805534764b3076fa">solution_count</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04165" name="l04165"></a><span class="lineno"> 4165</span> </div>
<div class="line"><a id="l04167" name="l04167"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a97be81e7520315f04f648537dd06bff5"> 4167</a></span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a97be81e7520315f04f648537dd06bff5">solution</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04168" name="l04168"></a><span class="lineno"> 4168</span> </div>
<div class="line"><a id="l04170" name="l04170"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#aa60ece7346d03126579d72fee6550798"> 4170</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#aa60ece7346d03126579d72fee6550798">wall_time</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04171" name="l04171"></a><span class="lineno"> 4171</span> </div>
<div class="line"><a id="l04173" name="l04173"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#aac8e3340dc6e2312ccbc7edc18dfeba4"> 4173</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#aac8e3340dc6e2312ccbc7edc18dfeba4">branches</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04174" name="l04174"></a><span class="lineno"> 4174</span> </div>
<div class="line"><a id="l04177" name="l04177"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#ac48970fdc3da1249b87dc218680caf9d"> 4177</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#ac48970fdc3da1249b87dc218680caf9d">failures</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04178" name="l04178"></a><span class="lineno"> 4178</span> </div>
<div class="line"><a id="l04180" name="l04180"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a9ff7a59105722fe8b129e9e69b6c9028"> 4180</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a9ff7a59105722fe8b129e9e69b6c9028">objective_value</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04181" name="l04181"></a><span class="lineno"> 4181</span> </div>
<div class="line"><a id="l04183" name="l04183"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a82b736d88ff6a0ca45c6ed6de6744a92"> 4183</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a82b736d88ff6a0ca45c6ed6de6744a92">Value</a>(<span class="keywordtype">int</span> n, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04184" name="l04184"></a><span class="lineno"> 4184</span> </div>
<div class="line"><a id="l04186" name="l04186"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a90f41f2f36d093ee9f11ec929756e4b5"> 4186</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a90f41f2f36d093ee9f11ec929756e4b5">StartValue</a>(<span class="keywordtype">int</span> n, <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04187" name="l04187"></a><span class="lineno"> 4187</span> </div>
<div class="line"><a id="l04189" name="l04189"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a99a54df109752e50ebad7bd9a28031d3"> 4189</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a99a54df109752e50ebad7bd9a28031d3">EndValue</a>(<span class="keywordtype">int</span> n, <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04190" name="l04190"></a><span class="lineno"> 4190</span> </div>
<div class="line"><a id="l04192" name="l04192"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a9041c44b3a2b7697fa9a8bbfe73c275c"> 4192</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a9041c44b3a2b7697fa9a8bbfe73c275c">DurationValue</a>(<span class="keywordtype">int</span> n, <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04193" name="l04193"></a><span class="lineno"> 4193</span> </div>
<div class="line"><a id="l04195" name="l04195"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#aafcf751b6563b1d2bcc2e28831cabca1"> 4195</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#aafcf751b6563b1d2bcc2e28831cabca1">PerformedValue</a>(<span class="keywordtype">int</span> n, <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04196" name="l04196"></a><span class="lineno"> 4196</span> </div>
<div class="line"><a id="l04200" name="l04200"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#ab2d80830bb34c041643108dfa3876c24"> 4200</a></span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#ab2d80830bb34c041643108dfa3876c24">ForwardSequence</a>(<span class="keywordtype">int</span> n, <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04204" name="l04204"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#af4d5e0fdb2b92c232060733c41dc2a9c"> 4204</a></span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#af4d5e0fdb2b92c232060733c41dc2a9c">BackwardSequence</a>(<span class="keywordtype">int</span> n, <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04207" name="l04207"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a8c74ca7c0955a50934944350de408d9d"> 4207</a></span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a8c74ca7c0955a50934944350de408d9d">Unperformed</a>(<span class="keywordtype">int</span> n, <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04208" name="l04208"></a><span class="lineno"> 4208</span> </div>
<div class="line"><a id="l04209" name="l04209"></a><span class="lineno"> 4209</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l04210" name="l04210"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html"> 4210</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html">SolutionData</a> {</div>
<div class="line"><a id="l04211" name="l04211"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a70443e4bc86411ffcee245b2c3c71156"> 4211</a></span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a70443e4bc86411ffcee245b2c3c71156">solution</a>;</div>
<div class="line"><a id="l04212" name="l04212"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aee52de7b225665566aa47246b9d6b8fa"> 4212</a></span> int64_t <a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aee52de7b225665566aa47246b9d6b8fa">time</a>;</div>
<div class="line"><a id="l04213" name="l04213"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a14dd56c2d800f0ae3bae00d52090e2e2"> 4213</a></span> int64_t <a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a14dd56c2d800f0ae3bae00d52090e2e2">branches</a>;</div>
<div class="line"><a id="l04214" name="l04214"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aa28921bd2ee524558ca4aed5669f52a7"> 4214</a></span> int64_t <a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aa28921bd2ee524558ca4aed5669f52a7">failures</a>;</div>
<div class="line"><a id="l04215" name="l04215"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a68d9c2f2465fa598096b25f65919fa1c"> 4215</a></span> int64_t <a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a68d9c2f2465fa598096b25f65919fa1c">objective_value</a>;</div>
<div class="line"><a id="l04216" name="l04216"></a><span class="lineno"><a class="line" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a668d11020177f060bafb5796b15743fb"> 4216</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a668d11020177f060bafb5796b15743fb">operator&lt;</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html">SolutionData</a>&amp; other)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04217" name="l04217"></a><span class="lineno"> 4217</span> <span class="keywordflow">return</span> std::tie(<a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a70443e4bc86411ffcee245b2c3c71156">solution</a>, <a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aee52de7b225665566aa47246b9d6b8fa">time</a>, <a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a14dd56c2d800f0ae3bae00d52090e2e2">branches</a>, <a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aa28921bd2ee524558ca4aed5669f52a7">failures</a>, <a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a68d9c2f2465fa598096b25f65919fa1c">objective_value</a>) &lt;</div>
<div class="line"><a id="l04218" name="l04218"></a><span class="lineno"> 4218</span> std::tie(other.<a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a70443e4bc86411ffcee245b2c3c71156">solution</a>, other.<a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aee52de7b225665566aa47246b9d6b8fa">time</a>, other.<a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a14dd56c2d800f0ae3bae00d52090e2e2">branches</a>,</div>
<div class="line"><a id="l04219" name="l04219"></a><span class="lineno"> 4219</span> other.<a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aa28921bd2ee524558ca4aed5669f52a7">failures</a>, other.<a class="code hl_variable" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a68d9c2f2465fa598096b25f65919fa1c">objective_value</a>);</div>
<div class="line"><a id="l04220" name="l04220"></a><span class="lineno"> 4220</span> }</div>
<div class="line"><a id="l04221" name="l04221"></a><span class="lineno"> 4221</span> };</div>
<div class="line"><a id="l04222" name="l04222"></a><span class="lineno"> 4222</span> </div>
<div class="line"><a id="l04224" name="l04224"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a3caadbab358fe704365f1697ce654375"> 4224</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a3caadbab358fe704365f1697ce654375">PushSolution</a>();</div>
<div class="line"><a id="l04225" name="l04225"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a35f33e423f42d8e78db12010bd7ae338"> 4225</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a35f33e423f42d8e78db12010bd7ae338">Push</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html">SolutionData</a>&amp; data) { <a class="code hl_variable" href="classoperations__research_1_1_solution_collector.html#a50ad7718f019e2f46328682dc8ed7162">solution_data_</a>.push_back(data); }</div>
<div class="line"><a id="l04227" name="l04227"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#aec3898670cd27d756678ddda55678b87"> 4227</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#aec3898670cd27d756678ddda55678b87">PopSolution</a>();</div>
<div class="line"><a id="l04228" name="l04228"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a7355e73fd1c286b47bdd911d5c17b3ff"> 4228</a></span> <a class="code hl_struct" href="structoperations__research_1_1_solution_collector_1_1_solution_data.html">SolutionData</a> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a7355e73fd1c286b47bdd911d5c17b3ff">BuildSolutionDataForCurrentState</a>();</div>
<div class="line"><a id="l04229" name="l04229"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#ac355f6324d4fcc3f253f3b83105b9c6e"> 4229</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#ac355f6324d4fcc3f253f3b83105b9c6e">FreeSolution</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a97be81e7520315f04f648537dd06bff5">solution</a>);</div>
<div class="line"><a id="l04230" name="l04230"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a06d7a538074a3c12029edf2c7dbe03b9"> 4230</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_collector.html#a06d7a538074a3c12029edf2c7dbe03b9">check_index</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04231" name="l04231"></a><span class="lineno"> 4231</span> </div>
<div class="line"><a id="l04232" name="l04232"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#ad6447dcc60c8d0bb89d7c72530afb842"> 4232</a></span> std::unique_ptr&lt;Assignment&gt; <a class="code hl_variable" href="classoperations__research_1_1_solution_collector.html#ad6447dcc60c8d0bb89d7c72530afb842">prototype_</a>;</div>
<div class="line"><a id="l04233" name="l04233"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a50ad7718f019e2f46328682dc8ed7162"> 4233</a></span> std::vector&lt;SolutionData&gt; <a class="code hl_variable" href="classoperations__research_1_1_solution_collector.html#a50ad7718f019e2f46328682dc8ed7162">solution_data_</a>;</div>
<div class="line"><a id="l04234" name="l04234"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_collector.html#a44069f4a63ae68c2059144cc5ee976d1"> 4234</a></span> std::vector&lt;Assignment*&gt; <a class="code hl_variable" href="classoperations__research_1_1_solution_collector.html#a44069f4a63ae68c2059144cc5ee976d1">recycle_solutions_</a>;</div>
<div class="line"><a id="l04235" name="l04235"></a><span class="lineno"> 4235</span> </div>
<div class="line"><a id="l04236" name="l04236"></a><span class="lineno"> 4236</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04237" name="l04237"></a><span class="lineno"> 4237</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_solution_collector.html">SolutionCollector</a>);</div>
<div class="line"><a id="l04238" name="l04238"></a><span class="lineno"> 4238</span>};</div>
<div class="line"><a id="l04239" name="l04239"></a><span class="lineno"> 4239</span> </div>
<div class="line"><a id="l04240" name="l04240"></a><span class="lineno"> 4240</span><span class="comment">// TODO(user): Refactor this into an Objective class:</span></div>
<div class="line"><a id="l04241" name="l04241"></a><span class="lineno"> 4241</span><span class="comment">// - print methods for AtNode and AtSolution.</span></div>
<div class="line"><a id="l04242" name="l04242"></a><span class="lineno"> 4242</span><span class="comment">// - support for weighted objective and lexicographical objective.</span></div>
<div class="line"><a id="l04243" name="l04243"></a><span class="lineno"> 4243</span> </div>
<div class="line"><a id="l04247" name="l04247"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html"> 4247</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> {</div>
<div class="line"><a id="l04248" name="l04248"></a><span class="lineno"> 4248</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04249" name="l04249"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#a28c1ac42c281f1f4a362d702f7025eb3"> 4249</a></span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#a28c1ac42c281f1f4a362d702f7025eb3">OptimizeVar</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">bool</span> maximize, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> a, int64_t step);</div>
<div class="line"><a id="l04250" name="l04250"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#a746d038d4dc0a23b3c22499f33b42fd5"> 4250</a></span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#a746d038d4dc0a23b3c22499f33b42fd5">~OptimizeVar</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04251" name="l04251"></a><span class="lineno"> 4251</span> </div>
<div class="line"><a id="l04253" name="l04253"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#a687a7f7f905d73bd37c97beefc1af25d"> 4253</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#a687a7f7f905d73bd37c97beefc1af25d">best</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code hl_variable" href="classoperations__research_1_1_optimize_var.html#a5a6afff8edb3f57a5152a1efa00f4cab">best_</a>; }</div>
<div class="line"><a id="l04254" name="l04254"></a><span class="lineno"> 4254</span> </div>
<div class="line"><a id="l04256" name="l04256"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#ad197164b669d8b5d35fc497754791e39"> 4256</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#ad197164b669d8b5d35fc497754791e39">Var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code hl_variable" href="classoperations__research_1_1_optimize_var.html#aacb45343e78641c7b582de46225d3481">var_</a>; }</div>
<div class="line"><a id="l04258" name="l04258"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#ae983cf659c971e1f2095a2c5a0e81eca"> 4258</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#ae983cf659c971e1f2095a2c5a0e81eca">AcceptDelta</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* delta, <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* deltadelta) <span class="keyword">override</span>;</div>
<div class="line"><a id="l04259" name="l04259"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#a0c955ff1b2eae2daece0f25f1e57fb16"> 4259</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#a0c955ff1b2eae2daece0f25f1e57fb16">EnterSearch</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04260" name="l04260"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#a2475e9789e99a92fbe93b2eaf1b5f5b3"> 4260</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#a2475e9789e99a92fbe93b2eaf1b5f5b3">BeginNextDecision</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> db) <span class="keyword">override</span>;</div>
<div class="line"><a id="l04261" name="l04261"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#acdef27972648252e66630c3b078aa962"> 4261</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#acdef27972648252e66630c3b078aa962">RefuteDecision</a>(<a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <span class="keyword">const</span> d) <span class="keyword">override</span>;</div>
<div class="line"><a id="l04262" name="l04262"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#ab3631067f88ccc24c5db6a8a0dc64e47"> 4262</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#ab3631067f88ccc24c5db6a8a0dc64e47">AtSolution</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04263" name="l04263"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#aa8900234762f2b2015b9108accdf10ff"> 4263</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#aa8900234762f2b2015b9108accdf10ff">AcceptSolution</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04264" name="l04264"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#ac75adcf22322d5c6692e070a0d962af9"> 4264</a></span> <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#ac75adcf22322d5c6692e070a0d962af9">Print</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04265" name="l04265"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#aed804747c45a7e1caf81461f9e45dd91"> 4265</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l04266" name="l04266"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#aa30c84aec5e60d6b74e1e1eb15011d4a"> 4266</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const override</span>;</div>
<div class="line"><a id="l04267" name="l04267"></a><span class="lineno"> 4267</span> </div>
<div class="line"><a id="l04268" name="l04268"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#a042bc511877a33bbbc296383c0797650"> 4268</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_optimize_var.html#a042bc511877a33bbbc296383c0797650">ApplyBound</a>();</div>
<div class="line"><a id="l04269" name="l04269"></a><span class="lineno"> 4269</span> </div>
<div class="line"><a id="l04270" name="l04270"></a><span class="lineno"> 4270</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l04271" name="l04271"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#aacb45343e78641c7b582de46225d3481"> 4271</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> <a class="code hl_variable" href="classoperations__research_1_1_optimize_var.html#aacb45343e78641c7b582de46225d3481">var_</a>;</div>
<div class="line"><a id="l04272" name="l04272"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#a7bf0b736553f70b8682b64c195a414fc"> 4272</a></span> int64_t <a class="code hl_variable" href="classoperations__research_1_1_optimize_var.html#a7bf0b736553f70b8682b64c195a414fc">step_</a>;</div>
<div class="line"><a id="l04273" name="l04273"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#a5a6afff8edb3f57a5152a1efa00f4cab"> 4273</a></span> int64_t <a class="code hl_variable" href="classoperations__research_1_1_optimize_var.html#a5a6afff8edb3f57a5152a1efa00f4cab">best_</a>;</div>
<div class="line"><a id="l04274" name="l04274"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#ad5d09a69c6c8c8eea9311b0513628683"> 4274</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="classoperations__research_1_1_optimize_var.html#ad5d09a69c6c8c8eea9311b0513628683">maximize_</a>;</div>
<div class="line"><a id="l04275" name="l04275"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_optimize_var.html#a7bcea05dd62f2b212dd18322fd22b32e"> 4275</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="classoperations__research_1_1_optimize_var.html#a7bcea05dd62f2b212dd18322fd22b32e">found_initial_solution_</a>;</div>
<div class="line"><a id="l04276" name="l04276"></a><span class="lineno"> 4276</span> </div>
<div class="line"><a id="l04277" name="l04277"></a><span class="lineno"> 4277</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04278" name="l04278"></a><span class="lineno"> 4278</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_optimize_var.html">OptimizeVar</a>);</div>
<div class="line"><a id="l04279" name="l04279"></a><span class="lineno"> 4279</span>};</div>
<div class="line"><a id="l04280" name="l04280"></a><span class="lineno"> 4280</span> </div>
<div class="line"><a id="l04282" name="l04282"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html"> 4282</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> {</div>
<div class="line"><a id="l04283" name="l04283"></a><span class="lineno"> 4283</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04284" name="l04284"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#a279e462390a3028b062e03ce0616efbd"> 4284</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#a279e462390a3028b062e03ce0616efbd">SearchLimit</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s) : <a class="code hl_class" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a>(s), crossed_(false) {}</div>
<div class="line"><a id="l04285" name="l04285"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#a5c50eb7ab17cb83e115f2799ccd6a8de"> 4285</a></span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#a5c50eb7ab17cb83e115f2799ccd6a8de">~SearchLimit</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04286" name="l04286"></a><span class="lineno"> 4286</span> </div>
<div class="line"><a id="l04288" name="l04288"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#ae874856cae71ff1b4391027b70f0c915"> 4288</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#ae874856cae71ff1b4391027b70f0c915">crossed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> crossed_; }</div>
<div class="line"><a id="l04289" name="l04289"></a><span class="lineno"> 4289</span> </div>
<div class="line"><a id="l04294" name="l04294"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#afefd22e7a516cef9dff7154cae02e704"> 4294</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#afefd22e7a516cef9dff7154cae02e704">Check</a>() = 0;</div>
<div class="line"><a id="l04295" name="l04295"></a><span class="lineno"> 4295</span> </div>
<div class="line"><a id="l04297" name="l04297"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#a5368a4a3fff770682cf257e81707d9f0"> 4297</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#a5368a4a3fff770682cf257e81707d9f0">Init</a>() = 0;</div>
<div class="line"><a id="l04298" name="l04298"></a><span class="lineno"> 4298</span> </div>
<div class="line"><a id="l04301" name="l04301"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#abeeb0e725bbe0c9cb3c632414658ab45"> 4301</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#abeeb0e725bbe0c9cb3c632414658ab45">Copy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <span class="keyword">const</span> limit) = 0;</div>
<div class="line"><a id="l04302" name="l04302"></a><span class="lineno"> 4302</span> </div>
<div class="line"><a id="l04304" name="l04304"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#a1563fc95e4006ea25ee576b349b55d58"> 4304</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#a1563fc95e4006ea25ee576b349b55d58">MakeClone</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04305" name="l04305"></a><span class="lineno"> 4305</span> </div>
<div class="line"><a id="l04307" name="l04307"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#a0c955ff1b2eae2daece0f25f1e57fb16"> 4307</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#a0c955ff1b2eae2daece0f25f1e57fb16">EnterSearch</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04308" name="l04308"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#a6022c765bf8a03b9322ca6c6591b3c21"> 4308</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#a6022c765bf8a03b9322ca6c6591b3c21">BeginNextDecision</a>(<a class="code hl_class" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a>* <span class="keyword">const</span> b) <span class="keyword">override</span>;</div>
<div class="line"><a id="l04309" name="l04309"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#a310e97cfc134567a740679be9186e194"> 4309</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#a310e97cfc134567a740679be9186e194">PeriodicCheck</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04310" name="l04310"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#acdef27972648252e66630c3b078aa962"> 4310</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#acdef27972648252e66630c3b078aa962">RefuteDecision</a>(<a class="code hl_class" href="classoperations__research_1_1_decision.html">Decision</a>* <span class="keyword">const</span> d) <span class="keyword">override</span>;</div>
<div class="line"><a id="l04311" name="l04311"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_search_limit.html#aed804747c45a7e1caf81461f9e45dd91"> 4311</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_search_limit.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{</div>
<div class="line"><a id="l04312" name="l04312"></a><span class="lineno"> 4312</span> <span class="keywordflow">return</span> absl::StrFormat(<span class="stringliteral">&quot;SearchLimit(crossed = %i)&quot;</span>, crossed_);</div>
<div class="line"><a id="l04313" name="l04313"></a><span class="lineno"> 4313</span> }</div>
<div class="line"><a id="l04314" name="l04314"></a><span class="lineno"> 4314</span> </div>
<div class="line"><a id="l04315" name="l04315"></a><span class="lineno"> 4315</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04316" name="l04316"></a><span class="lineno"> 4316</span> <span class="keywordtype">void</span> TopPeriodicCheck();</div>
<div class="line"><a id="l04317" name="l04317"></a><span class="lineno"> 4317</span> </div>
<div class="line"><a id="l04318" name="l04318"></a><span class="lineno"> 4318</span> <span class="keywordtype">bool</span> crossed_;</div>
<div class="line"><a id="l04319" name="l04319"></a><span class="lineno"> 4319</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>);</div>
<div class="line"><a id="l04320" name="l04320"></a><span class="lineno"> 4320</span>};</div>
<div class="line"><a id="l04321" name="l04321"></a><span class="lineno"> 4321</span> </div>
<div class="line"><a id="l04324" name="l04324"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html"> 4324</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> {</div>
<div class="line"><a id="l04325" name="l04325"></a><span class="lineno"> 4325</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04326" name="l04326"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#ad0f093cb34e6c424b7b7cc973d1bc0a3"> 4326</a></span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#ad0f093cb34e6c424b7b7cc973d1bc0a3">RegularLimit</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, absl::Duration time, int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a14f1aa725d9c4497296b233dbcb28402">branches</a>,</div>
<div class="line"><a id="l04327" name="l04327"></a><span class="lineno"> 4327</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a7dcb440a607b4b39979280ee21621473">failures</a>, int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#af1315bc614fc71a3c90729398d208289">solutions</a>, <span class="keywordtype">bool</span> smart_time_check,</div>
<div class="line"><a id="l04328" name="l04328"></a><span class="lineno"> 4328</span> <span class="keywordtype">bool</span> cumulative);</div>
<div class="line"><a id="l04329" name="l04329"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a4b4eab279939d2f78038cc89554a3d61"> 4329</a></span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a4b4eab279939d2f78038cc89554a3d61">~RegularLimit</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04330" name="l04330"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#aac0948fa90cbc174304a0f6c78d72e15"> 4330</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#aac0948fa90cbc174304a0f6c78d72e15">Copy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <span class="keyword">const</span> limit) <span class="keyword">override</span>;</div>
<div class="line"><a id="l04331" name="l04331"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#afc23e507ef75a1c5d83677384d59cb0c"> 4331</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#afc23e507ef75a1c5d83677384d59cb0c">MakeClone</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l04332" name="l04332"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#ad74b8657dc115d03d0135566e2e6c0cf"> 4332</a></span> <a class="code hl_class" href="classoperations__research_1_1_regular_limit.html">RegularLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#ad74b8657dc115d03d0135566e2e6c0cf">MakeIdenticalClone</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04333" name="l04333"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a01dd9b59b9a183cb3ba148b08d09b320"> 4333</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a01dd9b59b9a183cb3ba148b08d09b320">Check</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04334" name="l04334"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a47de93e849d14c3eda08d78613506608"> 4334</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a47de93e849d14c3eda08d78613506608">Init</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04335" name="l04335"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a4d07aaa3fe401d52e938c2f8f7f2e26f"> 4335</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a4d07aaa3fe401d52e938c2f8f7f2e26f">ExitSearch</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04336" name="l04336"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a31c8a0b81a7b1d7ebccff84666901671"> 4336</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a31c8a0b81a7b1d7ebccff84666901671">UpdateLimits</a>(absl::Duration time, int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a14f1aa725d9c4497296b233dbcb28402">branches</a>, int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a7dcb440a607b4b39979280ee21621473">failures</a>,</div>
<div class="line"><a id="l04337" name="l04337"></a><span class="lineno"> 4337</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#af1315bc614fc71a3c90729398d208289">solutions</a>);</div>
<div class="line"><a id="l04338" name="l04338"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a039f4519955ca1dd2aa8b82b7f7a37fa"> 4338</a></span> absl::Duration <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a039f4519955ca1dd2aa8b82b7f7a37fa">duration_limit</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> duration_limit_; }</div>
<div class="line"><a id="l04339" name="l04339"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a6129ea627a9a40fc21ddc24914cc6958"> 4339</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a6129ea627a9a40fc21ddc24914cc6958">wall_time</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04340" name="l04340"></a><span class="lineno"> 4340</span> <span class="keywordflow">return</span> duration_limit_ == absl::InfiniteDuration()</div>
<div class="line"><a id="l04341" name="l04341"></a><span class="lineno"> 4341</span> ? kint64max</div>
<div class="line"><a id="l04342" name="l04342"></a><span class="lineno"> 4342</span> : absl::ToInt64Milliseconds(<a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a039f4519955ca1dd2aa8b82b7f7a37fa">duration_limit</a>());</div>
<div class="line"><a id="l04343" name="l04343"></a><span class="lineno"> 4343</span> }</div>
<div class="line"><a id="l04344" name="l04344"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a14f1aa725d9c4497296b233dbcb28402"> 4344</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a14f1aa725d9c4497296b233dbcb28402">branches</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> branches_; }</div>
<div class="line"><a id="l04345" name="l04345"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a7dcb440a607b4b39979280ee21621473"> 4345</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a7dcb440a607b4b39979280ee21621473">failures</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> failures_; }</div>
<div class="line"><a id="l04346" name="l04346"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#af1315bc614fc71a3c90729398d208289"> 4346</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#af1315bc614fc71a3c90729398d208289">solutions</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> solutions_; }</div>
<div class="line"><a id="l04347" name="l04347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a1d6a0a8f90a9b39efbd6b00994d212c8"> 4347</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a1d6a0a8f90a9b39efbd6b00994d212c8">IsUncheckedSolutionLimitReached</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04348" name="l04348"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a7dae7731e3aee0f21059730b01aaaf51"> 4348</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a7dae7731e3aee0f21059730b01aaaf51">ProgressPercent</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04349" name="l04349"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#aed804747c45a7e1caf81461f9e45dd91"> 4349</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l04350" name="l04350"></a><span class="lineno"> 4350</span> </div>
<div class="line"><a id="l04351" name="l04351"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#a8cc63d9778229883ca7594b3a47d8f5b"> 4351</a></span> absl::Time <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#a8cc63d9778229883ca7594b3a47d8f5b">AbsoluteSolverDeadline</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04352" name="l04352"></a><span class="lineno"> 4352</span> <span class="keywordflow">return</span> solver_time_at_limit_start_ + duration_limit_;</div>
<div class="line"><a id="l04353" name="l04353"></a><span class="lineno"> 4353</span> }</div>
<div class="line"><a id="l04354" name="l04354"></a><span class="lineno"> 4354</span> </div>
<div class="line"><a id="l04355" name="l04355"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_regular_limit.html#aa30c84aec5e60d6b74e1e1eb15011d4a"> 4355</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_regular_limit.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const override</span>;</div>
<div class="line"><a id="l04356" name="l04356"></a><span class="lineno"> 4356</span> </div>
<div class="line"><a id="l04357" name="l04357"></a><span class="lineno"> 4357</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04358" name="l04358"></a><span class="lineno"> 4358</span> <span class="keywordtype">bool</span> CheckTime();</div>
<div class="line"><a id="l04359" name="l04359"></a><span class="lineno"> 4359</span> absl::Duration TimeElapsed();</div>
<div class="line"><a id="l04360" name="l04360"></a><span class="lineno"> 4360</span> <span class="keyword">static</span> int64_t GetPercent(int64_t value, int64_t offset, int64_t total) {</div>
<div class="line"><a id="l04361" name="l04361"></a><span class="lineno"> 4361</span> <span class="keywordflow">return</span> (total &gt; 0 &amp;&amp; total &lt; kint64max) ? 100 * (value - offset) / total</div>
<div class="line"><a id="l04362" name="l04362"></a><span class="lineno"> 4362</span> : -1;</div>
<div class="line"><a id="l04363" name="l04363"></a><span class="lineno"> 4363</span> }</div>
<div class="line"><a id="l04364" name="l04364"></a><span class="lineno"> 4364</span> </div>
<div class="line"><a id="l04365" name="l04365"></a><span class="lineno"> 4365</span> absl::Duration duration_limit_;</div>
<div class="line"><a id="l04366" name="l04366"></a><span class="lineno"> 4366</span> absl::Time solver_time_at_limit_start_;</div>
<div class="line"><a id="l04367" name="l04367"></a><span class="lineno"> 4367</span> absl::Duration last_time_elapsed_;</div>
<div class="line"><a id="l04368" name="l04368"></a><span class="lineno"> 4368</span> int64_t check_count_;</div>
<div class="line"><a id="l04369" name="l04369"></a><span class="lineno"> 4369</span> int64_t next_check_;</div>
<div class="line"><a id="l04370" name="l04370"></a><span class="lineno"> 4370</span> <span class="keywordtype">bool</span> smart_time_check_;</div>
<div class="line"><a id="l04371" name="l04371"></a><span class="lineno"> 4371</span> int64_t branches_;</div>
<div class="line"><a id="l04372" name="l04372"></a><span class="lineno"> 4372</span> int64_t branches_offset_;</div>
<div class="line"><a id="l04373" name="l04373"></a><span class="lineno"> 4373</span> int64_t failures_;</div>
<div class="line"><a id="l04374" name="l04374"></a><span class="lineno"> 4374</span> int64_t failures_offset_;</div>
<div class="line"><a id="l04375" name="l04375"></a><span class="lineno"> 4375</span> int64_t solutions_;</div>
<div class="line"><a id="l04376" name="l04376"></a><span class="lineno"> 4376</span> int64_t solutions_offset_;</div>
<div class="line"><a id="l04384" name="l04384"></a><span class="lineno"> 4384</span> <span class="keywordtype">bool</span> cumulative_;</div>
<div class="line"><a id="l04385" name="l04385"></a><span class="lineno"> 4385</span>};</div>
<div class="line"><a id="l04386" name="l04386"></a><span class="lineno"> 4386</span> </div>
<div class="line"><a id="l04387" name="l04387"></a><span class="lineno"> 4387</span><span class="comment">// Limit based on the improvement rate of &#39;objective_var&#39;.</span></div>
<div class="line"><a id="l04388" name="l04388"></a><span class="lineno"> 4388</span><span class="comment">// This limit proceeds in two stages:</span></div>
<div class="line"><a id="l04389" name="l04389"></a><span class="lineno"> 4389</span><span class="comment">// 1) During the phase of the search in which the objective_var is strictly</span></div>
<div class="line"><a id="l04390" name="l04390"></a><span class="lineno"> 4390</span><span class="comment">// improving, a threshold value is computed as the minimum improvement rate of</span></div>
<div class="line"><a id="l04391" name="l04391"></a><span class="lineno"> 4391</span><span class="comment">// the objective, based on the &#39;improvement_rate_coefficient&#39; and</span></div>
<div class="line"><a id="l04392" name="l04392"></a><span class="lineno"> 4392</span><span class="comment">// &#39;improvement_rate_solutions_distance&#39; parameters.</span></div>
<div class="line"><a id="l04393" name="l04393"></a><span class="lineno"> 4393</span><span class="comment">// 2) Then, if the search continues beyond this phase of strict improvement, the</span></div>
<div class="line"><a id="l04394" name="l04394"></a><span class="lineno"> 4394</span><span class="comment">// limit stops the search when the improvement rate of the objective gets below</span></div>
<div class="line"><a id="l04395" name="l04395"></a><span class="lineno"> 4395</span><span class="comment">// this threshold value.</span></div>
<div class="line"><a id="l04396" name="l04396"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_improvement_search_limit.html"> 4396</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_improvement_search_limit.html">ImprovementSearchLimit</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a> {</div>
<div class="line"><a id="l04397" name="l04397"></a><span class="lineno"> 4397</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04398" name="l04398"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_improvement_search_limit.html#ace6f7208e64e96dcb416cd1f655b2d7e"> 4398</a></span> <a class="code hl_function" href="classoperations__research_1_1_improvement_search_limit.html#ace6f7208e64e96dcb416cd1f655b2d7e">ImprovementSearchLimit</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* objective_var, <span class="keywordtype">bool</span> maximize,</div>
<div class="line"><a id="l04399" name="l04399"></a><span class="lineno"> 4399</span> <span class="keywordtype">double</span> objective_scaling_factor,</div>
<div class="line"><a id="l04400" name="l04400"></a><span class="lineno"> 4400</span> <span class="keywordtype">double</span> objective_offset,</div>
<div class="line"><a id="l04401" name="l04401"></a><span class="lineno"> 4401</span> <span class="keywordtype">double</span> improvement_rate_coefficient,</div>
<div class="line"><a id="l04402" name="l04402"></a><span class="lineno"> 4402</span> <span class="keywordtype">int</span> improvement_rate_solutions_distance);</div>
<div class="line"><a id="l04403" name="l04403"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_improvement_search_limit.html#aab0de8acccf98e802eb678843afd0c45"> 4403</a></span> <a class="code hl_function" href="classoperations__research_1_1_improvement_search_limit.html#aab0de8acccf98e802eb678843afd0c45">~ImprovementSearchLimit</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04404" name="l04404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_improvement_search_limit.html#aac0948fa90cbc174304a0f6c78d72e15"> 4404</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_improvement_search_limit.html#aac0948fa90cbc174304a0f6c78d72e15">Copy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <span class="keyword">const</span> limit) <span class="keyword">override</span>;</div>
<div class="line"><a id="l04405" name="l04405"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_improvement_search_limit.html#afc23e507ef75a1c5d83677384d59cb0c"> 4405</a></span> <a class="code hl_class" href="classoperations__research_1_1_search_limit.html">SearchLimit</a>* <a class="code hl_function" href="classoperations__research_1_1_improvement_search_limit.html#afc23e507ef75a1c5d83677384d59cb0c">MakeClone</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l04406" name="l04406"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_improvement_search_limit.html#a01dd9b59b9a183cb3ba148b08d09b320"> 4406</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_improvement_search_limit.html#a01dd9b59b9a183cb3ba148b08d09b320">Check</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04407" name="l04407"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_improvement_search_limit.html#ab3631067f88ccc24c5db6a8a0dc64e47"> 4407</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_improvement_search_limit.html#ab3631067f88ccc24c5db6a8a0dc64e47">AtSolution</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04408" name="l04408"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_improvement_search_limit.html#a47de93e849d14c3eda08d78613506608"> 4408</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_improvement_search_limit.html#a47de93e849d14c3eda08d78613506608">Init</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04409" name="l04409"></a><span class="lineno"> 4409</span> </div>
<div class="line"><a id="l04410" name="l04410"></a><span class="lineno"> 4410</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04411" name="l04411"></a><span class="lineno"> 4411</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* objective_var_;</div>
<div class="line"><a id="l04412" name="l04412"></a><span class="lineno"> 4412</span> <span class="keywordtype">bool</span> maximize_;</div>
<div class="line"><a id="l04413" name="l04413"></a><span class="lineno"> 4413</span> <span class="keywordtype">double</span> objective_scaling_factor_;</div>
<div class="line"><a id="l04414" name="l04414"></a><span class="lineno"> 4414</span> <span class="keywordtype">double</span> objective_offset_;</div>
<div class="line"><a id="l04415" name="l04415"></a><span class="lineno"> 4415</span> <span class="keywordtype">double</span> improvement_rate_coefficient_;</div>
<div class="line"><a id="l04416" name="l04416"></a><span class="lineno"> 4416</span> <span class="keywordtype">int</span> improvement_rate_solutions_distance_;</div>
<div class="line"><a id="l04417" name="l04417"></a><span class="lineno"> 4417</span> </div>
<div class="line"><a id="l04418" name="l04418"></a><span class="lineno"> 4418</span> <span class="keywordtype">double</span> best_objective_;</div>
<div class="line"><a id="l04419" name="l04419"></a><span class="lineno"> 4419</span> <span class="comment">// clang-format off</span></div>
<div class="line"><a id="l04420" name="l04420"></a><span class="lineno"> 4420</span> std::deque&lt;std::pair&lt;double, int64_t&gt; &gt; improvements_;</div>
<div class="line"><a id="l04421" name="l04421"></a><span class="lineno"> 4421</span> <span class="comment">// clang-format on</span></div>
<div class="line"><a id="l04422" name="l04422"></a><span class="lineno"> 4422</span> <span class="keywordtype">double</span> threshold_;</div>
<div class="line"><a id="l04423" name="l04423"></a><span class="lineno"> 4423</span> <span class="keywordtype">bool</span> objective_updated_;</div>
<div class="line"><a id="l04424" name="l04424"></a><span class="lineno"> 4424</span> <span class="keywordtype">bool</span> gradient_stage_;</div>
<div class="line"><a id="l04425" name="l04425"></a><span class="lineno"> 4425</span>};</div>
<div class="line"><a id="l04426" name="l04426"></a><span class="lineno"> 4426</span> </div>
<div class="line"><a id="l04437" name="l04437"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html"> 4437</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a> {</div>
<div class="line"><a id="l04438" name="l04438"></a><span class="lineno"> 4438</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04440" name="l04440"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a676bfd8f3431f0907155f7165476e046"> 4440</a></span> <span class="keyword">static</span> <span class="keyword">const</span> int64_t <a class="code hl_variable" href="classoperations__research_1_1_interval_var.html#a676bfd8f3431f0907155f7165476e046">kMinValidValue</a>;</div>
<div class="line"><a id="l04442" name="l04442"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a750d489e3e3f4b6c596d441046f8365f"> 4442</a></span> <span class="keyword">static</span> <span class="keyword">const</span> int64_t <a class="code hl_variable" href="classoperations__research_1_1_interval_var.html#a750d489e3e3f4b6c596d441046f8365f">kMaxValidValue</a>;</div>
<div class="line"><a id="l04443" name="l04443"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a80fdadbf273640022be0e62fe34ca247"> 4443</a></span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a80fdadbf273640022be0e62fe34ca247">IntervalVar</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>, <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>)</div>
<div class="line"><a id="l04444" name="l04444"></a><span class="lineno"> 4444</span> : <a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>) {</div>
<div class="line"><a id="l04445" name="l04445"></a><span class="lineno"> 4445</span> <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#ad5260b9627048b854b45d05ed34adc22">set_name</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div>
<div class="line"><a id="l04446" name="l04446"></a><span class="lineno"> 4446</span> }</div>
<div class="line"><a id="l04447" name="l04447"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a85b770f10424a1cf4ae734ccbd761a55"> 4447</a></span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a85b770f10424a1cf4ae734ccbd761a55">~IntervalVar</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l04448" name="l04448"></a><span class="lineno"> 4448</span> </div>
<div class="line"><a id="l04451" name="l04451"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#aa93a06dc97f33ccaefc7df90fb9b89d1"> 4451</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#aa93a06dc97f33ccaefc7df90fb9b89d1">StartMin</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04452" name="l04452"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#af9f22c28d624c6efb78156365d35a690"> 4452</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#af9f22c28d624c6efb78156365d35a690">StartMax</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04453" name="l04453"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#af17e3f40b29053876f72a6f64da95f77"> 4453</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#af17e3f40b29053876f72a6f64da95f77">SetStartMin</a>(int64_t m) = 0;</div>
<div class="line"><a id="l04454" name="l04454"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a64f4fd0bd38cee6cefc92f0a1d9b2173"> 4454</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a64f4fd0bd38cee6cefc92f0a1d9b2173">SetStartMax</a>(int64_t m) = 0;</div>
<div class="line"><a id="l04455" name="l04455"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a6cffde1e7bebc7dca3ea2f6c3eb8b89f"> 4455</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a6cffde1e7bebc7dca3ea2f6c3eb8b89f">SetStartRange</a>(int64_t mi, int64_t ma) = 0;</div>
<div class="line"><a id="l04456" name="l04456"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#af902071de9bce5da79091eaeb516441d"> 4456</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#af902071de9bce5da79091eaeb516441d">OldStartMin</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04457" name="l04457"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a71a5d45fb0d57b2bb5647a8229bc0fc5"> 4457</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a71a5d45fb0d57b2bb5647a8229bc0fc5">OldStartMax</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04458" name="l04458"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ac2eddfa8bbcc407e02de0c9a18e6710c"> 4458</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ac2eddfa8bbcc407e02de0c9a18e6710c">WhenStartRange</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div>
<div class="line"><a id="l04459" name="l04459"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ab2c1ea6c42add4cb68084080336c4474"> 4459</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ab2c1ea6c42add4cb68084080336c4474">WhenStartRange</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04460" name="l04460"></a><span class="lineno"> 4460</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ac2eddfa8bbcc407e02de0c9a18e6710c">WhenStartRange</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04461" name="l04461"></a><span class="lineno"> 4461</span> }</div>
<div class="line"><a id="l04462" name="l04462"></a><span class="lineno"> 4462</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04463" name="l04463"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a674419a6fdb564b44c242ceef4aa474f"> 4463</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a674419a6fdb564b44c242ceef4aa474f">WhenStartRange</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04464" name="l04464"></a><span class="lineno"> 4464</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ac2eddfa8bbcc407e02de0c9a18e6710c">WhenStartRange</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04465" name="l04465"></a><span class="lineno"> 4465</span> }</div>
<div class="line"><a id="l04466" name="l04466"></a><span class="lineno"> 4466</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04467" name="l04467"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a349b5f41930e3a1d4e516145a1edb004"> 4467</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a349b5f41930e3a1d4e516145a1edb004">WhenStartBound</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div>
<div class="line"><a id="l04468" name="l04468"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a283e9ef538394e378e54f5acc8c640b3"> 4468</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a283e9ef538394e378e54f5acc8c640b3">WhenStartBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04469" name="l04469"></a><span class="lineno"> 4469</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a349b5f41930e3a1d4e516145a1edb004">WhenStartBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04470" name="l04470"></a><span class="lineno"> 4470</span> }</div>
<div class="line"><a id="l04471" name="l04471"></a><span class="lineno"> 4471</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04472" name="l04472"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a9648e486d02d610907100805e54d0c0e"> 4472</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a9648e486d02d610907100805e54d0c0e">WhenStartBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04473" name="l04473"></a><span class="lineno"> 4473</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a349b5f41930e3a1d4e516145a1edb004">WhenStartBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04474" name="l04474"></a><span class="lineno"> 4474</span> }</div>
<div class="line"><a id="l04475" name="l04475"></a><span class="lineno"> 4475</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04476" name="l04476"></a><span class="lineno"> 4476</span> </div>
<div class="line"><a id="l04478" name="l04478"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a4488d66b163b204a15eadeafcf4872f8"> 4478</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a4488d66b163b204a15eadeafcf4872f8">DurationMin</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04479" name="l04479"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a2e69397c7c1e71a796afa6a632ee8296"> 4479</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a2e69397c7c1e71a796afa6a632ee8296">DurationMax</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04480" name="l04480"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a144aa998cfd2031d29cb13490215903f"> 4480</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a144aa998cfd2031d29cb13490215903f">SetDurationMin</a>(int64_t m) = 0;</div>
<div class="line"><a id="l04481" name="l04481"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a494fef7697b19949043f2b71fa505a25"> 4481</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a494fef7697b19949043f2b71fa505a25">SetDurationMax</a>(int64_t m) = 0;</div>
<div class="line"><a id="l04482" name="l04482"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ada2340e144706963137dd79ee17f8a68"> 4482</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ada2340e144706963137dd79ee17f8a68">SetDurationRange</a>(int64_t mi, int64_t ma) = 0;</div>
<div class="line"><a id="l04483" name="l04483"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a74a0a8c5b7e2f7d03777c83a41dd9b6f"> 4483</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a74a0a8c5b7e2f7d03777c83a41dd9b6f">OldDurationMin</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04484" name="l04484"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a7af3ed44ee43f1ad345ef81668a13301"> 4484</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a7af3ed44ee43f1ad345ef81668a13301">OldDurationMax</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04485" name="l04485"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a70884f4eed3ebe4c9ca46dc22a797195"> 4485</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a70884f4eed3ebe4c9ca46dc22a797195">WhenDurationRange</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div>
<div class="line"><a id="l04486" name="l04486"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a17baafda330e225559f6b2a8b53d7b8b"> 4486</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a17baafda330e225559f6b2a8b53d7b8b">WhenDurationRange</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04487" name="l04487"></a><span class="lineno"> 4487</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a70884f4eed3ebe4c9ca46dc22a797195">WhenDurationRange</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04488" name="l04488"></a><span class="lineno"> 4488</span> }</div>
<div class="line"><a id="l04489" name="l04489"></a><span class="lineno"> 4489</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04490" name="l04490"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#af61724f6a9f9d2d310203501c3e57894"> 4490</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#af61724f6a9f9d2d310203501c3e57894">WhenDurationRange</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04491" name="l04491"></a><span class="lineno"> 4491</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a70884f4eed3ebe4c9ca46dc22a797195">WhenDurationRange</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04492" name="l04492"></a><span class="lineno"> 4492</span> }</div>
<div class="line"><a id="l04493" name="l04493"></a><span class="lineno"> 4493</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04494" name="l04494"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a5f1474400988f1e51711f701e6755bd6"> 4494</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a5f1474400988f1e51711f701e6755bd6">WhenDurationBound</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div>
<div class="line"><a id="l04495" name="l04495"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#aff3e244214fe0edff58162e4d6a3d8ab"> 4495</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#aff3e244214fe0edff58162e4d6a3d8ab">WhenDurationBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04496" name="l04496"></a><span class="lineno"> 4496</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a5f1474400988f1e51711f701e6755bd6">WhenDurationBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04497" name="l04497"></a><span class="lineno"> 4497</span> }</div>
<div class="line"><a id="l04498" name="l04498"></a><span class="lineno"> 4498</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04499" name="l04499"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a7ee95dc5526fb2400c5af54f3246d5c4"> 4499</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a7ee95dc5526fb2400c5af54f3246d5c4">WhenDurationBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04500" name="l04500"></a><span class="lineno"> 4500</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a5f1474400988f1e51711f701e6755bd6">WhenDurationBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04501" name="l04501"></a><span class="lineno"> 4501</span> }</div>
<div class="line"><a id="l04502" name="l04502"></a><span class="lineno"> 4502</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04503" name="l04503"></a><span class="lineno"> 4503</span> </div>
<div class="line"><a id="l04505" name="l04505"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a9ae4b46f1aa6c51c0a5833d3531cd82c"> 4505</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a9ae4b46f1aa6c51c0a5833d3531cd82c">EndMin</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04506" name="l04506"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ae05142dd885524b06032bed1cbc63af0"> 4506</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ae05142dd885524b06032bed1cbc63af0">EndMax</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04507" name="l04507"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a966a201b02646b5fb8319b53ab4df72c"> 4507</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a966a201b02646b5fb8319b53ab4df72c">SetEndMin</a>(int64_t m) = 0;</div>
<div class="line"><a id="l04508" name="l04508"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a34ae38b26a14e6219b03ae0ddff34a80"> 4508</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a34ae38b26a14e6219b03ae0ddff34a80">SetEndMax</a>(int64_t m) = 0;</div>
<div class="line"><a id="l04509" name="l04509"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#af9008b227bdb48d30c162353b25b8a65"> 4509</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#af9008b227bdb48d30c162353b25b8a65">SetEndRange</a>(int64_t mi, int64_t ma) = 0;</div>
<div class="line"><a id="l04510" name="l04510"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a78d485a53b007609c2b95e100fa789fb"> 4510</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a78d485a53b007609c2b95e100fa789fb">OldEndMin</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04511" name="l04511"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a583554cded21727fb29e7b7184c5491f"> 4511</a></span> <span class="keyword">virtual</span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a583554cded21727fb29e7b7184c5491f">OldEndMax</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04512" name="l04512"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a56faf89c8f9d82ff3b34ec79f48de37d"> 4512</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a56faf89c8f9d82ff3b34ec79f48de37d">WhenEndRange</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div>
<div class="line"><a id="l04513" name="l04513"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a355d19148bcb4747b68e2e019f85082f"> 4513</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a355d19148bcb4747b68e2e019f85082f">WhenEndRange</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04514" name="l04514"></a><span class="lineno"> 4514</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a56faf89c8f9d82ff3b34ec79f48de37d">WhenEndRange</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04515" name="l04515"></a><span class="lineno"> 4515</span> }</div>
<div class="line"><a id="l04516" name="l04516"></a><span class="lineno"> 4516</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04517" name="l04517"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ab14e2d2421aa8d793df45251778e9ede"> 4517</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ab14e2d2421aa8d793df45251778e9ede">WhenEndRange</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04518" name="l04518"></a><span class="lineno"> 4518</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a56faf89c8f9d82ff3b34ec79f48de37d">WhenEndRange</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04519" name="l04519"></a><span class="lineno"> 4519</span> }</div>
<div class="line"><a id="l04520" name="l04520"></a><span class="lineno"> 4520</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04521" name="l04521"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a7941f3d8ba5465fc17c2cc9dc8266ea8"> 4521</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a7941f3d8ba5465fc17c2cc9dc8266ea8">WhenEndBound</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div>
<div class="line"><a id="l04522" name="l04522"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ae82eabc3ac9b82c5d0e16b20ff255be1"> 4522</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ae82eabc3ac9b82c5d0e16b20ff255be1">WhenEndBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04523" name="l04523"></a><span class="lineno"> 4523</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a7941f3d8ba5465fc17c2cc9dc8266ea8">WhenEndBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04524" name="l04524"></a><span class="lineno"> 4524</span> }</div>
<div class="line"><a id="l04525" name="l04525"></a><span class="lineno"> 4525</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04526" name="l04526"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a5179cad5976e0c8f934de68a81fd78fd"> 4526</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a5179cad5976e0c8f934de68a81fd78fd">WhenEndBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04527" name="l04527"></a><span class="lineno"> 4527</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a7941f3d8ba5465fc17c2cc9dc8266ea8">WhenEndBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04528" name="l04528"></a><span class="lineno"> 4528</span> }</div>
<div class="line"><a id="l04529" name="l04529"></a><span class="lineno"> 4529</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04530" name="l04530"></a><span class="lineno"> 4530</span> </div>
<div class="line"><a id="l04533" name="l04533"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a7f7f661e9b94f25f706732924e0f01e9"> 4533</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a7f7f661e9b94f25f706732924e0f01e9">MustBePerformed</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04534" name="l04534"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#af341bdc63fc2e487a50047afa36a536b"> 4534</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#af341bdc63fc2e487a50047afa36a536b">MayBePerformed</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04535" name="l04535"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#af84a48721386cc4b8e3fea30b00f6543"> 4535</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#af84a48721386cc4b8e3fea30b00f6543">CannotBePerformed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code hl_function" href="classoperations__research_1_1_interval_var.html#af341bdc63fc2e487a50047afa36a536b">MayBePerformed</a>(); }</div>
<div class="line"><a id="l04536" name="l04536"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ad4e82517bfdede7e0c6d86796434378f"> 4536</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ad4e82517bfdede7e0c6d86796434378f">IsPerformedBound</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04537" name="l04537"></a><span class="lineno"> 4537</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a7f7f661e9b94f25f706732924e0f01e9">MustBePerformed</a>() || !<a class="code hl_function" href="classoperations__research_1_1_interval_var.html#af341bdc63fc2e487a50047afa36a536b">MayBePerformed</a>();</div>
<div class="line"><a id="l04538" name="l04538"></a><span class="lineno"> 4538</span> }</div>
<div class="line"><a id="l04539" name="l04539"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a46fbee3c5ffb01df33db9b5a23c20233"> 4539</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a46fbee3c5ffb01df33db9b5a23c20233">SetPerformed</a>(<span class="keywordtype">bool</span> val) = 0;</div>
<div class="line"><a id="l04540" name="l04540"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a643ad0dc8e9cdf44c3923c1afb002787"> 4540</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a643ad0dc8e9cdf44c3923c1afb002787">WasPerformedBound</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04541" name="l04541"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a82728fd2e5b30169646991d9e78a75a4"> 4541</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a82728fd2e5b30169646991d9e78a75a4">WhenPerformedBound</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div>
<div class="line"><a id="l04542" name="l04542"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ae330c5b34b171e8840302a1e4ef1ca26"> 4542</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ae330c5b34b171e8840302a1e4ef1ca26">WhenPerformedBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04543" name="l04543"></a><span class="lineno"> 4543</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a82728fd2e5b30169646991d9e78a75a4">WhenPerformedBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04544" name="l04544"></a><span class="lineno"> 4544</span> }</div>
<div class="line"><a id="l04545" name="l04545"></a><span class="lineno"> 4545</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04546" name="l04546"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ade171abf4e9422b35a69df7eda30d541"> 4546</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ade171abf4e9422b35a69df7eda30d541">WhenPerformedBound</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04547" name="l04547"></a><span class="lineno"> 4547</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a82728fd2e5b30169646991d9e78a75a4">WhenPerformedBound</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04548" name="l04548"></a><span class="lineno"> 4548</span> }</div>
<div class="line"><a id="l04549" name="l04549"></a><span class="lineno"> 4549</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04550" name="l04550"></a><span class="lineno"> 4550</span> </div>
<div class="line"><a id="l04552" name="l04552"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a3b0638c92ea73b5666d6b667c44896f8"> 4552</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a3b0638c92ea73b5666d6b667c44896f8">WhenAnything</a>(<a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* <span class="keyword">const</span> d);</div>
<div class="line"><a id="l04554" name="l04554"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a1fa7ba3df05c93c2c8f9109d0268f4b2"> 4554</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a1fa7ba3df05c93c2c8f9109d0268f4b2">WhenAnything</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div>
<div class="line"><a id="l04555" name="l04555"></a><span class="lineno"> 4555</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a3b0638c92ea73b5666d6b667c44896f8">WhenAnything</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div>
<div class="line"><a id="l04556" name="l04556"></a><span class="lineno"> 4556</span> }</div>
<div class="line"><a id="l04557" name="l04557"></a><span class="lineno"> 4557</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04559" name="l04559"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#aa6098ce8819f48af907b816cd8de2e78"> 4559</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#aa6098ce8819f48af907b816cd8de2e78">WhenAnything</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div>
<div class="line"><a id="l04560" name="l04560"></a><span class="lineno"> 4560</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a3b0638c92ea73b5666d6b667c44896f8">WhenAnything</a>(<a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div>
<div class="line"><a id="l04561" name="l04561"></a><span class="lineno"> 4561</span> }</div>
<div class="line"><a id="l04562" name="l04562"></a><span class="lineno"> 4562</span><span class="preprocessor">#endif </span><span class="comment">// SWIG</span></div>
<div class="line"><a id="l04563" name="l04563"></a><span class="lineno"> 4563</span> </div>
<div class="line"><a id="l04567" name="l04567"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ac9cf2d1c9bc3f5f9e8993f899343171b"> 4567</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ac9cf2d1c9bc3f5f9e8993f899343171b">StartExpr</a>() = 0;</div>
<div class="line"><a id="l04568" name="l04568"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a19e457a32d714816843931759dd87988"> 4568</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a19e457a32d714816843931759dd87988">DurationExpr</a>() = 0;</div>
<div class="line"><a id="l04569" name="l04569"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#ab905cc61ae1bd5097c13e58b2abef1e1"> 4569</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#ab905cc61ae1bd5097c13e58b2abef1e1">EndExpr</a>() = 0;</div>
<div class="line"><a id="l04570" name="l04570"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a19e7c8a5c1951b2bf16aabbc278142f8"> 4570</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a19e7c8a5c1951b2bf16aabbc278142f8">PerformedExpr</a>() = 0;</div>
<div class="line"><a id="l04574" name="l04574"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a2dcdb08f02044d7828e185a08bec9c3b"> 4574</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a2dcdb08f02044d7828e185a08bec9c3b">SafeStartExpr</a>(int64_t unperformed_value) = 0;</div>
<div class="line"><a id="l04575" name="l04575"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a2cff6714b7d55aebce85b29dd1a63a05"> 4575</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a2cff6714b7d55aebce85b29dd1a63a05">SafeDurationExpr</a>(int64_t unperformed_value) = 0;</div>
<div class="line"><a id="l04576" name="l04576"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#abe18a6954c70afb1697ddf8516578384"> 4576</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_int_expr.html">IntExpr</a>* <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#abe18a6954c70afb1697ddf8516578384">SafeEndExpr</a>(int64_t unperformed_value) = 0;</div>
<div class="line"><a id="l04577" name="l04577"></a><span class="lineno"> 4577</span> </div>
<div class="line"><a id="l04579" name="l04579"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var.html#a7b8a6f05fe0fcec065317fbd8694969d"> 4579</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var.html#a7b8a6f05fe0fcec065317fbd8694969d">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l04580" name="l04580"></a><span class="lineno"> 4580</span> </div>
<div class="line"><a id="l04581" name="l04581"></a><span class="lineno"> 4581</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04582" name="l04582"></a><span class="lineno"> 4582</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>);</div>
<div class="line"><a id="l04583" name="l04583"></a><span class="lineno"> 4583</span>};</div>
<div class="line"><a id="l04584" name="l04584"></a><span class="lineno"> 4584</span> </div>
<div class="line"><a id="l04591" name="l04591"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html"> 4591</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a> {</div>
<div class="line"><a id="l04592" name="l04592"></a><span class="lineno"> 4592</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04593" name="l04593"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#aed4c20c3765ff3cde39e5bd2915d3699"> 4593</a></span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#aed4c20c3765ff3cde39e5bd2915d3699">SequenceVar</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a id="l04594" name="l04594"></a><span class="lineno"> 4594</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts, <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div>
<div class="line"><a id="l04595" name="l04595"></a><span class="lineno"> 4595</span> </div>
<div class="line"><a id="l04596" name="l04596"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a3a8465a1fa06dd401fa6924a492ce47b"> 4596</a></span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a3a8465a1fa06dd401fa6924a492ce47b">~SequenceVar</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l04597" name="l04597"></a><span class="lineno"> 4597</span> </div>
<div class="line"><a id="l04598" name="l04598"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#aed804747c45a7e1caf81461f9e45dd91"> 4598</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l04599" name="l04599"></a><span class="lineno"> 4599</span> </div>
<div class="line"><a id="l04600" name="l04600"></a><span class="lineno"> 4600</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l04603" name="l04603"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a38e9cb6169470555a7403c5102030294"> 4603</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a38e9cb6169470555a7403c5102030294">DurationRange</a>(int64_t* <span class="keyword">const</span> dmin, int64_t* <span class="keyword">const</span> dmax) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04604" name="l04604"></a><span class="lineno"> 4604</span> </div>
<div class="line"><a id="l04607" name="l04607"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a157c0f2f0636c4de7bded81fe83c6cec"> 4607</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a157c0f2f0636c4de7bded81fe83c6cec">HorizonRange</a>(int64_t* <span class="keyword">const</span> hmin, int64_t* <span class="keyword">const</span> hmax) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04608" name="l04608"></a><span class="lineno"> 4608</span> </div>
<div class="line"><a id="l04611" name="l04611"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a757086e12f4615673721fd77ca49da7b"> 4611</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a757086e12f4615673721fd77ca49da7b">ActiveHorizonRange</a>(int64_t* <span class="keyword">const</span> hmin, int64_t* <span class="keyword">const</span> hmax) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04612" name="l04612"></a><span class="lineno"> 4612</span> </div>
<div class="line"><a id="l04614" name="l04614"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a31d0bb3a9647ebb39d997f77a1eff435"> 4614</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a31d0bb3a9647ebb39d997f77a1eff435">ComputeStatistics</a>(<span class="keywordtype">int</span>* <span class="keyword">const</span> ranked, <span class="keywordtype">int</span>* <span class="keyword">const</span> not_ranked,</div>
<div class="line"><a id="l04615" name="l04615"></a><span class="lineno"> 4615</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> unperformed) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04616" name="l04616"></a><span class="lineno"> 4616</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l04617" name="l04617"></a><span class="lineno"> 4617</span> </div>
<div class="line"><a id="l04620" name="l04620"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#ab8618d2458a778c7ee4326b41bd2de7e"> 4620</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#ab8618d2458a778c7ee4326b41bd2de7e">RankFirst</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l04621" name="l04621"></a><span class="lineno"> 4621</span> </div>
<div class="line"><a id="l04624" name="l04624"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#aec7dac2fca35046761c8d47af724c091"> 4624</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#aec7dac2fca35046761c8d47af724c091">RankNotFirst</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l04625" name="l04625"></a><span class="lineno"> 4625</span> </div>
<div class="line"><a id="l04628" name="l04628"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#aaa902cac039701edcdaf15661fbed327"> 4628</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#aaa902cac039701edcdaf15661fbed327">RankLast</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l04629" name="l04629"></a><span class="lineno"> 4629</span> </div>
<div class="line"><a id="l04632" name="l04632"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#ad2fcd811f566cf9677c886576515f032"> 4632</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#ad2fcd811f566cf9677c886576515f032">RankNotLast</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l04633" name="l04633"></a><span class="lineno"> 4633</span> </div>
<div class="line"><a id="l04636" name="l04636"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a01635a3b908310e048be6c6b85366bb8"> 4636</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a01635a3b908310e048be6c6b85366bb8">ComputePossibleFirstsAndLasts</a>(std::vector&lt;int&gt;* <span class="keyword">const</span> possible_firsts,</div>
<div class="line"><a id="l04637" name="l04637"></a><span class="lineno"> 4637</span> std::vector&lt;int&gt;* <span class="keyword">const</span> possible_lasts);</div>
<div class="line"><a id="l04638" name="l04638"></a><span class="lineno"> 4638</span> </div>
<div class="line"><a id="l04644" name="l04644"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a2c3cdf1887a496fe0fdd4b5abe5c33f5"> 4644</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a2c3cdf1887a496fe0fdd4b5abe5c33f5">RankSequence</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; rank_first,</div>
<div class="line"><a id="l04645" name="l04645"></a><span class="lineno"> 4645</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; rank_last,</div>
<div class="line"><a id="l04646" name="l04646"></a><span class="lineno"> 4646</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div>
<div class="line"><a id="l04647" name="l04647"></a><span class="lineno"> 4647</span> </div>
<div class="line"><a id="l04656" name="l04656"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a19499c160356f9655862f3037315d87d"> 4656</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a19499c160356f9655862f3037315d87d">FillSequence</a>(std::vector&lt;int&gt;* <span class="keyword">const</span> rank_first,</div>
<div class="line"><a id="l04657" name="l04657"></a><span class="lineno"> 4657</span> std::vector&lt;int&gt;* <span class="keyword">const</span> rank_last,</div>
<div class="line"><a id="l04658" name="l04658"></a><span class="lineno"> 4658</span> std::vector&lt;int&gt;* <span class="keyword">const</span> unperformed) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04659" name="l04659"></a><span class="lineno"> 4659</span> </div>
<div class="line"><a id="l04661" name="l04661"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a896e760e54eb350618d538c3c2f71ecc"> 4661</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a896e760e54eb350618d538c3c2f71ecc">Interval</a>(<span class="keywordtype">int</span> index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04662" name="l04662"></a><span class="lineno"> 4662</span> </div>
<div class="line"><a id="l04664" name="l04664"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#a78865614535cb831319b955f6106bcaa"> 4664</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#a78865614535cb831319b955f6106bcaa">Next</a>(<span class="keywordtype">int</span> index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04665" name="l04665"></a><span class="lineno"> 4665</span> </div>
<div class="line"><a id="l04667" name="l04667"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#aa326d81dcac346461f3b8528bf0b49de"> 4667</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#aa326d81dcac346461f3b8528bf0b49de">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> intervals_.size(); }</div>
<div class="line"><a id="l04668" name="l04668"></a><span class="lineno"> 4668</span> </div>
<div class="line"><a id="l04670" name="l04670"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var.html#afcde421cf076575a27bed81c80093ac8"> 4670</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04671" name="l04671"></a><span class="lineno"> 4671</span> </div>
<div class="line"><a id="l04672" name="l04672"></a><span class="lineno"> 4672</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04673" name="l04673"></a><span class="lineno"> 4673</span> <span class="keywordtype">int</span> ComputeForwardFrontier();</div>
<div class="line"><a id="l04674" name="l04674"></a><span class="lineno"> 4674</span> <span class="keywordtype">int</span> ComputeBackwardFrontier();</div>
<div class="line"><a id="l04675" name="l04675"></a><span class="lineno"> 4675</span> <span class="keywordtype">void</span> UpdatePrevious() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04676" name="l04676"></a><span class="lineno"> 4676</span> </div>
<div class="line"><a id="l04677" name="l04677"></a><span class="lineno"> 4677</span> <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt; intervals_;</div>
<div class="line"><a id="l04678" name="l04678"></a><span class="lineno"> 4678</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt; nexts_;</div>
<div class="line"><a id="l04679" name="l04679"></a><span class="lineno"> 4679</span> <span class="keyword">mutable</span> std::vector&lt;int&gt; previous_;</div>
<div class="line"><a id="l04680" name="l04680"></a><span class="lineno"> 4680</span>};</div>
<div class="line"><a id="l04681" name="l04681"></a><span class="lineno"> 4681</span> </div>
<div class="line"><a id="l04682" name="l04682"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_element.html"> 4682</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_assignment_element.html">AssignmentElement</a> {</div>
<div class="line"><a id="l04683" name="l04683"></a><span class="lineno"> 4683</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04684" name="l04684"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_element.html#af5b9d7522539d5b89a7c7652bdcd2a3e"> 4684</a></span> <a class="code hl_function" href="classoperations__research_1_1_assignment_element.html#af5b9d7522539d5b89a7c7652bdcd2a3e">AssignmentElement</a>() : activated_(true) {}</div>
<div class="line"><a id="l04685" name="l04685"></a><span class="lineno"> 4685</span> </div>
<div class="line"><a id="l04686" name="l04686"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_element.html#ae8753efaeea05f65094a4875a694a368"> 4686</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_element.html#ae8753efaeea05f65094a4875a694a368">Activate</a>() { activated_ = <span class="keyword">true</span>; }</div>
<div class="line"><a id="l04687" name="l04687"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_element.html#a9c9dd3575fbfc59e05ae9ed1c05f8896"> 4687</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_element.html#a9c9dd3575fbfc59e05ae9ed1c05f8896">Deactivate</a>() { activated_ = <span class="keyword">false</span>; }</div>
<div class="line"><a id="l04688" name="l04688"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_element.html#ae79195ce9bb522329dfaedaba78bd4e2"> 4688</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_element.html#ae79195ce9bb522329dfaedaba78bd4e2">Activated</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> activated_; }</div>
<div class="line"><a id="l04689" name="l04689"></a><span class="lineno"> 4689</span> </div>
<div class="line"><a id="l04690" name="l04690"></a><span class="lineno"> 4690</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04691" name="l04691"></a><span class="lineno"> 4691</span> <span class="keywordtype">bool</span> activated_;</div>
<div class="line"><a id="l04692" name="l04692"></a><span class="lineno"> 4692</span>};</div>
<div class="line"><a id="l04693" name="l04693"></a><span class="lineno"> 4693</span> </div>
<div class="line"><a id="l04694" name="l04694"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html"> 4694</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_int_var_element.html">IntVarElement</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_element.html">AssignmentElement</a> {</div>
<div class="line"><a id="l04695" name="l04695"></a><span class="lineno"> 4695</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04696" name="l04696"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a73063c916ad469eb39c8a5160746342b"> 4696</a></span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a73063c916ad469eb39c8a5160746342b">IntVarElement</a>();</div>
<div class="line"><a id="l04697" name="l04697"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a576f597c20d0353c261257ae7fa88192"> 4697</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a576f597c20d0353c261257ae7fa88192">IntVarElement</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l04698" name="l04698"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a3196af797c21cdf61571e8a4dbfedc1a"> 4698</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a3196af797c21cdf61571e8a4dbfedc1a">Reset</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l04699" name="l04699"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a5f280c725678ec4deab773d6677b2430"> 4699</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var_element.html">IntVarElement</a>* <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a5f280c725678ec4deab773d6677b2430">Clone</a>();</div>
<div class="line"><a id="l04700" name="l04700"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a055d26b7c759d2097e06ac802786b7b9"> 4700</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a055d26b7c759d2097e06ac802786b7b9">Copy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var_element.html">IntVarElement</a>&amp; element);</div>
<div class="line"><a id="l04701" name="l04701"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#ad197164b669d8b5d35fc497754791e39"> 4701</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#ad197164b669d8b5d35fc497754791e39">Var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> var_; }</div>
<div class="line"><a id="l04702" name="l04702"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a3abcbe1fcd37d8982941a795ed22e34a"> 4702</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>() {</div>
<div class="line"><a id="l04703" name="l04703"></a><span class="lineno"> 4703</span> min_ = var_-&gt;<a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a62b340f6d1dde6a36560bd88a382ada7">Min</a>();</div>
<div class="line"><a id="l04704" name="l04704"></a><span class="lineno"> 4704</span> max_ = var_-&gt;<a class="code hl_function" href="classoperations__research_1_1_int_expr.html#ac84c250d67f30c89e845cd460eeaaad8">Max</a>();</div>
<div class="line"><a id="l04705" name="l04705"></a><span class="lineno"> 4705</span> }</div>
<div class="line"><a id="l04706" name="l04706"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a1896fe755b612dbebd2c46638f8977a2"> 4706</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>() {</div>
<div class="line"><a id="l04707" name="l04707"></a><span class="lineno"> 4707</span> <span class="keywordflow">if</span> (var_ != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l04708" name="l04708"></a><span class="lineno"> 4708</span> var_-&gt;<a class="code hl_function" href="classoperations__research_1_1_int_expr.html#a076a8890703df019ca737781b376cbe3">SetRange</a>(min_, max_);</div>
<div class="line"><a id="l04709" name="l04709"></a><span class="lineno"> 4709</span> }</div>
<div class="line"><a id="l04710" name="l04710"></a><span class="lineno"> 4710</span> }</div>
<div class="line"><a id="l04711" name="l04711"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#aa5f2722386540253d4be5ea1c7d31965"> 4711</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#aa5f2722386540253d4be5ea1c7d31965">LoadFromProto</a>(<span class="keyword">const</span> IntVarAssignment&amp; int_var_assignment_proto);</div>
<div class="line"><a id="l04712" name="l04712"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a7dc350ccebb0b18b1028ccbae54f30ea"> 4712</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a7dc350ccebb0b18b1028ccbae54f30ea">WriteToProto</a>(IntVarAssignment* int_var_assignment_proto) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04713" name="l04713"></a><span class="lineno"> 4713</span> </div>
<div class="line"><a id="l04714" name="l04714"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a8cf21a67f7d81a800ff912239bb2db64"> 4714</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a8cf21a67f7d81a800ff912239bb2db64">Min</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> min_; }</div>
<div class="line"><a id="l04715" name="l04715"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a2920aa7123e953be34b7973374ab0aeb"> 4715</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a2920aa7123e953be34b7973374ab0aeb">SetMin</a>(int64_t m) { min_ = m; }</div>
<div class="line"><a id="l04716" name="l04716"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#aa74ea8cd1b0767659f704b482d07c103"> 4716</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#aa74ea8cd1b0767659f704b482d07c103">Max</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> max_; }</div>
<div class="line"><a id="l04717" name="l04717"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a0a798fab1f763023bad7a5c866e7f036"> 4717</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a0a798fab1f763023bad7a5c866e7f036">SetMax</a>(int64_t m) { max_ = m; }</div>
<div class="line"><a id="l04718" name="l04718"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a15828fe5ecfdada586a63d916b7b7354"> 4718</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a15828fe5ecfdada586a63d916b7b7354">Value</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04719" name="l04719"></a><span class="lineno"> 4719</span> DCHECK_EQ(min_, max_);</div>
<div class="line"><a id="l04720" name="l04720"></a><span class="lineno"> 4720</span> <span class="comment">// Get the value from an unbound int var assignment element.</span></div>
<div class="line"><a id="l04721" name="l04721"></a><span class="lineno"> 4721</span> <span class="keywordflow">return</span> min_;</div>
<div class="line"><a id="l04722" name="l04722"></a><span class="lineno"> 4722</span> }</div>
<div class="line"><a id="l04723" name="l04723"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a4bead74295e1e5675c0984fcc91ef057"> 4723</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a4bead74295e1e5675c0984fcc91ef057">Bound</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (max_ == min_); }</div>
<div class="line"><a id="l04724" name="l04724"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#afbff345c1395fcbc5eb64ff50b21e423"> 4724</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#afbff345c1395fcbc5eb64ff50b21e423">SetRange</a>(int64_t l, int64_t u) {</div>
<div class="line"><a id="l04725" name="l04725"></a><span class="lineno"> 4725</span> min_ = l;</div>
<div class="line"><a id="l04726" name="l04726"></a><span class="lineno"> 4726</span> max_ = u;</div>
<div class="line"><a id="l04727" name="l04727"></a><span class="lineno"> 4727</span> }</div>
<div class="line"><a id="l04728" name="l04728"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#ac1b2a58bfded95799de1fd7958bdb2a3"> 4728</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#ac1b2a58bfded95799de1fd7958bdb2a3">SetValue</a>(int64_t v) {</div>
<div class="line"><a id="l04729" name="l04729"></a><span class="lineno"> 4729</span> min_ = v;</div>
<div class="line"><a id="l04730" name="l04730"></a><span class="lineno"> 4730</span> max_ = v;</div>
<div class="line"><a id="l04731" name="l04731"></a><span class="lineno"> 4731</span> }</div>
<div class="line"><a id="l04732" name="l04732"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a764be64f3029f8b8e23511061d8de355"> 4732</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a764be64f3029f8b8e23511061d8de355">DebugString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04733" name="l04733"></a><span class="lineno"> 4733</span> </div>
<div class="line"><a id="l04734" name="l04734"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a33ef474050b31ee553ce99c1960046d9"> 4734</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a33ef474050b31ee553ce99c1960046d9">operator==</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var_element.html">IntVarElement</a>&amp; element) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04735" name="l04735"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_int_var_element.html#a1dc7549eac8297e8ef9a6c3af7d24304"> 4735</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a1dc7549eac8297e8ef9a6c3af7d24304">operator!=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var_element.html">IntVarElement</a>&amp; element)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04736" name="l04736"></a><span class="lineno"> 4736</span> <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == element);</div>
<div class="line"><a id="l04737" name="l04737"></a><span class="lineno"> 4737</span> }</div>
<div class="line"><a id="l04738" name="l04738"></a><span class="lineno"> 4738</span> </div>
<div class="line"><a id="l04739" name="l04739"></a><span class="lineno"> 4739</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04740" name="l04740"></a><span class="lineno"> 4740</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* var_;</div>
<div class="line"><a id="l04741" name="l04741"></a><span class="lineno"> 4741</span> int64_t min_;</div>
<div class="line"><a id="l04742" name="l04742"></a><span class="lineno"> 4742</span> int64_t max_;</div>
<div class="line"><a id="l04743" name="l04743"></a><span class="lineno"> 4743</span>};</div>
<div class="line"><a id="l04744" name="l04744"></a><span class="lineno"> 4744</span> </div>
<div class="line"><a id="l04745" name="l04745"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html"> 4745</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_interval_var_element.html">IntervalVarElement</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_element.html">AssignmentElement</a> {</div>
<div class="line"><a id="l04746" name="l04746"></a><span class="lineno"> 4746</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04747" name="l04747"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#aa07812b5154f8e4d71b45d8dd53bcc06"> 4747</a></span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#aa07812b5154f8e4d71b45d8dd53bcc06">IntervalVarElement</a>();</div>
<div class="line"><a id="l04748" name="l04748"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a81c5dff7a79535159f812aebd8be21bc"> 4748</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a81c5dff7a79535159f812aebd8be21bc">IntervalVarElement</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l04749" name="l04749"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a2d42743fa4cfbe3c8864aacefff1bb85"> 4749</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a2d42743fa4cfbe3c8864aacefff1bb85">Reset</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l04750" name="l04750"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a05bb24120d628e24ae6576cd3fbcf257"> 4750</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var_element.html">IntervalVarElement</a>* <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a05bb24120d628e24ae6576cd3fbcf257">Clone</a>();</div>
<div class="line"><a id="l04751" name="l04751"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#aaf5dd8c36d76222cfd555a1d3ffcc366"> 4751</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#aaf5dd8c36d76222cfd555a1d3ffcc366">Copy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var_element.html">IntervalVarElement</a>&amp; element);</div>
<div class="line"><a id="l04752" name="l04752"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#afd56a08fe36c989c8f94fb0ebc4a23af"> 4752</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#afd56a08fe36c989c8f94fb0ebc4a23af">Var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> var_; }</div>
<div class="line"><a id="l04753" name="l04753"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a3abcbe1fcd37d8982941a795ed22e34a"> 4753</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>();</div>
<div class="line"><a id="l04754" name="l04754"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a1896fe755b612dbebd2c46638f8977a2"> 4754</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>();</div>
<div class="line"><a id="l04755" name="l04755"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a0fa42d79f2e8eacbdb34f8f3f26aa54c"> 4755</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a0fa42d79f2e8eacbdb34f8f3f26aa54c">LoadFromProto</a>(</div>
<div class="line"><a id="l04756" name="l04756"></a><span class="lineno"> 4756</span> <span class="keyword">const</span> IntervalVarAssignment&amp; interval_var_assignment_proto);</div>
<div class="line"><a id="l04757" name="l04757"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#abe80b59dadcaf97e21967faf0b1e265d"> 4757</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#abe80b59dadcaf97e21967faf0b1e265d">WriteToProto</a>(IntervalVarAssignment* interval_var_assignment_proto) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04758" name="l04758"></a><span class="lineno"> 4758</span> </div>
<div class="line"><a id="l04759" name="l04759"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a553593e6203433fa3e55b24db023bc27"> 4759</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a553593e6203433fa3e55b24db023bc27">StartMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> start_min_; }</div>
<div class="line"><a id="l04760" name="l04760"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#ac9944daf0aa10edd9512ea616499480b"> 4760</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#ac9944daf0aa10edd9512ea616499480b">StartMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> start_max_; }</div>
<div class="line"><a id="l04761" name="l04761"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a115e1091a4cd17bc9066a86efd9aa7f7"> 4761</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a115e1091a4cd17bc9066a86efd9aa7f7">StartValue</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04762" name="l04762"></a><span class="lineno"> 4762</span> CHECK_EQ(start_max_, start_min_);</div>
<div class="line"><a id="l04763" name="l04763"></a><span class="lineno"> 4763</span> <span class="keywordflow">return</span> start_max_;</div>
<div class="line"><a id="l04764" name="l04764"></a><span class="lineno"> 4764</span> }</div>
<div class="line"><a id="l04765" name="l04765"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a310df105981473ca4d4c05b25beed18a"> 4765</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a310df105981473ca4d4c05b25beed18a">DurationMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> duration_min_; }</div>
<div class="line"><a id="l04766" name="l04766"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a2e785ffcbd3e022b74b776ce456deb54"> 4766</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a2e785ffcbd3e022b74b776ce456deb54">DurationMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> duration_max_; }</div>
<div class="line"><a id="l04767" name="l04767"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#ae7094dbd344fe8524b5f3574673b1774"> 4767</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#ae7094dbd344fe8524b5f3574673b1774">DurationValue</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04768" name="l04768"></a><span class="lineno"> 4768</span> CHECK_EQ(duration_max_, duration_min_);</div>
<div class="line"><a id="l04769" name="l04769"></a><span class="lineno"> 4769</span> <span class="keywordflow">return</span> duration_max_;</div>
<div class="line"><a id="l04770" name="l04770"></a><span class="lineno"> 4770</span> }</div>
<div class="line"><a id="l04771" name="l04771"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a8a822239ac86c1e5d9f5730e369c80fe"> 4771</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a8a822239ac86c1e5d9f5730e369c80fe">EndMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> end_min_; }</div>
<div class="line"><a id="l04772" name="l04772"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#aeed7d5a74a5d47105ef9ebec755480ce"> 4772</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#aeed7d5a74a5d47105ef9ebec755480ce">EndMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> end_max_; }</div>
<div class="line"><a id="l04773" name="l04773"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a694c84c53b378a865b9bb7af33de1332"> 4773</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a694c84c53b378a865b9bb7af33de1332">EndValue</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04774" name="l04774"></a><span class="lineno"> 4774</span> CHECK_EQ(end_max_, end_min_);</div>
<div class="line"><a id="l04775" name="l04775"></a><span class="lineno"> 4775</span> <span class="keywordflow">return</span> end_max_;</div>
<div class="line"><a id="l04776" name="l04776"></a><span class="lineno"> 4776</span> }</div>
<div class="line"><a id="l04777" name="l04777"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a87cc1835ad8a8508de47fb54bec281da"> 4777</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a87cc1835ad8a8508de47fb54bec281da">PerformedMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> performed_min_; }</div>
<div class="line"><a id="l04778" name="l04778"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a2d9b1f3279e5668036f9e70ff20f036d"> 4778</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a2d9b1f3279e5668036f9e70ff20f036d">PerformedMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> performed_max_; }</div>
<div class="line"><a id="l04779" name="l04779"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a961291e71a6932442b60f8f1e8a8f5c0"> 4779</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a961291e71a6932442b60f8f1e8a8f5c0">PerformedValue</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04780" name="l04780"></a><span class="lineno"> 4780</span> CHECK_EQ(performed_max_, performed_min_);</div>
<div class="line"><a id="l04781" name="l04781"></a><span class="lineno"> 4781</span> <span class="keywordflow">return</span> performed_max_;</div>
<div class="line"><a id="l04782" name="l04782"></a><span class="lineno"> 4782</span> }</div>
<div class="line"><a id="l04783" name="l04783"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a7fe8c30dae8e355dc6efbe5fe9d22ac3"> 4783</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a7fe8c30dae8e355dc6efbe5fe9d22ac3">SetStartMin</a>(int64_t m) { start_min_ = m; }</div>
<div class="line"><a id="l04784" name="l04784"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a826670c77a3661c9877021e22d658541"> 4784</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a826670c77a3661c9877021e22d658541">SetStartMax</a>(int64_t m) { start_max_ = m; }</div>
<div class="line"><a id="l04785" name="l04785"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a63bef7ac9d072b3b33925493aed2fc5c"> 4785</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a63bef7ac9d072b3b33925493aed2fc5c">SetStartRange</a>(int64_t mi, int64_t ma) {</div>
<div class="line"><a id="l04786" name="l04786"></a><span class="lineno"> 4786</span> start_min_ = mi;</div>
<div class="line"><a id="l04787" name="l04787"></a><span class="lineno"> 4787</span> start_max_ = ma;</div>
<div class="line"><a id="l04788" name="l04788"></a><span class="lineno"> 4788</span> }</div>
<div class="line"><a id="l04789" name="l04789"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#ae3d640601c5b67e3b3761617d4b5c33d"> 4789</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#ae3d640601c5b67e3b3761617d4b5c33d">SetStartValue</a>(int64_t v) {</div>
<div class="line"><a id="l04790" name="l04790"></a><span class="lineno"> 4790</span> start_min_ = v;</div>
<div class="line"><a id="l04791" name="l04791"></a><span class="lineno"> 4791</span> start_max_ = v;</div>
<div class="line"><a id="l04792" name="l04792"></a><span class="lineno"> 4792</span> }</div>
<div class="line"><a id="l04793" name="l04793"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a719e01b701678c0016c4dfe4de3e70f9"> 4793</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a719e01b701678c0016c4dfe4de3e70f9">SetDurationMin</a>(int64_t m) { duration_min_ = m; }</div>
<div class="line"><a id="l04794" name="l04794"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#ad16886487e117862f2094dd4bcde74a8"> 4794</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#ad16886487e117862f2094dd4bcde74a8">SetDurationMax</a>(int64_t m) { duration_max_ = m; }</div>
<div class="line"><a id="l04795" name="l04795"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a1dbfcd8aedc6d6e0a4063e65cc1d1d08"> 4795</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a1dbfcd8aedc6d6e0a4063e65cc1d1d08">SetDurationRange</a>(int64_t mi, int64_t ma) {</div>
<div class="line"><a id="l04796" name="l04796"></a><span class="lineno"> 4796</span> duration_min_ = mi;</div>
<div class="line"><a id="l04797" name="l04797"></a><span class="lineno"> 4797</span> duration_max_ = ma;</div>
<div class="line"><a id="l04798" name="l04798"></a><span class="lineno"> 4798</span> }</div>
<div class="line"><a id="l04799" name="l04799"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a50d3f0073c630ad1108f6eb52a35b215"> 4799</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a50d3f0073c630ad1108f6eb52a35b215">SetDurationValue</a>(int64_t v) {</div>
<div class="line"><a id="l04800" name="l04800"></a><span class="lineno"> 4800</span> duration_min_ = v;</div>
<div class="line"><a id="l04801" name="l04801"></a><span class="lineno"> 4801</span> duration_max_ = v;</div>
<div class="line"><a id="l04802" name="l04802"></a><span class="lineno"> 4802</span> }</div>
<div class="line"><a id="l04803" name="l04803"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a502804adbcf6a0177075dbc0c62c9199"> 4803</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a502804adbcf6a0177075dbc0c62c9199">SetEndMin</a>(int64_t m) { end_min_ = m; }</div>
<div class="line"><a id="l04804" name="l04804"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a733bfd7f5434e716c26e1c6288d47603"> 4804</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a733bfd7f5434e716c26e1c6288d47603">SetEndMax</a>(int64_t m) { end_max_ = m; }</div>
<div class="line"><a id="l04805" name="l04805"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a378012b4bf777482e69d7f7901dad14a"> 4805</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a378012b4bf777482e69d7f7901dad14a">SetEndRange</a>(int64_t mi, int64_t ma) {</div>
<div class="line"><a id="l04806" name="l04806"></a><span class="lineno"> 4806</span> end_min_ = mi;</div>
<div class="line"><a id="l04807" name="l04807"></a><span class="lineno"> 4807</span> end_max_ = ma;</div>
<div class="line"><a id="l04808" name="l04808"></a><span class="lineno"> 4808</span> }</div>
<div class="line"><a id="l04809" name="l04809"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a4b9c4dd554bbaf066d2072acddf379e7"> 4809</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a4b9c4dd554bbaf066d2072acddf379e7">SetEndValue</a>(int64_t v) {</div>
<div class="line"><a id="l04810" name="l04810"></a><span class="lineno"> 4810</span> end_min_ = v;</div>
<div class="line"><a id="l04811" name="l04811"></a><span class="lineno"> 4811</span> end_max_ = v;</div>
<div class="line"><a id="l04812" name="l04812"></a><span class="lineno"> 4812</span> }</div>
<div class="line"><a id="l04813" name="l04813"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a541ac4ddeac5312ba57aa8dd2291ca89"> 4813</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a541ac4ddeac5312ba57aa8dd2291ca89">SetPerformedMin</a>(int64_t m) { performed_min_ = m; }</div>
<div class="line"><a id="l04814" name="l04814"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#abfd3786130fb94bcc6a205b7ebbff4d7"> 4814</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#abfd3786130fb94bcc6a205b7ebbff4d7">SetPerformedMax</a>(int64_t m) { performed_max_ = m; }</div>
<div class="line"><a id="l04815" name="l04815"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a2f2afa702768ece79ccb86f86d98438a"> 4815</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a2f2afa702768ece79ccb86f86d98438a">SetPerformedRange</a>(int64_t mi, int64_t ma) {</div>
<div class="line"><a id="l04816" name="l04816"></a><span class="lineno"> 4816</span> performed_min_ = mi;</div>
<div class="line"><a id="l04817" name="l04817"></a><span class="lineno"> 4817</span> performed_max_ = ma;</div>
<div class="line"><a id="l04818" name="l04818"></a><span class="lineno"> 4818</span> }</div>
<div class="line"><a id="l04819" name="l04819"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a894b8544dc0773c5f787fa1fae7b7cb5"> 4819</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a894b8544dc0773c5f787fa1fae7b7cb5">SetPerformedValue</a>(int64_t v) {</div>
<div class="line"><a id="l04820" name="l04820"></a><span class="lineno"> 4820</span> performed_min_ = v;</div>
<div class="line"><a id="l04821" name="l04821"></a><span class="lineno"> 4821</span> performed_max_ = v;</div>
<div class="line"><a id="l04822" name="l04822"></a><span class="lineno"> 4822</span> }</div>
<div class="line"><a id="l04823" name="l04823"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a4bead74295e1e5675c0984fcc91ef057"> 4823</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a4bead74295e1e5675c0984fcc91ef057">Bound</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04824" name="l04824"></a><span class="lineno"> 4824</span> <span class="keywordflow">return</span> (start_min_ == start_max_ &amp;&amp; duration_min_ == duration_max_ &amp;&amp;</div>
<div class="line"><a id="l04825" name="l04825"></a><span class="lineno"> 4825</span> end_min_ == end_max_ &amp;&amp; performed_min_ == performed_max_);</div>
<div class="line"><a id="l04826" name="l04826"></a><span class="lineno"> 4826</span> }</div>
<div class="line"><a id="l04827" name="l04827"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a764be64f3029f8b8e23511061d8de355"> 4827</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a764be64f3029f8b8e23511061d8de355">DebugString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04828" name="l04828"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#aad06021b1b5dbab3cae32226ae487a42"> 4828</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#aad06021b1b5dbab3cae32226ae487a42">operator==</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var_element.html">IntervalVarElement</a>&amp; element) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04829" name="l04829"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_interval_var_element.html#a247764a994a106eaa0f22e397a2664f3"> 4829</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_interval_var_element.html#a247764a994a106eaa0f22e397a2664f3">operator!=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var_element.html">IntervalVarElement</a>&amp; element)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04830" name="l04830"></a><span class="lineno"> 4830</span> <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == element);</div>
<div class="line"><a id="l04831" name="l04831"></a><span class="lineno"> 4831</span> }</div>
<div class="line"><a id="l04832" name="l04832"></a><span class="lineno"> 4832</span> </div>
<div class="line"><a id="l04833" name="l04833"></a><span class="lineno"> 4833</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04834" name="l04834"></a><span class="lineno"> 4834</span> int64_t start_min_;</div>
<div class="line"><a id="l04835" name="l04835"></a><span class="lineno"> 4835</span> int64_t start_max_;</div>
<div class="line"><a id="l04836" name="l04836"></a><span class="lineno"> 4836</span> int64_t duration_min_;</div>
<div class="line"><a id="l04837" name="l04837"></a><span class="lineno"> 4837</span> int64_t duration_max_;</div>
<div class="line"><a id="l04838" name="l04838"></a><span class="lineno"> 4838</span> int64_t end_min_;</div>
<div class="line"><a id="l04839" name="l04839"></a><span class="lineno"> 4839</span> int64_t end_max_;</div>
<div class="line"><a id="l04840" name="l04840"></a><span class="lineno"> 4840</span> int64_t performed_min_;</div>
<div class="line"><a id="l04841" name="l04841"></a><span class="lineno"> 4841</span> int64_t performed_max_;</div>
<div class="line"><a id="l04842" name="l04842"></a><span class="lineno"> 4842</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* var_;</div>
<div class="line"><a id="l04843" name="l04843"></a><span class="lineno"> 4843</span>};</div>
<div class="line"><a id="l04844" name="l04844"></a><span class="lineno"> 4844</span> </div>
<div class="line"><a id="l04858" name="l04858"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html"> 4858</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_sequence_var_element.html">SequenceVarElement</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_element.html">AssignmentElement</a> {</div>
<div class="line"><a id="l04859" name="l04859"></a><span class="lineno"> 4859</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04860" name="l04860"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a556b89bd81fc32c5995246961838c56e"> 4860</a></span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a556b89bd81fc32c5995246961838c56e">SequenceVarElement</a>();</div>
<div class="line"><a id="l04861" name="l04861"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#aa6090a774f7eab0e4fcaa01b025e91e1"> 4861</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#aa6090a774f7eab0e4fcaa01b025e91e1">SequenceVarElement</a>(<a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l04862" name="l04862"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a2aeac15a5e71f9045f8e050841737e47"> 4862</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a2aeac15a5e71f9045f8e050841737e47">Reset</a>(<a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l04863" name="l04863"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a7b43877445e4d339dc3bd23ec8735193"> 4863</a></span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var_element.html">SequenceVarElement</a>* <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a7b43877445e4d339dc3bd23ec8735193">Clone</a>();</div>
<div class="line"><a id="l04864" name="l04864"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a96e5f3f4d26b72233af38a0d30e900e1"> 4864</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a96e5f3f4d26b72233af38a0d30e900e1">Copy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var_element.html">SequenceVarElement</a>&amp; element);</div>
<div class="line"><a id="l04865" name="l04865"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#ae8c75124aa71f4cb2761b58e08e9e4b1"> 4865</a></span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#ae8c75124aa71f4cb2761b58e08e9e4b1">Var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> var_; }</div>
<div class="line"><a id="l04866" name="l04866"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a3abcbe1fcd37d8982941a795ed22e34a"> 4866</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>();</div>
<div class="line"><a id="l04867" name="l04867"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a1896fe755b612dbebd2c46638f8977a2"> 4867</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>();</div>
<div class="line"><a id="l04868" name="l04868"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#aab9e15f979531292b5b8e79aad7846a8"> 4868</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#aab9e15f979531292b5b8e79aad7846a8">LoadFromProto</a>(</div>
<div class="line"><a id="l04869" name="l04869"></a><span class="lineno"> 4869</span> <span class="keyword">const</span> SequenceVarAssignment&amp; sequence_var_assignment_proto);</div>
<div class="line"><a id="l04870" name="l04870"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#ab5c3328c1af7a92198fe1b21fc148202"> 4870</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#ab5c3328c1af7a92198fe1b21fc148202">WriteToProto</a>(SequenceVarAssignment* sequence_var_assignment_proto) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04871" name="l04871"></a><span class="lineno"> 4871</span> </div>
<div class="line"><a id="l04872" name="l04872"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a91d3f0252bfbe5a661ad3e0cea3c9c5a"> 4872</a></span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a91d3f0252bfbe5a661ad3e0cea3c9c5a">ForwardSequence</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04873" name="l04873"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a33f108479fec7c8a89ae4393cf73ef0d"> 4873</a></span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a33f108479fec7c8a89ae4393cf73ef0d">BackwardSequence</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04874" name="l04874"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a4750276f6bfdc7df01ac9e9a16bf5556"> 4874</a></span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a4750276f6bfdc7df01ac9e9a16bf5556">Unperformed</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04875" name="l04875"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a02c14c5a615ce131863ff3e87793e1bd"> 4875</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a02c14c5a615ce131863ff3e87793e1bd">SetSequence</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence,</div>
<div class="line"><a id="l04876" name="l04876"></a><span class="lineno"> 4876</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence,</div>
<div class="line"><a id="l04877" name="l04877"></a><span class="lineno"> 4877</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div>
<div class="line"><a id="l04878" name="l04878"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#abd09fe08f368306c986382df61a20c73"> 4878</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#abd09fe08f368306c986382df61a20c73">SetForwardSequence</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence);</div>
<div class="line"><a id="l04879" name="l04879"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a448be08e73b90cd86345acc79613a051"> 4879</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a448be08e73b90cd86345acc79613a051">SetBackwardSequence</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence);</div>
<div class="line"><a id="l04880" name="l04880"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a6ca72bf40a2dcf1161e94fc8fde61d22"> 4880</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a6ca72bf40a2dcf1161e94fc8fde61d22">SetUnperformed</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div>
<div class="line"><a id="l04881" name="l04881"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a4bead74295e1e5675c0984fcc91ef057"> 4881</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a4bead74295e1e5675c0984fcc91ef057">Bound</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04882" name="l04882"></a><span class="lineno"> 4882</span> <span class="keywordflow">return</span> forward_sequence_.size() + unperformed_.size() == var_-&gt;<a class="code hl_function" href="classoperations__research_1_1_sequence_var.html#aa326d81dcac346461f3b8528bf0b49de">size</a>();</div>
<div class="line"><a id="l04883" name="l04883"></a><span class="lineno"> 4883</span> }</div>
<div class="line"><a id="l04884" name="l04884"></a><span class="lineno"> 4884</span> </div>
<div class="line"><a id="l04885" name="l04885"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a764be64f3029f8b8e23511061d8de355"> 4885</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a764be64f3029f8b8e23511061d8de355">DebugString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l04886" name="l04886"></a><span class="lineno"> 4886</span> </div>
<div class="line"><a id="l04887" name="l04887"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a2bb652744641c5c1c54a399b736a70a3"> 4887</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a2bb652744641c5c1c54a399b736a70a3">operator==</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var_element.html">SequenceVarElement</a>&amp; element) <span class="keyword">const</span>;</div>
<div class="line"><a id="l04888" name="l04888"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_sequence_var_element.html#a37191403b930340e0cbd1e9a4f88d157"> 4888</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_sequence_var_element.html#a37191403b930340e0cbd1e9a4f88d157">operator!=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var_element.html">SequenceVarElement</a>&amp; element)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04889" name="l04889"></a><span class="lineno"> 4889</span> <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == element);</div>
<div class="line"><a id="l04890" name="l04890"></a><span class="lineno"> 4890</span> }</div>
<div class="line"><a id="l04891" name="l04891"></a><span class="lineno"> 4891</span> </div>
<div class="line"><a id="l04892" name="l04892"></a><span class="lineno"> 4892</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l04893" name="l04893"></a><span class="lineno"> 4893</span> <span class="keywordtype">bool</span> CheckClassInvariants();</div>
<div class="line"><a id="l04894" name="l04894"></a><span class="lineno"> 4894</span> </div>
<div class="line"><a id="l04895" name="l04895"></a><span class="lineno"> 4895</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* var_;</div>
<div class="line"><a id="l04896" name="l04896"></a><span class="lineno"> 4896</span> std::vector&lt;int&gt; forward_sequence_;</div>
<div class="line"><a id="l04897" name="l04897"></a><span class="lineno"> 4897</span> std::vector&lt;int&gt; backward_sequence_;</div>
<div class="line"><a id="l04898" name="l04898"></a><span class="lineno"> 4898</span> std::vector&lt;int&gt; unperformed_;</div>
<div class="line"><a id="l04899" name="l04899"></a><span class="lineno"> 4899</span>};</div>
<div class="line"><a id="l04900" name="l04900"></a><span class="lineno"> 4900</span> </div>
<div class="line"><a id="l04901" name="l04901"></a><span class="lineno"> 4901</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> V, <span class="keyword">class</span> E&gt;</div>
<div class="line"><a id="l04902" name="l04902"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html"> 4902</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">AssignmentContainer</a> {</div>
<div class="line"><a id="l04903" name="l04903"></a><span class="lineno"> 4903</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l04904" name="l04904"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a7d320f70aa1037c9c92e89ba597b5ee0"> 4904</a></span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a7d320f70aa1037c9c92e89ba597b5ee0">AssignmentContainer</a>() {}</div>
<div class="line"><a id="l04905" name="l04905"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#acb2c9743d23598ac13499629098565f1"> 4905</a></span> E* <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#acb2c9743d23598ac13499629098565f1">Add</a>(V* var) {</div>
<div class="line"><a id="l04906" name="l04906"></a><span class="lineno"> 4906</span> CHECK(var != <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l04907" name="l04907"></a><span class="lineno"> 4907</span> <span class="keywordtype">int</span> index = -1;</div>
<div class="line"><a id="l04908" name="l04908"></a><span class="lineno"> 4908</span> <span class="keywordflow">if</span> (!Find(var, &amp;index)) {</div>
<div class="line"><a id="l04909" name="l04909"></a><span class="lineno"> 4909</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#aacc1d2a804529f5bc67d92e72a413c0b">FastAdd</a>(var);</div>
<div class="line"><a id="l04910" name="l04910"></a><span class="lineno"> 4910</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04911" name="l04911"></a><span class="lineno"> 4911</span> <span class="keywordflow">return</span> &amp;elements_[index];</div>
<div class="line"><a id="l04912" name="l04912"></a><span class="lineno"> 4912</span> }</div>
<div class="line"><a id="l04913" name="l04913"></a><span class="lineno"> 4913</span> }</div>
<div class="line"><a id="l04915" name="l04915"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#aacc1d2a804529f5bc67d92e72a413c0b"> 4915</a></span> E* <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#aacc1d2a804529f5bc67d92e72a413c0b">FastAdd</a>(V* var) {</div>
<div class="line"><a id="l04916" name="l04916"></a><span class="lineno"> 4916</span> DCHECK(var != <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l04917" name="l04917"></a><span class="lineno"> 4917</span> elements_.emplace_back(var);</div>
<div class="line"><a id="l04918" name="l04918"></a><span class="lineno"> 4918</span> <span class="keywordflow">return</span> &amp;elements_.back();</div>
<div class="line"><a id="l04919" name="l04919"></a><span class="lineno"> 4919</span> }</div>
<div class="line"><a id="l04922" name="l04922"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a662646ce0309b7580051cdeb4f8a4d5a"> 4922</a></span> E* <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a662646ce0309b7580051cdeb4f8a4d5a">AddAtPosition</a>(V* var, <span class="keywordtype">int</span> position) {</div>
<div class="line"><a id="l04923" name="l04923"></a><span class="lineno"> 4923</span> elements_[position].Reset(var);</div>
<div class="line"><a id="l04924" name="l04924"></a><span class="lineno"> 4924</span> <span class="keywordflow">return</span> &amp;elements_[position];</div>
<div class="line"><a id="l04925" name="l04925"></a><span class="lineno"> 4925</span> }</div>
<div class="line"><a id="l04926" name="l04926"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#aa71d36872f416feaa853788a7a7a7ef8"> 4926</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#aa71d36872f416feaa853788a7a7a7ef8">Clear</a>() {</div>
<div class="line"><a id="l04927" name="l04927"></a><span class="lineno"> 4927</span> elements_.clear();</div>
<div class="line"><a id="l04928" name="l04928"></a><span class="lineno"> 4928</span> <span class="keywordflow">if</span> (!elements_map_.empty()) { </div>
<div class="line"><a id="l04929" name="l04929"></a><span class="lineno"> 4929</span> elements_map_.clear();</div>
<div class="line"><a id="l04930" name="l04930"></a><span class="lineno"> 4930</span> }</div>
<div class="line"><a id="l04931" name="l04931"></a><span class="lineno"> 4931</span> }</div>
<div class="line"><a id="l04934" name="l04934"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#ad9cf0e91780366986c2f047bd796cdd5"> 4934</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#ad9cf0e91780366986c2f047bd796cdd5">Resize</a>(<span class="keywordtype">size_t</span> size) { elements_.resize(size); }</div>
<div class="line"><a id="l04935" name="l04935"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#abcfbdba215d3b15fbb4b682969943a6e"> 4935</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> elements_.empty(); }</div>
<div class="line"><a id="l04938" name="l04938"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a9159a0c131a3233d9a8a79dc7afa3c6e"> 4938</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a9159a0c131a3233d9a8a79dc7afa3c6e">CopyIntersection</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">AssignmentContainer&lt;V, E&gt;</a>&amp; container) {</div>
<div class="line"><a id="l04939" name="l04939"></a><span class="lineno"> 4939</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; container.elements_.size(); ++i) {</div>
<div class="line"><a id="l04940" name="l04940"></a><span class="lineno"> 4940</span> <span class="keyword">const</span> E&amp; element = container.elements_[i];</div>
<div class="line"><a id="l04941" name="l04941"></a><span class="lineno"> 4941</span> <span class="keyword">const</span> V* <span class="keyword">const</span> var = element.<a class="code hl_function" href="classoperations__research_1_1_int_var.html#aabb6b039a96b1f9aaed302ba620c08cd">Var</a>();</div>
<div class="line"><a id="l04942" name="l04942"></a><span class="lineno"> 4942</span> <span class="keywordtype">int</span> index = -1;</div>
<div class="line"><a id="l04943" name="l04943"></a><span class="lineno"> 4943</span> <span class="keywordflow">if</span> (i &lt; elements_.size() &amp;&amp; elements_[i].Var() == var) {</div>
<div class="line"><a id="l04944" name="l04944"></a><span class="lineno"> 4944</span> index = i;</div>
<div class="line"><a id="l04945" name="l04945"></a><span class="lineno"> 4945</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!Find(var, &amp;index)) {</div>
<div class="line"><a id="l04946" name="l04946"></a><span class="lineno"> 4946</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l04947" name="l04947"></a><span class="lineno"> 4947</span> }</div>
<div class="line"><a id="l04948" name="l04948"></a><span class="lineno"> 4948</span> DCHECK_GE(index, 0);</div>
<div class="line"><a id="l04949" name="l04949"></a><span class="lineno"> 4949</span> E* <span class="keyword">const</span> local_element = &amp;elements_[index];</div>
<div class="line"><a id="l04950" name="l04950"></a><span class="lineno"> 4950</span> local_element-&gt;Copy(element);</div>
<div class="line"><a id="l04951" name="l04951"></a><span class="lineno"> 4951</span> <span class="keywordflow">if</span> (element.Activated()) {</div>
<div class="line"><a id="l04952" name="l04952"></a><span class="lineno"> 4952</span> local_element-&gt;Activate();</div>
<div class="line"><a id="l04953" name="l04953"></a><span class="lineno"> 4953</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l04954" name="l04954"></a><span class="lineno"> 4954</span> local_element-&gt;Deactivate();</div>
<div class="line"><a id="l04955" name="l04955"></a><span class="lineno"> 4955</span> }</div>
<div class="line"><a id="l04956" name="l04956"></a><span class="lineno"> 4956</span> }</div>
<div class="line"><a id="l04957" name="l04957"></a><span class="lineno"> 4957</span> }</div>
<div class="line"><a id="l04960" name="l04960"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a699655a0e89edf33816b4e40b2d2fcc4"> 4960</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a699655a0e89edf33816b4e40b2d2fcc4">Copy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">AssignmentContainer&lt;V, E&gt;</a>&amp; container) {</div>
<div class="line"><a id="l04961" name="l04961"></a><span class="lineno"> 4961</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#aa71d36872f416feaa853788a7a7a7ef8">Clear</a>();</div>
<div class="line"><a id="l04962" name="l04962"></a><span class="lineno"> 4962</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; container.elements_.size(); ++i) {</div>
<div class="line"><a id="l04963" name="l04963"></a><span class="lineno"> 4963</span> <span class="keyword">const</span> E&amp; element = container.elements_[i];</div>
<div class="line"><a id="l04964" name="l04964"></a><span class="lineno"> 4964</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#aacc1d2a804529f5bc67d92e72a413c0b">FastAdd</a>(element.Var())-&gt;Copy(element);</div>
<div class="line"><a id="l04965" name="l04965"></a><span class="lineno"> 4965</span> }</div>
<div class="line"><a id="l04966" name="l04966"></a><span class="lineno"> 4966</span> }</div>
<div class="line"><a id="l04967" name="l04967"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a4beccbd8819d830e06223550b8ca6d10"> 4967</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a4beccbd8819d830e06223550b8ca6d10">Contains</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04968" name="l04968"></a><span class="lineno"> 4968</span> <span class="keywordtype">int</span> index;</div>
<div class="line"><a id="l04969" name="l04969"></a><span class="lineno"> 4969</span> <span class="keywordflow">return</span> Find(var, &amp;index);</div>
<div class="line"><a id="l04970" name="l04970"></a><span class="lineno"> 4970</span> }</div>
<div class="line"><a id="l04971" name="l04971"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a711e8eed87d49e98128460c4aee01d02"> 4971</a></span> E* <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a711e8eed87d49e98128460c4aee01d02">MutableElement</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var) {</div>
<div class="line"><a id="l04972" name="l04972"></a><span class="lineno"> 4972</span> E* <span class="keyword">const</span> element = <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a3332c9e855c6c665aa98ae00a94f72ba">MutableElementOrNull</a>(var);</div>
<div class="line"><a id="l04973" name="l04973"></a><span class="lineno"> 4973</span> DCHECK(element != <span class="keyword">nullptr</span>)</div>
<div class="line"><a id="l04974" name="l04974"></a><span class="lineno"> 4974</span> &lt;&lt; <span class="stringliteral">&quot;Unknown variable &quot;</span> &lt;&lt; var-&gt;DebugString() &lt;&lt; <span class="stringliteral">&quot; in solution&quot;</span>;</div>
<div class="line"><a id="l04975" name="l04975"></a><span class="lineno"> 4975</span> <span class="keywordflow">return</span> element;</div>
<div class="line"><a id="l04976" name="l04976"></a><span class="lineno"> 4976</span> }</div>
<div class="line"><a id="l04977" name="l04977"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a3332c9e855c6c665aa98ae00a94f72ba"> 4977</a></span> E* <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a3332c9e855c6c665aa98ae00a94f72ba">MutableElementOrNull</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var) {</div>
<div class="line"><a id="l04978" name="l04978"></a><span class="lineno"> 4978</span> <span class="keywordtype">int</span> index = -1;</div>
<div class="line"><a id="l04979" name="l04979"></a><span class="lineno"> 4979</span> <span class="keywordflow">if</span> (Find(var, &amp;index)) {</div>
<div class="line"><a id="l04980" name="l04980"></a><span class="lineno"> 4980</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a711e8eed87d49e98128460c4aee01d02">MutableElement</a>(index);</div>
<div class="line"><a id="l04981" name="l04981"></a><span class="lineno"> 4981</span> }</div>
<div class="line"><a id="l04982" name="l04982"></a><span class="lineno"> 4982</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04983" name="l04983"></a><span class="lineno"> 4983</span> }</div>
<div class="line"><a id="l04984" name="l04984"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a574bbe757dd231a59843422be3145dee"> 4984</a></span> <span class="keyword">const</span> E&amp; <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a574bbe757dd231a59843422be3145dee">Element</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04985" name="l04985"></a><span class="lineno"> 4985</span> <span class="keyword">const</span> E* <span class="keyword">const</span> element = <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a315d9fdee1c7e65e8774ad39a98eeeae">ElementPtrOrNull</a>(var);</div>
<div class="line"><a id="l04986" name="l04986"></a><span class="lineno"> 4986</span> DCHECK(element != <span class="keyword">nullptr</span>)</div>
<div class="line"><a id="l04987" name="l04987"></a><span class="lineno"> 4987</span> &lt;&lt; <span class="stringliteral">&quot;Unknown variable &quot;</span> &lt;&lt; var-&gt;DebugString() &lt;&lt; <span class="stringliteral">&quot; in solution&quot;</span>;</div>
<div class="line"><a id="l04988" name="l04988"></a><span class="lineno"> 4988</span> <span class="keywordflow">return</span> *element;</div>
<div class="line"><a id="l04989" name="l04989"></a><span class="lineno"> 4989</span> }</div>
<div class="line"><a id="l04990" name="l04990"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a315d9fdee1c7e65e8774ad39a98eeeae"> 4990</a></span> <span class="keyword">const</span> E* <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a315d9fdee1c7e65e8774ad39a98eeeae">ElementPtrOrNull</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l04991" name="l04991"></a><span class="lineno"> 4991</span> <span class="keywordtype">int</span> index = -1;</div>
<div class="line"><a id="l04992" name="l04992"></a><span class="lineno"> 4992</span> <span class="keywordflow">if</span> (Find(var, &amp;index)) {</div>
<div class="line"><a id="l04993" name="l04993"></a><span class="lineno"> 4993</span> <span class="keywordflow">return</span> &amp;<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a574bbe757dd231a59843422be3145dee">Element</a>(index);</div>
<div class="line"><a id="l04994" name="l04994"></a><span class="lineno"> 4994</span> }</div>
<div class="line"><a id="l04995" name="l04995"></a><span class="lineno"> 4995</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l04996" name="l04996"></a><span class="lineno"> 4996</span> }</div>
<div class="line"><a id="l04997" name="l04997"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#ab313b4181bd38071d2d1495a0227f1d6"> 4997</a></span> <span class="keyword">const</span> std::vector&lt;E&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#ab313b4181bd38071d2d1495a0227f1d6">elements</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> elements_; }</div>
<div class="line"><a id="l04998" name="l04998"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#ade884fd599f8e53c81d6123aec531bc7"> 4998</a></span> E* <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#ade884fd599f8e53c81d6123aec531bc7">MutableElement</a>(<span class="keywordtype">int</span> index) { <span class="keywordflow">return</span> &amp;elements_[index]; }</div>
<div class="line"><a id="l04999" name="l04999"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#aa2691148408a9cb2d7a2fad257b25407"> 4999</a></span> <span class="keyword">const</span> E&amp; <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#aa2691148408a9cb2d7a2fad257b25407">Element</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> elements_[index]; }</div>
<div class="line"><a id="l05000" name="l05000"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a24926108b770033792d015cb86aeffb3"> 5000</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a24926108b770033792d015cb86aeffb3">Size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> elements_.size(); }</div>
<div class="line"><a id="l05001" name="l05001"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a3abcbe1fcd37d8982941a795ed22e34a"> 5001</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>() {</div>
<div class="line"><a id="l05002" name="l05002"></a><span class="lineno"> 5002</span> <span class="keywordflow">for</span> (E&amp; element : elements_) {</div>
<div class="line"><a id="l05003" name="l05003"></a><span class="lineno"> 5003</span> element.Store();</div>
<div class="line"><a id="l05004" name="l05004"></a><span class="lineno"> 5004</span> }</div>
<div class="line"><a id="l05005" name="l05005"></a><span class="lineno"> 5005</span> }</div>
<div class="line"><a id="l05006" name="l05006"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a1896fe755b612dbebd2c46638f8977a2"> 5006</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>() {</div>
<div class="line"><a id="l05007" name="l05007"></a><span class="lineno"> 5007</span> <span class="keywordflow">for</span> (E&amp; element : elements_) {</div>
<div class="line"><a id="l05008" name="l05008"></a><span class="lineno"> 5008</span> <span class="keywordflow">if</span> (element.Activated()) {</div>
<div class="line"><a id="l05009" name="l05009"></a><span class="lineno"> 5009</span> element.Restore();</div>
<div class="line"><a id="l05010" name="l05010"></a><span class="lineno"> 5010</span> }</div>
<div class="line"><a id="l05011" name="l05011"></a><span class="lineno"> 5011</span> }</div>
<div class="line"><a id="l05012" name="l05012"></a><span class="lineno"> 5012</span> }</div>
<div class="line"><a id="l05013" name="l05013"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a1f87693caae60c7469fbffaadd6f0649"> 5013</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05014" name="l05014"></a><span class="lineno"> 5014</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> E&amp; element : elements_) {</div>
<div class="line"><a id="l05015" name="l05015"></a><span class="lineno"> 5015</span> <span class="keywordflow">if</span> (!element.Bound()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05016" name="l05016"></a><span class="lineno"> 5016</span> }</div>
<div class="line"><a id="l05017" name="l05017"></a><span class="lineno"> 5017</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l05018" name="l05018"></a><span class="lineno"> 5018</span> }</div>
<div class="line"><a id="l05019" name="l05019"></a><span class="lineno"> 5019</span> </div>
<div class="line"><a id="l05023" name="l05023"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a2b78a4ff4f23efeb1e70b6ce60faa821"> 5023</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a2b78a4ff4f23efeb1e70b6ce60faa821">operator==</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">AssignmentContainer&lt;V, E&gt;</a>&amp; container)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05025" name="l05025"></a><span class="lineno"> 5025</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a24926108b770033792d015cb86aeffb3">Size</a>() != container.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a24926108b770033792d015cb86aeffb3">Size</a>()) {</div>
<div class="line"><a id="l05026" name="l05026"></a><span class="lineno"> 5026</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05027" name="l05027"></a><span class="lineno"> 5027</span> }</div>
<div class="line"><a id="l05029" name="l05029"></a><span class="lineno"> 5029</span> EnsureMapIsUpToDate();</div>
<div class="line"><a id="l05033" name="l05033"></a><span class="lineno"> 5033</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> E&amp; element : container.elements_) {</div>
<div class="line"><a id="l05034" name="l05034"></a><span class="lineno"> 5034</span> <span class="keyword">const</span> <span class="keywordtype">int</span> position =</div>
<div class="line"><a id="l05035" name="l05035"></a><span class="lineno"> 5035</span> gtl::FindWithDefault(elements_map_, element.Var(), -1);</div>
<div class="line"><a id="l05036" name="l05036"></a><span class="lineno"> 5036</span> <span class="keywordflow">if</span> (position &lt; 0 || elements_[position] != element) {</div>
<div class="line"><a id="l05037" name="l05037"></a><span class="lineno"> 5037</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05038" name="l05038"></a><span class="lineno"> 5038</span> }</div>
<div class="line"><a id="l05039" name="l05039"></a><span class="lineno"> 5039</span> }</div>
<div class="line"><a id="l05040" name="l05040"></a><span class="lineno"> 5040</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l05041" name="l05041"></a><span class="lineno"> 5041</span> }</div>
<div class="line"><a id="l05042" name="l05042"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment_container.html#a6d46683fd5bcefbd1d9dc389fd34d665"> 5042</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a6d46683fd5bcefbd1d9dc389fd34d665">operator!=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">AssignmentContainer&lt;V, E&gt;</a>&amp; container)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05043" name="l05043"></a><span class="lineno"> 5043</span> <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == container);</div>
<div class="line"><a id="l05044" name="l05044"></a><span class="lineno"> 5044</span> }</div>
<div class="line"><a id="l05045" name="l05045"></a><span class="lineno"> 5045</span> </div>
<div class="line"><a id="l05046" name="l05046"></a><span class="lineno"> 5046</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l05047" name="l05047"></a><span class="lineno"> 5047</span> <span class="keywordtype">void</span> EnsureMapIsUpToDate()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05048" name="l05048"></a><span class="lineno"> 5048</span> absl::flat_hash_map&lt;const V*, int&gt;* map =</div>
<div class="line"><a id="l05049" name="l05049"></a><span class="lineno"> 5049</span> <span class="keyword">const_cast&lt;</span>absl::flat_hash_map&lt;const V*, int&gt;*<span class="keyword">&gt;</span>(&amp;elements_map_);</div>
<div class="line"><a id="l05050" name="l05050"></a><span class="lineno"> 5050</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = map-&gt;size(); i &lt; elements_.size(); ++i) {</div>
<div class="line"><a id="l05051" name="l05051"></a><span class="lineno"> 5051</span> (*map)[elements_[i].Var()] = i;</div>
<div class="line"><a id="l05052" name="l05052"></a><span class="lineno"> 5052</span> }</div>
<div class="line"><a id="l05053" name="l05053"></a><span class="lineno"> 5053</span> }</div>
<div class="line"><a id="l05054" name="l05054"></a><span class="lineno"> 5054</span> <span class="keywordtype">bool</span> Find(<span class="keyword">const</span> V* <span class="keyword">const</span> var, <span class="keywordtype">int</span>* index)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05056" name="l05056"></a><span class="lineno"> 5056</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> kMaxSizeForLinearAccess = 11;</div>
<div class="line"><a id="l05057" name="l05057"></a><span class="lineno"> 5057</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a24926108b770033792d015cb86aeffb3">Size</a>() &lt;= kMaxSizeForLinearAccess) {</div>
<div class="line"><a id="l05061" name="l05061"></a><span class="lineno"> 5061</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; elements_.size(); ++i) {</div>
<div class="line"><a id="l05062" name="l05062"></a><span class="lineno"> 5062</span> <span class="keywordflow">if</span> (var == elements_[i].Var()) {</div>
<div class="line"><a id="l05063" name="l05063"></a><span class="lineno"> 5063</span> *index = i;</div>
<div class="line"><a id="l05064" name="l05064"></a><span class="lineno"> 5064</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l05065" name="l05065"></a><span class="lineno"> 5065</span> }</div>
<div class="line"><a id="l05066" name="l05066"></a><span class="lineno"> 5066</span> }</div>
<div class="line"><a id="l05067" name="l05067"></a><span class="lineno"> 5067</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l05068" name="l05068"></a><span class="lineno"> 5068</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l05069" name="l05069"></a><span class="lineno"> 5069</span> EnsureMapIsUpToDate();</div>
<div class="line"><a id="l05070" name="l05070"></a><span class="lineno"> 5070</span> DCHECK_EQ(elements_map_.size(), elements_.size());</div>
<div class="line"><a id="l05071" name="l05071"></a><span class="lineno"> 5071</span> <span class="keywordflow">return</span> gtl::FindCopy(elements_map_, var, index);</div>
<div class="line"><a id="l05072" name="l05072"></a><span class="lineno"> 5072</span> }</div>
<div class="line"><a id="l05073" name="l05073"></a><span class="lineno"> 5073</span> }</div>
<div class="line"><a id="l05074" name="l05074"></a><span class="lineno"> 5074</span> </div>
<div class="line"><a id="l05075" name="l05075"></a><span class="lineno"> 5075</span> std::vector&lt;E&gt; elements_;</div>
<div class="line"><a id="l05076" name="l05076"></a><span class="lineno"> 5076</span> absl::flat_hash_map&lt;const V*, int&gt; elements_map_;</div>
<div class="line"><a id="l05077" name="l05077"></a><span class="lineno"> 5077</span>};</div>
<div class="line"><a id="l05078" name="l05078"></a><span class="lineno"> 5078</span> </div>
<div class="line"><a id="l05081" name="l05081"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html"> 5081</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_propagation_base_object.html">PropagationBaseObject</a> {</div>
<div class="line"><a id="l05082" name="l05082"></a><span class="lineno"> 5082</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l05083" name="l05083"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ace2db6f9700f6a2159db104f5df1dc8f"> 5083</a></span> <span class="keyword">typedef</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">AssignmentContainer&lt;IntVar, IntVarElement&gt;</a> <a class="code hl_typedef" href="classoperations__research_1_1_assignment.html#ace2db6f9700f6a2159db104f5df1dc8f">IntContainer</a>;</div>
<div class="line"><a id="l05084" name="l05084"></a><span class="lineno"> 5084</span> <span class="keyword">typedef</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">AssignmentContainer&lt;IntervalVar, IntervalVarElement&gt;</a></div>
<div class="line"><a id="l05085" name="l05085"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ab7392f36e3e635b067027005f53aa89e"> 5085</a></span> <a class="code hl_typedef" href="classoperations__research_1_1_assignment.html#ab7392f36e3e635b067027005f53aa89e">IntervalContainer</a>;</div>
<div class="line"><a id="l05086" name="l05086"></a><span class="lineno"> 5086</span> <span class="keyword">typedef</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">AssignmentContainer&lt;SequenceVar, SequenceVarElement&gt;</a></div>
<div class="line"><a id="l05087" name="l05087"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a3639042f24d01e89b18ca7f50af82f1e"> 5087</a></span> <a class="code hl_typedef" href="classoperations__research_1_1_assignment.html#a3639042f24d01e89b18ca7f50af82f1e">SequenceContainer</a>;</div>
<div class="line"><a id="l05088" name="l05088"></a><span class="lineno"> 5088</span> </div>
<div class="line"><a id="l05089" name="l05089"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a2c04ece633c362fcab7890202047156b"> 5089</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a2c04ece633c362fcab7890202047156b">Assignment</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s);</div>
<div class="line"><a id="l05090" name="l05090"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#afaefc7559a8bbef854438d9196eb28e9"> 5090</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#afaefc7559a8bbef854438d9196eb28e9">Assignment</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> copy);</div>
<div class="line"><a id="l05091" name="l05091"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a81ef5c2da0677185d64d6c79d9ef9eb5"> 5091</a></span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a81ef5c2da0677185d64d6c79d9ef9eb5">~Assignment</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l05092" name="l05092"></a><span class="lineno"> 5092</span> </div>
<div class="line"><a id="l05093" name="l05093"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aa71d36872f416feaa853788a7a7a7ef8"> 5093</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aa71d36872f416feaa853788a7a7a7ef8">Clear</a>();</div>
<div class="line"><a id="l05094" name="l05094"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#abcfbdba215d3b15fbb4b682969943a6e"> 5094</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05095" name="l05095"></a><span class="lineno"> 5095</span> <span class="keywordflow">return</span> int_var_container_.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>() &amp;&amp; interval_var_container_.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>() &amp;&amp;</div>
<div class="line"><a id="l05096" name="l05096"></a><span class="lineno"> 5096</span> sequence_var_container_.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>();</div>
<div class="line"><a id="l05097" name="l05097"></a><span class="lineno"> 5097</span> }</div>
<div class="line"><a id="l05098" name="l05098"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a24926108b770033792d015cb86aeffb3"> 5098</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a24926108b770033792d015cb86aeffb3">Size</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05099" name="l05099"></a><span class="lineno"> 5099</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#adc0a2632bffdcc3b422a33cda362a294">NumIntVars</a>() + <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aadb464257cdb5eba70a5969af94c0e91">NumIntervalVars</a>() + <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a3818299a4be6ab80f11814fbc6654395">NumSequenceVars</a>();</div>
<div class="line"><a id="l05100" name="l05100"></a><span class="lineno"> 5100</span> }</div>
<div class="line"><a id="l05101" name="l05101"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#adc0a2632bffdcc3b422a33cda362a294"> 5101</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#adc0a2632bffdcc3b422a33cda362a294">NumIntVars</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> int_var_container_.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a24926108b770033792d015cb86aeffb3">Size</a>(); }</div>
<div class="line"><a id="l05102" name="l05102"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aadb464257cdb5eba70a5969af94c0e91"> 5102</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aadb464257cdb5eba70a5969af94c0e91">NumIntervalVars</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> interval_var_container_.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a24926108b770033792d015cb86aeffb3">Size</a>(); }</div>
<div class="line"><a id="l05103" name="l05103"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a3818299a4be6ab80f11814fbc6654395"> 5103</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a3818299a4be6ab80f11814fbc6654395">NumSequenceVars</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> sequence_var_container_.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a24926108b770033792d015cb86aeffb3">Size</a>(); }</div>
<div class="line"><a id="l05104" name="l05104"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a3abcbe1fcd37d8982941a795ed22e34a"> 5104</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>();</div>
<div class="line"><a id="l05105" name="l05105"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a1896fe755b612dbebd2c46638f8977a2"> 5105</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>();</div>
<div class="line"><a id="l05106" name="l05106"></a><span class="lineno"> 5106</span> </div>
<div class="line"><a id="l05109" name="l05109"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a4ffd516bcdda189f37da20040fba290e"> 5109</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a4ffd516bcdda189f37da20040fba290e">Load</a>(<span class="keyword">const</span> std::string&amp; filename);</div>
<div class="line"><a id="l05110" name="l05110"></a><span class="lineno"> 5110</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l05111" name="l05111"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a971dc3ccb0411f5f28009dab5ae40473"> 5111</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a971dc3ccb0411f5f28009dab5ae40473">Load</a>(File* file);</div>
<div class="line"><a id="l05112" name="l05112"></a><span class="lineno"> 5112</span><span class="preprocessor">#endif </span></div>
<div class="line"><a id="l05113" name="l05113"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ac8ea032572d695efb2c4b8dbe1fe57a6"> 5113</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ac8ea032572d695efb2c4b8dbe1fe57a6">Load</a>(<span class="keyword">const</span> AssignmentProto&amp; assignment_proto);</div>
<div class="line"><a id="l05115" name="l05115"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a6b181a6b49df0fa3c31f492c53693174"> 5115</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a6b181a6b49df0fa3c31f492c53693174">Save</a>(<span class="keyword">const</span> std::string&amp; filename) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05116" name="l05116"></a><span class="lineno"> 5116</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l05117" name="l05117"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a1638d1a971fe2fff9ac82b889951f719"> 5117</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a1638d1a971fe2fff9ac82b889951f719">Save</a>(File* file) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05118" name="l05118"></a><span class="lineno"> 5118</span><span class="preprocessor">#endif </span><span class="comment">// #if !defined(SWIG)</span></div>
<div class="line"><a id="l05119" name="l05119"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#af36c6a1a2717055e72ec2c6ecf85138b"> 5119</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#af36c6a1a2717055e72ec2c6ecf85138b">Save</a>(AssignmentProto* <span class="keyword">const</span> assignment_proto) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05120" name="l05120"></a><span class="lineno"> 5120</span> </div>
<div class="line"><a id="l05121" name="l05121"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a86601a2dad7a051d7b387ffa789898ff"> 5121</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a86601a2dad7a051d7b387ffa789898ff">AddObjective</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> v);</div>
<div class="line"><a id="l05122" name="l05122"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a3e222c69fa6c693ccfeb7ff13cd482d3"> 5122</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a3e222c69fa6c693ccfeb7ff13cd482d3">ClearObjective</a>() { objective_element_.<a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#a3196af797c21cdf61571e8a4dbfedc1a">Reset</a>(<span class="keyword">nullptr</span>); }</div>
<div class="line"><a id="l05123" name="l05123"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a4787369b2c9922e8ad325759d2a559b3"> 5123</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a4787369b2c9922e8ad325759d2a559b3">Objective</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l05124" name="l05124"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a81c8f76d39ff0529fe40e70f8319d5d2"> 5124</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a81c8f76d39ff0529fe40e70f8319d5d2">HasObjective</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (objective_element_.<a class="code hl_function" href="classoperations__research_1_1_int_var_element.html#ad197164b669d8b5d35fc497754791e39">Var</a>() != <span class="keyword">nullptr</span>); }</div>
<div class="line"><a id="l05125" name="l05125"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a8abea9d29c2a7da778c25195d89b22ca"> 5125</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a8abea9d29c2a7da778c25195d89b22ca">ObjectiveMin</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l05126" name="l05126"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a2b73b6bfa34aead8c15b272312f3ec5f"> 5126</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a2b73b6bfa34aead8c15b272312f3ec5f">ObjectiveMax</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l05127" name="l05127"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a673faac1a261ca2414930dddbfaef92b"> 5127</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a673faac1a261ca2414930dddbfaef92b">ObjectiveValue</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l05128" name="l05128"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ab157d7f9928411cc8aa0e27980ac0dc9"> 5128</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ab157d7f9928411cc8aa0e27980ac0dc9">ObjectiveBound</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l05129" name="l05129"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aa9ef046d2106e3c97320622dd717dafc"> 5129</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aa9ef046d2106e3c97320622dd717dafc">SetObjectiveMin</a>(int64_t m);</div>
<div class="line"><a id="l05130" name="l05130"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a4fe75b026a248f2ebce1d67dc11d7488"> 5130</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a4fe75b026a248f2ebce1d67dc11d7488">SetObjectiveMax</a>(int64_t m);</div>
<div class="line"><a id="l05131" name="l05131"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a431875fe26e9e5e35f0ced96f77cd290"> 5131</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a431875fe26e9e5e35f0ced96f77cd290">SetObjectiveValue</a>(int64_t value);</div>
<div class="line"><a id="l05132" name="l05132"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aa573ee37644cb6b38b9f3ca174e594e2"> 5132</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aa573ee37644cb6b38b9f3ca174e594e2">SetObjectiveRange</a>(int64_t l, int64_t u);</div>
<div class="line"><a id="l05133" name="l05133"></a><span class="lineno"> 5133</span> </div>
<div class="line"><a id="l05134" name="l05134"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ae8ff1d18d50b93a2499ccd7130addecb"> 5134</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var_element.html">IntVarElement</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ae8ff1d18d50b93a2499ccd7130addecb">Add</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05135" name="l05135"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a62eeaedd1b35f3805bbd3e544c16577b"> 5135</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a62eeaedd1b35f3805bbd3e544c16577b">Add</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a id="l05137" name="l05137"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#af5fcf5e7a47ae0e325fb1df409ac8e24"> 5137</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var_element.html">IntVarElement</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#af5fcf5e7a47ae0e325fb1df409ac8e24">FastAdd</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05138" name="l05138"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#af2c17e9e8d310419dade841aca1ab837"> 5138</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#af2c17e9e8d310419dade841aca1ab837">Min</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05139" name="l05139"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a8dbbd913afa005c99a0ec9cbfa665b46"> 5139</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a8dbbd913afa005c99a0ec9cbfa665b46">Max</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05140" name="l05140"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a8e0cac088b44596d620963b8bc693770"> 5140</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a8e0cac088b44596d620963b8bc693770">Value</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05141" name="l05141"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aecf5d63faebdaeda9dca52f916576459"> 5141</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aecf5d63faebdaeda9dca52f916576459">Bound</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05142" name="l05142"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aa636986a95e48c14ee919f92f6409dff"> 5142</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aa636986a95e48c14ee919f92f6409dff">SetMin</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05143" name="l05143"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a51f04bd1547f2ff1a46bf027c04d28e4"> 5143</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a51f04bd1547f2ff1a46bf027c04d28e4">SetMax</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05144" name="l05144"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a2e81ca4bfc3606fa0841c7d23be9dc2c"> 5144</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a2e81ca4bfc3606fa0841c7d23be9dc2c">SetRange</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t l, int64_t u);</div>
<div class="line"><a id="l05145" name="l05145"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a88515905299f569432aaba577a912add"> 5145</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a88515905299f569432aaba577a912add">SetValue</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l05146" name="l05146"></a><span class="lineno"> 5146</span> </div>
<div class="line"><a id="l05147" name="l05147"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a605d677aadbba9204ec27140860c8798"> 5147</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var_element.html">IntervalVarElement</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a605d677aadbba9204ec27140860c8798">Add</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05148" name="l05148"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a6f3a03e958cc119592fc6ecdf2b1e908"> 5148</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a6f3a03e958cc119592fc6ecdf2b1e908">Add</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; vars);</div>
<div class="line"><a id="l05150" name="l05150"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a19eb8dc5c3b3756d5d6549d761686842"> 5150</a></span> <a class="code hl_class" href="classoperations__research_1_1_interval_var_element.html">IntervalVarElement</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a19eb8dc5c3b3756d5d6549d761686842">FastAdd</a>(<a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05151" name="l05151"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#afdc5be54d5e8021c2c834027ee54451d"> 5151</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#afdc5be54d5e8021c2c834027ee54451d">StartMin</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05152" name="l05152"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a1d7437c06bbc1bc200fe3391075e0f66"> 5152</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a1d7437c06bbc1bc200fe3391075e0f66">StartMax</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05153" name="l05153"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a3d54729ad190fd3296efb6011fbc81dd"> 5153</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a3d54729ad190fd3296efb6011fbc81dd">StartValue</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05154" name="l05154"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a24faa84fe1be555f0e75ff996339cff1"> 5154</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a24faa84fe1be555f0e75ff996339cff1">DurationMin</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05155" name="l05155"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a5ae2bfd9503f49d3cd3f9263faa79cf8"> 5155</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a5ae2bfd9503f49d3cd3f9263faa79cf8">DurationMax</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05156" name="l05156"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a7b3672a3346ee791d05c640c93930944"> 5156</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a7b3672a3346ee791d05c640c93930944">DurationValue</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05157" name="l05157"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a150063ed4aa31e007bd84c651e9f80c3"> 5157</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a150063ed4aa31e007bd84c651e9f80c3">EndMin</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05158" name="l05158"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a1796dba9a3ce88a3eec8555061e76333"> 5158</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a1796dba9a3ce88a3eec8555061e76333">EndMax</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05159" name="l05159"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a2626963ebc9f59a8528acb1b04753b73"> 5159</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a2626963ebc9f59a8528acb1b04753b73">EndValue</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05160" name="l05160"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a16b8e5abcd20e7bc56a8d5fd6b684ce4"> 5160</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a16b8e5abcd20e7bc56a8d5fd6b684ce4">PerformedMin</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05161" name="l05161"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aa7364615bd55aca845a4ad5e29a8eabe"> 5161</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aa7364615bd55aca845a4ad5e29a8eabe">PerformedMax</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05162" name="l05162"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a5ada568a96ff72942bc54fb3a9587b32"> 5162</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a5ada568a96ff72942bc54fb3a9587b32">PerformedValue</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05163" name="l05163"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a1f8e2dac8f3aa1167d45e0955fa70e27"> 5163</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a1f8e2dac8f3aa1167d45e0955fa70e27">SetStartMin</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05164" name="l05164"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a8ed3204d0a27f19953846cffa5531ca2"> 5164</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a8ed3204d0a27f19953846cffa5531ca2">SetStartMax</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05165" name="l05165"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a0e0fc266c5f0cbf229a0a6869a45872b"> 5165</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a0e0fc266c5f0cbf229a0a6869a45872b">SetStartRange</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t mi, int64_t ma);</div>
<div class="line"><a id="l05166" name="l05166"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#abe9fc04684b90fd26cf33ffe61290ade"> 5166</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#abe9fc04684b90fd26cf33ffe61290ade">SetStartValue</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l05167" name="l05167"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a5509999e1438c9ab2481c2e44d678b8c"> 5167</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a5509999e1438c9ab2481c2e44d678b8c">SetDurationMin</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05168" name="l05168"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a8c8541cd4505af06e0a482e494593ccd"> 5168</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a8c8541cd4505af06e0a482e494593ccd">SetDurationMax</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05169" name="l05169"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a849fb51dc267fbe7f117aeb82f97ac99"> 5169</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a849fb51dc267fbe7f117aeb82f97ac99">SetDurationRange</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t mi, int64_t ma);</div>
<div class="line"><a id="l05170" name="l05170"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aabe9b69b0095b1041fe2fda80a5e568a"> 5170</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aabe9b69b0095b1041fe2fda80a5e568a">SetDurationValue</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l05171" name="l05171"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a87c0e4b53f7df73cba921ff780b0a7b4"> 5171</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a87c0e4b53f7df73cba921ff780b0a7b4">SetEndMin</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05172" name="l05172"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ac39babb96c21a22d40f85e8c4670c1d4"> 5172</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ac39babb96c21a22d40f85e8c4670c1d4">SetEndMax</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05173" name="l05173"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a6138f04eea16f1da01e48b6be78ae3b1"> 5173</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a6138f04eea16f1da01e48b6be78ae3b1">SetEndRange</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t mi, int64_t ma);</div>
<div class="line"><a id="l05174" name="l05174"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ab06ef0be4cab46f52578e8bdad1fae24"> 5174</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ab06ef0be4cab46f52578e8bdad1fae24">SetEndValue</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l05175" name="l05175"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ac5c629d2d5a05cc92cd349b83c909f1a"> 5175</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ac5c629d2d5a05cc92cd349b83c909f1a">SetPerformedMin</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05176" name="l05176"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a8f5f21eb1f89d6dc3086fe89442ffa6a"> 5176</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a8f5f21eb1f89d6dc3086fe89442ffa6a">SetPerformedMax</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t m);</div>
<div class="line"><a id="l05177" name="l05177"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a77cfa21bff2f28dab2d031c6b9e9539c"> 5177</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a77cfa21bff2f28dab2d031c6b9e9539c">SetPerformedRange</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t mi, int64_t ma);</div>
<div class="line"><a id="l05178" name="l05178"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ac3a2b45d0a767f6342c4a6023434ef19"> 5178</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ac3a2b45d0a767f6342c4a6023434ef19">SetPerformedValue</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var, int64_t value);</div>
<div class="line"><a id="l05179" name="l05179"></a><span class="lineno"> 5179</span> </div>
<div class="line"><a id="l05180" name="l05180"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a0b96efcc2f98dad0ae485612cb567885"> 5180</a></span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var_element.html">SequenceVarElement</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a0b96efcc2f98dad0ae485612cb567885">Add</a>(<a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05181" name="l05181"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a4f586a9056698e50f687455cbe3c79c7"> 5181</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a4f586a9056698e50f687455cbe3c79c7">Add</a>(<span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; vars);</div>
<div class="line"><a id="l05183" name="l05183"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a30787d03c2950082fa6401cd47fa3336"> 5183</a></span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var_element.html">SequenceVarElement</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a30787d03c2950082fa6401cd47fa3336">FastAdd</a>(<a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05184" name="l05184"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a81bb8b1afde97973865760039c1f8328"> 5184</a></span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a81bb8b1afde97973865760039c1f8328">ForwardSequence</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05185" name="l05185"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a1f37ce9357c2a83cca6d841ad84eed77"> 5185</a></span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a1f37ce9357c2a83cca6d841ad84eed77">BackwardSequence</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05186" name="l05186"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a030a94032e1f46b4f4084601f51ac205"> 5186</a></span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a030a94032e1f46b4f4084601f51ac205">Unperformed</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05187" name="l05187"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ad0319bfc2c7de380041b45adcc7abbf8"> 5187</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ad0319bfc2c7de380041b45adcc7abbf8">SetSequence</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var,</div>
<div class="line"><a id="l05188" name="l05188"></a><span class="lineno"> 5188</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence,</div>
<div class="line"><a id="l05189" name="l05189"></a><span class="lineno"> 5189</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence,</div>
<div class="line"><a id="l05190" name="l05190"></a><span class="lineno"> 5190</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div>
<div class="line"><a id="l05191" name="l05191"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a05cc1c704384e2b15632cafb9716ccee"> 5191</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a05cc1c704384e2b15632cafb9716ccee">SetForwardSequence</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var,</div>
<div class="line"><a id="l05192" name="l05192"></a><span class="lineno"> 5192</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence);</div>
<div class="line"><a id="l05193" name="l05193"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a18d0ae321119be8c5c2cdfe9cff3bf2f"> 5193</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a18d0ae321119be8c5c2cdfe9cff3bf2f">SetBackwardSequence</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var,</div>
<div class="line"><a id="l05194" name="l05194"></a><span class="lineno"> 5194</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence);</div>
<div class="line"><a id="l05195" name="l05195"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aa09fc06807187218aa49ac0af4147f8f"> 5195</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aa09fc06807187218aa49ac0af4147f8f">SetUnperformed</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var,</div>
<div class="line"><a id="l05196" name="l05196"></a><span class="lineno"> 5196</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div>
<div class="line"><a id="l05197" name="l05197"></a><span class="lineno"> 5197</span> </div>
<div class="line"><a id="l05198" name="l05198"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a89527a874098e35f9729eb276297cab1"> 5198</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a89527a874098e35f9729eb276297cab1">Activate</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05199" name="l05199"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a0fec1a5195bbcf169c220b3ae9ebd9c2"> 5199</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a0fec1a5195bbcf169c220b3ae9ebd9c2">Deactivate</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05200" name="l05200"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a6798e539bb42f8c4bebb89e810acad7d"> 5200</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a6798e539bb42f8c4bebb89e810acad7d">Activated</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05201" name="l05201"></a><span class="lineno"> 5201</span> </div>
<div class="line"><a id="l05202" name="l05202"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#abefb551a80f31ea11c902426f34cb225"> 5202</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#abefb551a80f31ea11c902426f34cb225">Activate</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05203" name="l05203"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aab10ce899b5e04d618bbad6cc7e3c8e6"> 5203</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aab10ce899b5e04d618bbad6cc7e3c8e6">Deactivate</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05204" name="l05204"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a0573ecbac135381f651d4932a8985dcd"> 5204</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a0573ecbac135381f651d4932a8985dcd">Activated</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05205" name="l05205"></a><span class="lineno"> 5205</span> </div>
<div class="line"><a id="l05206" name="l05206"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a6373c24e80f632e5862205aeff39f22b"> 5206</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a6373c24e80f632e5862205aeff39f22b">Activate</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05207" name="l05207"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a334eb35140fbe9c531194bd6aec9a37c"> 5207</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a334eb35140fbe9c531194bd6aec9a37c">Deactivate</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var);</div>
<div class="line"><a id="l05208" name="l05208"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a3afa3e4395f2d281d5d1b9fe5dc352c8"> 5208</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a3afa3e4395f2d281d5d1b9fe5dc352c8">Activated</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05209" name="l05209"></a><span class="lineno"> 5209</span> </div>
<div class="line"><a id="l05210" name="l05210"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a39e5a78e9409aad82cd5349dcb0f4c01"> 5210</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a39e5a78e9409aad82cd5349dcb0f4c01">ActivateObjective</a>();</div>
<div class="line"><a id="l05211" name="l05211"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a8a270b0475a9ceac9191176a3a3bf00f"> 5211</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a8a270b0475a9ceac9191176a3a3bf00f">DeactivateObjective</a>();</div>
<div class="line"><a id="l05212" name="l05212"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a01570ac6b0a24b922703e61d13499491"> 5212</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a01570ac6b0a24b922703e61d13499491">ActivatedObjective</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l05213" name="l05213"></a><span class="lineno"> 5213</span> </div>
<div class="line"><a id="l05214" name="l05214"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aed804747c45a7e1caf81461f9e45dd91"> 5214</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l05215" name="l05215"></a><span class="lineno"> 5215</span> </div>
<div class="line"><a id="l05216" name="l05216"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a1f87693caae60c7469fbffaadd6f0649"> 5216</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05217" name="l05217"></a><span class="lineno"> 5217</span> <span class="keywordflow">return</span> int_var_container_.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>() &amp;&amp;</div>
<div class="line"><a id="l05218" name="l05218"></a><span class="lineno"> 5218</span> interval_var_container_.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>() &amp;&amp;</div>
<div class="line"><a id="l05219" name="l05219"></a><span class="lineno"> 5219</span> sequence_var_container_.<a class="code hl_function" href="classoperations__research_1_1_assignment_container.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>();</div>
<div class="line"><a id="l05220" name="l05220"></a><span class="lineno"> 5220</span> }</div>
<div class="line"><a id="l05221" name="l05221"></a><span class="lineno"> 5221</span> </div>
<div class="line"><a id="l05222" name="l05222"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a60e7fa8388801a72e31391e8203a9464"> 5222</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a60e7fa8388801a72e31391e8203a9464">Contains</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05223" name="l05223"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a641f9865b41be1c636f3c35f995500b0"> 5223</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a641f9865b41be1c636f3c35f995500b0">Contains</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_interval_var.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05224" name="l05224"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a3e4f71c5c314fd532afb5588a9bbb9c6"> 5224</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a3e4f71c5c314fd532afb5588a9bbb9c6">Contains</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05226" name="l05226"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aad86dd69d5664ce8e16198be929fd941"> 5226</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aad86dd69d5664ce8e16198be929fd941">CopyIntersection</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* assignment);</div>
<div class="line"><a id="l05229" name="l05229"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ac97eab84adb6cc33ae0124c944a4f8c7"> 5229</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ac97eab84adb6cc33ae0124c944a4f8c7">Copy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* assignment);</div>
<div class="line"><a id="l05230" name="l05230"></a><span class="lineno"> 5230</span> </div>
<div class="line"><a id="l05231" name="l05231"></a><span class="lineno"> 5231</span> <span class="comment">// TODO(user): Add element iterators to avoid exposing container class.</span></div>
<div class="line"><a id="l05232" name="l05232"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aedb0ae1cf8c3e89218604e5c039d6c7b"> 5232</a></span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">IntContainer</a>&amp; <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aedb0ae1cf8c3e89218604e5c039d6c7b">IntVarContainer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> int_var_container_; }</div>
<div class="line"><a id="l05233" name="l05233"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#ac76f6d6854dc981871832c7714c4a4bb"> 5233</a></span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">IntContainer</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#ac76f6d6854dc981871832c7714c4a4bb">MutableIntVarContainer</a>() { <span class="keywordflow">return</span> &amp;int_var_container_; }</div>
<div class="line"><a id="l05234" name="l05234"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a34965212763f85ad2098000fc74cf171"> 5234</a></span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">IntervalContainer</a>&amp; <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a34965212763f85ad2098000fc74cf171">IntervalVarContainer</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05235" name="l05235"></a><span class="lineno"> 5235</span> <span class="keywordflow">return</span> interval_var_container_;</div>
<div class="line"><a id="l05236" name="l05236"></a><span class="lineno"> 5236</span> }</div>
<div class="line"><a id="l05237" name="l05237"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a790b0d91df1b14fc67add7c5e9610500"> 5237</a></span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">IntervalContainer</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a790b0d91df1b14fc67add7c5e9610500">MutableIntervalVarContainer</a>() {</div>
<div class="line"><a id="l05238" name="l05238"></a><span class="lineno"> 5238</span> <span class="keywordflow">return</span> &amp;interval_var_container_;</div>
<div class="line"><a id="l05239" name="l05239"></a><span class="lineno"> 5239</span> }</div>
<div class="line"><a id="l05240" name="l05240"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a856df6a293bedbd12dcf082891f002c4"> 5240</a></span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">SequenceContainer</a>&amp; <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a856df6a293bedbd12dcf082891f002c4">SequenceVarContainer</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05241" name="l05241"></a><span class="lineno"> 5241</span> <span class="keywordflow">return</span> sequence_var_container_;</div>
<div class="line"><a id="l05242" name="l05242"></a><span class="lineno"> 5242</span> }</div>
<div class="line"><a id="l05243" name="l05243"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#a1835a442677d0ac8a0b303c628136964"> 5243</a></span> <a class="code hl_class" href="classoperations__research_1_1_assignment_container.html">SequenceContainer</a>* <a class="code hl_function" href="classoperations__research_1_1_assignment.html#a1835a442677d0ac8a0b303c628136964">MutableSequenceVarContainer</a>() {</div>
<div class="line"><a id="l05244" name="l05244"></a><span class="lineno"> 5244</span> <span class="keywordflow">return</span> &amp;sequence_var_container_;</div>
<div class="line"><a id="l05245" name="l05245"></a><span class="lineno"> 5245</span> }</div>
<div class="line"><a id="l05246" name="l05246"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#aab2342dc981954ebcfdd6735045f3448"> 5246</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#aab2342dc981954ebcfdd6735045f3448">operator==</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>&amp; assignment)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05247" name="l05247"></a><span class="lineno"> 5247</span> <span class="keywordflow">return</span> int_var_container_ == assignment.int_var_container_ &amp;&amp;</div>
<div class="line"><a id="l05248" name="l05248"></a><span class="lineno"> 5248</span> interval_var_container_ == assignment.interval_var_container_ &amp;&amp;</div>
<div class="line"><a id="l05249" name="l05249"></a><span class="lineno"> 5249</span> sequence_var_container_ == assignment.sequence_var_container_ &amp;&amp;</div>
<div class="line"><a id="l05250" name="l05250"></a><span class="lineno"> 5250</span> objective_element_ == assignment.objective_element_;</div>
<div class="line"><a id="l05251" name="l05251"></a><span class="lineno"> 5251</span> }</div>
<div class="line"><a id="l05252" name="l05252"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_assignment.html#affcbe1cefd443f0581b455613cacc219"> 5252</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_assignment.html#affcbe1cefd443f0581b455613cacc219">operator!=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>&amp; assignment)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l05253" name="l05253"></a><span class="lineno"> 5253</span> <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == assignment);</div>
<div class="line"><a id="l05254" name="l05254"></a><span class="lineno"> 5254</span> }</div>
<div class="line"><a id="l05255" name="l05255"></a><span class="lineno"> 5255</span> </div>
<div class="line"><a id="l05256" name="l05256"></a><span class="lineno"> 5256</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l05257" name="l05257"></a><span class="lineno"> 5257</span> <a class="code hl_typedef" href="classoperations__research_1_1_assignment.html#ace2db6f9700f6a2159db104f5df1dc8f">IntContainer</a> int_var_container_;</div>
<div class="line"><a id="l05258" name="l05258"></a><span class="lineno"> 5258</span> <a class="code hl_typedef" href="classoperations__research_1_1_assignment.html#ab7392f36e3e635b067027005f53aa89e">IntervalContainer</a> interval_var_container_;</div>
<div class="line"><a id="l05259" name="l05259"></a><span class="lineno"> 5259</span> <a class="code hl_typedef" href="classoperations__research_1_1_assignment.html#a3639042f24d01e89b18ca7f50af82f1e">SequenceContainer</a> sequence_var_container_;</div>
<div class="line"><a id="l05260" name="l05260"></a><span class="lineno"> 5260</span> <a class="code hl_class" href="classoperations__research_1_1_int_var_element.html">IntVarElement</a> objective_element_;</div>
<div class="line"><a id="l05261" name="l05261"></a><span class="lineno"> 5261</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>);</div>
<div class="line"><a id="l05262" name="l05262"></a><span class="lineno"> 5262</span>};</div>
<div class="line"><a id="l05263" name="l05263"></a><span class="lineno"> 5263</span> </div>
<div class="line"><a id="l05264" name="l05264"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#a82d722796fae06c7fb9d1d8a37c91c99"> 5264</a></span>std::ostream&amp; <a class="code hl_function" href="namespaceoperations__research.html#a87fdc0126f6fc98ffb86ba1aa618f322">operator&lt;&lt;</a>(std::ostream&amp; out,</div>
<div class="line"><a id="l05265" name="l05265"></a><span class="lineno"> 5265</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>&amp; assignment); </div>
<div class="line"><a id="l05266" name="l05266"></a><span class="lineno"> 5266</span> </div>
<div class="line"><a id="l05272" name="l05272"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#aea2bf322fab4e2319a23ad22acf8ccf8"> 5272</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="namespaceoperations__research.html#aea2bf322fab4e2319a23ad22acf8ccf8">SetAssignmentFromAssignment</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* target_assignment,</div>
<div class="line"><a id="l05273" name="l05273"></a><span class="lineno"> 5273</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; target_vars,</div>
<div class="line"><a id="l05274" name="l05274"></a><span class="lineno"> 5274</span> <span class="keyword">const</span> <a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* source_assignment,</div>
<div class="line"><a id="l05275" name="l05275"></a><span class="lineno"> 5275</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; source_vars);</div>
<div class="line"><a id="l05276" name="l05276"></a><span class="lineno"> 5276</span> </div>
<div class="line"><a id="l05277" name="l05277"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html"> 5277</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_pack.html">Pack</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a> {</div>
<div class="line"><a id="l05278" name="l05278"></a><span class="lineno"> 5278</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l05279" name="l05279"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a3faa7bb8c3804bc2c19b0c9c51fb3663"> 5279</a></span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a3faa7bb8c3804bc2c19b0c9c51fb3663">Pack</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <span class="keywordtype">int</span> number_of_bins);</div>
<div class="line"><a id="l05280" name="l05280"></a><span class="lineno"> 5280</span> </div>
<div class="line"><a id="l05281" name="l05281"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a6feb8bb936fa7469982badd222c6e952"> 5281</a></span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a6feb8bb936fa7469982badd222c6e952">~Pack</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l05282" name="l05282"></a><span class="lineno"> 5282</span> </div>
<div class="line"><a id="l05287" name="l05287"></a><span class="lineno"> 5287</span> </div>
<div class="line"><a id="l05291" name="l05291"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a2f18bb178db0e4699be2e8472df4df6c"> 5291</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a2f18bb178db0e4699be2e8472df4df6c">AddWeightedSumLessOrEqualConstantDimension</a>(</div>
<div class="line"><a id="l05292" name="l05292"></a><span class="lineno"> 5292</span> <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; weights, <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; bounds);</div>
<div class="line"><a id="l05293" name="l05293"></a><span class="lineno"> 5293</span> </div>
<div class="line"><a id="l05298" name="l05298"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a937bb5a9362775d938541131b9a1e413"> 5298</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a937bb5a9362775d938541131b9a1e413">AddWeightedSumLessOrEqualConstantDimension</a>(</div>
<div class="line"><a id="l05299" name="l05299"></a><span class="lineno"> 5299</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">Solver::IndexEvaluator1</a> weights, <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; bounds);</div>
<div class="line"><a id="l05300" name="l05300"></a><span class="lineno"> 5300</span> </div>
<div class="line"><a id="l05305" name="l05305"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a95f0dfde3483983b34cb5e99dba69cbc"> 5305</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a95f0dfde3483983b34cb5e99dba69cbc">AddWeightedSumLessOrEqualConstantDimension</a>(</div>
<div class="line"><a id="l05306" name="l05306"></a><span class="lineno"> 5306</span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">Solver::IndexEvaluator2</a> weights, <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; bounds);</div>
<div class="line"><a id="l05307" name="l05307"></a><span class="lineno"> 5307</span> </div>
<div class="line"><a id="l05310" name="l05310"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a0f944bd9521216bdb0ca70951a918c10"> 5310</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a0f944bd9521216bdb0ca70951a918c10">AddWeightedSumEqualVarDimension</a>(<span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; weights,</div>
<div class="line"><a id="l05311" name="l05311"></a><span class="lineno"> 5311</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; loads);</div>
<div class="line"><a id="l05312" name="l05312"></a><span class="lineno"> 5312</span> </div>
<div class="line"><a id="l05316" name="l05316"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a392a263cbc46d6cf18741970fe17c1e6"> 5316</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a392a263cbc46d6cf18741970fe17c1e6">AddWeightedSumEqualVarDimension</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">Solver::IndexEvaluator2</a> weights,</div>
<div class="line"><a id="l05317" name="l05317"></a><span class="lineno"> 5317</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; loads);</div>
<div class="line"><a id="l05318" name="l05318"></a><span class="lineno"> 5318</span> </div>
<div class="line"><a id="l05328" name="l05328"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a2e176ba3b4abc69a74e40333c9f644ef"> 5328</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a2e176ba3b4abc69a74e40333c9f644ef">AddSumVariableWeightsLessOrEqualConstantDimension</a>(</div>
<div class="line"><a id="l05329" name="l05329"></a><span class="lineno"> 5329</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; usage, <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; capacity);</div>
<div class="line"><a id="l05330" name="l05330"></a><span class="lineno"> 5330</span> </div>
<div class="line"><a id="l05333" name="l05333"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a6ebc0cd271fe1413e48d14056dde1e44"> 5333</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a6ebc0cd271fe1413e48d14056dde1e44">AddWeightedSumOfAssignedDimension</a>(<span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; weights,</div>
<div class="line"><a id="l05334" name="l05334"></a><span class="lineno"> 5334</span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> cost_var);</div>
<div class="line"><a id="l05335" name="l05335"></a><span class="lineno"> 5335</span> </div>
<div class="line"><a id="l05338" name="l05338"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a90028870fef41c9ce7029c52f194eacd"> 5338</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a90028870fef41c9ce7029c52f194eacd">AddCountUsedBinDimension</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> count_var);</div>
<div class="line"><a id="l05339" name="l05339"></a><span class="lineno"> 5339</span> </div>
<div class="line"><a id="l05342" name="l05342"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a27d5048553d708cb8f1f7b6f7b48052c"> 5342</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a27d5048553d708cb8f1f7b6f7b48052c">AddCountAssignedItemsDimension</a>(<a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <span class="keyword">const</span> count_var);</div>
<div class="line"><a id="l05343" name="l05343"></a><span class="lineno"> 5343</span> </div>
<div class="line"><a id="l05344" name="l05344"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a19d94d32f3bde30deeebb883c6f71f84"> 5344</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a19d94d32f3bde30deeebb883c6f71f84">Post</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l05345" name="l05345"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#aa7d76b766faf39c1652b6617eac5fe20"> 5345</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#aa7d76b766faf39c1652b6617eac5fe20">ClearAll</a>();</div>
<div class="line"><a id="l05346" name="l05346"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#ac095c86328e93de5cab0a64db691c602"> 5346</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#ac095c86328e93de5cab0a64db691c602">PropagateDelayed</a>();</div>
<div class="line"><a id="l05347" name="l05347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a36d844f2722273b190ed9a069dd25938"> 5347</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a36d844f2722273b190ed9a069dd25938">InitialPropagate</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l05348" name="l05348"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a03fbaed2e89d3a0ed34ffe35af8c0ec6"> 5348</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a03fbaed2e89d3a0ed34ffe35af8c0ec6">Propagate</a>();</div>
<div class="line"><a id="l05349" name="l05349"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a96340e443923b721e76f2ff432a48954"> 5349</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a96340e443923b721e76f2ff432a48954">OneDomain</a>(<span class="keywordtype">int</span> var_index);</div>
<div class="line"><a id="l05350" name="l05350"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#aed804747c45a7e1caf81461f9e45dd91"> 5350</a></span> std::string <a class="code hl_function" href="classoperations__research_1_1_pack.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a id="l05351" name="l05351"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a5e647eb2942c419caa6d67acf062587a"> 5351</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a5e647eb2942c419caa6d67acf062587a">IsUndecided</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05352" name="l05352"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a4997d785dafdc88e1e0459c398e80133"> 5352</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a4997d785dafdc88e1e0459c398e80133">SetImpossible</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index);</div>
<div class="line"><a id="l05353" name="l05353"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#ac6980496b7938cb743ac658fd0d2d6c8"> 5353</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#ac6980496b7938cb743ac658fd0d2d6c8">Assign</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index);</div>
<div class="line"><a id="l05354" name="l05354"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a0f59dbe96df95bec0bbc8adb24789ed1"> 5354</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a0f59dbe96df95bec0bbc8adb24789ed1">IsAssignedStatusKnown</a>(<span class="keywordtype">int</span> var_index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05355" name="l05355"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a85ce8edd658bfd2632f78a4adb41fbf9"> 5355</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a85ce8edd658bfd2632f78a4adb41fbf9">IsPossible</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05356" name="l05356"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#af2aa063b55dd569411d0fdc0c0ea6dfb"> 5356</a></span> <a class="code hl_class" href="classoperations__research_1_1_int_var.html">IntVar</a>* <a class="code hl_function" href="classoperations__research_1_1_pack.html#af2aa063b55dd569411d0fdc0c0ea6dfb">AssignVar</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index) <span class="keyword">const</span>;</div>
<div class="line"><a id="l05357" name="l05357"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a4b8051adf09b104fd5a58b21ea6f843f"> 5357</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a4b8051adf09b104fd5a58b21ea6f843f">SetAssigned</a>(<span class="keywordtype">int</span> var_index);</div>
<div class="line"><a id="l05358" name="l05358"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a9799033614314d2e5be13a65628f32be"> 5358</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a9799033614314d2e5be13a65628f32be">SetUnassigned</a>(<span class="keywordtype">int</span> var_index);</div>
<div class="line"><a id="l05359" name="l05359"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#afd36445be20121bef02fe4847317ed0b"> 5359</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#afd36445be20121bef02fe4847317ed0b">RemoveAllPossibleFromBin</a>(<span class="keywordtype">int</span> bin_index);</div>
<div class="line"><a id="l05360" name="l05360"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#aa7cb2bb52c194f51ff28294b05c1e4af"> 5360</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#aa7cb2bb52c194f51ff28294b05c1e4af">AssignAllPossibleToBin</a>(<span class="keywordtype">int</span> bin_index);</div>
<div class="line"><a id="l05361" name="l05361"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#a8d4b11f435b76c6568c2c0a08cccb976"> 5361</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#a8d4b11f435b76c6568c2c0a08cccb976">AssignFirstPossibleToBin</a>(<span class="keywordtype">int</span> bin_index);</div>
<div class="line"><a id="l05362" name="l05362"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#aedb66bf31047064fd332fb6c6afa027d"> 5362</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#aedb66bf31047064fd332fb6c6afa027d">AssignAllRemainingItems</a>();</div>
<div class="line"><a id="l05363" name="l05363"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#acb7a89e1a7071f6c46375fe31688e485"> 5363</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#acb7a89e1a7071f6c46375fe31688e485">UnassignAllRemainingItems</a>();</div>
<div class="line"><a id="l05364" name="l05364"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_pack.html#aa30c84aec5e60d6b74e1e1eb15011d4a"> 5364</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_pack.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a>(<a class="code hl_class" href="classoperations__research_1_1_model_visitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const override</span>;</div>
<div class="line"><a id="l05365" name="l05365"></a><span class="lineno"> 5365</span> </div>
<div class="line"><a id="l05366" name="l05366"></a><span class="lineno"> 5366</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l05367" name="l05367"></a><span class="lineno"> 5367</span> <span class="keywordtype">bool</span> IsInProcess() <span class="keyword">const</span>;</div>
<div class="line"><a id="l05368" name="l05368"></a><span class="lineno"> 5368</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt; vars_;</div>
<div class="line"><a id="l05369" name="l05369"></a><span class="lineno"> 5369</span> <span class="keyword">const</span> <span class="keywordtype">int</span> bins_;</div>
<div class="line"><a id="l05370" name="l05370"></a><span class="lineno"> 5370</span> std::vector&lt;Dimension*&gt; dims_;</div>
<div class="line"><a id="l05371" name="l05371"></a><span class="lineno"> 5371</span> std::unique_ptr&lt;RevBitMatrix&gt; unprocessed_;</div>
<div class="line"><a id="l05372" name="l05372"></a><span class="lineno"> 5372</span> std::vector&lt;std::vector&lt;int&gt;&gt; forced_;</div>
<div class="line"><a id="l05373" name="l05373"></a><span class="lineno"> 5373</span> std::vector&lt;std::vector&lt;int&gt;&gt; removed_;</div>
<div class="line"><a id="l05374" name="l05374"></a><span class="lineno"> 5374</span> std::vector&lt;IntVarIterator*&gt; holes_;</div>
<div class="line"><a id="l05375" name="l05375"></a><span class="lineno"> 5375</span> uint64_t stamp_;</div>
<div class="line"><a id="l05376" name="l05376"></a><span class="lineno"> 5376</span> <a class="code hl_class" href="classoperations__research_1_1_demon.html">Demon</a>* demon_;</div>
<div class="line"><a id="l05377" name="l05377"></a><span class="lineno"> 5377</span> std::vector&lt;std::pair&lt;int, int&gt;&gt; to_set_;</div>
<div class="line"><a id="l05378" name="l05378"></a><span class="lineno"> 5378</span> std::vector&lt;std::pair&lt;int, int&gt;&gt; to_unset_;</div>
<div class="line"><a id="l05379" name="l05379"></a><span class="lineno"> 5379</span> <span class="keywordtype">bool</span> in_process_;</div>
<div class="line"><a id="l05380" name="l05380"></a><span class="lineno"> 5380</span>};</div>
<div class="line"><a id="l05381" name="l05381"></a><span class="lineno"> 5381</span> </div>
<div class="line"><a id="l05382" name="l05382"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html"> 5382</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_disjunctive_constraint.html">DisjunctiveConstraint</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_constraint.html">Constraint</a> {</div>
<div class="line"><a id="l05383" name="l05383"></a><span class="lineno"> 5383</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l05384" name="l05384"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#ad00d844c640d64524ddd7d08916950c0"> 5384</a></span> <a class="code hl_function" href="classoperations__research_1_1_disjunctive_constraint.html#ad00d844c640d64524ddd7d08916950c0">DisjunctiveConstraint</a>(<a class="code hl_class" href="classoperations__research_1_1_solver.html">Solver</a>* <span class="keyword">const</span> s,</div>
<div class="line"><a id="l05385" name="l05385"></a><span class="lineno"> 5385</span> <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a id="l05386" name="l05386"></a><span class="lineno"> 5386</span> <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div>
<div class="line"><a id="l05387" name="l05387"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#aba974c73a007aa0553c09999b6ea0c2c"> 5387</a></span> <a class="code hl_function" href="classoperations__research_1_1_disjunctive_constraint.html#aba974c73a007aa0553c09999b6ea0c2c">~DisjunctiveConstraint</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l05388" name="l05388"></a><span class="lineno"> 5388</span> </div>
<div class="line"><a id="l05390" name="l05390"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#a3baac87eb0cf99e7c8a29cb93bd0ae7c"> 5390</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classoperations__research_1_1_sequence_var.html">SequenceVar</a>* <a class="code hl_function" href="classoperations__research_1_1_disjunctive_constraint.html#a3baac87eb0cf99e7c8a29cb93bd0ae7c">MakeSequenceVar</a>() = 0;</div>
<div class="line"><a id="l05391" name="l05391"></a><span class="lineno"> 5391</span> </div>
<div class="line"><a id="l05396" name="l05396"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#ae01c325872694c6f9a780832c3ac65f4"> 5396</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_disjunctive_constraint.html#ae01c325872694c6f9a780832c3ac65f4">SetTransitionTime</a>(<a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">Solver::IndexEvaluator2</a> transition_time);</div>
<div class="line"><a id="l05397" name="l05397"></a><span class="lineno"> 5397</span> </div>
<div class="line"><a id="l05398" name="l05398"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#a668c953026d7cf1faa1d57dc15716f30"> 5398</a></span> int64_t <a class="code hl_function" href="classoperations__research_1_1_disjunctive_constraint.html#a668c953026d7cf1faa1d57dc15716f30">TransitionTime</a>(<span class="keywordtype">int</span> before_index, <span class="keywordtype">int</span> after_index) {</div>
<div class="line"><a id="l05399" name="l05399"></a><span class="lineno"> 5399</span> DCHECK(<a class="code hl_variable" href="classoperations__research_1_1_disjunctive_constraint.html#afc37bcfd26805cab838cef7ae4c87444">transition_time_</a>);</div>
<div class="line"><a id="l05400" name="l05400"></a><span class="lineno"> 5400</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classoperations__research_1_1_disjunctive_constraint.html#afc37bcfd26805cab838cef7ae4c87444">transition_time_</a>(before_index, after_index);</div>
<div class="line"><a id="l05401" name="l05401"></a><span class="lineno"> 5401</span> }</div>
<div class="line"><a id="l05402" name="l05402"></a><span class="lineno"> 5402</span> </div>
<div class="line"><a id="l05403" name="l05403"></a><span class="lineno"> 5403</span><span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a id="l05404" name="l05404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#a8c18c855ecefcd108980301a69c7c077"> 5404</a></span> <span class="keyword">virtual</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_disjunctive_constraint.html#a8c18c855ecefcd108980301a69c7c077">nexts</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l05405" name="l05405"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#a54e4aef9f701e1481606112e81823313"> 5405</a></span> <span class="keyword">virtual</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_disjunctive_constraint.html#a54e4aef9f701e1481606112e81823313">actives</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l05406" name="l05406"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#aa73a8cbcc27b9e6eb4b1ceb99c3ba021"> 5406</a></span> <span class="keyword">virtual</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_disjunctive_constraint.html#aa73a8cbcc27b9e6eb4b1ceb99c3ba021">time_cumuls</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l05407" name="l05407"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#a26c3d2ef057018a52f9d0224e99ca589"> 5407</a></span> <span class="keyword">virtual</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; <a class="code hl_function" href="classoperations__research_1_1_disjunctive_constraint.html#a26c3d2ef057018a52f9d0224e99ca589">time_slacks</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l05408" name="l05408"></a><span class="lineno"> 5408</span><span class="preprocessor">#endif </span><span class="comment">// !defined(SWIG)</span></div>
<div class="line"><a id="l05409" name="l05409"></a><span class="lineno"> 5409</span> </div>
<div class="line"><a id="l05410" name="l05410"></a><span class="lineno"> 5410</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l05411" name="l05411"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#a02e65ccb441e14918c023bde60b05099"> 5411</a></span> <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt; <a class="code hl_variable" href="classoperations__research_1_1_disjunctive_constraint.html#a02e65ccb441e14918c023bde60b05099">intervals_</a>;</div>
<div class="line"><a id="l05412" name="l05412"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_disjunctive_constraint.html#afc37bcfd26805cab838cef7ae4c87444"> 5412</a></span> <a class="code hl_typedef" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">Solver::IndexEvaluator2</a> <a class="code hl_variable" href="classoperations__research_1_1_disjunctive_constraint.html#afc37bcfd26805cab838cef7ae4c87444">transition_time_</a>;</div>
<div class="line"><a id="l05413" name="l05413"></a><span class="lineno"> 5413</span> </div>
<div class="line"><a id="l05414" name="l05414"></a><span class="lineno"> 5414</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l05415" name="l05415"></a><span class="lineno"> 5415</span> DISALLOW_COPY_AND_ASSIGN(<a class="code hl_class" href="classoperations__research_1_1_disjunctive_constraint.html">DisjunctiveConstraint</a>);</div>
<div class="line"><a id="l05416" name="l05416"></a><span class="lineno"> 5416</span>};</div>
<div class="line"><a id="l05417" name="l05417"></a><span class="lineno"> 5417</span> </div>
<div class="line"><a id="l05420" name="l05420"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_pool.html"> 5420</a></span><span class="keyword">class </span><a class="code hl_class" href="classoperations__research_1_1_solution_pool.html">SolutionPool</a> : <span class="keyword">public</span> <a class="code hl_class" href="classoperations__research_1_1_base_object.html">BaseObject</a> {</div>
<div class="line"><a id="l05421" name="l05421"></a><span class="lineno"> 5421</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l05422" name="l05422"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_pool.html#a46aae4510235217253f419189cd0accf"> 5422</a></span> <a class="code hl_function" href="classoperations__research_1_1_solution_pool.html#a46aae4510235217253f419189cd0accf">SolutionPool</a>() {}</div>
<div class="line"><a id="l05423" name="l05423"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_pool.html#aa1eacd520fb6bd437786be473bffda1b"> 5423</a></span> <a class="code hl_function" href="classoperations__research_1_1_solution_pool.html#aa1eacd520fb6bd437786be473bffda1b">~SolutionPool</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a id="l05424" name="l05424"></a><span class="lineno"> 5424</span> </div>
<div class="line"><a id="l05427" name="l05427"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_pool.html#afa82c2dd754ff490f08768ed621d1f5b"> 5427</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_pool.html#afa82c2dd754ff490f08768ed621d1f5b">Initialize</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment) = 0;</div>
<div class="line"><a id="l05428" name="l05428"></a><span class="lineno"> 5428</span> </div>
<div class="line"><a id="l05431" name="l05431"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_pool.html#a39b9785ffd2b768743ca541295668408"> 5431</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_pool.html#a39b9785ffd2b768743ca541295668408">RegisterNewSolution</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment) = 0;</div>
<div class="line"><a id="l05432" name="l05432"></a><span class="lineno"> 5432</span> </div>
<div class="line"><a id="l05435" name="l05435"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_pool.html#a6fbedcc0e848833761bc0ed775aa5436"> 5435</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classoperations__research_1_1_solution_pool.html#a6fbedcc0e848833761bc0ed775aa5436">GetNextSolution</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> assignment) = 0;</div>
<div class="line"><a id="l05436" name="l05436"></a><span class="lineno"> 5436</span> </div>
<div class="line"><a id="l05439" name="l05439"></a><span class="lineno"><a class="line" href="classoperations__research_1_1_solution_pool.html#a0ddd1c2f332c3cea0612b9d18ad6ef83"> 5439</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classoperations__research_1_1_solution_pool.html#a0ddd1c2f332c3cea0612b9d18ad6ef83">SyncNeeded</a>(<a class="code hl_class" href="classoperations__research_1_1_assignment.html">Assignment</a>* <span class="keyword">const</span> local_assignment) = 0;</div>
<div class="line"><a id="l05440" name="l05440"></a><span class="lineno"> 5440</span>};</div>
<div class="line"><a id="l05441" name="l05441"></a><span class="lineno"> 5441</span>} <span class="comment">// namespace operations_research</span></div>
<div class="line"><a id="l05442" name="l05442"></a><span class="lineno"> 5442</span> </div>
<div class="line"><a id="l05443" name="l05443"></a><span class="lineno"> 5443</span><span class="preprocessor">#endif </span><span class="comment">// OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVER_H_</span></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html">operations_research::AssignmentContainer</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04902">constraint_solver.h:4902</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::AssignmentContainer::Restore</a></div><div class="ttdeci">void Restore()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05006">constraint_solver.h:5006</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a1f87693caae60c7469fbffaadd6f0649"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a1f87693caae60c7469fbffaadd6f0649">operations_research::AssignmentContainer::AreAllElementsBound</a></div><div class="ttdeci">bool AreAllElementsBound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05013">constraint_solver.h:5013</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a24926108b770033792d015cb86aeffb3"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a24926108b770033792d015cb86aeffb3">operations_research::AssignmentContainer::Size</a></div><div class="ttdeci">int Size() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05000">constraint_solver.h:5000</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a2b78a4ff4f23efeb1e70b6ce60faa821"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a2b78a4ff4f23efeb1e70b6ce60faa821">operations_research::AssignmentContainer::operator==</a></div><div class="ttdeci">bool operator==(const AssignmentContainer&lt; V, E &gt; &amp;container) const</div><div class="ttdoc">Returns true if this and 'container' both represent the same V* -&gt; E map.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05023">constraint_solver.h:5023</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a315d9fdee1c7e65e8774ad39a98eeeae"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a315d9fdee1c7e65e8774ad39a98eeeae">operations_research::AssignmentContainer::ElementPtrOrNull</a></div><div class="ttdeci">const E * ElementPtrOrNull(const V *const var) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04990">constraint_solver.h:4990</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a3332c9e855c6c665aa98ae00a94f72ba"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a3332c9e855c6c665aa98ae00a94f72ba">operations_research::AssignmentContainer::MutableElementOrNull</a></div><div class="ttdeci">E * MutableElementOrNull(const V *const var)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04977">constraint_solver.h:4977</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::AssignmentContainer::Store</a></div><div class="ttdeci">void Store()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05001">constraint_solver.h:5001</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a4beccbd8819d830e06223550b8ca6d10"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a4beccbd8819d830e06223550b8ca6d10">operations_research::AssignmentContainer::Contains</a></div><div class="ttdeci">bool Contains(const V *const var) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04967">constraint_solver.h:4967</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a574bbe757dd231a59843422be3145dee"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a574bbe757dd231a59843422be3145dee">operations_research::AssignmentContainer::Element</a></div><div class="ttdeci">const E &amp; Element(const V *const var) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04984">constraint_solver.h:4984</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a662646ce0309b7580051cdeb4f8a4d5a"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a662646ce0309b7580051cdeb4f8a4d5a">operations_research::AssignmentContainer::AddAtPosition</a></div><div class="ttdeci">E * AddAtPosition(V *var, int position)</div><div class="ttdoc">Advanced usage: Adds element at a given position; position has to have been allocated with Assignment...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04922">constraint_solver.h:4922</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a699655a0e89edf33816b4e40b2d2fcc4"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a699655a0e89edf33816b4e40b2d2fcc4">operations_research::AssignmentContainer::Copy</a></div><div class="ttdeci">void Copy(const AssignmentContainer&lt; V, E &gt; &amp;container)</div><div class="ttdoc">Copies all the elements of 'container' to this container, clearing its previous content.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04960">constraint_solver.h:4960</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a6d46683fd5bcefbd1d9dc389fd34d665"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a6d46683fd5bcefbd1d9dc389fd34d665">operations_research::AssignmentContainer::operator!=</a></div><div class="ttdeci">bool operator!=(const AssignmentContainer&lt; V, E &gt; &amp;container) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05042">constraint_solver.h:5042</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a711e8eed87d49e98128460c4aee01d02"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a711e8eed87d49e98128460c4aee01d02">operations_research::AssignmentContainer::MutableElement</a></div><div class="ttdeci">E * MutableElement(const V *const var)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04971">constraint_solver.h:4971</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a7d320f70aa1037c9c92e89ba597b5ee0"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a7d320f70aa1037c9c92e89ba597b5ee0">operations_research::AssignmentContainer::AssignmentContainer</a></div><div class="ttdeci">AssignmentContainer()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04904">constraint_solver.h:4904</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_a9159a0c131a3233d9a8a79dc7afa3c6e"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#a9159a0c131a3233d9a8a79dc7afa3c6e">operations_research::AssignmentContainer::CopyIntersection</a></div><div class="ttdeci">void CopyIntersection(const AssignmentContainer&lt; V, E &gt; &amp;container)</div><div class="ttdoc">Copies the elements of 'container' which are already in the calling container.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04938">constraint_solver.h:4938</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_aa2691148408a9cb2d7a2fad257b25407"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#aa2691148408a9cb2d7a2fad257b25407">operations_research::AssignmentContainer::Element</a></div><div class="ttdeci">const E &amp; Element(int index) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04999">constraint_solver.h:4999</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_aa71d36872f416feaa853788a7a7a7ef8"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#aa71d36872f416feaa853788a7a7a7ef8">operations_research::AssignmentContainer::Clear</a></div><div class="ttdeci">void Clear()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04926">constraint_solver.h:4926</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_aacc1d2a804529f5bc67d92e72a413c0b"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#aacc1d2a804529f5bc67d92e72a413c0b">operations_research::AssignmentContainer::FastAdd</a></div><div class="ttdeci">E * FastAdd(V *var)</div><div class="ttdoc">Adds element without checking its presence in the container.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04915">constraint_solver.h:4915</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_ab313b4181bd38071d2d1495a0227f1d6"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#ab313b4181bd38071d2d1495a0227f1d6">operations_research::AssignmentContainer::elements</a></div><div class="ttdeci">const std::vector&lt; E &gt; &amp; elements() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04997">constraint_solver.h:4997</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_abcfbdba215d3b15fbb4b682969943a6e"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#abcfbdba215d3b15fbb4b682969943a6e">operations_research::AssignmentContainer::Empty</a></div><div class="ttdeci">bool Empty() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04935">constraint_solver.h:4935</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_acb2c9743d23598ac13499629098565f1"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#acb2c9743d23598ac13499629098565f1">operations_research::AssignmentContainer::Add</a></div><div class="ttdeci">E * Add(V *var)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04905">constraint_solver.h:4905</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_ad9cf0e91780366986c2f047bd796cdd5"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#ad9cf0e91780366986c2f047bd796cdd5">operations_research::AssignmentContainer::Resize</a></div><div class="ttdeci">void Resize(size_t size)</div><div class="ttdoc">Advanced usage: Resizes the container, potentially adding elements with null variables.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04934">constraint_solver.h:4934</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_container_html_ade884fd599f8e53c81d6123aec531bc7"><div class="ttname"><a href="classoperations__research_1_1_assignment_container.html#ade884fd599f8e53c81d6123aec531bc7">operations_research::AssignmentContainer::MutableElement</a></div><div class="ttdeci">E * MutableElement(int index)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04998">constraint_solver.h:4998</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_element_html"><div class="ttname"><a href="classoperations__research_1_1_assignment_element.html">operations_research::AssignmentElement</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04682">constraint_solver.h:4682</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_element_html_a9c9dd3575fbfc59e05ae9ed1c05f8896"><div class="ttname"><a href="classoperations__research_1_1_assignment_element.html#a9c9dd3575fbfc59e05ae9ed1c05f8896">operations_research::AssignmentElement::Deactivate</a></div><div class="ttdeci">void Deactivate()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04687">constraint_solver.h:4687</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_element_html_ae79195ce9bb522329dfaedaba78bd4e2"><div class="ttname"><a href="classoperations__research_1_1_assignment_element.html#ae79195ce9bb522329dfaedaba78bd4e2">operations_research::AssignmentElement::Activated</a></div><div class="ttdeci">bool Activated() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04688">constraint_solver.h:4688</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_element_html_ae8753efaeea05f65094a4875a694a368"><div class="ttname"><a href="classoperations__research_1_1_assignment_element.html#ae8753efaeea05f65094a4875a694a368">operations_research::AssignmentElement::Activate</a></div><div class="ttdeci">void Activate()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04686">constraint_solver.h:4686</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_element_html_af5b9d7522539d5b89a7c7652bdcd2a3e"><div class="ttname"><a href="classoperations__research_1_1_assignment_element.html#af5b9d7522539d5b89a7c7652bdcd2a3e">operations_research::AssignmentElement::AssignmentElement</a></div><div class="ttdeci">AssignmentElement()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04684">constraint_solver.h:4684</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html"><div class="ttname"><a href="classoperations__research_1_1_assignment.html">operations_research::Assignment</a></div><div class="ttdoc">An Assignment is a variable -&gt; domains mapping, used to report solutions to the user.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05081">constraint_solver.h:5081</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a01570ac6b0a24b922703e61d13499491"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a01570ac6b0a24b922703e61d13499491">operations_research::Assignment::ActivatedObjective</a></div><div class="ttdeci">bool ActivatedObjective() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a030a94032e1f46b4f4084601f51ac205"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a030a94032e1f46b4f4084601f51ac205">operations_research::Assignment::Unperformed</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; Unperformed(const SequenceVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a0573ecbac135381f651d4932a8985dcd"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a0573ecbac135381f651d4932a8985dcd">operations_research::Assignment::Activated</a></div><div class="ttdeci">bool Activated(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a05cc1c704384e2b15632cafb9716ccee"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a05cc1c704384e2b15632cafb9716ccee">operations_research::Assignment::SetForwardSequence</a></div><div class="ttdeci">void SetForwardSequence(const SequenceVar *const var, const std::vector&lt; int &gt; &amp;forward_sequence)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a0b96efcc2f98dad0ae485612cb567885"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a0b96efcc2f98dad0ae485612cb567885">operations_research::Assignment::Add</a></div><div class="ttdeci">SequenceVarElement * Add(SequenceVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a0e0fc266c5f0cbf229a0a6869a45872b"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a0e0fc266c5f0cbf229a0a6869a45872b">operations_research::Assignment::SetStartRange</a></div><div class="ttdeci">void SetStartRange(const IntervalVar *const var, int64_t mi, int64_t ma)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a0fec1a5195bbcf169c220b3ae9ebd9c2"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a0fec1a5195bbcf169c220b3ae9ebd9c2">operations_research::Assignment::Deactivate</a></div><div class="ttdeci">void Deactivate(const IntVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a150063ed4aa31e007bd84c651e9f80c3"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a150063ed4aa31e007bd84c651e9f80c3">operations_research::Assignment::EndMin</a></div><div class="ttdeci">int64_t EndMin(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a1638d1a971fe2fff9ac82b889951f719"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a1638d1a971fe2fff9ac82b889951f719">operations_research::Assignment::Save</a></div><div class="ttdeci">bool Save(File *file) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a16b8e5abcd20e7bc56a8d5fd6b684ce4"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a16b8e5abcd20e7bc56a8d5fd6b684ce4">operations_research::Assignment::PerformedMin</a></div><div class="ttdeci">int64_t PerformedMin(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a1796dba9a3ce88a3eec8555061e76333"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a1796dba9a3ce88a3eec8555061e76333">operations_research::Assignment::EndMax</a></div><div class="ttdeci">int64_t EndMax(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a1835a442677d0ac8a0b303c628136964"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a1835a442677d0ac8a0b303c628136964">operations_research::Assignment::MutableSequenceVarContainer</a></div><div class="ttdeci">SequenceContainer * MutableSequenceVarContainer()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05243">constraint_solver.h:5243</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::Assignment::Restore</a></div><div class="ttdeci">void Restore()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a18d0ae321119be8c5c2cdfe9cff3bf2f"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a18d0ae321119be8c5c2cdfe9cff3bf2f">operations_research::Assignment::SetBackwardSequence</a></div><div class="ttdeci">void SetBackwardSequence(const SequenceVar *const var, const std::vector&lt; int &gt; &amp;backward_sequence)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a19eb8dc5c3b3756d5d6549d761686842"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a19eb8dc5c3b3756d5d6549d761686842">operations_research::Assignment::FastAdd</a></div><div class="ttdeci">IntervalVarElement * FastAdd(IntervalVar *const var)</div><div class="ttdoc">Adds without checking if variable has been previously added.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a1d7437c06bbc1bc200fe3391075e0f66"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a1d7437c06bbc1bc200fe3391075e0f66">operations_research::Assignment::StartMax</a></div><div class="ttdeci">int64_t StartMax(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a1f37ce9357c2a83cca6d841ad84eed77"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a1f37ce9357c2a83cca6d841ad84eed77">operations_research::Assignment::BackwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; BackwardSequence(const SequenceVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a1f87693caae60c7469fbffaadd6f0649"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a1f87693caae60c7469fbffaadd6f0649">operations_research::Assignment::AreAllElementsBound</a></div><div class="ttdeci">bool AreAllElementsBound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05216">constraint_solver.h:5216</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a1f8e2dac8f3aa1167d45e0955fa70e27"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a1f8e2dac8f3aa1167d45e0955fa70e27">operations_research::Assignment::SetStartMin</a></div><div class="ttdeci">void SetStartMin(const IntervalVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a24926108b770033792d015cb86aeffb3"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a24926108b770033792d015cb86aeffb3">operations_research::Assignment::Size</a></div><div class="ttdeci">int Size() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05098">constraint_solver.h:5098</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a24faa84fe1be555f0e75ff996339cff1"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a24faa84fe1be555f0e75ff996339cff1">operations_research::Assignment::DurationMin</a></div><div class="ttdeci">int64_t DurationMin(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a2626963ebc9f59a8528acb1b04753b73"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a2626963ebc9f59a8528acb1b04753b73">operations_research::Assignment::EndValue</a></div><div class="ttdeci">int64_t EndValue(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a2b73b6bfa34aead8c15b272312f3ec5f"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a2b73b6bfa34aead8c15b272312f3ec5f">operations_research::Assignment::ObjectiveMax</a></div><div class="ttdeci">int64_t ObjectiveMax() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a2c04ece633c362fcab7890202047156b"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a2c04ece633c362fcab7890202047156b">operations_research::Assignment::Assignment</a></div><div class="ttdeci">Assignment(Solver *const s)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a2e81ca4bfc3606fa0841c7d23be9dc2c"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a2e81ca4bfc3606fa0841c7d23be9dc2c">operations_research::Assignment::SetRange</a></div><div class="ttdeci">void SetRange(const IntVar *const var, int64_t l, int64_t u)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a30787d03c2950082fa6401cd47fa3336"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a30787d03c2950082fa6401cd47fa3336">operations_research::Assignment::FastAdd</a></div><div class="ttdeci">SequenceVarElement * FastAdd(SequenceVar *const var)</div><div class="ttdoc">Adds without checking if the variable had been previously added.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a334eb35140fbe9c531194bd6aec9a37c"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a334eb35140fbe9c531194bd6aec9a37c">operations_research::Assignment::Deactivate</a></div><div class="ttdeci">void Deactivate(const SequenceVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a34965212763f85ad2098000fc74cf171"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a34965212763f85ad2098000fc74cf171">operations_research::Assignment::IntervalVarContainer</a></div><div class="ttdeci">const IntervalContainer &amp; IntervalVarContainer() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05234">constraint_solver.h:5234</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a3639042f24d01e89b18ca7f50af82f1e"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a3639042f24d01e89b18ca7f50af82f1e">operations_research::Assignment::SequenceContainer</a></div><div class="ttdeci">AssignmentContainer&lt; SequenceVar, SequenceVarElement &gt; SequenceContainer</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05087">constraint_solver.h:5087</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a3818299a4be6ab80f11814fbc6654395"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a3818299a4be6ab80f11814fbc6654395">operations_research::Assignment::NumSequenceVars</a></div><div class="ttdeci">int NumSequenceVars() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05103">constraint_solver.h:5103</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a39e5a78e9409aad82cd5349dcb0f4c01"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a39e5a78e9409aad82cd5349dcb0f4c01">operations_research::Assignment::ActivateObjective</a></div><div class="ttdeci">void ActivateObjective()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::Assignment::Store</a></div><div class="ttdeci">void Store()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a3afa3e4395f2d281d5d1b9fe5dc352c8"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a3afa3e4395f2d281d5d1b9fe5dc352c8">operations_research::Assignment::Activated</a></div><div class="ttdeci">bool Activated(const SequenceVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a3d54729ad190fd3296efb6011fbc81dd"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a3d54729ad190fd3296efb6011fbc81dd">operations_research::Assignment::StartValue</a></div><div class="ttdeci">int64_t StartValue(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a3e222c69fa6c693ccfeb7ff13cd482d3"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a3e222c69fa6c693ccfeb7ff13cd482d3">operations_research::Assignment::ClearObjective</a></div><div class="ttdeci">void ClearObjective()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05122">constraint_solver.h:5122</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a3e4f71c5c314fd532afb5588a9bbb9c6"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a3e4f71c5c314fd532afb5588a9bbb9c6">operations_research::Assignment::Contains</a></div><div class="ttdeci">bool Contains(const SequenceVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a431875fe26e9e5e35f0ced96f77cd290"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a431875fe26e9e5e35f0ced96f77cd290">operations_research::Assignment::SetObjectiveValue</a></div><div class="ttdeci">void SetObjectiveValue(int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a4787369b2c9922e8ad325759d2a559b3"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a4787369b2c9922e8ad325759d2a559b3">operations_research::Assignment::Objective</a></div><div class="ttdeci">IntVar * Objective() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a4f586a9056698e50f687455cbe3c79c7"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a4f586a9056698e50f687455cbe3c79c7">operations_research::Assignment::Add</a></div><div class="ttdeci">void Add(const std::vector&lt; SequenceVar * &gt; &amp;vars)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a4fe75b026a248f2ebce1d67dc11d7488"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a4fe75b026a248f2ebce1d67dc11d7488">operations_research::Assignment::SetObjectiveMax</a></div><div class="ttdeci">void SetObjectiveMax(int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a4ffd516bcdda189f37da20040fba290e"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a4ffd516bcdda189f37da20040fba290e">operations_research::Assignment::Load</a></div><div class="ttdeci">bool Load(const std::string &amp;filename)</div><div class="ttdoc">Loads an assignment from a file; does not add variables to the assignment (only the variables contain...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a51f04bd1547f2ff1a46bf027c04d28e4"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a51f04bd1547f2ff1a46bf027c04d28e4">operations_research::Assignment::SetMax</a></div><div class="ttdeci">void SetMax(const IntVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a5509999e1438c9ab2481c2e44d678b8c"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a5509999e1438c9ab2481c2e44d678b8c">operations_research::Assignment::SetDurationMin</a></div><div class="ttdeci">void SetDurationMin(const IntervalVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a5ada568a96ff72942bc54fb3a9587b32"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a5ada568a96ff72942bc54fb3a9587b32">operations_research::Assignment::PerformedValue</a></div><div class="ttdeci">int64_t PerformedValue(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a5ae2bfd9503f49d3cd3f9263faa79cf8"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a5ae2bfd9503f49d3cd3f9263faa79cf8">operations_research::Assignment::DurationMax</a></div><div class="ttdeci">int64_t DurationMax(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a605d677aadbba9204ec27140860c8798"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a605d677aadbba9204ec27140860c8798">operations_research::Assignment::Add</a></div><div class="ttdeci">IntervalVarElement * Add(IntervalVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a60e7fa8388801a72e31391e8203a9464"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a60e7fa8388801a72e31391e8203a9464">operations_research::Assignment::Contains</a></div><div class="ttdeci">bool Contains(const IntVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a6138f04eea16f1da01e48b6be78ae3b1"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a6138f04eea16f1da01e48b6be78ae3b1">operations_research::Assignment::SetEndRange</a></div><div class="ttdeci">void SetEndRange(const IntervalVar *const var, int64_t mi, int64_t ma)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a62eeaedd1b35f3805bbd3e544c16577b"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a62eeaedd1b35f3805bbd3e544c16577b">operations_research::Assignment::Add</a></div><div class="ttdeci">void Add(const std::vector&lt; IntVar * &gt; &amp;vars)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a6373c24e80f632e5862205aeff39f22b"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a6373c24e80f632e5862205aeff39f22b">operations_research::Assignment::Activate</a></div><div class="ttdeci">void Activate(const SequenceVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a641f9865b41be1c636f3c35f995500b0"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a641f9865b41be1c636f3c35f995500b0">operations_research::Assignment::Contains</a></div><div class="ttdeci">bool Contains(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a673faac1a261ca2414930dddbfaef92b"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a673faac1a261ca2414930dddbfaef92b">operations_research::Assignment::ObjectiveValue</a></div><div class="ttdeci">int64_t ObjectiveValue() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a6798e539bb42f8c4bebb89e810acad7d"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a6798e539bb42f8c4bebb89e810acad7d">operations_research::Assignment::Activated</a></div><div class="ttdeci">bool Activated(const IntVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a6b181a6b49df0fa3c31f492c53693174"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a6b181a6b49df0fa3c31f492c53693174">operations_research::Assignment::Save</a></div><div class="ttdeci">bool Save(const std::string &amp;filename) const</div><div class="ttdoc">Saves the assignment to a file.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a6f3a03e958cc119592fc6ecdf2b1e908"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a6f3a03e958cc119592fc6ecdf2b1e908">operations_research::Assignment::Add</a></div><div class="ttdeci">void Add(const std::vector&lt; IntervalVar * &gt; &amp;vars)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a77cfa21bff2f28dab2d031c6b9e9539c"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a77cfa21bff2f28dab2d031c6b9e9539c">operations_research::Assignment::SetPerformedRange</a></div><div class="ttdeci">void SetPerformedRange(const IntervalVar *const var, int64_t mi, int64_t ma)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a790b0d91df1b14fc67add7c5e9610500"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a790b0d91df1b14fc67add7c5e9610500">operations_research::Assignment::MutableIntervalVarContainer</a></div><div class="ttdeci">IntervalContainer * MutableIntervalVarContainer()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05237">constraint_solver.h:5237</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a7b3672a3346ee791d05c640c93930944"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a7b3672a3346ee791d05c640c93930944">operations_research::Assignment::DurationValue</a></div><div class="ttdeci">int64_t DurationValue(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a81bb8b1afde97973865760039c1f8328"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a81bb8b1afde97973865760039c1f8328">operations_research::Assignment::ForwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; ForwardSequence(const SequenceVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a81c8f76d39ff0529fe40e70f8319d5d2"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a81c8f76d39ff0529fe40e70f8319d5d2">operations_research::Assignment::HasObjective</a></div><div class="ttdeci">bool HasObjective() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05124">constraint_solver.h:5124</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a81ef5c2da0677185d64d6c79d9ef9eb5"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a81ef5c2da0677185d64d6c79d9ef9eb5">operations_research::Assignment::~Assignment</a></div><div class="ttdeci">~Assignment() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a849fb51dc267fbe7f117aeb82f97ac99"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a849fb51dc267fbe7f117aeb82f97ac99">operations_research::Assignment::SetDurationRange</a></div><div class="ttdeci">void SetDurationRange(const IntervalVar *const var, int64_t mi, int64_t ma)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a856df6a293bedbd12dcf082891f002c4"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a856df6a293bedbd12dcf082891f002c4">operations_research::Assignment::SequenceVarContainer</a></div><div class="ttdeci">const SequenceContainer &amp; SequenceVarContainer() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05240">constraint_solver.h:5240</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a86601a2dad7a051d7b387ffa789898ff"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a86601a2dad7a051d7b387ffa789898ff">operations_research::Assignment::AddObjective</a></div><div class="ttdeci">void AddObjective(IntVar *const v)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a87c0e4b53f7df73cba921ff780b0a7b4"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a87c0e4b53f7df73cba921ff780b0a7b4">operations_research::Assignment::SetEndMin</a></div><div class="ttdeci">void SetEndMin(const IntervalVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a88515905299f569432aaba577a912add"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a88515905299f569432aaba577a912add">operations_research::Assignment::SetValue</a></div><div class="ttdeci">void SetValue(const IntVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a89527a874098e35f9729eb276297cab1"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a89527a874098e35f9729eb276297cab1">operations_research::Assignment::Activate</a></div><div class="ttdeci">void Activate(const IntVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a8a270b0475a9ceac9191176a3a3bf00f"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a8a270b0475a9ceac9191176a3a3bf00f">operations_research::Assignment::DeactivateObjective</a></div><div class="ttdeci">void DeactivateObjective()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a8abea9d29c2a7da778c25195d89b22ca"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a8abea9d29c2a7da778c25195d89b22ca">operations_research::Assignment::ObjectiveMin</a></div><div class="ttdeci">int64_t ObjectiveMin() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a8c8541cd4505af06e0a482e494593ccd"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a8c8541cd4505af06e0a482e494593ccd">operations_research::Assignment::SetDurationMax</a></div><div class="ttdeci">void SetDurationMax(const IntervalVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a8dbbd913afa005c99a0ec9cbfa665b46"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a8dbbd913afa005c99a0ec9cbfa665b46">operations_research::Assignment::Max</a></div><div class="ttdeci">int64_t Max(const IntVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a8e0cac088b44596d620963b8bc693770"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a8e0cac088b44596d620963b8bc693770">operations_research::Assignment::Value</a></div><div class="ttdeci">int64_t Value(const IntVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a8ed3204d0a27f19953846cffa5531ca2"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a8ed3204d0a27f19953846cffa5531ca2">operations_research::Assignment::SetStartMax</a></div><div class="ttdeci">void SetStartMax(const IntervalVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a8f5f21eb1f89d6dc3086fe89442ffa6a"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a8f5f21eb1f89d6dc3086fe89442ffa6a">operations_research::Assignment::SetPerformedMax</a></div><div class="ttdeci">void SetPerformedMax(const IntervalVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_a971dc3ccb0411f5f28009dab5ae40473"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#a971dc3ccb0411f5f28009dab5ae40473">operations_research::Assignment::Load</a></div><div class="ttdeci">bool Load(File *file)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aa09fc06807187218aa49ac0af4147f8f"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aa09fc06807187218aa49ac0af4147f8f">operations_research::Assignment::SetUnperformed</a></div><div class="ttdeci">void SetUnperformed(const SequenceVar *const var, const std::vector&lt; int &gt; &amp;unperformed)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aa573ee37644cb6b38b9f3ca174e594e2"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aa573ee37644cb6b38b9f3ca174e594e2">operations_research::Assignment::SetObjectiveRange</a></div><div class="ttdeci">void SetObjectiveRange(int64_t l, int64_t u)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aa636986a95e48c14ee919f92f6409dff"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aa636986a95e48c14ee919f92f6409dff">operations_research::Assignment::SetMin</a></div><div class="ttdeci">void SetMin(const IntVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aa71d36872f416feaa853788a7a7a7ef8"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aa71d36872f416feaa853788a7a7a7ef8">operations_research::Assignment::Clear</a></div><div class="ttdeci">void Clear()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aa7364615bd55aca845a4ad5e29a8eabe"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aa7364615bd55aca845a4ad5e29a8eabe">operations_research::Assignment::PerformedMax</a></div><div class="ttdeci">int64_t PerformedMax(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aa9ef046d2106e3c97320622dd717dafc"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aa9ef046d2106e3c97320622dd717dafc">operations_research::Assignment::SetObjectiveMin</a></div><div class="ttdeci">void SetObjectiveMin(int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aab10ce899b5e04d618bbad6cc7e3c8e6"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aab10ce899b5e04d618bbad6cc7e3c8e6">operations_research::Assignment::Deactivate</a></div><div class="ttdeci">void Deactivate(const IntervalVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aab2342dc981954ebcfdd6735045f3448"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aab2342dc981954ebcfdd6735045f3448">operations_research::Assignment::operator==</a></div><div class="ttdeci">bool operator==(const Assignment &amp;assignment) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05246">constraint_solver.h:5246</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aabe9b69b0095b1041fe2fda80a5e568a"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aabe9b69b0095b1041fe2fda80a5e568a">operations_research::Assignment::SetDurationValue</a></div><div class="ttdeci">void SetDurationValue(const IntervalVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aad86dd69d5664ce8e16198be929fd941"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aad86dd69d5664ce8e16198be929fd941">operations_research::Assignment::CopyIntersection</a></div><div class="ttdeci">void CopyIntersection(const Assignment *assignment)</div><div class="ttdoc">Copies the intersection of the two assignments to the current assignment.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aadb464257cdb5eba70a5969af94c0e91"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aadb464257cdb5eba70a5969af94c0e91">operations_research::Assignment::NumIntervalVars</a></div><div class="ttdeci">int NumIntervalVars() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05102">constraint_solver.h:5102</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ab06ef0be4cab46f52578e8bdad1fae24"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ab06ef0be4cab46f52578e8bdad1fae24">operations_research::Assignment::SetEndValue</a></div><div class="ttdeci">void SetEndValue(const IntervalVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ab157d7f9928411cc8aa0e27980ac0dc9"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ab157d7f9928411cc8aa0e27980ac0dc9">operations_research::Assignment::ObjectiveBound</a></div><div class="ttdeci">bool ObjectiveBound() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ab7392f36e3e635b067027005f53aa89e"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ab7392f36e3e635b067027005f53aa89e">operations_research::Assignment::IntervalContainer</a></div><div class="ttdeci">AssignmentContainer&lt; IntervalVar, IntervalVarElement &gt; IntervalContainer</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05085">constraint_solver.h:5085</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_abcfbdba215d3b15fbb4b682969943a6e"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#abcfbdba215d3b15fbb4b682969943a6e">operations_research::Assignment::Empty</a></div><div class="ttdeci">bool Empty() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05094">constraint_solver.h:5094</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_abe9fc04684b90fd26cf33ffe61290ade"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#abe9fc04684b90fd26cf33ffe61290ade">operations_research::Assignment::SetStartValue</a></div><div class="ttdeci">void SetStartValue(const IntervalVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_abefb551a80f31ea11c902426f34cb225"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#abefb551a80f31ea11c902426f34cb225">operations_research::Assignment::Activate</a></div><div class="ttdeci">void Activate(const IntervalVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ac39babb96c21a22d40f85e8c4670c1d4"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ac39babb96c21a22d40f85e8c4670c1d4">operations_research::Assignment::SetEndMax</a></div><div class="ttdeci">void SetEndMax(const IntervalVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ac3a2b45d0a767f6342c4a6023434ef19"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ac3a2b45d0a767f6342c4a6023434ef19">operations_research::Assignment::SetPerformedValue</a></div><div class="ttdeci">void SetPerformedValue(const IntervalVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ac5c629d2d5a05cc92cd349b83c909f1a"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ac5c629d2d5a05cc92cd349b83c909f1a">operations_research::Assignment::SetPerformedMin</a></div><div class="ttdeci">void SetPerformedMin(const IntervalVar *const var, int64_t m)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ac76f6d6854dc981871832c7714c4a4bb"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ac76f6d6854dc981871832c7714c4a4bb">operations_research::Assignment::MutableIntVarContainer</a></div><div class="ttdeci">IntContainer * MutableIntVarContainer()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05233">constraint_solver.h:5233</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ac8ea032572d695efb2c4b8dbe1fe57a6"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ac8ea032572d695efb2c4b8dbe1fe57a6">operations_research::Assignment::Load</a></div><div class="ttdeci">void Load(const AssignmentProto &amp;assignment_proto)</div><div class="ttdoc">#if !defined(SWIG)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ac97eab84adb6cc33ae0124c944a4f8c7"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ac97eab84adb6cc33ae0124c944a4f8c7">operations_research::Assignment::Copy</a></div><div class="ttdeci">void Copy(const Assignment *assignment)</div><div class="ttdoc">Copies 'assignment' to the current assignment, clearing its previous content.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ace2db6f9700f6a2159db104f5df1dc8f"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ace2db6f9700f6a2159db104f5df1dc8f">operations_research::Assignment::IntContainer</a></div><div class="ttdeci">AssignmentContainer&lt; IntVar, IntVarElement &gt; IntContainer</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05083">constraint_solver.h:5083</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ad0319bfc2c7de380041b45adcc7abbf8"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ad0319bfc2c7de380041b45adcc7abbf8">operations_research::Assignment::SetSequence</a></div><div class="ttdeci">void SetSequence(const SequenceVar *const var, const std::vector&lt; int &gt; &amp;forward_sequence, const std::vector&lt; int &gt; &amp;backward_sequence, const std::vector&lt; int &gt; &amp;unperformed)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_adc0a2632bffdcc3b422a33cda362a294"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#adc0a2632bffdcc3b422a33cda362a294">operations_research::Assignment::NumIntVars</a></div><div class="ttdeci">int NumIntVars() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05101">constraint_solver.h:5101</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_ae8ff1d18d50b93a2499ccd7130addecb"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#ae8ff1d18d50b93a2499ccd7130addecb">operations_research::Assignment::Add</a></div><div class="ttdeci">IntVarElement * Add(IntVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aecf5d63faebdaeda9dca52f916576459"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aecf5d63faebdaeda9dca52f916576459">operations_research::Assignment::Bound</a></div><div class="ttdeci">bool Bound(const IntVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Assignment::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_aedb0ae1cf8c3e89218604e5c039d6c7b"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#aedb0ae1cf8c3e89218604e5c039d6c7b">operations_research::Assignment::IntVarContainer</a></div><div class="ttdeci">const IntContainer &amp; IntVarContainer() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05232">constraint_solver.h:5232</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_af2c17e9e8d310419dade841aca1ab837"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#af2c17e9e8d310419dade841aca1ab837">operations_research::Assignment::Min</a></div><div class="ttdeci">int64_t Min(const IntVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_af36c6a1a2717055e72ec2c6ecf85138b"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#af36c6a1a2717055e72ec2c6ecf85138b">operations_research::Assignment::Save</a></div><div class="ttdeci">void Save(AssignmentProto *const assignment_proto) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_af5fcf5e7a47ae0e325fb1df409ac8e24"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#af5fcf5e7a47ae0e325fb1df409ac8e24">operations_research::Assignment::FastAdd</a></div><div class="ttdeci">IntVarElement * FastAdd(IntVar *const var)</div><div class="ttdoc">Adds without checking if variable has been previously added.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_afaefc7559a8bbef854438d9196eb28e9"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#afaefc7559a8bbef854438d9196eb28e9">operations_research::Assignment::Assignment</a></div><div class="ttdeci">Assignment(const Assignment *const copy)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_afdc5be54d5e8021c2c834027ee54451d"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#afdc5be54d5e8021c2c834027ee54451d">operations_research::Assignment::StartMin</a></div><div class="ttdeci">int64_t StartMin(const IntervalVar *const var) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_assignment_html_affcbe1cefd443f0581b455613cacc219"><div class="ttname"><a href="classoperations__research_1_1_assignment.html#affcbe1cefd443f0581b455613cacc219">operations_research::Assignment::operator!=</a></div><div class="ttdeci">bool operator!=(const Assignment &amp;assignment) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05252">constraint_solver.h:5252</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_base_int_expr_html"><div class="ttname"><a href="classoperations__research_1_1_base_int_expr.html">operations_research::BaseIntExpr</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00101">constraint_solveri.h:101</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_base_object_html"><div class="ttname"><a href="classoperations__research_1_1_base_object.html">operations_research::BaseObject</a></div><div class="ttdoc">A BaseObject is the root of all reversibly allocated objects.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03169">constraint_solver.h:3169</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_base_object_html_a48f1c86064886ad6b10822e12c877da9"><div class="ttname"><a href="classoperations__research_1_1_base_object.html#a48f1c86064886ad6b10822e12c877da9">operations_research::BaseObject::BaseObject</a></div><div class="ttdeci">BaseObject()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03171">constraint_solver.h:3171</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_base_object_html_a8eba5d533fa9df4617c1868d3ec2afc4"><div class="ttname"><a href="classoperations__research_1_1_base_object.html#a8eba5d533fa9df4617c1868d3ec2afc4">operations_research::BaseObject::DebugString</a></div><div class="ttdeci">virtual std::string DebugString() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03173">constraint_solver.h:3173</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_base_object_html_a9d8322d9fcae16059ee5a30839360bfe"><div class="ttname"><a href="classoperations__research_1_1_base_object.html#a9d8322d9fcae16059ee5a30839360bfe">operations_research::BaseObject::~BaseObject</a></div><div class="ttdeci">virtual ~BaseObject()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03172">constraint_solver.h:3172</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_cast_constraint_html"><div class="ttname"><a href="classoperations__research_1_1_cast_constraint.html">operations_research::CastConstraint</a></div><div class="ttdoc">Cast constraints are special channeling constraints designed to keep a variable in sync with an expre...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03662">constraint_solver.h:3662</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_cast_constraint_html_a870e6a416b760b2c0aaba0d45ce7a359"><div class="ttname"><a href="classoperations__research_1_1_cast_constraint.html#a870e6a416b760b2c0aaba0d45ce7a359">operations_research::CastConstraint::~CastConstraint</a></div><div class="ttdeci">~CastConstraint() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03668">constraint_solver.h:3668</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_cast_constraint_html_a98fcd7d6529aa105a5d9ca4b282579f0"><div class="ttname"><a href="classoperations__research_1_1_cast_constraint.html#a98fcd7d6529aa105a5d9ca4b282579f0">operations_research::CastConstraint::target_var_</a></div><div class="ttdeci">IntVar *const target_var_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03673">constraint_solver.h:3673</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_cast_constraint_html_adb41490adbe44e16dbf6f777dda74ece"><div class="ttname"><a href="classoperations__research_1_1_cast_constraint.html#adb41490adbe44e16dbf6f777dda74ece">operations_research::CastConstraint::target_var</a></div><div class="ttdeci">IntVar * target_var() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03670">constraint_solver.h:3670</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_cast_constraint_html_af819176a9aae0724902c5a1b50786b0b"><div class="ttname"><a href="classoperations__research_1_1_cast_constraint.html#af819176a9aae0724902c5a1b50786b0b">operations_research::CastConstraint::CastConstraint</a></div><div class="ttdeci">CastConstraint(Solver *const solver, IntVar *const target_var)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03664">constraint_solver.h:3664</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html"><div class="ttname"><a href="classoperations__research_1_1_constraint.html">operations_research::Constraint</a></div><div class="ttdoc">A constraint is the main modeling object.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03626">constraint_solver.h:3626</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html_a06a1a88fd005ae10834c7fcfa4bc8d20"><div class="ttname"><a href="classoperations__research_1_1_constraint.html#a06a1a88fd005ae10834c7fcfa4bc8d20">operations_research::Constraint::~Constraint</a></div><div class="ttdeci">~Constraint() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03629">constraint_solver.h:3629</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html_a19c44e0b2911b809a9403701804088e3"><div class="ttname"><a href="classoperations__research_1_1_constraint.html#a19c44e0b2911b809a9403701804088e3">operations_research::Constraint::PostAndPropagate</a></div><div class="ttdeci">void PostAndPropagate()</div><div class="ttdoc">Calls Post and then Propagate to initialize the constraints.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html_a2d3440f89eb5f785654b251239ca049b"><div class="ttname"><a href="classoperations__research_1_1_constraint.html#a2d3440f89eb5f785654b251239ca049b">operations_research::Constraint::Var</a></div><div class="ttdeci">virtual IntVar * Var()</div><div class="ttdoc">Creates a Boolean variable representing the status of the constraint (false = constraint is violated,...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html_a573284ea4ace994b6886c6a4feffa0aa"><div class="ttname"><a href="classoperations__research_1_1_constraint.html#a573284ea4ace994b6886c6a4feffa0aa">operations_research::Constraint::IsCastConstraint</a></div><div class="ttdeci">bool IsCastConstraint() const</div><div class="ttdoc">Is the constraint created by a cast from expression to integer variable?</div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html_a9100fab5545234f60a4ce442dbb45630"><div class="ttname"><a href="classoperations__research_1_1_constraint.html#a9100fab5545234f60a4ce442dbb45630">operations_research::Constraint::InitialPropagate</a></div><div class="ttdeci">virtual void InitialPropagate()=0</div><div class="ttdoc">This method performs the initial propagation of the constraint.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html_ad73d074eabf60c009e7ca6a16a5909e4"><div class="ttname"><a href="classoperations__research_1_1_constraint.html#ad73d074eabf60c009e7ca6a16a5909e4">operations_research::Constraint::Constraint</a></div><div class="ttdeci">Constraint(Solver *const solver)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03628">constraint_solver.h:3628</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_constraint.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Constraint::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html_af33bad3aa81a2f411224d5e471f9956f"><div class="ttname"><a href="classoperations__research_1_1_constraint.html#af33bad3aa81a2f411224d5e471f9956f">operations_research::Constraint::Post</a></div><div class="ttdeci">virtual void Post()=0</div><div class="ttdoc">This method is called when the constraint is processed by the solver.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_constraint_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1_constraint.html#afcde421cf076575a27bed81c80093ac8">operations_research::Constraint::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_builder_html"><div class="ttname"><a href="classoperations__research_1_1_decision_builder.html">operations_research::DecisionBuilder</a></div><div class="ttdoc">A DecisionBuilder is responsible for creating the search tree.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03285">constraint_solver.h:3285</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_builder_html_a56fb7470075432c3b0870a1a1d1fcb02"><div class="ttname"><a href="classoperations__research_1_1_decision_builder.html#a56fb7470075432c3b0870a1a1d1fcb02">operations_research::DecisionBuilder::Next</a></div><div class="ttdeci">virtual Decision * Next(Solver *const s)=0</div><div class="ttdoc">This is the main method of the decision builder class.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_builder_html_a952c3ef185d196855cc6c5f2b7ab749c"><div class="ttname"><a href="classoperations__research_1_1_decision_builder.html#a952c3ef185d196855cc6c5f2b7ab749c">operations_research::DecisionBuilder::AppendMonitors</a></div><div class="ttdeci">virtual void AppendMonitors(Solver *const solver, std::vector&lt; SearchMonitor * &gt; *const extras)</div><div class="ttdoc">This method will be called at the start of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_builder_html_a9a98946a64f3893b085f650932c9dfee"><div class="ttname"><a href="classoperations__research_1_1_decision_builder.html#a9a98946a64f3893b085f650932c9dfee">operations_research::DecisionBuilder::GetName</a></div><div class="ttdeci">std::string GetName() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_builder_html_ac822e3c8055eeace0165357c9b35a490"><div class="ttname"><a href="classoperations__research_1_1_decision_builder.html#ac822e3c8055eeace0165357c9b35a490">operations_research::DecisionBuilder::DecisionBuilder</a></div><div class="ttdeci">DecisionBuilder()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03287">constraint_solver.h:3287</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_builder_html_ad3bd886b44a7c315a2ed7b5da09798aa"><div class="ttname"><a href="classoperations__research_1_1_decision_builder.html#ad3bd886b44a7c315a2ed7b5da09798aa">operations_research::DecisionBuilder::~DecisionBuilder</a></div><div class="ttdeci">~DecisionBuilder() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03288">constraint_solver.h:3288</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_builder_html_ad5260b9627048b854b45d05ed34adc22"><div class="ttname"><a href="classoperations__research_1_1_decision_builder.html#ad5260b9627048b854b45d05ed34adc22">operations_research::DecisionBuilder::set_name</a></div><div class="ttdeci">void set_name(const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03304">constraint_solver.h:3304</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_builder_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_decision_builder.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::DecisionBuilder::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_builder_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1_decision_builder.html#afcde421cf076575a27bed81c80093ac8">operations_research::DecisionBuilder::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_html"><div class="ttname"><a href="classoperations__research_1_1_decision.html">operations_research::Decision</a></div><div class="ttdoc">A Decision represents a choice point in the search tree.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03245">constraint_solver.h:3245</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_html_a4adc076f6a88e85584762d4b7f30a820"><div class="ttname"><a href="classoperations__research_1_1_decision.html#a4adc076f6a88e85584762d4b7f30a820">operations_research::Decision::Apply</a></div><div class="ttdeci">virtual void Apply(Solver *const s)=0</div><div class="ttdoc">Apply will be called first when the decision is executed.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_html_a51b2fa6aacf500666d37f0a73eb57c45"><div class="ttname"><a href="classoperations__research_1_1_decision.html#a51b2fa6aacf500666d37f0a73eb57c45">operations_research::Decision::~Decision</a></div><div class="ttdeci">~Decision() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03248">constraint_solver.h:3248</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_html_a8462eeafe7a33b8330e9a660d7678456"><div class="ttname"><a href="classoperations__research_1_1_decision.html#a8462eeafe7a33b8330e9a660d7678456">operations_research::Decision::Accept</a></div><div class="ttdeci">virtual void Accept(DecisionVisitor *const visitor) const</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_html_a8b28baa822da63142e875e1258fe0973"><div class="ttname"><a href="classoperations__research_1_1_decision.html#a8b28baa822da63142e875e1258fe0973">operations_research::Decision::Refute</a></div><div class="ttdeci">virtual void Refute(Solver *const s)=0</div><div class="ttdoc">Refute will be called after a backtrack.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_html_abd62b993702516d946bdbef25f6d29b0"><div class="ttname"><a href="classoperations__research_1_1_decision.html#abd62b993702516d946bdbef25f6d29b0">operations_research::Decision::Decision</a></div><div class="ttdeci">Decision()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03247">constraint_solver.h:3247</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_decision.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Decision::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03256">constraint_solver.h:3256</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html">operations_research::DecisionVisitor</a></div><div class="ttdoc">A DecisionVisitor is used to inspect a decision.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03266">constraint_solver.h:3266</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html_a355cefbc4074014fa7dfe2b8843b95d9"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html#a355cefbc4074014fa7dfe2b8843b95d9">operations_research::DecisionVisitor::~DecisionVisitor</a></div><div class="ttdeci">~DecisionVisitor() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03269">constraint_solver.h:3269</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html_a43ca496a77b53af5304266275f538677"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html#a43ca496a77b53af5304266275f538677">operations_research::DecisionVisitor::VisitScheduleOrExpedite</a></div><div class="ttdeci">virtual void VisitScheduleOrExpedite(IntervalVar *const var, int64_t est)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html_a6ed8ebdedee3354d6dfdd87f31bf0bec"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html#a6ed8ebdedee3354d6dfdd87f31bf0bec">operations_research::DecisionVisitor::VisitSetVariableValue</a></div><div class="ttdeci">virtual void VisitSetVariableValue(IntVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html_a910416d65b91c74949c37baa9f2bd0b3"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html#a910416d65b91c74949c37baa9f2bd0b3">operations_research::DecisionVisitor::VisitSplitVariableDomain</a></div><div class="ttdeci">virtual void VisitSplitVariableDomain(IntVar *const var, int64_t value, bool start_with_lower_half)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html_aa353bc0782b1d85de7571e888cc19b69"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html#aa353bc0782b1d85de7571e888cc19b69">operations_research::DecisionVisitor::VisitRankLastInterval</a></div><div class="ttdeci">virtual void VisitRankLastInterval(SequenceVar *const sequence, int index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html_ac0309a0302536688f65af03dc87292f5"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html#ac0309a0302536688f65af03dc87292f5">operations_research::DecisionVisitor::VisitRankFirstInterval</a></div><div class="ttdeci">virtual void VisitRankFirstInterval(SequenceVar *const sequence, int index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html_acea5888cfe948f90c0237cb4765bf940"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html#acea5888cfe948f90c0237cb4765bf940">operations_research::DecisionVisitor::VisitUnknownDecision</a></div><div class="ttdeci">virtual void VisitUnknownDecision()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html_ad1ab6d0815aeb8701ad95793775a0fc2"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html#ad1ab6d0815aeb8701ad95793775a0fc2">operations_research::DecisionVisitor::VisitScheduleOrPostpone</a></div><div class="ttdeci">virtual void VisitScheduleOrPostpone(IntervalVar *const var, int64_t est)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_decision_visitor_html_af92f578c97531537e56d6bf57447bc6b"><div class="ttname"><a href="classoperations__research_1_1_decision_visitor.html#af92f578c97531537e56d6bf57447bc6b">operations_research::DecisionVisitor::DecisionVisitor</a></div><div class="ttdeci">DecisionVisitor()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03268">constraint_solver.h:3268</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_demon_html"><div class="ttname"><a href="classoperations__research_1_1_demon.html">operations_research::Demon</a></div><div class="ttdoc">A Demon is the base element of a propagation queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03342">constraint_solver.h:3342</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_demon_html_a0c1ff1e86b1eb08d0f87eab2943dac2a"><div class="ttname"><a href="classoperations__research_1_1_demon.html#a0c1ff1e86b1eb08d0f87eab2943dac2a">operations_research::Demon::inhibit</a></div><div class="ttdeci">void inhibit(Solver *const s)</div><div class="ttdoc">This method inhibits the demon in the search tree below the current position.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_demon_html_a18542ce967b086b67c5b0e2b1c025bcf"><div class="ttname"><a href="classoperations__research_1_1_demon.html#a18542ce967b086b67c5b0e2b1c025bcf">operations_research::Demon::Demon</a></div><div class="ttdeci">Demon()</div><div class="ttdoc">This indicates the priority of a demon.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03346">constraint_solver.h:3346</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_demon_html_a2baabc490b7cd5aa80136e07b358cb21"><div class="ttname"><a href="classoperations__research_1_1_demon.html#a2baabc490b7cd5aa80136e07b358cb21">operations_research::Demon::desinhibit</a></div><div class="ttdeci">void desinhibit(Solver *const s)</div><div class="ttdoc">This method un-inhibits the demon that was previously inhibited.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_demon_html_a47dfc6f2bc0d50a6e7c92eb00d97b064"><div class="ttname"><a href="classoperations__research_1_1_demon.html#a47dfc6f2bc0d50a6e7c92eb00d97b064">operations_research::Demon::Queue</a></div><div class="ttdeci">friend class Queue</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03367">constraint_solver.h:3367</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_demon_html_a5ac0e92284072f70d4e73188ced54885"><div class="ttname"><a href="classoperations__research_1_1_demon.html#a5ac0e92284072f70d4e73188ced54885">operations_research::Demon::priority</a></div><div class="ttdeci">virtual Solver::DemonPriority priority() const</div><div class="ttdoc">This method returns the priority of the demon.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_demon_html_a5c1d752bf5b8c6e57bd7defbdbc3e0d8"><div class="ttname"><a href="classoperations__research_1_1_demon.html#a5c1d752bf5b8c6e57bd7defbdbc3e0d8">operations_research::Demon::~Demon</a></div><div class="ttdeci">~Demon() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03347">constraint_solver.h:3347</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_demon_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_demon.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Demon::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_demon_html_aff915cd1c182d7e7ce5c9d15e9ae1da7"><div class="ttname"><a href="classoperations__research_1_1_demon.html#aff915cd1c182d7e7ce5c9d15e9ae1da7">operations_research::Demon::Run</a></div><div class="ttdeci">virtual void Run(Solver *const s)=0</div><div class="ttdoc">This is the main callback of the demon.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html">operations_research::DisjunctiveConstraint</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05382">constraint_solver.h:5382</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_a02e65ccb441e14918c023bde60b05099"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#a02e65ccb441e14918c023bde60b05099">operations_research::DisjunctiveConstraint::intervals_</a></div><div class="ttdeci">const std::vector&lt; IntervalVar * &gt; intervals_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05411">constraint_solver.h:5411</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_a26c3d2ef057018a52f9d0224e99ca589"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#a26c3d2ef057018a52f9d0224e99ca589">operations_research::DisjunctiveConstraint::time_slacks</a></div><div class="ttdeci">virtual const std::vector&lt; IntVar * &gt; &amp; time_slacks() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_a3baac87eb0cf99e7c8a29cb93bd0ae7c"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#a3baac87eb0cf99e7c8a29cb93bd0ae7c">operations_research::DisjunctiveConstraint::MakeSequenceVar</a></div><div class="ttdeci">virtual SequenceVar * MakeSequenceVar()=0</div><div class="ttdoc">Creates a sequence variable from the constraint.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_a54e4aef9f701e1481606112e81823313"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#a54e4aef9f701e1481606112e81823313">operations_research::DisjunctiveConstraint::actives</a></div><div class="ttdeci">virtual const std::vector&lt; IntVar * &gt; &amp; actives() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_a668c953026d7cf1faa1d57dc15716f30"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#a668c953026d7cf1faa1d57dc15716f30">operations_research::DisjunctiveConstraint::TransitionTime</a></div><div class="ttdeci">int64_t TransitionTime(int before_index, int after_index)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05398">constraint_solver.h:5398</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_a8c18c855ecefcd108980301a69c7c077"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#a8c18c855ecefcd108980301a69c7c077">operations_research::DisjunctiveConstraint::nexts</a></div><div class="ttdeci">virtual const std::vector&lt; IntVar * &gt; &amp; nexts() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_aa73a8cbcc27b9e6eb4b1ceb99c3ba021"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#aa73a8cbcc27b9e6eb4b1ceb99c3ba021">operations_research::DisjunctiveConstraint::time_cumuls</a></div><div class="ttdeci">virtual const std::vector&lt; IntVar * &gt; &amp; time_cumuls() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_aba974c73a007aa0553c09999b6ea0c2c"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#aba974c73a007aa0553c09999b6ea0c2c">operations_research::DisjunctiveConstraint::~DisjunctiveConstraint</a></div><div class="ttdeci">~DisjunctiveConstraint() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_ad00d844c640d64524ddd7d08916950c0"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#ad00d844c640d64524ddd7d08916950c0">operations_research::DisjunctiveConstraint::DisjunctiveConstraint</a></div><div class="ttdeci">DisjunctiveConstraint(Solver *const s, const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::string &amp;name)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_ae01c325872694c6f9a780832c3ac65f4"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#ae01c325872694c6f9a780832c3ac65f4">operations_research::DisjunctiveConstraint::SetTransitionTime</a></div><div class="ttdeci">void SetTransitionTime(Solver::IndexEvaluator2 transition_time)</div><div class="ttdoc">Add a transition time between intervals.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_disjunctive_constraint_html_afc37bcfd26805cab838cef7ae4c87444"><div class="ttname"><a href="classoperations__research_1_1_disjunctive_constraint.html#afc37bcfd26805cab838cef7ae4c87444">operations_research::DisjunctiveConstraint::transition_time_</a></div><div class="ttdeci">Solver::IndexEvaluator2 transition_time_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05412">constraint_solver.h:5412</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_improvement_search_limit_html"><div class="ttname"><a href="classoperations__research_1_1_improvement_search_limit.html">operations_research::ImprovementSearchLimit</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04396">constraint_solver.h:4396</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_improvement_search_limit_html_a01dd9b59b9a183cb3ba148b08d09b320"><div class="ttname"><a href="classoperations__research_1_1_improvement_search_limit.html#a01dd9b59b9a183cb3ba148b08d09b320">operations_research::ImprovementSearchLimit::Check</a></div><div class="ttdeci">bool Check() override</div><div class="ttdoc">This method is called to check the status of the limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_improvement_search_limit_html_a47de93e849d14c3eda08d78613506608"><div class="ttname"><a href="classoperations__research_1_1_improvement_search_limit.html#a47de93e849d14c3eda08d78613506608">operations_research::ImprovementSearchLimit::Init</a></div><div class="ttdeci">void Init() override</div><div class="ttdoc">This method is called when the search limit is initialized.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_improvement_search_limit_html_aab0de8acccf98e802eb678843afd0c45"><div class="ttname"><a href="classoperations__research_1_1_improvement_search_limit.html#aab0de8acccf98e802eb678843afd0c45">operations_research::ImprovementSearchLimit::~ImprovementSearchLimit</a></div><div class="ttdeci">~ImprovementSearchLimit() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_improvement_search_limit_html_aac0948fa90cbc174304a0f6c78d72e15"><div class="ttname"><a href="classoperations__research_1_1_improvement_search_limit.html#aac0948fa90cbc174304a0f6c78d72e15">operations_research::ImprovementSearchLimit::Copy</a></div><div class="ttdeci">void Copy(const SearchLimit *const limit) override</div><div class="ttdoc">Copy a limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_improvement_search_limit_html_ab3631067f88ccc24c5db6a8a0dc64e47"><div class="ttname"><a href="classoperations__research_1_1_improvement_search_limit.html#ab3631067f88ccc24c5db6a8a0dc64e47">operations_research::ImprovementSearchLimit::AtSolution</a></div><div class="ttdeci">bool AtSolution() override</div><div class="ttdoc">This method is called when a valid solution is found.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_improvement_search_limit_html_ace6f7208e64e96dcb416cd1f655b2d7e"><div class="ttname"><a href="classoperations__research_1_1_improvement_search_limit.html#ace6f7208e64e96dcb416cd1f655b2d7e">operations_research::ImprovementSearchLimit::ImprovementSearchLimit</a></div><div class="ttdeci">ImprovementSearchLimit(Solver *const s, IntVar *objective_var, bool maximize, double objective_scaling_factor, double objective_offset, double improvement_rate_coefficient, int improvement_rate_solutions_distance)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_improvement_search_limit_html_afc23e507ef75a1c5d83677384d59cb0c"><div class="ttname"><a href="classoperations__research_1_1_improvement_search_limit.html#afc23e507ef75a1c5d83677384d59cb0c">operations_research::ImprovementSearchLimit::MakeClone</a></div><div class="ttdeci">SearchLimit * MakeClone() const override</div><div class="ttdoc">Allocates a clone of the limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_init_and_get_values_html"><div class="ttname"><a href="classoperations__research_1_1_init_and_get_values.html">operations_research::InitAndGetValues</a></div><div class="ttdoc">Utility class to encapsulate an IntVarIterator and use it in a range-based loop.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03983">constraint_solver.h:3983</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_init_and_get_values_html_a2387033802383edbdc95f9bbb12a707e"><div class="ttname"><a href="classoperations__research_1_1_init_and_get_values.html#a2387033802383edbdc95f9bbb12a707e">operations_research::InitAndGetValues::begin</a></div><div class="ttdeci">Iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03991">constraint_solver.h:3991</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_init_and_get_values_html_a6e10bae8d4199a0ed4dc82abda824543"><div class="ttname"><a href="classoperations__research_1_1_init_and_get_values.html#a6e10bae8d4199a0ed4dc82abda824543">operations_research::InitAndGetValues::InitAndGetValues</a></div><div class="ttdeci">InitAndGetValues(IntVarIterator *it)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03985">constraint_solver.h:3985</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_init_and_get_values_html_ab45dae688fc5d8983727abffa4389003"><div class="ttname"><a href="classoperations__research_1_1_init_and_get_values.html#ab45dae688fc5d8983727abffa4389003">operations_research::InitAndGetValues::end</a></div><div class="ttdeci">Iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03998">constraint_solver.h:3998</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html">operations_research::IntExpr</a></div><div class="ttdoc">The class IntExpr is the base of all integer expressions in constraint programming.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03878">constraint_solver.h:3878</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a076a8890703df019ca737781b376cbe3"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a076a8890703df019ca737781b376cbe3">operations_research::IntExpr::SetRange</a></div><div class="ttdeci">virtual void SetRange(int64_t l, int64_t u)</div><div class="ttdoc">This method sets both the min and the max of the expression.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03895">constraint_solver.h:3895</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a0b5304838bbd2834ba9f7b38db07996f"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a0b5304838bbd2834ba9f7b38db07996f">operations_research::IntExpr::WhenRange</a></div><div class="ttdeci">void WhenRange(Solver::Closure closure)</div><div class="ttdoc">Attach a demon that will watch the min or the max of the expression.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03921">constraint_solver.h:3921</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a1d04569b37cb7fe6ed0956ab71e08bc9"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a1d04569b37cb7fe6ed0956ab71e08bc9">operations_research::IntExpr::Bound</a></div><div class="ttdeci">virtual bool Bound() const</div><div class="ttdoc">Returns true if the min and the max of the expression are equal.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03904">constraint_solver.h:3904</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a2e57f8b497596533aae4607d8a89dd10"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a2e57f8b497596533aae4607d8a89dd10">operations_research::IntExpr::SetValue</a></div><div class="ttdeci">virtual void SetValue(int64_t v)</div><div class="ttdoc">This method sets the value of the expression.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03901">constraint_solver.h:3901</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a2e9b93ea445f156328eaa782adf7cb8b"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a2e9b93ea445f156328eaa782adf7cb8b">operations_research::IntExpr::IsVar</a></div><div class="ttdeci">virtual bool IsVar() const</div><div class="ttdoc">Returns true if the expression is indeed a variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03907">constraint_solver.h:3907</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a5ca509deddcf7e1a1498f770ec71934e"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a5ca509deddcf7e1a1498f770ec71934e">operations_research::IntExpr::~IntExpr</a></div><div class="ttdeci">~IntExpr() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03881">constraint_solver.h:3881</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a62b340f6d1dde6a36560bd88a382ada7"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a62b340f6d1dde6a36560bd88a382ada7">operations_research::IntExpr::Min</a></div><div class="ttdeci">virtual int64_t Min() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a67b97db6268b823e295b9d5284e5a03e"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a67b97db6268b823e295b9d5284e5a03e">operations_research::IntExpr::SetMax</a></div><div class="ttdeci">virtual void SetMax(int64_t m)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a71eb39de86b7fb423d3b9c215f56593c"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a71eb39de86b7fb423d3b9c215f56593c">operations_research::IntExpr::IntExpr</a></div><div class="ttdeci">IntExpr(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03880">constraint_solver.h:3880</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_a8a1d9ddd5f5fc8f2a02b8a8700d3e3b1"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#a8a1d9ddd5f5fc8f2a02b8a8700d3e3b1">operations_research::IntExpr::Var</a></div><div class="ttdeci">virtual IntVar * Var()=0</div><div class="ttdoc">Creates a variable from the expression.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_aac7dfcb9ef06cc889474d5043b580a45"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#aac7dfcb9ef06cc889474d5043b580a45">operations_research::IntExpr::SetMin</a></div><div class="ttdeci">virtual void SetMin(int64_t m)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_abd9d7cc56655b46f400ee98ffd9870ab"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#abd9d7cc56655b46f400ee98ffd9870ab">operations_research::IntExpr::VarWithName</a></div><div class="ttdeci">IntVar * VarWithName(const std::string &amp;name)</div><div class="ttdoc">Creates a variable from the expression and set the name of the resulting var.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_ac84c250d67f30c89e845cd460eeaaad8"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#ac84c250d67f30c89e845cd460eeaaad8">operations_research::IntExpr::Max</a></div><div class="ttdeci">virtual int64_t Max() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_ace746bea8d19ba6bbf319dafbd5f5e5c"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#ace746bea8d19ba6bbf319dafbd5f5e5c">operations_research::IntExpr::Range</a></div><div class="ttdeci">virtual void Range(int64_t *l, int64_t *u)</div><div class="ttdoc">By default calls Min() and Max(), but can be redefined when Min and Max code can be factorized.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03890">constraint_solver.h:3890</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_af13b2ea301c6800bb6d43bd70716bf6d"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#af13b2ea301c6800bb6d43bd70716bf6d">operations_research::IntExpr::WhenRange</a></div><div class="ttdeci">virtual void WhenRange(Demon *d)=0</div><div class="ttdoc">Attach a demon that will watch the min or the max of the expression.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_af460f815f9770713347d6609456c9508"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#af460f815f9770713347d6609456c9508">operations_research::IntExpr::WhenRange</a></div><div class="ttdeci">void WhenRange(Solver::Action action)</div><div class="ttdoc">Attach a demon that will watch the min or the max of the expression.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03927">constraint_solver.h:3927</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_expr_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1_int_expr.html#afcde421cf076575a27bed81c80093ac8">operations_research::IntExpr::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html">operations_research::IntVarElement</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04694">constraint_solver.h:4694</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a055d26b7c759d2097e06ac802786b7b9"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a055d26b7c759d2097e06ac802786b7b9">operations_research::IntVarElement::Copy</a></div><div class="ttdeci">void Copy(const IntVarElement &amp;element)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a0a798fab1f763023bad7a5c866e7f036"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a0a798fab1f763023bad7a5c866e7f036">operations_research::IntVarElement::SetMax</a></div><div class="ttdeci">void SetMax(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04717">constraint_solver.h:4717</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a15828fe5ecfdada586a63d916b7b7354"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a15828fe5ecfdada586a63d916b7b7354">operations_research::IntVarElement::Value</a></div><div class="ttdeci">int64_t Value() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04718">constraint_solver.h:4718</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::IntVarElement::Restore</a></div><div class="ttdeci">void Restore()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04706">constraint_solver.h:4706</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a1dc7549eac8297e8ef9a6c3af7d24304"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a1dc7549eac8297e8ef9a6c3af7d24304">operations_research::IntVarElement::operator!=</a></div><div class="ttdeci">bool operator!=(const IntVarElement &amp;element) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04735">constraint_solver.h:4735</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a2920aa7123e953be34b7973374ab0aeb"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a2920aa7123e953be34b7973374ab0aeb">operations_research::IntVarElement::SetMin</a></div><div class="ttdeci">void SetMin(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04715">constraint_solver.h:4715</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a3196af797c21cdf61571e8a4dbfedc1a"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a3196af797c21cdf61571e8a4dbfedc1a">operations_research::IntVarElement::Reset</a></div><div class="ttdeci">void Reset(IntVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a33ef474050b31ee553ce99c1960046d9"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a33ef474050b31ee553ce99c1960046d9">operations_research::IntVarElement::operator==</a></div><div class="ttdeci">bool operator==(const IntVarElement &amp;element) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::IntVarElement::Store</a></div><div class="ttdeci">void Store()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04702">constraint_solver.h:4702</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a4bead74295e1e5675c0984fcc91ef057"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a4bead74295e1e5675c0984fcc91ef057">operations_research::IntVarElement::Bound</a></div><div class="ttdeci">bool Bound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04723">constraint_solver.h:4723</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a576f597c20d0353c261257ae7fa88192"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a576f597c20d0353c261257ae7fa88192">operations_research::IntVarElement::IntVarElement</a></div><div class="ttdeci">IntVarElement(IntVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a5f280c725678ec4deab773d6677b2430"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a5f280c725678ec4deab773d6677b2430">operations_research::IntVarElement::Clone</a></div><div class="ttdeci">IntVarElement * Clone()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a73063c916ad469eb39c8a5160746342b"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a73063c916ad469eb39c8a5160746342b">operations_research::IntVarElement::IntVarElement</a></div><div class="ttdeci">IntVarElement()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a764be64f3029f8b8e23511061d8de355"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a764be64f3029f8b8e23511061d8de355">operations_research::IntVarElement::DebugString</a></div><div class="ttdeci">std::string DebugString() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a7dc350ccebb0b18b1028ccbae54f30ea"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a7dc350ccebb0b18b1028ccbae54f30ea">operations_research::IntVarElement::WriteToProto</a></div><div class="ttdeci">void WriteToProto(IntVarAssignment *int_var_assignment_proto) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_a8cf21a67f7d81a800ff912239bb2db64"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#a8cf21a67f7d81a800ff912239bb2db64">operations_research::IntVarElement::Min</a></div><div class="ttdeci">int64_t Min() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04714">constraint_solver.h:4714</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_aa5f2722386540253d4be5ea1c7d31965"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#aa5f2722386540253d4be5ea1c7d31965">operations_research::IntVarElement::LoadFromProto</a></div><div class="ttdeci">void LoadFromProto(const IntVarAssignment &amp;int_var_assignment_proto)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_aa74ea8cd1b0767659f704b482d07c103"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#aa74ea8cd1b0767659f704b482d07c103">operations_research::IntVarElement::Max</a></div><div class="ttdeci">int64_t Max() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04716">constraint_solver.h:4716</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_ac1b2a58bfded95799de1fd7958bdb2a3"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#ac1b2a58bfded95799de1fd7958bdb2a3">operations_research::IntVarElement::SetValue</a></div><div class="ttdeci">void SetValue(int64_t v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04728">constraint_solver.h:4728</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_ad197164b669d8b5d35fc497754791e39"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#ad197164b669d8b5d35fc497754791e39">operations_research::IntVarElement::Var</a></div><div class="ttdeci">IntVar * Var() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04701">constraint_solver.h:4701</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_element_html_afbff345c1395fcbc5eb64ff50b21e423"><div class="ttname"><a href="classoperations__research_1_1_int_var_element.html#afbff345c1395fcbc5eb64ff50b21e423">operations_research::IntVarElement::SetRange</a></div><div class="ttdeci">void SetRange(int64_t l, int64_t u)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04724">constraint_solver.h:4724</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html"><div class="ttname"><a href="classoperations__research_1_1_int_var.html">operations_research::IntVar</a></div><div class="ttdoc">The class IntVar is a subset of IntExpr.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04040">constraint_solver.h:4040</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a0723abf37f7a5a8a604fd1bcd96a7be0"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a0723abf37f7a5a8a604fd1bcd96a7be0">operations_research::IntVar::Contains</a></div><div class="ttdeci">virtual bool Contains(int64_t v) const =0</div><div class="ttdoc">This method returns whether the value 'v' is in the domain of the variable.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a2c61333dd5d0aa38ae7bc8ead710a38a"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a2c61333dd5d0aa38ae7bc8ead710a38a">operations_research::IntVar::IsDifferent</a></div><div class="ttdeci">virtual IntVar * IsDifferent(int64_t constant)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a3173e28151b3e04888127961cacc42b1"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a3173e28151b3e04888127961cacc42b1">operations_research::IntVar::OldMax</a></div><div class="ttdeci">virtual int64_t OldMax() const =0</div><div class="ttdoc">Returns the previous max.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a48a7f403da7ce86b002403e7c155a90f"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a48a7f403da7ce86b002403e7c155a90f">operations_research::IntVar::IsGreaterOrEqual</a></div><div class="ttdeci">virtual IntVar * IsGreaterOrEqual(int64_t constant)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a4ad6e7b43ae5f8c2bf2c865960e578fe"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a4ad6e7b43ae5f8c2bf2c865960e578fe">operations_research::IntVar::RemoveValue</a></div><div class="ttdeci">virtual void RemoveValue(int64_t v)=0</div><div class="ttdoc">This method removes the value 'v' from the domain of the variable.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a4bd4b9edfecdf647038f030759e8da11"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a4bd4b9edfecdf647038f030759e8da11">operations_research::IntVar::WhenBound</a></div><div class="ttdeci">void WhenBound(Solver::Closure closure)</div><div class="ttdoc">This method attaches a closure that will be awakened when the variable is bound.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04071">constraint_solver.h:4071</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a572e24495b29d1ec6bb48c65497fa686"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a572e24495b29d1ec6bb48c65497fa686">operations_research::IntVar::MakeHoleIterator</a></div><div class="ttdeci">virtual IntVarIterator * MakeHoleIterator(bool reversible) const =0</div><div class="ttdoc">Creates a hole iterator.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a68b27e4c46794ff800c17f7b9760adba"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a68b27e4c46794ff800c17f7b9760adba">operations_research::IntVar::~IntVar</a></div><div class="ttdeci">~IntVar() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04044">constraint_solver.h:4044</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a6bc094ba586670d6384a051c922b6ba8"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a6bc094ba586670d6384a051c922b6ba8">operations_research::IntVar::IsEqual</a></div><div class="ttdeci">virtual IntVar * IsEqual(int64_t constant)=0</div><div class="ttdoc">IsEqual.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a6c325613bf5172c0cc1162ec8579eca2"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a6c325613bf5172c0cc1162ec8579eca2">operations_research::IntVar::IntVar</a></div><div class="ttdeci">IntVar(Solver *const s)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a6e33a313eaf507bae0eb7068455a5bdc"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a6e33a313eaf507bae0eb7068455a5bdc">operations_research::IntVar::WhenBound</a></div><div class="ttdeci">virtual void WhenBound(Demon *d)=0</div><div class="ttdoc">This method attaches a demon that will be awakened when the variable is bound.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a71ebaeb507ee630711ef95d334279787"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a71ebaeb507ee630711ef95d334279787">operations_research::IntVar::IsLessOrEqual</a></div><div class="ttdeci">virtual IntVar * IsLessOrEqual(int64_t constant)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a7777129f7b59f5d9dbeb043c6bf945dd"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a7777129f7b59f5d9dbeb043c6bf945dd">operations_research::IntVar::WhenDomain</a></div><div class="ttdeci">void WhenDomain(Solver::Closure closure)</div><div class="ttdoc">This method attaches a closure that will watch any domain modification of the domain of the variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04088">constraint_solver.h:4088</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a87c43554b697c5aed8561215cc3befbb"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a87c43554b697c5aed8561215cc3befbb">operations_research::IntVar::RemoveValues</a></div><div class="ttdeci">virtual void RemoveValues(const std::vector&lt; int64_t &gt; &amp;values)</div><div class="ttdoc">This method remove the values from the domain of the variable.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_a913821767956a457482c91f4bce6b99c"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#a913821767956a457482c91f4bce6b99c">operations_research::IntVar::WhenDomain</a></div><div class="ttdeci">void WhenDomain(Solver::Action action)</div><div class="ttdoc">This method attaches an action that will watch any domain modification of the domain of the variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04094">constraint_solver.h:4094</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_aa12c746d088d4b8f5eb2608335ab9886"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#aa12c746d088d4b8f5eb2608335ab9886">operations_research::IntVar::SetValues</a></div><div class="ttdeci">virtual void SetValues(const std::vector&lt; int64_t &gt; &amp;values)</div><div class="ttdoc">This method intersects the current domain with the values in the array.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_aa30c84aec5e60d6b74e1e1eb15011d4a"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#aa30c84aec5e60d6b74e1e1eb15011d4a">operations_research::IntVar::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const override</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_aabb6b039a96b1f9aaed302ba620c08cd"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#aabb6b039a96b1f9aaed302ba620c08cd">operations_research::IntVar::Var</a></div><div class="ttdeci">IntVar * Var() override</div><div class="ttdoc">Creates a variable from the expression.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04047">constraint_solver.h:4047</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_aabbb2f320d69a86e7690614a8c3505c1"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#aabbb2f320d69a86e7690614a8c3505c1">operations_research::IntVar::RemoveInterval</a></div><div class="ttdeci">virtual void RemoveInterval(int64_t l, int64_t u)=0</div><div class="ttdoc">This method removes the interval 'l' .</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_ab36f6f122cb3e8554b160ba67608b1c0"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#ab36f6f122cb3e8554b160ba67608b1c0">operations_research::IntVar::WhenDomain</a></div><div class="ttdeci">virtual void WhenDomain(Demon *d)=0</div><div class="ttdoc">This method attaches a demon that will watch any domain modification of the domain of the variable.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_ab5ceedd975b9299c4b66558e207a36c1"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#ab5ceedd975b9299c4b66558e207a36c1">operations_research::IntVar::IntVar</a></div><div class="ttdeci">IntVar(Solver *const s, const std::string &amp;name)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_acc2ece7bb8bf97bb35cdf9650fe6c55b"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#acc2ece7bb8bf97bb35cdf9650fe6c55b">operations_research::IntVar::Value</a></div><div class="ttdeci">virtual int64_t Value() const =0</div><div class="ttdoc">This method returns the value of the variable.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_acca41811e8aaab0112b987749c0ecb93"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#acca41811e8aaab0112b987749c0ecb93">operations_research::IntVar::index</a></div><div class="ttdeci">int index() const</div><div class="ttdoc">Returns the index of the variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04134">constraint_solver.h:4134</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_ae3293377cabb09f916c442de71de5910"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#ae3293377cabb09f916c442de71de5910">operations_research::IntVar::WhenBound</a></div><div class="ttdeci">void WhenBound(Solver::Action action)</div><div class="ttdoc">This method attaches an action that will be awakened when the variable is bound.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04078">constraint_solver.h:4078</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_ae8d85a8a6f3e8fbc31f291a4b809c8a2"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#ae8d85a8a6f3e8fbc31f291a4b809c8a2">operations_research::IntVar::VarType</a></div><div class="ttdeci">virtual int VarType() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_af3a292044fe0483a2b2f7b65f94a7dc2"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#af3a292044fe0483a2b2f7b65f94a7dc2">operations_research::IntVar::OldMin</a></div><div class="ttdeci">virtual int64_t OldMin() const =0</div><div class="ttdoc">Returns the previous min.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_af5d847a82550308399c315915ef8408f"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#af5d847a82550308399c315915ef8408f">operations_research::IntVar::IsVar</a></div><div class="ttdeci">bool IsVar() const override</div><div class="ttdoc">Returns true if the expression is indeed a variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04046">constraint_solver.h:4046</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_af8625719d57e4a61b5aa251d99762966"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#af8625719d57e4a61b5aa251d99762966">operations_research::IntVar::Size</a></div><div class="ttdeci">virtual uint64_t Size() const =0</div><div class="ttdoc">This method returns the number of values in the domain of the variable.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_html_affdd564449bc36ce5db44cfc1c9e86d4"><div class="ttname"><a href="classoperations__research_1_1_int_var.html#affdd564449bc36ce5db44cfc1c9e86d4">operations_research::IntVar::MakeDomainIterator</a></div><div class="ttdeci">virtual IntVarIterator * MakeDomainIterator(bool reversible) const =0</div><div class="ttdoc">Creates a domain iterator.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_iterator_html"><div class="ttname"><a href="classoperations__research_1_1_int_var_iterator.html">operations_research::IntVarIterator</a></div><div class="ttdoc">The class Iterator has two direct subclasses.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03956">constraint_solver.h:3956</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_iterator_html_a5368a4a3fff770682cf257e81707d9f0"><div class="ttname"><a href="classoperations__research_1_1_int_var_iterator.html#a5368a4a3fff770682cf257e81707d9f0">operations_research::IntVarIterator::Init</a></div><div class="ttdeci">virtual void Init()=0</div><div class="ttdoc">This method must be called before each loop.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_iterator_html_a5e6ce1b8883cf6764780b7108dbb8495"><div class="ttname"><a href="classoperations__research_1_1_int_var_iterator.html#a5e6ce1b8883cf6764780b7108dbb8495">operations_research::IntVarIterator::Next</a></div><div class="ttdeci">virtual void Next()=0</div><div class="ttdoc">This method moves the iterator to the next value.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_iterator_html_acc2ece7bb8bf97bb35cdf9650fe6c55b"><div class="ttname"><a href="classoperations__research_1_1_int_var_iterator.html#acc2ece7bb8bf97bb35cdf9650fe6c55b">operations_research::IntVarIterator::Value</a></div><div class="ttdeci">virtual int64_t Value() const =0</div><div class="ttdoc">This method returns the current value of the iterator.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_iterator_html_ad58ad3bd33c8c89814ca3675c414406d"><div class="ttname"><a href="classoperations__research_1_1_int_var_iterator.html#ad58ad3bd33c8c89814ca3675c414406d">operations_research::IntVarIterator::~IntVarIterator</a></div><div class="ttdeci">~IntVarIterator() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03958">constraint_solver.h:3958</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_iterator_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_int_var_iterator.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::IntVarIterator::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdoc">Pretty Print.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03973">constraint_solver.h:3973</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_iterator_html_afd583d1de9a76003cabb79710d08e1b5"><div class="ttname"><a href="classoperations__research_1_1_int_var_iterator.html#afd583d1de9a76003cabb79710d08e1b5">operations_research::IntVarIterator::Ok</a></div><div class="ttdeci">virtual bool Ok() const =0</div><div class="ttdoc">This method indicates if we can call Value() or not.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_int_var_local_search_filter_html"><div class="ttname"><a href="classoperations__research_1_1_int_var_local_search_filter.html">operations_research::IntVarLocalSearchFilter</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01822">constraint_solveri.h:1822</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html">operations_research::IntervalVarElement</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04745">constraint_solver.h:4745</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a05bb24120d628e24ae6576cd3fbcf257"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a05bb24120d628e24ae6576cd3fbcf257">operations_research::IntervalVarElement::Clone</a></div><div class="ttdeci">IntervalVarElement * Clone()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a0fa42d79f2e8eacbdb34f8f3f26aa54c"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a0fa42d79f2e8eacbdb34f8f3f26aa54c">operations_research::IntervalVarElement::LoadFromProto</a></div><div class="ttdeci">void LoadFromProto(const IntervalVarAssignment &amp;interval_var_assignment_proto)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a115e1091a4cd17bc9066a86efd9aa7f7"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a115e1091a4cd17bc9066a86efd9aa7f7">operations_research::IntervalVarElement::StartValue</a></div><div class="ttdeci">int64_t StartValue() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04761">constraint_solver.h:4761</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::IntervalVarElement::Restore</a></div><div class="ttdeci">void Restore()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a1dbfcd8aedc6d6e0a4063e65cc1d1d08"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a1dbfcd8aedc6d6e0a4063e65cc1d1d08">operations_research::IntervalVarElement::SetDurationRange</a></div><div class="ttdeci">void SetDurationRange(int64_t mi, int64_t ma)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04795">constraint_solver.h:4795</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a247764a994a106eaa0f22e397a2664f3"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a247764a994a106eaa0f22e397a2664f3">operations_research::IntervalVarElement::operator!=</a></div><div class="ttdeci">bool operator!=(const IntervalVarElement &amp;element) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04829">constraint_solver.h:4829</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a2d42743fa4cfbe3c8864aacefff1bb85"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a2d42743fa4cfbe3c8864aacefff1bb85">operations_research::IntervalVarElement::Reset</a></div><div class="ttdeci">void Reset(IntervalVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a2d9b1f3279e5668036f9e70ff20f036d"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a2d9b1f3279e5668036f9e70ff20f036d">operations_research::IntervalVarElement::PerformedMax</a></div><div class="ttdeci">int64_t PerformedMax() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04778">constraint_solver.h:4778</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a2e785ffcbd3e022b74b776ce456deb54"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a2e785ffcbd3e022b74b776ce456deb54">operations_research::IntervalVarElement::DurationMax</a></div><div class="ttdeci">int64_t DurationMax() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04766">constraint_solver.h:4766</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a2f2afa702768ece79ccb86f86d98438a"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a2f2afa702768ece79ccb86f86d98438a">operations_research::IntervalVarElement::SetPerformedRange</a></div><div class="ttdeci">void SetPerformedRange(int64_t mi, int64_t ma)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04815">constraint_solver.h:4815</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a310df105981473ca4d4c05b25beed18a"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a310df105981473ca4d4c05b25beed18a">operations_research::IntervalVarElement::DurationMin</a></div><div class="ttdeci">int64_t DurationMin() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04765">constraint_solver.h:4765</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a378012b4bf777482e69d7f7901dad14a"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a378012b4bf777482e69d7f7901dad14a">operations_research::IntervalVarElement::SetEndRange</a></div><div class="ttdeci">void SetEndRange(int64_t mi, int64_t ma)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04805">constraint_solver.h:4805</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::IntervalVarElement::Store</a></div><div class="ttdeci">void Store()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a4b9c4dd554bbaf066d2072acddf379e7"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a4b9c4dd554bbaf066d2072acddf379e7">operations_research::IntervalVarElement::SetEndValue</a></div><div class="ttdeci">void SetEndValue(int64_t v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04809">constraint_solver.h:4809</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a4bead74295e1e5675c0984fcc91ef057"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a4bead74295e1e5675c0984fcc91ef057">operations_research::IntervalVarElement::Bound</a></div><div class="ttdeci">bool Bound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04823">constraint_solver.h:4823</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a502804adbcf6a0177075dbc0c62c9199"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a502804adbcf6a0177075dbc0c62c9199">operations_research::IntervalVarElement::SetEndMin</a></div><div class="ttdeci">void SetEndMin(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04803">constraint_solver.h:4803</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a50d3f0073c630ad1108f6eb52a35b215"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a50d3f0073c630ad1108f6eb52a35b215">operations_research::IntervalVarElement::SetDurationValue</a></div><div class="ttdeci">void SetDurationValue(int64_t v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04799">constraint_solver.h:4799</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a541ac4ddeac5312ba57aa8dd2291ca89"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a541ac4ddeac5312ba57aa8dd2291ca89">operations_research::IntervalVarElement::SetPerformedMin</a></div><div class="ttdeci">void SetPerformedMin(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04813">constraint_solver.h:4813</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a553593e6203433fa3e55b24db023bc27"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a553593e6203433fa3e55b24db023bc27">operations_research::IntervalVarElement::StartMin</a></div><div class="ttdeci">int64_t StartMin() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04759">constraint_solver.h:4759</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a63bef7ac9d072b3b33925493aed2fc5c"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a63bef7ac9d072b3b33925493aed2fc5c">operations_research::IntervalVarElement::SetStartRange</a></div><div class="ttdeci">void SetStartRange(int64_t mi, int64_t ma)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04785">constraint_solver.h:4785</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a694c84c53b378a865b9bb7af33de1332"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a694c84c53b378a865b9bb7af33de1332">operations_research::IntervalVarElement::EndValue</a></div><div class="ttdeci">int64_t EndValue() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04773">constraint_solver.h:4773</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a719e01b701678c0016c4dfe4de3e70f9"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a719e01b701678c0016c4dfe4de3e70f9">operations_research::IntervalVarElement::SetDurationMin</a></div><div class="ttdeci">void SetDurationMin(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04793">constraint_solver.h:4793</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a733bfd7f5434e716c26e1c6288d47603"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a733bfd7f5434e716c26e1c6288d47603">operations_research::IntervalVarElement::SetEndMax</a></div><div class="ttdeci">void SetEndMax(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04804">constraint_solver.h:4804</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a764be64f3029f8b8e23511061d8de355"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a764be64f3029f8b8e23511061d8de355">operations_research::IntervalVarElement::DebugString</a></div><div class="ttdeci">std::string DebugString() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a7fe8c30dae8e355dc6efbe5fe9d22ac3"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a7fe8c30dae8e355dc6efbe5fe9d22ac3">operations_research::IntervalVarElement::SetStartMin</a></div><div class="ttdeci">void SetStartMin(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04783">constraint_solver.h:4783</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a81c5dff7a79535159f812aebd8be21bc"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a81c5dff7a79535159f812aebd8be21bc">operations_research::IntervalVarElement::IntervalVarElement</a></div><div class="ttdeci">IntervalVarElement(IntervalVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a826670c77a3661c9877021e22d658541"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a826670c77a3661c9877021e22d658541">operations_research::IntervalVarElement::SetStartMax</a></div><div class="ttdeci">void SetStartMax(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04784">constraint_solver.h:4784</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a87cc1835ad8a8508de47fb54bec281da"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a87cc1835ad8a8508de47fb54bec281da">operations_research::IntervalVarElement::PerformedMin</a></div><div class="ttdeci">int64_t PerformedMin() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04777">constraint_solver.h:4777</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a894b8544dc0773c5f787fa1fae7b7cb5"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a894b8544dc0773c5f787fa1fae7b7cb5">operations_research::IntervalVarElement::SetPerformedValue</a></div><div class="ttdeci">void SetPerformedValue(int64_t v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04819">constraint_solver.h:4819</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a8a822239ac86c1e5d9f5730e369c80fe"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a8a822239ac86c1e5d9f5730e369c80fe">operations_research::IntervalVarElement::EndMin</a></div><div class="ttdeci">int64_t EndMin() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04771">constraint_solver.h:4771</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_a961291e71a6932442b60f8f1e8a8f5c0"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#a961291e71a6932442b60f8f1e8a8f5c0">operations_research::IntervalVarElement::PerformedValue</a></div><div class="ttdeci">int64_t PerformedValue() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04779">constraint_solver.h:4779</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_aa07812b5154f8e4d71b45d8dd53bcc06"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#aa07812b5154f8e4d71b45d8dd53bcc06">operations_research::IntervalVarElement::IntervalVarElement</a></div><div class="ttdeci">IntervalVarElement()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_aad06021b1b5dbab3cae32226ae487a42"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#aad06021b1b5dbab3cae32226ae487a42">operations_research::IntervalVarElement::operator==</a></div><div class="ttdeci">bool operator==(const IntervalVarElement &amp;element) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_aaf5dd8c36d76222cfd555a1d3ffcc366"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#aaf5dd8c36d76222cfd555a1d3ffcc366">operations_research::IntervalVarElement::Copy</a></div><div class="ttdeci">void Copy(const IntervalVarElement &amp;element)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_abe80b59dadcaf97e21967faf0b1e265d"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#abe80b59dadcaf97e21967faf0b1e265d">operations_research::IntervalVarElement::WriteToProto</a></div><div class="ttdeci">void WriteToProto(IntervalVarAssignment *interval_var_assignment_proto) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_abfd3786130fb94bcc6a205b7ebbff4d7"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#abfd3786130fb94bcc6a205b7ebbff4d7">operations_research::IntervalVarElement::SetPerformedMax</a></div><div class="ttdeci">void SetPerformedMax(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04814">constraint_solver.h:4814</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_ac9944daf0aa10edd9512ea616499480b"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#ac9944daf0aa10edd9512ea616499480b">operations_research::IntervalVarElement::StartMax</a></div><div class="ttdeci">int64_t StartMax() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04760">constraint_solver.h:4760</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_ad16886487e117862f2094dd4bcde74a8"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#ad16886487e117862f2094dd4bcde74a8">operations_research::IntervalVarElement::SetDurationMax</a></div><div class="ttdeci">void SetDurationMax(int64_t m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04794">constraint_solver.h:4794</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_ae3d640601c5b67e3b3761617d4b5c33d"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#ae3d640601c5b67e3b3761617d4b5c33d">operations_research::IntervalVarElement::SetStartValue</a></div><div class="ttdeci">void SetStartValue(int64_t v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04789">constraint_solver.h:4789</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_ae7094dbd344fe8524b5f3574673b1774"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#ae7094dbd344fe8524b5f3574673b1774">operations_research::IntervalVarElement::DurationValue</a></div><div class="ttdeci">int64_t DurationValue() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04767">constraint_solver.h:4767</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_aeed7d5a74a5d47105ef9ebec755480ce"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#aeed7d5a74a5d47105ef9ebec755480ce">operations_research::IntervalVarElement::EndMax</a></div><div class="ttdeci">int64_t EndMax() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04772">constraint_solver.h:4772</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_element_html_afd56a08fe36c989c8f94fb0ebc4a23af"><div class="ttname"><a href="classoperations__research_1_1_interval_var_element.html#afd56a08fe36c989c8f94fb0ebc4a23af">operations_research::IntervalVarElement::Var</a></div><div class="ttdeci">IntervalVar * Var() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04752">constraint_solver.h:4752</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html">operations_research::IntervalVar</a></div><div class="ttdoc">Interval variables are often used in scheduling.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04437">constraint_solver.h:4437</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a144aa998cfd2031d29cb13490215903f"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a144aa998cfd2031d29cb13490215903f">operations_research::IntervalVar::SetDurationMin</a></div><div class="ttdeci">virtual void SetDurationMin(int64_t m)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a17baafda330e225559f6b2a8b53d7b8b"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a17baafda330e225559f6b2a8b53d7b8b">operations_research::IntervalVar::WhenDurationRange</a></div><div class="ttdeci">void WhenDurationRange(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04486">constraint_solver.h:4486</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a19e457a32d714816843931759dd87988"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a19e457a32d714816843931759dd87988">operations_research::IntervalVar::DurationExpr</a></div><div class="ttdeci">virtual IntExpr * DurationExpr()=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a19e7c8a5c1951b2bf16aabbc278142f8"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a19e7c8a5c1951b2bf16aabbc278142f8">operations_research::IntervalVar::PerformedExpr</a></div><div class="ttdeci">virtual IntExpr * PerformedExpr()=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a1fa7ba3df05c93c2c8f9109d0268f4b2"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a1fa7ba3df05c93c2c8f9109d0268f4b2">operations_research::IntervalVar::WhenAnything</a></div><div class="ttdeci">void WhenAnything(Solver::Closure closure)</div><div class="ttdoc">Attaches a closure awakened when anything about this interval changes.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04554">constraint_solver.h:4554</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a283e9ef538394e378e54f5acc8c640b3"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a283e9ef538394e378e54f5acc8c640b3">operations_research::IntervalVar::WhenStartBound</a></div><div class="ttdeci">void WhenStartBound(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04468">constraint_solver.h:4468</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a2cff6714b7d55aebce85b29dd1a63a05"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a2cff6714b7d55aebce85b29dd1a63a05">operations_research::IntervalVar::SafeDurationExpr</a></div><div class="ttdeci">virtual IntExpr * SafeDurationExpr(int64_t unperformed_value)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a2dcdb08f02044d7828e185a08bec9c3b"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a2dcdb08f02044d7828e185a08bec9c3b">operations_research::IntervalVar::SafeStartExpr</a></div><div class="ttdeci">virtual IntExpr * SafeStartExpr(int64_t unperformed_value)=0</div><div class="ttdoc">These methods create expressions encapsulating the start, end and duration of the interval var.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a2e69397c7c1e71a796afa6a632ee8296"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a2e69397c7c1e71a796afa6a632ee8296">operations_research::IntervalVar::DurationMax</a></div><div class="ttdeci">virtual int64_t DurationMax() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a349b5f41930e3a1d4e516145a1edb004"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a349b5f41930e3a1d4e516145a1edb004">operations_research::IntervalVar::WhenStartBound</a></div><div class="ttdeci">virtual void WhenStartBound(Demon *const d)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a34ae38b26a14e6219b03ae0ddff34a80"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a34ae38b26a14e6219b03ae0ddff34a80">operations_research::IntervalVar::SetEndMax</a></div><div class="ttdeci">virtual void SetEndMax(int64_t m)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a355d19148bcb4747b68e2e019f85082f"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a355d19148bcb4747b68e2e019f85082f">operations_research::IntervalVar::WhenEndRange</a></div><div class="ttdeci">void WhenEndRange(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04513">constraint_solver.h:4513</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a3b0638c92ea73b5666d6b667c44896f8"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a3b0638c92ea73b5666d6b667c44896f8">operations_research::IntervalVar::WhenAnything</a></div><div class="ttdeci">void WhenAnything(Demon *const d)</div><div class="ttdoc">Attaches a demon awakened when anything about this interval changes.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a4488d66b163b204a15eadeafcf4872f8"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a4488d66b163b204a15eadeafcf4872f8">operations_research::IntervalVar::DurationMin</a></div><div class="ttdeci">virtual int64_t DurationMin() const =0</div><div class="ttdoc">These methods query, set, and watch the duration of the interval var.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a46fbee3c5ffb01df33db9b5a23c20233"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a46fbee3c5ffb01df33db9b5a23c20233">operations_research::IntervalVar::SetPerformed</a></div><div class="ttdeci">virtual void SetPerformed(bool val)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a494fef7697b19949043f2b71fa505a25"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a494fef7697b19949043f2b71fa505a25">operations_research::IntervalVar::SetDurationMax</a></div><div class="ttdeci">virtual void SetDurationMax(int64_t m)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a5179cad5976e0c8f934de68a81fd78fd"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a5179cad5976e0c8f934de68a81fd78fd">operations_research::IntervalVar::WhenEndBound</a></div><div class="ttdeci">void WhenEndBound(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04526">constraint_solver.h:4526</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a56faf89c8f9d82ff3b34ec79f48de37d"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a56faf89c8f9d82ff3b34ec79f48de37d">operations_research::IntervalVar::WhenEndRange</a></div><div class="ttdeci">virtual void WhenEndRange(Demon *const d)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a583554cded21727fb29e7b7184c5491f"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a583554cded21727fb29e7b7184c5491f">operations_research::IntervalVar::OldEndMax</a></div><div class="ttdeci">virtual int64_t OldEndMax() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a5f1474400988f1e51711f701e6755bd6"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a5f1474400988f1e51711f701e6755bd6">operations_research::IntervalVar::WhenDurationBound</a></div><div class="ttdeci">virtual void WhenDurationBound(Demon *const d)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a643ad0dc8e9cdf44c3923c1afb002787"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a643ad0dc8e9cdf44c3923c1afb002787">operations_research::IntervalVar::WasPerformedBound</a></div><div class="ttdeci">virtual bool WasPerformedBound() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a64f4fd0bd38cee6cefc92f0a1d9b2173"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a64f4fd0bd38cee6cefc92f0a1d9b2173">operations_research::IntervalVar::SetStartMax</a></div><div class="ttdeci">virtual void SetStartMax(int64_t m)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a674419a6fdb564b44c242ceef4aa474f"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a674419a6fdb564b44c242ceef4aa474f">operations_research::IntervalVar::WhenStartRange</a></div><div class="ttdeci">void WhenStartRange(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04463">constraint_solver.h:4463</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a676bfd8f3431f0907155f7165476e046"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a676bfd8f3431f0907155f7165476e046">operations_research::IntervalVar::kMinValidValue</a></div><div class="ttdeci">static const int64_t kMinValidValue</div><div class="ttdoc">The smallest acceptable value to be returned by StartMin()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04440">constraint_solver.h:4440</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a6cffde1e7bebc7dca3ea2f6c3eb8b89f"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a6cffde1e7bebc7dca3ea2f6c3eb8b89f">operations_research::IntervalVar::SetStartRange</a></div><div class="ttdeci">virtual void SetStartRange(int64_t mi, int64_t ma)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a70884f4eed3ebe4c9ca46dc22a797195"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a70884f4eed3ebe4c9ca46dc22a797195">operations_research::IntervalVar::WhenDurationRange</a></div><div class="ttdeci">virtual void WhenDurationRange(Demon *const d)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a71a5d45fb0d57b2bb5647a8229bc0fc5"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a71a5d45fb0d57b2bb5647a8229bc0fc5">operations_research::IntervalVar::OldStartMax</a></div><div class="ttdeci">virtual int64_t OldStartMax() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a74a0a8c5b7e2f7d03777c83a41dd9b6f"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a74a0a8c5b7e2f7d03777c83a41dd9b6f">operations_research::IntervalVar::OldDurationMin</a></div><div class="ttdeci">virtual int64_t OldDurationMin() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a750d489e3e3f4b6c596d441046f8365f"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a750d489e3e3f4b6c596d441046f8365f">operations_research::IntervalVar::kMaxValidValue</a></div><div class="ttdeci">static const int64_t kMaxValidValue</div><div class="ttdoc">The largest acceptable value to be returned by EndMax()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04442">constraint_solver.h:4442</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a78d485a53b007609c2b95e100fa789fb"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a78d485a53b007609c2b95e100fa789fb">operations_research::IntervalVar::OldEndMin</a></div><div class="ttdeci">virtual int64_t OldEndMin() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a7941f3d8ba5465fc17c2cc9dc8266ea8"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a7941f3d8ba5465fc17c2cc9dc8266ea8">operations_research::IntervalVar::WhenEndBound</a></div><div class="ttdeci">virtual void WhenEndBound(Demon *const d)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a7af3ed44ee43f1ad345ef81668a13301"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a7af3ed44ee43f1ad345ef81668a13301">operations_research::IntervalVar::OldDurationMax</a></div><div class="ttdeci">virtual int64_t OldDurationMax() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a7b8a6f05fe0fcec065317fbd8694969d"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a7b8a6f05fe0fcec065317fbd8694969d">operations_research::IntervalVar::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const =0</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a7ee95dc5526fb2400c5af54f3246d5c4"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a7ee95dc5526fb2400c5af54f3246d5c4">operations_research::IntervalVar::WhenDurationBound</a></div><div class="ttdeci">void WhenDurationBound(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04499">constraint_solver.h:4499</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a7f7f661e9b94f25f706732924e0f01e9"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a7f7f661e9b94f25f706732924e0f01e9">operations_research::IntervalVar::MustBePerformed</a></div><div class="ttdeci">virtual bool MustBePerformed() const =0</div><div class="ttdoc">These methods query, set, and watch the performed status of the interval var.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a80fdadbf273640022be0e62fe34ca247"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a80fdadbf273640022be0e62fe34ca247">operations_research::IntervalVar::IntervalVar</a></div><div class="ttdeci">IntervalVar(Solver *const solver, const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04443">constraint_solver.h:4443</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a82728fd2e5b30169646991d9e78a75a4"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a82728fd2e5b30169646991d9e78a75a4">operations_research::IntervalVar::WhenPerformedBound</a></div><div class="ttdeci">virtual void WhenPerformedBound(Demon *const d)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a85b770f10424a1cf4ae734ccbd761a55"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a85b770f10424a1cf4ae734ccbd761a55">operations_research::IntervalVar::~IntervalVar</a></div><div class="ttdeci">~IntervalVar() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04447">constraint_solver.h:4447</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a9648e486d02d610907100805e54d0c0e"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a9648e486d02d610907100805e54d0c0e">operations_research::IntervalVar::WhenStartBound</a></div><div class="ttdeci">void WhenStartBound(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04472">constraint_solver.h:4472</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a966a201b02646b5fb8319b53ab4df72c"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a966a201b02646b5fb8319b53ab4df72c">operations_research::IntervalVar::SetEndMin</a></div><div class="ttdeci">virtual void SetEndMin(int64_t m)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_a9ae4b46f1aa6c51c0a5833d3531cd82c"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#a9ae4b46f1aa6c51c0a5833d3531cd82c">operations_research::IntervalVar::EndMin</a></div><div class="ttdeci">virtual int64_t EndMin() const =0</div><div class="ttdoc">These methods query, set, and watch the end position of the interval var.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_aa6098ce8819f48af907b816cd8de2e78"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#aa6098ce8819f48af907b816cd8de2e78">operations_research::IntervalVar::WhenAnything</a></div><div class="ttdeci">void WhenAnything(Solver::Action action)</div><div class="ttdoc">Attaches an action awakened when anything about this interval changes.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04559">constraint_solver.h:4559</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_aa93a06dc97f33ccaefc7df90fb9b89d1"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#aa93a06dc97f33ccaefc7df90fb9b89d1">operations_research::IntervalVar::StartMin</a></div><div class="ttdeci">virtual int64_t StartMin() const =0</div><div class="ttdoc">These methods query, set, and watch the start position of the interval var.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ab14e2d2421aa8d793df45251778e9ede"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ab14e2d2421aa8d793df45251778e9ede">operations_research::IntervalVar::WhenEndRange</a></div><div class="ttdeci">void WhenEndRange(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04517">constraint_solver.h:4517</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ab2c1ea6c42add4cb68084080336c4474"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ab2c1ea6c42add4cb68084080336c4474">operations_research::IntervalVar::WhenStartRange</a></div><div class="ttdeci">void WhenStartRange(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04459">constraint_solver.h:4459</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ab905cc61ae1bd5097c13e58b2abef1e1"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ab905cc61ae1bd5097c13e58b2abef1e1">operations_research::IntervalVar::EndExpr</a></div><div class="ttdeci">virtual IntExpr * EndExpr()=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_abe18a6954c70afb1697ddf8516578384"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#abe18a6954c70afb1697ddf8516578384">operations_research::IntervalVar::SafeEndExpr</a></div><div class="ttdeci">virtual IntExpr * SafeEndExpr(int64_t unperformed_value)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ac2eddfa8bbcc407e02de0c9a18e6710c"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ac2eddfa8bbcc407e02de0c9a18e6710c">operations_research::IntervalVar::WhenStartRange</a></div><div class="ttdeci">virtual void WhenStartRange(Demon *const d)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ac9cf2d1c9bc3f5f9e8993f899343171b"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ac9cf2d1c9bc3f5f9e8993f899343171b">operations_research::IntervalVar::StartExpr</a></div><div class="ttdeci">virtual IntExpr * StartExpr()=0</div><div class="ttdoc">These methods create expressions encapsulating the start, end and duration of the interval var.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ad4e82517bfdede7e0c6d86796434378f"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ad4e82517bfdede7e0c6d86796434378f">operations_research::IntervalVar::IsPerformedBound</a></div><div class="ttdeci">bool IsPerformedBound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04536">constraint_solver.h:4536</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ada2340e144706963137dd79ee17f8a68"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ada2340e144706963137dd79ee17f8a68">operations_research::IntervalVar::SetDurationRange</a></div><div class="ttdeci">virtual void SetDurationRange(int64_t mi, int64_t ma)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ade171abf4e9422b35a69df7eda30d541"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ade171abf4e9422b35a69df7eda30d541">operations_research::IntervalVar::WhenPerformedBound</a></div><div class="ttdeci">void WhenPerformedBound(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04546">constraint_solver.h:4546</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ae05142dd885524b06032bed1cbc63af0"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ae05142dd885524b06032bed1cbc63af0">operations_research::IntervalVar::EndMax</a></div><div class="ttdeci">virtual int64_t EndMax() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ae330c5b34b171e8840302a1e4ef1ca26"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ae330c5b34b171e8840302a1e4ef1ca26">operations_research::IntervalVar::WhenPerformedBound</a></div><div class="ttdeci">void WhenPerformedBound(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04542">constraint_solver.h:4542</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_ae82eabc3ac9b82c5d0e16b20ff255be1"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#ae82eabc3ac9b82c5d0e16b20ff255be1">operations_research::IntervalVar::WhenEndBound</a></div><div class="ttdeci">void WhenEndBound(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04522">constraint_solver.h:4522</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_af17e3f40b29053876f72a6f64da95f77"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#af17e3f40b29053876f72a6f64da95f77">operations_research::IntervalVar::SetStartMin</a></div><div class="ttdeci">virtual void SetStartMin(int64_t m)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_af341bdc63fc2e487a50047afa36a536b"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#af341bdc63fc2e487a50047afa36a536b">operations_research::IntervalVar::MayBePerformed</a></div><div class="ttdeci">virtual bool MayBePerformed() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_af61724f6a9f9d2d310203501c3e57894"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#af61724f6a9f9d2d310203501c3e57894">operations_research::IntervalVar::WhenDurationRange</a></div><div class="ttdeci">void WhenDurationRange(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04490">constraint_solver.h:4490</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_af84a48721386cc4b8e3fea30b00f6543"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#af84a48721386cc4b8e3fea30b00f6543">operations_research::IntervalVar::CannotBePerformed</a></div><div class="ttdeci">bool CannotBePerformed() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04535">constraint_solver.h:4535</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_af9008b227bdb48d30c162353b25b8a65"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#af9008b227bdb48d30c162353b25b8a65">operations_research::IntervalVar::SetEndRange</a></div><div class="ttdeci">virtual void SetEndRange(int64_t mi, int64_t ma)=0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_af902071de9bce5da79091eaeb516441d"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#af902071de9bce5da79091eaeb516441d">operations_research::IntervalVar::OldStartMin</a></div><div class="ttdeci">virtual int64_t OldStartMin() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_af9f22c28d624c6efb78156365d35a690"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#af9f22c28d624c6efb78156365d35a690">operations_research::IntervalVar::StartMax</a></div><div class="ttdeci">virtual int64_t StartMax() const =0</div></div>
<div class="ttc" id="aclassoperations__research_1_1_interval_var_html_aff3e244214fe0edff58162e4d6a3d8ab"><div class="ttname"><a href="classoperations__research_1_1_interval_var.html#aff3e244214fe0edff58162e4d6a3d8ab">operations_research::IntervalVar::WhenDurationBound</a></div><div class="ttdeci">void WhenDurationBound(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04495">constraint_solver.h:4495</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_local_search_filter_html"><div class="ttname"><a href="classoperations__research_1_1_local_search_filter.html">operations_research::LocalSearchFilter</a></div><div class="ttdoc">Local Search Filters are used for fast neighbor pruning.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01730">constraint_solveri.h:1730</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_local_search_filter_manager_html"><div class="ttname"><a href="classoperations__research_1_1_local_search_filter_manager.html">operations_research::LocalSearchFilterManager</a></div><div class="ttdoc">Filter manager: when a move is made, filters are executed to decide whether the solution is feasible ...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01774">constraint_solveri.h:1774</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_local_search_monitor_html"><div class="ttname"><a href="classoperations__research_1_1_local_search_monitor.html">operations_research::LocalSearchMonitor</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01929">constraint_solveri.h:1929</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_local_search_operator_html"><div class="ttname"><a href="classoperations__research_1_1_local_search_operator.html">operations_research::LocalSearchOperator</a></div><div class="ttdoc">The base class for all local search operators.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00792">constraint_solveri.h:792</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_cache_html"><div class="ttname"><a href="classoperations__research_1_1_model_cache.html">operations_research::ModelCache</a></div><div class="ttdoc">Implements a complete cache for model elements: expressions and constraints.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l02088">constraint_solveri.h:2088</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html">operations_research::ModelVisitor</a></div><div class="ttdoc">Model visitor.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03375">constraint_solver.h:3375</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a00684eaee743cc9b418ebdf99a9027be"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a00684eaee743cc9b418ebdf99a9027be">operations_research::ModelVisitor::kIsMember</a></div><div class="ttdeci">static const char kIsMember[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03418">constraint_solver.h:3418</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a037a01ecac6de7f83233f48bdec420f0"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a037a01ecac6de7f83233f48bdec420f0">operations_research::ModelVisitor::kDistribute</a></div><div class="ttdeci">static const char kDistribute[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03394">constraint_solver.h:3394</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a046faf12ede984ba678bd3a08d90fe27"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a046faf12ede984ba678bd3a08d90fe27">operations_research::ModelVisitor::EndVisitIntegerExpression</a></div><div class="ttdeci">virtual void EndVisitIntegerExpression(const std::string &amp;type_name, const IntExpr *const expr)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a047b2a1ed371f7cbfc2b712eae1c9518"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a047b2a1ed371f7cbfc2b712eae1c9518">operations_research::ModelVisitor::kIndexOf</a></div><div class="ttdeci">static const char kIndexOf[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03383">constraint_solver.h:3383</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a04804fdad2e38f6b6f9d959c9e4578b2"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a04804fdad2e38f6b6f9d959c9e4578b2">operations_research::ModelVisitor::kObjectiveExtension</a></div><div class="ttdeci">static const char kObjectiveExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03466">constraint_solver.h:3466</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a08ed9db2196c99ddf5ffde772a865fcd"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a08ed9db2196c99ddf5ffde772a865fcd">operations_research::ModelVisitor::VisitIntegerVariable</a></div><div class="ttdeci">virtual void VisitIntegerVariable(const IntVar *const variable, IntExpr *const delegate)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a096edf47d0fdf540679b385bc80ece6a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a096edf47d0fdf540679b385bc80ece6a">operations_research::ModelVisitor::kOpposite</a></div><div class="ttdeci">static const char kOpposite[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03435">constraint_solver.h:3435</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a0cf22f4d4e6ca99119b47786c7051872"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a0cf22f4d4e6ca99119b47786c7051872">operations_research::ModelVisitor::kElement</a></div><div class="ttdeci">static const char kElement[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03397">constraint_solver.h:3397</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a0d9e5851d0f32ac86e3a80f9d83f56f7"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a0d9e5851d0f32ac86e3a80f9d83f56f7">operations_research::ModelVisitor::kIntervalVariable</a></div><div class="ttdeci">static const char kIntervalVariable[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03409">constraint_solver.h:3409</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a0e210e117d5baa103bcee4bf41feb86f"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a0e210e117d5baa103bcee4bf41feb86f">operations_research::ModelVisitor::kStepArgument</a></div><div class="ttdeci">static const char kStepArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03527">constraint_solver.h:3527</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a0f5cb6f97a812bf8259c3e2b15cc6445"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a0f5cb6f97a812bf8259c3e2b15cc6445">operations_research::ModelVisitor::kPathCumul</a></div><div class="ttdeci">static const char kPathCumul[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03437">constraint_solver.h:3437</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a11cfb1b537a1200911695a7075fa8d32"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a11cfb1b537a1200911695a7075fa8d32">operations_research::ModelVisitor::VisitIntegerVariableEvaluatorArgument</a></div><div class="ttdeci">virtual void VisitIntegerVariableEvaluatorArgument(const std::string &amp;arg_name, const Solver::Int64ToIntVar &amp;arguments)</div><div class="ttdoc">Helpers.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a1462f7a4a6016963a51d12ccd37bc0f3"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a1462f7a4a6016963a51d12ccd37bc0f3">operations_research::ModelVisitor::~ModelVisitor</a></div><div class="ttdeci">~ModelVisitor() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a1472c6d924697afc986d7650a08c7a1f"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a1472c6d924697afc986d7650a08c7a1f">operations_research::ModelVisitor::kRelaxedMinOperation</a></div><div class="ttdeci">static const char kRelaxedMinOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03541">constraint_solver.h:3541</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a153cf778a5285fe08ec6044dbedefcab"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a153cf778a5285fe08ec6044dbedefcab">operations_research::ModelVisitor::kTrace</a></div><div class="ttdeci">static const char kTrace[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03455">constraint_solver.h:3455</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a161e7c4d5001343bb14fe419f35924a3"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a161e7c4d5001343bb14fe419f35924a3">operations_research::ModelVisitor::kUsageEqualVariableExtension</a></div><div class="ttdeci">static const char kUsageEqualVariableExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03468">constraint_solver.h:3468</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a162a515ab9cca0684b341c60cc27b23f"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a162a515ab9cca0684b341c60cc27b23f">operations_research::ModelVisitor::kTransition</a></div><div class="ttdeci">static const char kTransition[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03456">constraint_solver.h:3456</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a1680a15375772b3c4930869519695e27"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a1680a15375772b3c4930869519695e27">operations_research::ModelVisitor::kAllowedAssignments</a></div><div class="ttdeci">static const char kAllowedAssignments[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03381">constraint_solver.h:3381</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a16bcd268aea2212502a7905c2167a640"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a16bcd268aea2212502a7905c2167a640">operations_research::ModelVisitor::kDemandsArgument</a></div><div class="ttdeci">static const char kDemandsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03485">constraint_solver.h:3485</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a196309551c4bd33cdea7377baec9e998"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a196309551c4bd33cdea7377baec9e998">operations_research::ModelVisitor::kSizeYArgument</a></div><div class="ttdeci">static const char kSizeYArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03521">constraint_solver.h:3521</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a1abb7cd1adc423a0c095f0c902a498b5"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a1abb7cd1adc423a0c095f0c902a498b5">operations_research::ModelVisitor::kDeviation</a></div><div class="ttdeci">static const char kDeviation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03391">constraint_solver.h:3391</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a1cabba002c738f52f516bde312d250ff"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a1cabba002c738f52f516bde312d250ff">operations_research::ModelVisitor::kDivide</a></div><div class="ttdeci">static const char kDivide[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03395">constraint_solver.h:3395</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a1d734a2c4dd2abac8ff580437c3fd0e0"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a1d734a2c4dd2abac8ff580437c3fd0e0">operations_research::ModelVisitor::kCircuit</a></div><div class="ttdeci">static const char kCircuit[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03386">constraint_solver.h:3386</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a1dad7894187a044deb1348a4401b01dd"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a1dad7894187a044deb1348a4401b01dd">operations_research::ModelVisitor::kMaxEqual</a></div><div class="ttdeci">static const char kMaxEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03425">constraint_solver.h:3425</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a1efb04d5976e6f974337313f20a8abed"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a1efb04d5976e6f974337313f20a8abed">operations_research::ModelVisitor::kCapacityArgument</a></div><div class="ttdeci">static const char kCapacityArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03479">constraint_solver.h:3479</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a1f95080d6a2e37f4773ec9494479b752"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a1f95080d6a2e37f4773ec9494479b752">operations_research::ModelVisitor::kRangeArgument</a></div><div class="ttdeci">static const char kRangeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03514">constraint_solver.h:3514</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a226ea285176281ef88069a3b47806e23"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a226ea285176281ef88069a3b47806e23">operations_research::ModelVisitor::kInt64ToBoolExtension</a></div><div class="ttdeci">static const char kInt64ToBoolExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03464">constraint_solver.h:3464</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a246e5ce5866d7a5af3c417e1157be7e4"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a246e5ce5866d7a5af3c417e1157be7e4">operations_research::ModelVisitor::kCumulativeArgument</a></div><div class="ttdeci">static const char kCumulativeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03483">constraint_solver.h:3483</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a26685fc40f9c1a471f510c940229f12a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a26685fc40f9c1a471f510c940229f12a">operations_research::ModelVisitor::kLinkExprVar</a></div><div class="ttdeci">static const char kLinkExprVar[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03422">constraint_solver.h:3422</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a27c23b6ecc378e75b4da22f166c50244"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a27c23b6ecc378e75b4da22f166c50244">operations_research::ModelVisitor::kCountUsedBinsExtension</a></div><div class="ttdeci">static const char kCountUsedBinsExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03463">constraint_solver.h:3463</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a27f93e67bcfff37a7387c8d0470a1a84"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a27f93e67bcfff37a7387c8d0470a1a84">operations_research::ModelVisitor::kIsDifferent</a></div><div class="ttdeci">static const char kIsDifferent[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03412">constraint_solver.h:3412</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a290fc3c2f12eaa320db59f8f71e07747"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a290fc3c2f12eaa320db59f8f71e07747">operations_research::ModelVisitor::BeginVisitExtension</a></div><div class="ttdeci">virtual void BeginVisitExtension(const std::string &amp;type)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a29ab76d140dc963e6ff300c10f2e6b69"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a29ab76d140dc963e6ff300c10f2e6b69">operations_research::ModelVisitor::kVarsArgument</a></div><div class="ttdeci">static const char kVarsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03535">constraint_solver.h:3535</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a29dbfc2d9cb6c5525f69bc14b9181f34"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a29dbfc2d9cb6c5525f69bc14b9181f34">operations_research::ModelVisitor::kDifferenceOperation</a></div><div class="ttdeci">static const char kDifferenceOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03543">constraint_solver.h:3543</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a2a891b6bc3eedc72dfb7b32e4aee96e6"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a2a891b6bc3eedc72dfb7b32e4aee96e6">operations_research::ModelVisitor::VisitIntegerVariableArrayArgument</a></div><div class="ttdeci">virtual void VisitIntegerVariableArrayArgument(const std::string &amp;arg_name, const std::vector&lt; IntVar * &gt; &amp;arguments)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a2ad108e7c25038cfe1700a5902925b1d"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a2ad108e7c25038cfe1700a5902925b1d">operations_research::ModelVisitor::kCardsArgument</a></div><div class="ttdeci">static const char kCardsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03480">constraint_solver.h:3480</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a2b39b4ddeced08534a545a2af992ea25"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a2b39b4ddeced08534a545a2af992ea25">operations_research::ModelVisitor::kCountEqual</a></div><div class="ttdeci">static const char kCountEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03388">constraint_solver.h:3388</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a2c093c2312ebcf6e2731da682e0adfae"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a2c093c2312ebcf6e2731da682e0adfae">operations_research::ModelVisitor::kMinEqual</a></div><div class="ttdeci">static const char kMinEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03428">constraint_solver.h:3428</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a2c8b58a4536a165161bb4a4009d51592"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a2c8b58a4536a165161bb4a4009d51592">operations_research::ModelVisitor::VisitIntegerVariable</a></div><div class="ttdeci">virtual void VisitIntegerVariable(const IntVar *const variable, const std::string &amp;operation, int64_t value, IntVar *const delegate)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a2d38bb37c4d53747bee6bd7a4dbea683"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a2d38bb37c4d53747bee6bd7a4dbea683">operations_research::ModelVisitor::kEndsArgument</a></div><div class="ttdeci">static const char kEndsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03492">constraint_solver.h:3492</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a2ddcfef771ca0d18764cd96da315f94a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a2ddcfef771ca0d18764cd96da315f94a">operations_research::ModelVisitor::kTimeLimitArgument</a></div><div class="ttdeci">static const char kTimeLimitArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03529">constraint_solver.h:3529</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a2eb741fdb1a57428e28d76b75828f53d"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a2eb741fdb1a57428e28d76b75828f53d">operations_research::ModelVisitor::kSizeArgument</a></div><div class="ttdeci">static const char kSizeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03519">constraint_solver.h:3519</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a30b50b7180fb05913750969f7099b3b5"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a30b50b7180fb05913750969f7099b3b5">operations_research::ModelVisitor::kVariableGroupExtension</a></div><div class="ttdeci">static const char kVariableGroupExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03471">constraint_solver.h:3471</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a342e588faac341123634f9e7c610b9bb"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a342e588faac341123634f9e7c610b9bb">operations_research::ModelVisitor::VisitInt64ToInt64AsArray</a></div><div class="ttdeci">void VisitInt64ToInt64AsArray(const Solver::IndexEvaluator1 &amp;eval, const std::string &amp;arg_name, int64_t index_max)</div><div class="ttdoc">Expands function as array when index min is 0.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a35959a8f06ab5704037d3ba6f6e57807"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a35959a8f06ab5704037d3ba6f6e57807">operations_research::ModelVisitor::kIntervalUnaryRelation</a></div><div class="ttdeci">static const char kIntervalUnaryRelation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03408">constraint_solver.h:3408</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a36304d31cb04978db9a9e1e4ac412156"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a36304d31cb04978db9a9e1e4ac412156">operations_research::ModelVisitor::kPartialArgument</a></div><div class="ttdeci">static const char kPartialArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03511">constraint_solver.h:3511</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a381c6eb4722ef4ec71888612ffd9dcdb"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a381c6eb4722ef4ec71888612ffd9dcdb">operations_research::ModelVisitor::kMapDomain</a></div><div class="ttdeci">static const char kMapDomain[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03423">constraint_solver.h:3423</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a38498bce8edef1f7864fe72312b32b2c"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a38498bce8edef1f7864fe72312b32b2c">operations_research::ModelVisitor::kTargetArgument</a></div><div class="ttdeci">static const char kTargetArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03528">constraint_solver.h:3528</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a3bd22735c865e1bd450f7e01747390f2"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a3bd22735c865e1bd450f7e01747390f2">operations_research::ModelVisitor::kIntervalBinaryRelation</a></div><div class="ttdeci">static const char kIntervalBinaryRelation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03406">constraint_solver.h:3406</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a3d3319d34dd3c36b158e52dbbbf53627"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a3d3319d34dd3c36b158e52dbbbf53627">operations_research::ModelVisitor::kSumOperation</a></div><div class="ttdeci">static const char kSumOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03542">constraint_solver.h:3542</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a4075e44ab81cbc73f867fafc86e62bfa"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a4075e44ab81cbc73f867fafc86e62bfa">operations_research::ModelVisitor::kInt64ToInt64Extension</a></div><div class="ttdeci">static const char kInt64ToInt64Extension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03465">constraint_solver.h:3465</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a418093315d91c51a1adb1dda94266643"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a418093315d91c51a1adb1dda94266643">operations_research::ModelVisitor::kGreater</a></div><div class="ttdeci">static const char kGreater[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03403">constraint_solver.h:3403</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a4592f7b31305062855ebb7a29d179cf5"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a4592f7b31305062855ebb7a29d179cf5">operations_research::ModelVisitor::kNextsArgument</a></div><div class="ttdeci">static const char kNextsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03509">constraint_solver.h:3509</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a46e38a552aa77be3b194f0187f3b254e"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a46e38a552aa77be3b194f0187f3b254e">operations_research::ModelVisitor::kVarValueWatcher</a></div><div class="ttdeci">static const char kVarValueWatcher[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03459">constraint_solver.h:3459</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a479844cfe961e8a22a710496cf435bda"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a479844cfe961e8a22a710496cf435bda">operations_research::ModelVisitor::VisitInt64ToInt64Extension</a></div><div class="ttdeci">void VisitInt64ToInt64Extension(const Solver::IndexEvaluator1 &amp;eval, int64_t index_min, int64_t index_max)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a493ce359cebf04754142358695c209e4"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a493ce359cebf04754142358695c209e4">operations_research::ModelVisitor::kEquality</a></div><div class="ttdeci">static const char kEquality[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03400">constraint_solver.h:3400</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a4a72b1cb4e58e1791a99234104a33658"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a4a72b1cb4e58e1791a99234104a33658">operations_research::ModelVisitor::kEvaluatorArgument</a></div><div class="ttdeci">static const char kEvaluatorArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03536">constraint_solver.h:3536</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a4c28d8452e85cc7cb4a9473382126f18"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a4c28d8452e85cc7cb4a9473382126f18">operations_research::ModelVisitor::kEarlyDateArgument</a></div><div class="ttdeci">static const char kEarlyDateArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03489">constraint_solver.h:3489</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a4de059a43f7663843517c5a6f09dd87c"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a4de059a43f7663843517c5a6f09dd87c">operations_research::ModelVisitor::kUsageLessConstantExtension</a></div><div class="ttdeci">static const char kUsageLessConstantExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03470">constraint_solver.h:3470</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a4e5344711c44bb56cb8bb380b604ddd4"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a4e5344711c44bb56cb8bb380b604ddd4">operations_research::ModelVisitor::VisitSequenceVariable</a></div><div class="ttdeci">virtual void VisitSequenceVariable(const SequenceVar *const variable)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a4fddb36c5bb92575a98b7e54f018da8d"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a4fddb36c5bb92575a98b7e54f018da8d">operations_research::ModelVisitor::kRightArgument</a></div><div class="ttdeci">static const char kRightArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03516">constraint_solver.h:3516</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a504e661a909be2e7e2a8dd07acb4f21d"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a504e661a909be2e7e2a8dd07acb4f21d">operations_research::ModelVisitor::VisitInt64ToBoolExtension</a></div><div class="ttdeci">void VisitInt64ToBoolExtension(Solver::IndexFilter1 filter, int64_t index_min, int64_t index_max)</div><div class="ttdoc">Using SWIG on callbacks is troublesome, so we hide these methods during the wrapping.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a51b35b919713ff95a1319b391a818948"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a51b35b919713ff95a1319b391a818948">operations_research::ModelVisitor::kBetween</a></div><div class="ttdeci">static const char kBetween[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03384">constraint_solver.h:3384</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a523dfb65ec9b9b012b2414087ad66ece"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a523dfb65ec9b9b012b2414087ad66ece">operations_research::ModelVisitor::kIsGreater</a></div><div class="ttdeci">static const char kIsGreater[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03414">constraint_solver.h:3414</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a52e35a16f2c1fc6072eeac9e0848c8eb"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a52e35a16f2c1fc6072eeac9e0848c8eb">operations_research::ModelVisitor::kSortingConstraint</a></div><div class="ttdeci">static const char kSortingConstraint[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03448">constraint_solver.h:3448</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a561d0006662c709e158b85992727024a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a561d0006662c709e158b85992727024a">operations_research::ModelVisitor::kLessOrEqual</a></div><div class="ttdeci">static const char kLessOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03420">constraint_solver.h:3420</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a56c59c6a5d75ab26416250cc2a820ebd"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a56c59c6a5d75ab26416250cc2a820ebd">operations_research::ModelVisitor::kSum</a></div><div class="ttdeci">static const char kSum[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03451">constraint_solver.h:3451</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a5742cff510396670bc30e59b21bc4f02"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a5742cff510396670bc30e59b21bc4f02">operations_research::ModelVisitor::kDurationExpr</a></div><div class="ttdeci">static const char kDurationExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03396">constraint_solver.h:3396</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a57b18ff410cb385f7cbd1690202d8b1b"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a57b18ff410cb385f7cbd1690202d8b1b">operations_research::ModelVisitor::kAssumePathsArgument</a></div><div class="ttdeci">static const char kAssumePathsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03477">constraint_solver.h:3477</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a580be6f5821ff3e30fda51d180ec4381"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a580be6f5821ff3e30fda51d180ec4381">operations_research::ModelVisitor::kIsEqual</a></div><div class="ttdeci">static const char kIsEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03413">constraint_solver.h:3413</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a58204b09320f02bca9bd9574cec4cc11"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a58204b09320f02bca9bd9574cec4cc11">operations_research::ModelVisitor::kModulo</a></div><div class="ttdeci">static const char kModulo[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03429">constraint_solver.h:3429</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a58992f144ba268bf675eb1c6c2327453"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a58992f144ba268bf675eb1c6c2327453">operations_research::ModelVisitor::kScalProdLessOrEqual</a></div><div class="ttdeci">static const char kScalProdLessOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03445">constraint_solver.h:3445</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a589dbe140227cc5b787cdda276b67acc"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a589dbe140227cc5b787cdda276b67acc">operations_research::ModelVisitor::kMin</a></div><div class="ttdeci">static const char kMin[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03427">constraint_solver.h:3427</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a58c32b91992c812416e017260a5308e5"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a58c32b91992c812416e017260a5308e5">operations_research::ModelVisitor::kAllDifferent</a></div><div class="ttdeci">static const char kAllDifferent[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03380">constraint_solver.h:3380</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a590f984893598c7a56c2b0f0d9b953ca"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a590f984893598c7a56c2b0f0d9b953ca">operations_research::ModelVisitor::kSearchLimitExtension</a></div><div class="ttdeci">static const char kSearchLimitExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03467">constraint_solver.h:3467</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a59af473ffc9f974d315aaeef845b7998"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a59af473ffc9f974d315aaeef845b7998">operations_research::ModelVisitor::kVariableArgument</a></div><div class="ttdeci">static const char kVariableArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03534">constraint_solver.h:3534</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a5b75952975129483f50194a37280456e"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a5b75952975129483f50194a37280456e">operations_research::ModelVisitor::kLateCostArgument</a></div><div class="ttdeci">static const char kLateCostArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03502">constraint_solver.h:3502</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a5d91f82112a1b3e4cb0c51125d9c5bbe"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a5d91f82112a1b3e4cb0c51125d9c5bbe">operations_research::ModelVisitor::kFixedChargeArgument</a></div><div class="ttdeci">static const char kFixedChargeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03496">constraint_solver.h:3496</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a5e74213547167ce6a3f2b2741eb6245d"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a5e74213547167ce6a3f2b2741eb6245d">operations_research::ModelVisitor::kRelationArgument</a></div><div class="ttdeci">static const char kRelationArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03515">constraint_solver.h:3515</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a5ef2508f0144802647e1384aec4dc8c8"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a5ef2508f0144802647e1384aec4dc8c8">operations_research::ModelVisitor::kIndexArgument</a></div><div class="ttdeci">static const char kIndexArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03498">constraint_solver.h:3498</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a5fd20f96469c4dc88975e6ccfdc6d0b3"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a5fd20f96469c4dc88975e6ccfdc6d0b3">operations_research::ModelVisitor::kDelayedPathCumul</a></div><div class="ttdeci">static const char kDelayedPathCumul[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03438">constraint_solver.h:3438</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a60e019a6fcc850c0f9b3f1d0d510ff58"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a60e019a6fcc850c0f9b3f1d0d510ff58">operations_research::ModelVisitor::kMember</a></div><div class="ttdeci">static const char kMember[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03426">constraint_solver.h:3426</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a614da33a32c253b2138879cfc4a1f0c2"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a614da33a32c253b2138879cfc4a1f0c2">operations_research::ModelVisitor::VisitIntegerArrayArgument</a></div><div class="ttdeci">virtual void VisitIntegerArrayArgument(const std::string &amp;arg_name, const std::vector&lt; int64_t &gt; &amp;values)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a63773f7de26444ddaa612e5106d4c3a1"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a63773f7de26444ddaa612e5106d4c3a1">operations_research::ModelVisitor::BeginVisitModel</a></div><div class="ttdeci">virtual void BeginVisitModel(const std::string &amp;type_name)</div><div class="ttdoc">--— Virtual methods for visitors --—</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a63ad0c64681ddabe0c2121f40f2ed594"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a63ad0c64681ddabe0c2121f40f2ed594">operations_research::ModelVisitor::kScalProdEqual</a></div><div class="ttdeci">static const char kScalProdEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03443">constraint_solver.h:3443</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a640f5ca056aaf5f3cc0ac458bea4e22a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a640f5ca056aaf5f3cc0ac458bea4e22a">operations_research::ModelVisitor::kValuesArgument</a></div><div class="ttdeci">static const char kValuesArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03533">constraint_solver.h:3533</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a6547847378ab8737c33862119548fa7a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a6547847378ab8737c33862119548fa7a">operations_research::ModelVisitor::kConvexPiecewise</a></div><div class="ttdeci">static const char kConvexPiecewise[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03387">constraint_solver.h:3387</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a65cd4717ce546015917331bfd6b25735"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a65cd4717ce546015917331bfd6b25735">operations_research::ModelVisitor::kModuloArgument</a></div><div class="ttdeci">static const char kModuloArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03508">constraint_solver.h:3508</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a66131a3db06416f42609a2dfa7a578e0"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a66131a3db06416f42609a2dfa7a578e0">operations_research::ModelVisitor::kLeftArgument</a></div><div class="ttdeci">static const char kLeftArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03504">constraint_solver.h:3504</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a66badecb0606e028c8f2318523337510"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a66badecb0606e028c8f2318523337510">operations_research::ModelVisitor::kLess</a></div><div class="ttdeci">static const char kLess[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03419">constraint_solver.h:3419</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a69b3391b3f8ada3bf0c2c69a8c7a799e"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a69b3391b3f8ada3bf0c2c69a8c7a799e">operations_research::ModelVisitor::kNoCycle</a></div><div class="ttdeci">static const char kNoCycle[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03430">constraint_solver.h:3430</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a6a623ce0e4622390eee08d0e5b501cea"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a6a623ce0e4622390eee08d0e5b501cea">operations_research::ModelVisitor::kGlobalCardinality</a></div><div class="ttdeci">static const char kGlobalCardinality[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03402">constraint_solver.h:3402</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a6c32b3d2b7cafc36493d2e39b058f322"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a6c32b3d2b7cafc36493d2e39b058f322">operations_research::ModelVisitor::kDurationMaxArgument</a></div><div class="ttdeci">static const char kDurationMaxArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03486">constraint_solver.h:3486</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a6cca6dfc9f84533f608c0c092e7882d4"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a6cca6dfc9f84533f608c0c092e7882d4">operations_research::ModelVisitor::kStartMaxArgument</a></div><div class="ttdeci">static const char kStartMaxArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03524">constraint_solver.h:3524</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a6fa8bac903075afe8a670a0c2206fcc5"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a6fa8bac903075afe8a670a0c2206fcc5">operations_research::ModelVisitor::kNonEqual</a></div><div class="ttdeci">static const char kNonEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03431">constraint_solver.h:3431</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a705fc09ad35dc614f58b5f32ad3c66d4"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a705fc09ad35dc614f58b5f32ad3c66d4">operations_research::ModelVisitor::BeginVisitIntegerExpression</a></div><div class="ttdeci">virtual void BeginVisitIntegerExpression(const std::string &amp;type_name, const IntExpr *const expr)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a71c1aed86ff5e8d8203cf7f75a6b0ec4"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a71c1aed86ff5e8d8203cf7f75a6b0ec4">operations_research::ModelVisitor::kDurationMinArgument</a></div><div class="ttdeci">static const char kDurationMinArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03487">constraint_solver.h:3487</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a71daddfa207d9a10652752da7c9df78f"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a71daddfa207d9a10652752da7c9df78f">operations_research::ModelVisitor::BeginVisitConstraint</a></div><div class="ttdeci">virtual void BeginVisitConstraint(const std::string &amp;type_name, const Constraint *const constraint)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a725ba236296fa779119bcd3f0566d6e6"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a725ba236296fa779119bcd3f0566d6e6">operations_research::ModelVisitor::kSumLessOrEqual</a></div><div class="ttdeci">static const char kSumLessOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03454">constraint_solver.h:3454</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a74cffe7b975f432fec064daf60d35e6d"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a74cffe7b975f432fec064daf60d35e6d">operations_research::ModelVisitor::kIsLess</a></div><div class="ttdeci">static const char kIsLess[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03416">constraint_solver.h:3416</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a75651946a55c50f7006d07a0ee4e67c2"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a75651946a55c50f7006d07a0ee4e67c2">operations_research::ModelVisitor::kPerformedExpr</a></div><div class="ttdeci">static const char kPerformedExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03439">constraint_solver.h:3439</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a7599a55b43d85348b1efa77225b514be"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a7599a55b43d85348b1efa77225b514be">operations_research::ModelVisitor::EndVisitConstraint</a></div><div class="ttdeci">virtual void EndVisitConstraint(const std::string &amp;type_name, const Constraint *const constraint)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a793434fd2029abd85f59147b7671e1e9"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a793434fd2029abd85f59147b7671e1e9">operations_research::ModelVisitor::kDifference</a></div><div class="ttdeci">static const char kDifference[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03392">constraint_solver.h:3392</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a795a3239d887c8e56bd2f96f44285f34"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a795a3239d887c8e56bd2f96f44285f34">operations_research::ModelVisitor::kAbsEqual</a></div><div class="ttdeci">static const char kAbsEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03379">constraint_solver.h:3379</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a7a8458025b2650b4e0cf2aafde506817"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a7a8458025b2650b4e0cf2aafde506817">operations_research::ModelVisitor::EndVisitExtension</a></div><div class="ttdeci">virtual void EndVisitExtension(const std::string &amp;type)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a7c32a99f7ea498fd5fd744a40a49978b"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a7c32a99f7ea498fd5fd744a40a49978b">operations_research::ModelVisitor::kEndMinArgument</a></div><div class="ttdeci">static const char kEndMinArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03491">constraint_solver.h:3491</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a7c58989fce778932cadb9e0c652ca719"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a7c58989fce778932cadb9e0c652ca719">operations_research::ModelVisitor::kLateDateArgument</a></div><div class="ttdeci">static const char kLateDateArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03503">constraint_solver.h:3503</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a7cd2b6f03b98cca52a9c1162ff4e588d"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a7cd2b6f03b98cca52a9c1162ff4e588d">operations_research::ModelVisitor::kCumulative</a></div><div class="ttdeci">static const char kCumulative[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03390">constraint_solver.h:3390</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a7e86e0902e293a0eed1d9c0ea1d8d5ea"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a7e86e0902e293a0eed1d9c0ea1d8d5ea">operations_research::ModelVisitor::kSmartTimeCheckArgument</a></div><div class="ttdeci">static const char kSmartTimeCheckArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03522">constraint_solver.h:3522</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a7f60481e6d86f31e943ae6b6e0f6410b"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a7f60481e6d86f31e943ae6b6e0f6410b">operations_research::ModelVisitor::kNotBetween</a></div><div class="ttdeci">static const char kNotBetween[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03432">constraint_solver.h:3432</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a800e6dd7541cfccb30f9ff87b0806282"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a800e6dd7541cfccb30f9ff87b0806282">operations_research::ModelVisitor::kNullIntersect</a></div><div class="ttdeci">static const char kNullIntersect[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03434">constraint_solver.h:3434</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a875953606fef3f5ea86436055d5db9cb"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a875953606fef3f5ea86436055d5db9cb">operations_research::ModelVisitor::kEndMaxArgument</a></div><div class="ttdeci">static const char kEndMaxArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03490">constraint_solver.h:3490</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a879d8c2011eff14fe12fb47819dc45a1"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a879d8c2011eff14fe12fb47819dc45a1">operations_research::ModelVisitor::VisitIntegerMatrixArgument</a></div><div class="ttdeci">virtual void VisitIntegerMatrixArgument(const std::string &amp;arg_name, const IntTupleSet &amp;tuples)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a8c5cbe7b436dce3afff17642fce39ea1"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a8c5cbe7b436dce3afff17642fce39ea1">operations_research::ModelVisitor::kFalseConstraint</a></div><div class="ttdeci">static const char kFalseConstraint[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03401">constraint_solver.h:3401</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a8dd7af97dcb7f2d7161a49057b8d97d3"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a8dd7af97dcb7f2d7161a49057b8d97d3">operations_research::ModelVisitor::kSequenceVariable</a></div><div class="ttdeci">static const char kSequenceVariable[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03447">constraint_solver.h:3447</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a900b6f477d759869da0e9a89c5201642"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a900b6f477d759869da0e9a89c5201642">operations_research::ModelVisitor::kDisjunctive</a></div><div class="ttdeci">static const char kDisjunctive[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03393">constraint_solver.h:3393</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a9093917d6df37ace90b5d1ee3456f18e"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a9093917d6df37ace90b5d1ee3456f18e">operations_research::ModelVisitor::kTrueConstraint</a></div><div class="ttdeci">static const char kTrueConstraint[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03457">constraint_solver.h:3457</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a90a61ae1140d0653a779c95428efd1e9"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a90a61ae1140d0653a779c95428efd1e9">operations_research::ModelVisitor::kEndExpr</a></div><div class="ttdeci">static const char kEndExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03399">constraint_solver.h:3399</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a9148e84bdd8ea90a08dd76122d041400"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a9148e84bdd8ea90a08dd76122d041400">operations_research::ModelVisitor::kMaxArgument</a></div><div class="ttdeci">static const char kMaxArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03505">constraint_solver.h:3505</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a92149cd4553cbe6b381ea8a10bd2751a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a92149cd4553cbe6b381ea8a10bd2751a">operations_research::ModelVisitor::kSquare</a></div><div class="ttdeci">static const char kSquare[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03449">constraint_solver.h:3449</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a9344fe5bdffcdcaa4ff2e3e38202d329"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a9344fe5bdffcdcaa4ff2e3e38202d329">operations_research::ModelVisitor::kFinalStatesArgument</a></div><div class="ttdeci">static const char kFinalStatesArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03495">constraint_solver.h:3495</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a936ce8be9aba423200e61fb24e9dd038"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a936ce8be9aba423200e61fb24e9dd038">operations_research::ModelVisitor::kCountAssignedItemsExtension</a></div><div class="ttdeci">static const char kCountAssignedItemsExtension[]</div><div class="ttdoc">Extension names:</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03462">constraint_solver.h:3462</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a958b4a3a9b2925a92c8598a72f5cefbd"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a958b4a3a9b2925a92c8598a72f5cefbd">operations_research::ModelVisitor::kTuplesArgument</a></div><div class="ttdeci">static const char kTuplesArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03531">constraint_solver.h:3531</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a98308e5047f0292f8f18e03285e07458"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a98308e5047f0292f8f18e03285e07458">operations_research::ModelVisitor::kSolutionLimitArgument</a></div><div class="ttdeci">static const char kSolutionLimitArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03523">constraint_solver.h:3523</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a997c9b5e3c862f9f813c9c89a6b1c93b"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a997c9b5e3c862f9f813c9c89a6b1c93b">operations_research::ModelVisitor::kValueArgument</a></div><div class="ttdeci">static const char kValueArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03532">constraint_solver.h:3532</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a997e4f5781355b26f58092ec7cceb3a9"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a997e4f5781355b26f58092ec7cceb3a9">operations_research::ModelVisitor::VisitIntervalVariable</a></div><div class="ttdeci">virtual void VisitIntervalVariable(const IntervalVar *const variable, const std::string &amp;operation, int64_t value, IntervalVar *const delegate)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a99e145b912e32fd3ab2ed6208c9b502b"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a99e145b912e32fd3ab2ed6208c9b502b">operations_research::ModelVisitor::kIntervalsArgument</a></div><div class="ttdeci">static const char kIntervalsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03501">constraint_solver.h:3501</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a9c68bcf81a3279ccd6cce9a3b1b782da"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a9c68bcf81a3279ccd6cce9a3b1b782da">operations_research::ModelVisitor::kOptionalArgument</a></div><div class="ttdeci">static const char kOptionalArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03510">constraint_solver.h:3510</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a9d247821942bd436a451b98b6a820a0b"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a9d247821942bd436a451b98b6a820a0b">operations_research::ModelVisitor::kElementEqual</a></div><div class="ttdeci">static const char kElementEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03398">constraint_solver.h:3398</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a9e0316ea65eff972a717d636c75482f6"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a9e0316ea65eff972a717d636c75482f6">operations_research::ModelVisitor::kGreaterOrEqual</a></div><div class="ttdeci">static const char kGreaterOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03404">constraint_solver.h:3404</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_a9f8656876765452bb1532eaa2ae63542"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#a9f8656876765452bb1532eaa2ae63542">operations_research::ModelVisitor::kIsGreaterOrEqual</a></div><div class="ttdeci">static const char kIsGreaterOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03415">constraint_solver.h:3415</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aa0d733541b65e81e2aa5cfc817f4b306"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aa0d733541b65e81e2aa5cfc817f4b306">operations_research::ModelVisitor::kCoefficientsArgument</a></div><div class="ttdeci">static const char kCoefficientsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03481">constraint_solver.h:3481</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aa0e5213a87d88a0a5e22c33842870ae2"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aa0e5213a87d88a0a5e22c33842870ae2">operations_research::ModelVisitor::kMirrorOperation</a></div><div class="ttdeci">static const char kMirrorOperation[]</div><div class="ttdoc">Operations.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03539">constraint_solver.h:3539</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aa397e45304c8b4a7b5b16392f80cc781"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aa397e45304c8b4a7b5b16392f80cc781">operations_research::ModelVisitor::kCumulsArgument</a></div><div class="ttdeci">static const char kCumulsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03484">constraint_solver.h:3484</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aa39de23b822bea8a9e5119b8e6585092"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aa39de23b822bea8a9e5119b8e6585092">operations_research::ModelVisitor::kSumGreaterOrEqual</a></div><div class="ttdeci">static const char kSumGreaterOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03453">constraint_solver.h:3453</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aa8ff2529b746694f1e84c0ae3539a771"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aa8ff2529b746694f1e84c0ae3539a771">operations_research::ModelVisitor::kIsBetween</a></div><div class="ttdeci">static const char kIsBetween[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03411">constraint_solver.h:3411</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aa95757a513f781326dd6909766f893d4"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aa95757a513f781326dd6909766f893d4">operations_research::ModelVisitor::kMax</a></div><div class="ttdeci">static const char kMax[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03424">constraint_solver.h:3424</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aaa55b6256b0d1ab1bfe6eddecb629d71"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aaa55b6256b0d1ab1bfe6eddecb629d71">operations_research::ModelVisitor::kMaximizeArgument</a></div><div class="ttdeci">static const char kMaximizeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03506">constraint_solver.h:3506</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aad0692e603eced5a224664493e4e04a0"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aad0692e603eced5a224664493e4e04a0">operations_research::ModelVisitor::kIntervalArgument</a></div><div class="ttdeci">static const char kIntervalArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03500">constraint_solver.h:3500</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ab14b83147d91ddc7f870334f23c93459"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ab14b83147d91ddc7f870334f23c93459">operations_research::ModelVisitor::kPack</a></div><div class="ttdeci">static const char kPack[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03436">constraint_solver.h:3436</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ab3bfa3eba327be16a5710d64401f0f59"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ab3bfa3eba327be16a5710d64401f0f59">operations_research::ModelVisitor::kIntegerVariable</a></div><div class="ttdeci">static const char kIntegerVariable[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03405">constraint_solver.h:3405</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ab562410a4141319c760d7187cae60ae3"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ab562410a4141319c760d7187cae60ae3">operations_research::ModelVisitor::kCover</a></div><div class="ttdeci">static const char kCover[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03389">constraint_solver.h:3389</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ab5bbd458168c635ffd13dcb791187957"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ab5bbd458168c635ffd13dcb791187957">operations_research::ModelVisitor::VisitIntervalArrayArgument</a></div><div class="ttdeci">virtual void VisitIntervalArrayArgument(const std::string &amp;arg_name, const std::vector&lt; IntervalVar * &gt; &amp;arguments)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ab632d1514a9794685b449641d16f7b8a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ab632d1514a9794685b449641d16f7b8a">operations_research::ModelVisitor::kSequenceArgument</a></div><div class="ttdeci">static const char kSequenceArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03517">constraint_solver.h:3517</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ab95b49639e4e70860b08ac6c29235b1a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ab95b49639e4e70860b08ac6c29235b1a">operations_research::ModelVisitor::kActiveArgument</a></div><div class="ttdeci">static const char kActiveArgument[]</div><div class="ttdoc">argument names:</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03476">constraint_solver.h:3476</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_abb68faceb7bde97b48b06ed3ee2c8965"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#abb68faceb7bde97b48b06ed3ee2c8965">operations_research::ModelVisitor::kIndex2Argument</a></div><div class="ttdeci">static const char kIndex2Argument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03497">constraint_solver.h:3497</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_abf8d63c7d5f292d9e040073cb2c195bf"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#abf8d63c7d5f292d9e040073cb2c195bf">operations_research::ModelVisitor::kMinArgument</a></div><div class="ttdeci">static const char kMinArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03507">constraint_solver.h:3507</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ac0dd4d0fa61e614fe002bc4a44c68cc4"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ac0dd4d0fa61e614fe002bc4a44c68cc4">operations_research::ModelVisitor::kFailuresLimitArgument</a></div><div class="ttdeci">static const char kFailuresLimitArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03494">constraint_solver.h:3494</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ac21aa6c10029dac2f0260d71be9edcdf"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ac21aa6c10029dac2f0260d71be9edcdf">operations_research::ModelVisitor::kScalProd</a></div><div class="ttdeci">static const char kScalProd[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03442">constraint_solver.h:3442</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ac23e672966c12db7c5fde3efd03bc22f"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ac23e672966c12db7c5fde3efd03bc22f">operations_research::ModelVisitor::kVarBoundWatcher</a></div><div class="ttdeci">static const char kVarBoundWatcher[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03458">constraint_solver.h:3458</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ac3119dd51e22d5265000c78420be940a"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ac3119dd51e22d5265000c78420be940a">operations_research::ModelVisitor::kProductOperation</a></div><div class="ttdeci">static const char kProductOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03544">constraint_solver.h:3544</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ac6d86b11992187f28b77b7c48e0af0c9"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ac6d86b11992187f28b77b7c48e0af0c9">operations_research::ModelVisitor::kPower</a></div><div class="ttdeci">static const char kPower[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03440">constraint_solver.h:3440</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ac72c2601b14178d2e6512802e67c1e82"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ac72c2601b14178d2e6512802e67c1e82">operations_research::ModelVisitor::kBranchesLimitArgument</a></div><div class="ttdeci">static const char kBranchesLimitArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03478">constraint_solver.h:3478</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ac92009c58c162047bc1232c8b1b955e5"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ac92009c58c162047bc1232c8b1b955e5">operations_research::ModelVisitor::kAtMost</a></div><div class="ttdeci">static const char kAtMost[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03382">constraint_solver.h:3382</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ac98ea1ab84216d43ee4fdd81ab7474fc"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ac98ea1ab84216d43ee4fdd81ab7474fc">operations_research::ModelVisitor::kNotMember</a></div><div class="ttdeci">static const char kNotMember[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03433">constraint_solver.h:3433</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ac9f18af3bfc84a788bd79fc0a07fecc8"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ac9f18af3bfc84a788bd79fc0a07fecc8">operations_research::ModelVisitor::kStartSyncOnStartOperation</a></div><div class="ttdeci">static const char kStartSyncOnStartOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03545">constraint_solver.h:3545</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_acade762559b4a07b7ff2835513fea331"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#acade762559b4a07b7ff2835513fea331">operations_research::ModelVisitor::VisitIntegerExpressionArgument</a></div><div class="ttdeci">virtual void VisitIntegerExpressionArgument(const std::string &amp;arg_name, IntExpr *const argument)</div><div class="ttdoc">Visit integer expression argument.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_acc606748a8d51c2ded9fe90bb6cd1af3"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#acc606748a8d51c2ded9fe90bb6cd1af3">operations_research::ModelVisitor::kStartExpr</a></div><div class="ttdeci">static const char kStartExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03450">constraint_solver.h:3450</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_acf10b6b6ef31fd88f39d0ea38885a2dc"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#acf10b6b6ef31fd88f39d0ea38885a2dc">operations_research::ModelVisitor::kEarlyCostArgument</a></div><div class="ttdeci">static const char kEarlyCostArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03488">constraint_solver.h:3488</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_acf408604098ab222c1235e29836be09b"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#acf408604098ab222c1235e29836be09b">operations_research::ModelVisitor::kTransitsArgument</a></div><div class="ttdeci">static const char kTransitsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03530">constraint_solver.h:3530</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_acf91de1238d3626085e38d5b42a8af76"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#acf91de1238d3626085e38d5b42a8af76">operations_research::ModelVisitor::VisitSequenceArrayArgument</a></div><div class="ttdeci">virtual void VisitSequenceArrayArgument(const std::string &amp;arg_name, const std::vector&lt; SequenceVar * &gt; &amp;arguments)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ad00a73251ccc9fcc667a424ebaf2c22d"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ad00a73251ccc9fcc667a424ebaf2c22d">operations_research::ModelVisitor::kSizeXArgument</a></div><div class="ttdeci">static const char kSizeXArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03520">constraint_solver.h:3520</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ad27539b7139884e4904329fd2fd82671"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ad27539b7139884e4904329fd2fd82671">operations_research::ModelVisitor::VisitIntervalArgument</a></div><div class="ttdeci">virtual void VisitIntervalArgument(const std::string &amp;arg_name, IntervalVar *const argument)</div><div class="ttdoc">Visit interval argument.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ad2eec282542c2acaee9c694c5944917c"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ad2eec282542c2acaee9c694c5944917c">operations_research::ModelVisitor::kInitialState</a></div><div class="ttdeci">static const char kInitialState[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03499">constraint_solver.h:3499</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ad31ec726916dcb6a86af35964b1d84f5"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ad31ec726916dcb6a86af35964b1d84f5">operations_research::ModelVisitor::kCountArgument</a></div><div class="ttdeci">static const char kCountArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03482">constraint_solver.h:3482</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ad510d142b8ae51807937639ce713e830"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ad510d142b8ae51807937639ce713e830">operations_research::ModelVisitor::kRelaxedMaxOperation</a></div><div class="ttdeci">static const char kRelaxedMaxOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03540">constraint_solver.h:3540</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ad5cc2e043cec5569e67c9e4ca8c5ef8e"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ad5cc2e043cec5569e67c9e4ca8c5ef8e">operations_research::ModelVisitor::kPositionYArgument</a></div><div class="ttdeci">static const char kPositionYArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03513">constraint_solver.h:3513</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_adb7e758609f3da38bb0bdd445e9e2461"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#adb7e758609f3da38bb0bdd445e9e2461">operations_research::ModelVisitor::kStartMinArgument</a></div><div class="ttdeci">static const char kStartMinArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03525">constraint_solver.h:3525</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_adbc3285e0e5dac4f291280baed6a3660"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#adbc3285e0e5dac4f291280baed6a3660">operations_research::ModelVisitor::kExpressionArgument</a></div><div class="ttdeci">static const char kExpressionArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03493">constraint_solver.h:3493</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_adc4da30a70d833a3e0d59a5b3945a001"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#adc4da30a70d833a3e0d59a5b3945a001">operations_research::ModelVisitor::kScalProdGreaterOrEqual</a></div><div class="ttdeci">static const char kScalProdGreaterOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03444">constraint_solver.h:3444</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_add65f146a423ac3dc2393b9308e4c476"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#add65f146a423ac3dc2393b9308e4c476">operations_research::ModelVisitor::kWeightedSumOfAssignedEqualVariableExtension</a></div><div class="ttdeci">static const char kWeightedSumOfAssignedEqualVariableExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03473">constraint_solver.h:3473</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_addf253a2cee11ca1350b491972d20b28"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#addf253a2cee11ca1350b491972d20b28">operations_research::ModelVisitor::kStartsArgument</a></div><div class="ttdeci">static const char kStartsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03526">constraint_solver.h:3526</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_adf750d5853f4e932b20bf20f2e805c9f"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#adf750d5853f4e932b20bf20f2e805c9f">operations_research::ModelVisitor::VisitIntegerArgument</a></div><div class="ttdeci">virtual void VisitIntegerArgument(const std::string &amp;arg_name, int64_t value)</div><div class="ttdoc">Visit integer arguments.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ae41b2bf84506cfcf1c4e17056c589f99"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ae41b2bf84506cfcf1c4e17056c589f99">operations_research::ModelVisitor::VisitSequenceArgument</a></div><div class="ttdeci">virtual void VisitSequenceArgument(const std::string &amp;arg_name, SequenceVar *const argument)</div><div class="ttdoc">Visit sequence argument.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ae5aadcc612ef6d5d5745016e047cc114"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ae5aadcc612ef6d5d5745016e047cc114">operations_research::ModelVisitor::kInversePermutation</a></div><div class="ttdeci">static const char kInversePermutation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03410">constraint_solver.h:3410</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_ae71cfc5d896488af982bf109d0b3dbd3"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#ae71cfc5d896488af982bf109d0b3dbd3">operations_research::ModelVisitor::kIsLessOrEqual</a></div><div class="ttdeci">static const char kIsLessOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03417">constraint_solver.h:3417</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aec97eb5843e01eedea22c9391094784c"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aec97eb5843e01eedea22c9391094784c">operations_research::ModelVisitor::kPositionXArgument</a></div><div class="ttdeci">static const char kPositionXArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03512">constraint_solver.h:3512</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aed85f9e320a2352ea31db4ae2e816861"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aed85f9e320a2352ea31db4ae2e816861">operations_research::ModelVisitor::kAbs</a></div><div class="ttdeci">static const char kAbs[]</div><div class="ttdoc">Constraint and Expression types.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03378">constraint_solver.h:3378</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aee2485c2027447e429ba05e54da45da7"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aee2485c2027447e429ba05e54da45da7">operations_research::ModelVisitor::kVariableUsageLessConstantExtension</a></div><div class="ttdeci">static const char kVariableUsageLessConstantExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03472">constraint_solver.h:3472</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_aefb5e9428f09f6d4829ce1c01ecdd86d"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#aefb5e9428f09f6d4829ce1c01ecdd86d">operations_research::ModelVisitor::kStartSyncOnEndOperation</a></div><div class="ttdeci">static const char kStartSyncOnEndOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03546">constraint_solver.h:3546</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_af06d49a292922944bda010d437a22dc7"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#af06d49a292922944bda010d437a22dc7">operations_research::ModelVisitor::kSumEqual</a></div><div class="ttdeci">static const char kSumEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03452">constraint_solver.h:3452</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_af3de64bc71699e2e3dc32e15b30a98fa"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#af3de64bc71699e2e3dc32e15b30a98fa">operations_research::ModelVisitor::EndVisitModel</a></div><div class="ttdeci">virtual void EndVisitModel(const std::string &amp;type_name)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_af5045f41feeb94cbea4250ba15adcd24"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#af5045f41feeb94cbea4250ba15adcd24">operations_research::ModelVisitor::kLexLess</a></div><div class="ttdeci">static const char kLexLess[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03421">constraint_solver.h:3421</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_af6146bd50969010daeee8c1005ccf59c"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#af6146bd50969010daeee8c1005ccf59c">operations_research::ModelVisitor::kSemiContinuous</a></div><div class="ttdeci">static const char kSemiContinuous[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03446">constraint_solver.h:3446</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_af6181ef449bab02788536ca503cd3cd8"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#af6181ef449bab02788536ca503cd3cd8">operations_research::ModelVisitor::kConditionalExpr</a></div><div class="ttdeci">static const char kConditionalExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03385">constraint_solver.h:3385</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_af8646fdcdbc833407fcd408e7174bae5"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#af8646fdcdbc833407fcd408e7174bae5">operations_research::ModelVisitor::kSequencesArgument</a></div><div class="ttdeci">static const char kSequencesArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03518">constraint_solver.h:3518</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_afd0afc083b6231aea53675d7fdd43558"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#afd0afc083b6231aea53675d7fdd43558">operations_research::ModelVisitor::kTraceOperation</a></div><div class="ttdeci">static const char kTraceOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03547">constraint_solver.h:3547</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_afdd57d000496bd12a81e008f1445c6e0"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#afdd57d000496bd12a81e008f1445c6e0">operations_research::ModelVisitor::kProduct</a></div><div class="ttdeci">static const char kProduct[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03441">constraint_solver.h:3441</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_model_visitor_html_affe125bed1edf258797dae8d40428107"><div class="ttname"><a href="classoperations__research_1_1_model_visitor.html#affe125bed1edf258797dae8d40428107">operations_research::ModelVisitor::kIntervalDisjunction</a></div><div class="ttdeci">static const char kIntervalDisjunction[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03407">constraint_solver.h:3407</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_array_html"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev_array.html">operations_research::NumericalRevArray</a></div><div class="ttdoc">Subclass of RevArray&lt;T&gt; which adds numerical operations.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03858">constraint_solver.h:3858</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_array_html_a167fff28f9eee9b29f1bf06db43caecd"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev_array.html#a167fff28f9eee9b29f1bf06db43caecd">operations_research::NumericalRevArray::Decr</a></div><div class="ttdeci">void Decr(Solver *const s, int index)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03868">constraint_solver.h:3868</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_array_html_a3a0219adafe884709e47adad37885e7e"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev_array.html#a3a0219adafe884709e47adad37885e7e">operations_research::NumericalRevArray::NumericalRevArray</a></div><div class="ttdeci">NumericalRevArray(int size, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03860">constraint_solver.h:3860</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_array_html_a651028799de2560833cac2fff292fdf1"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev_array.html#a651028799de2560833cac2fff292fdf1">operations_research::NumericalRevArray::Add</a></div><div class="ttdeci">void Add(Solver *const s, int index, const T &amp;to_add)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03862">constraint_solver.h:3862</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_array_html_af23967e29b34eca150d8aa96bbea9546"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev_array.html#af23967e29b34eca150d8aa96bbea9546">operations_research::NumericalRevArray::Incr</a></div><div class="ttdeci">void Incr(Solver *const s, int index)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03866">constraint_solver.h:3866</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_html"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev.html">operations_research::NumericalRev</a></div><div class="ttdoc">Subclass of Rev&lt;T&gt; which adds numerical operations.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03800">constraint_solver.h:3800</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_html_a32c6aa2b614e866158426d0ffc43dc55"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev.html#a32c6aa2b614e866158426d0ffc43dc55">operations_research::NumericalRev::NumericalRev</a></div><div class="ttdeci">NumericalRev(const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03802">constraint_solver.h:3802</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_html_a83c8a2812799fd87becd114374fb1d36"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev.html#a83c8a2812799fd87becd114374fb1d36">operations_research::NumericalRev::Decr</a></div><div class="ttdeci">void Decr(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03810">constraint_solver.h:3810</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_html_ac8beef1ef5cd6ce8bdfb3f48016ff72b"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b">operations_research::NumericalRev::Incr</a></div><div class="ttdeci">void Incr(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03808">constraint_solver.h:3808</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_numerical_rev_html_acefa703f28a3c0a63d826bba8f19deb9"><div class="ttname"><a href="classoperations__research_1_1_numerical_rev.html#acefa703f28a3c0a63d826bba8f19deb9">operations_research::NumericalRev::Add</a></div><div class="ttdeci">void Add(Solver *const s, const T &amp;to_add)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03804">constraint_solver.h:3804</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html">operations_research::OptimizeVar</a></div><div class="ttdoc">This class encapsulates an objective.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04247">constraint_solver.h:4247</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_a042bc511877a33bbbc296383c0797650"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#a042bc511877a33bbbc296383c0797650">operations_research::OptimizeVar::ApplyBound</a></div><div class="ttdeci">void ApplyBound()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_a0c955ff1b2eae2daece0f25f1e57fb16"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#a0c955ff1b2eae2daece0f25f1e57fb16">operations_research::OptimizeVar::EnterSearch</a></div><div class="ttdeci">void EnterSearch() override</div><div class="ttdoc">Beginning of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_a2475e9789e99a92fbe93b2eaf1b5f5b3"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#a2475e9789e99a92fbe93b2eaf1b5f5b3">operations_research::OptimizeVar::BeginNextDecision</a></div><div class="ttdeci">void BeginNextDecision(DecisionBuilder *const db) override</div><div class="ttdoc">Before calling DecisionBuilder::Next.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_a28c1ac42c281f1f4a362d702f7025eb3"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#a28c1ac42c281f1f4a362d702f7025eb3">operations_research::OptimizeVar::OptimizeVar</a></div><div class="ttdeci">OptimizeVar(Solver *const s, bool maximize, IntVar *const a, int64_t step)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_a5a6afff8edb3f57a5152a1efa00f4cab"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#a5a6afff8edb3f57a5152a1efa00f4cab">operations_research::OptimizeVar::best_</a></div><div class="ttdeci">int64_t best_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04273">constraint_solver.h:4273</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_a687a7f7f905d73bd37c97beefc1af25d"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#a687a7f7f905d73bd37c97beefc1af25d">operations_research::OptimizeVar::best</a></div><div class="ttdeci">int64_t best() const</div><div class="ttdoc">Returns the best value found during search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04253">constraint_solver.h:4253</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_a746d038d4dc0a23b3c22499f33b42fd5"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#a746d038d4dc0a23b3c22499f33b42fd5">operations_research::OptimizeVar::~OptimizeVar</a></div><div class="ttdeci">~OptimizeVar() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_a7bcea05dd62f2b212dd18322fd22b32e"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#a7bcea05dd62f2b212dd18322fd22b32e">operations_research::OptimizeVar::found_initial_solution_</a></div><div class="ttdeci">bool found_initial_solution_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04275">constraint_solver.h:4275</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_a7bf0b736553f70b8682b64c195a414fc"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#a7bf0b736553f70b8682b64c195a414fc">operations_research::OptimizeVar::step_</a></div><div class="ttdeci">int64_t step_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04272">constraint_solver.h:4272</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_aa30c84aec5e60d6b74e1e1eb15011d4a"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#aa30c84aec5e60d6b74e1e1eb15011d4a">operations_research::OptimizeVar::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const override</div><div class="ttdoc">Accepts the given model visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_aa8900234762f2b2015b9108accdf10ff"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#aa8900234762f2b2015b9108accdf10ff">operations_research::OptimizeVar::AcceptSolution</a></div><div class="ttdeci">bool AcceptSolution() override</div><div class="ttdoc">This method is called when a solution is found.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_aacb45343e78641c7b582de46225d3481"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#aacb45343e78641c7b582de46225d3481">operations_research::OptimizeVar::var_</a></div><div class="ttdeci">IntVar *const var_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04271">constraint_solver.h:4271</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_ab3631067f88ccc24c5db6a8a0dc64e47"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#ab3631067f88ccc24c5db6a8a0dc64e47">operations_research::OptimizeVar::AtSolution</a></div><div class="ttdeci">bool AtSolution() override</div><div class="ttdoc">This method is called when a valid solution is found.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_ac75adcf22322d5c6692e070a0d962af9"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#ac75adcf22322d5c6692e070a0d962af9">operations_research::OptimizeVar::Print</a></div><div class="ttdeci">virtual std::string Print() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_acdef27972648252e66630c3b078aa962"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#acdef27972648252e66630c3b078aa962">operations_research::OptimizeVar::RefuteDecision</a></div><div class="ttdeci">void RefuteDecision(Decision *const d) override</div><div class="ttdoc">Before refuting the decision.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_ad197164b669d8b5d35fc497754791e39"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#ad197164b669d8b5d35fc497754791e39">operations_research::OptimizeVar::Var</a></div><div class="ttdeci">IntVar * Var() const</div><div class="ttdoc">Returns the variable that is optimized.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04256">constraint_solver.h:4256</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_ad5d09a69c6c8c8eea9311b0513628683"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#ad5d09a69c6c8c8eea9311b0513628683">operations_research::OptimizeVar::maximize_</a></div><div class="ttdeci">bool maximize_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04274">constraint_solver.h:4274</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_ae983cf659c971e1f2095a2c5a0e81eca"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#ae983cf659c971e1f2095a2c5a0e81eca">operations_research::OptimizeVar::AcceptDelta</a></div><div class="ttdeci">bool AcceptDelta(Assignment *delta, Assignment *deltadelta) override</div><div class="ttdoc">Internal methods.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_optimize_var_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_optimize_var.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::OptimizeVar::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html"><div class="ttname"><a href="classoperations__research_1_1_pack.html">operations_research::Pack</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05277">constraint_solver.h:5277</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a03fbaed2e89d3a0ed34ffe35af8c0ec6"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a03fbaed2e89d3a0ed34ffe35af8c0ec6">operations_research::Pack::Propagate</a></div><div class="ttdeci">void Propagate()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a0f59dbe96df95bec0bbc8adb24789ed1"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a0f59dbe96df95bec0bbc8adb24789ed1">operations_research::Pack::IsAssignedStatusKnown</a></div><div class="ttdeci">bool IsAssignedStatusKnown(int var_index) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a0f944bd9521216bdb0ca70951a918c10"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a0f944bd9521216bdb0ca70951a918c10">operations_research::Pack::AddWeightedSumEqualVarDimension</a></div><div class="ttdeci">void AddWeightedSumEqualVarDimension(const std::vector&lt; int64_t &gt; &amp;weights, const std::vector&lt; IntVar * &gt; &amp;loads)</div><div class="ttdoc">This dimension imposes that for all bins b, the weighted sum (weights[i]) of all objects i assigned t...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a19d94d32f3bde30deeebb883c6f71f84"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a19d94d32f3bde30deeebb883c6f71f84">operations_research::Pack::Post</a></div><div class="ttdeci">void Post() override</div><div class="ttdoc">This method is called when the constraint is processed by the solver.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a27d5048553d708cb8f1f7b6f7b48052c"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a27d5048553d708cb8f1f7b6f7b48052c">operations_research::Pack::AddCountAssignedItemsDimension</a></div><div class="ttdeci">void AddCountAssignedItemsDimension(IntVar *const count_var)</div><div class="ttdoc">This dimension links 'count_var' to the actual number of items assigned to a bin in the pack.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a2e176ba3b4abc69a74e40333c9f644ef"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a2e176ba3b4abc69a74e40333c9f644ef">operations_research::Pack::AddSumVariableWeightsLessOrEqualConstantDimension</a></div><div class="ttdeci">void AddSumVariableWeightsLessOrEqualConstantDimension(const std::vector&lt; IntVar * &gt; &amp;usage, const std::vector&lt; int64_t &gt; &amp;capacity)</div><div class="ttdoc">This dimension imposes: forall b in bins, sum (i in items: usage[i] * is_assigned(i,...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a2f18bb178db0e4699be2e8472df4df6c"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a2f18bb178db0e4699be2e8472df4df6c">operations_research::Pack::AddWeightedSumLessOrEqualConstantDimension</a></div><div class="ttdeci">void AddWeightedSumLessOrEqualConstantDimension(const std::vector&lt; int64_t &gt; &amp;weights, const std::vector&lt; int64_t &gt; &amp;bounds)</div><div class="ttdoc">Dimensions are additional constraints than can restrict what is possible with the pack constraint.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a36d844f2722273b190ed9a069dd25938"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a36d844f2722273b190ed9a069dd25938">operations_research::Pack::InitialPropagate</a></div><div class="ttdeci">void InitialPropagate() override</div><div class="ttdoc">This method performs the initial propagation of the constraint.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a392a263cbc46d6cf18741970fe17c1e6"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a392a263cbc46d6cf18741970fe17c1e6">operations_research::Pack::AddWeightedSumEqualVarDimension</a></div><div class="ttdeci">void AddWeightedSumEqualVarDimension(Solver::IndexEvaluator2 weights, const std::vector&lt; IntVar * &gt; &amp;loads)</div><div class="ttdoc">This dimension imposes that for all bins b, the weighted sum (weights-&gt;Run(i, b)) of all objects i as...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a3faa7bb8c3804bc2c19b0c9c51fb3663"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a3faa7bb8c3804bc2c19b0c9c51fb3663">operations_research::Pack::Pack</a></div><div class="ttdeci">Pack(Solver *const s, const std::vector&lt; IntVar * &gt; &amp;vars, int number_of_bins)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a4997d785dafdc88e1e0459c398e80133"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a4997d785dafdc88e1e0459c398e80133">operations_research::Pack::SetImpossible</a></div><div class="ttdeci">void SetImpossible(int var_index, int bin_index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a4b8051adf09b104fd5a58b21ea6f843f"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a4b8051adf09b104fd5a58b21ea6f843f">operations_research::Pack::SetAssigned</a></div><div class="ttdeci">void SetAssigned(int var_index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a5e647eb2942c419caa6d67acf062587a"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a5e647eb2942c419caa6d67acf062587a">operations_research::Pack::IsUndecided</a></div><div class="ttdeci">bool IsUndecided(int var_index, int bin_index) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a6ebc0cd271fe1413e48d14056dde1e44"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a6ebc0cd271fe1413e48d14056dde1e44">operations_research::Pack::AddWeightedSumOfAssignedDimension</a></div><div class="ttdeci">void AddWeightedSumOfAssignedDimension(const std::vector&lt; int64_t &gt; &amp;weights, IntVar *const cost_var)</div><div class="ttdoc">This dimension enforces that cost_var == sum of weights[i] for all objects 'i' assigned to a bin.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a6feb8bb936fa7469982badd222c6e952"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a6feb8bb936fa7469982badd222c6e952">operations_research::Pack::~Pack</a></div><div class="ttdeci">~Pack() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a85ce8edd658bfd2632f78a4adb41fbf9"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a85ce8edd658bfd2632f78a4adb41fbf9">operations_research::Pack::IsPossible</a></div><div class="ttdeci">bool IsPossible(int var_index, int bin_index) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a8d4b11f435b76c6568c2c0a08cccb976"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a8d4b11f435b76c6568c2c0a08cccb976">operations_research::Pack::AssignFirstPossibleToBin</a></div><div class="ttdeci">void AssignFirstPossibleToBin(int bin_index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a90028870fef41c9ce7029c52f194eacd"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a90028870fef41c9ce7029c52f194eacd">operations_research::Pack::AddCountUsedBinDimension</a></div><div class="ttdeci">void AddCountUsedBinDimension(IntVar *const count_var)</div><div class="ttdoc">This dimension links 'count_var' to the actual number of bins used in the pack.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a937bb5a9362775d938541131b9a1e413"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a937bb5a9362775d938541131b9a1e413">operations_research::Pack::AddWeightedSumLessOrEqualConstantDimension</a></div><div class="ttdeci">void AddWeightedSumLessOrEqualConstantDimension(Solver::IndexEvaluator1 weights, const std::vector&lt; int64_t &gt; &amp;bounds)</div><div class="ttdoc">This dimension imposes that for all bins b, the weighted sum (weights-&gt;Run(i)) of all objects i assig...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a95f0dfde3483983b34cb5e99dba69cbc"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a95f0dfde3483983b34cb5e99dba69cbc">operations_research::Pack::AddWeightedSumLessOrEqualConstantDimension</a></div><div class="ttdeci">void AddWeightedSumLessOrEqualConstantDimension(Solver::IndexEvaluator2 weights, const std::vector&lt; int64_t &gt; &amp;bounds)</div><div class="ttdoc">This dimension imposes that for all bins b, the weighted sum (weights-&gt;Run(i, b) of all objects i ass...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a96340e443923b721e76f2ff432a48954"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a96340e443923b721e76f2ff432a48954">operations_research::Pack::OneDomain</a></div><div class="ttdeci">void OneDomain(int var_index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_a9799033614314d2e5be13a65628f32be"><div class="ttname"><a href="classoperations__research_1_1_pack.html#a9799033614314d2e5be13a65628f32be">operations_research::Pack::SetUnassigned</a></div><div class="ttdeci">void SetUnassigned(int var_index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_aa30c84aec5e60d6b74e1e1eb15011d4a"><div class="ttname"><a href="classoperations__research_1_1_pack.html#aa30c84aec5e60d6b74e1e1eb15011d4a">operations_research::Pack::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const override</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_aa7cb2bb52c194f51ff28294b05c1e4af"><div class="ttname"><a href="classoperations__research_1_1_pack.html#aa7cb2bb52c194f51ff28294b05c1e4af">operations_research::Pack::AssignAllPossibleToBin</a></div><div class="ttdeci">void AssignAllPossibleToBin(int bin_index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_aa7d76b766faf39c1652b6617eac5fe20"><div class="ttname"><a href="classoperations__research_1_1_pack.html#aa7d76b766faf39c1652b6617eac5fe20">operations_research::Pack::ClearAll</a></div><div class="ttdeci">void ClearAll()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_ac095c86328e93de5cab0a64db691c602"><div class="ttname"><a href="classoperations__research_1_1_pack.html#ac095c86328e93de5cab0a64db691c602">operations_research::Pack::PropagateDelayed</a></div><div class="ttdeci">void PropagateDelayed()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_ac6980496b7938cb743ac658fd0d2d6c8"><div class="ttname"><a href="classoperations__research_1_1_pack.html#ac6980496b7938cb743ac658fd0d2d6c8">operations_research::Pack::Assign</a></div><div class="ttdeci">void Assign(int var_index, int bin_index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_acb7a89e1a7071f6c46375fe31688e485"><div class="ttname"><a href="classoperations__research_1_1_pack.html#acb7a89e1a7071f6c46375fe31688e485">operations_research::Pack::UnassignAllRemainingItems</a></div><div class="ttdeci">void UnassignAllRemainingItems()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_pack.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Pack::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_aedb66bf31047064fd332fb6c6afa027d"><div class="ttname"><a href="classoperations__research_1_1_pack.html#aedb66bf31047064fd332fb6c6afa027d">operations_research::Pack::AssignAllRemainingItems</a></div><div class="ttdeci">void AssignAllRemainingItems()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_af2aa063b55dd569411d0fdc0c0ea6dfb"><div class="ttname"><a href="classoperations__research_1_1_pack.html#af2aa063b55dd569411d0fdc0c0ea6dfb">operations_research::Pack::AssignVar</a></div><div class="ttdeci">IntVar * AssignVar(int var_index, int bin_index) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_pack_html_afd36445be20121bef02fe4847317ed0b"><div class="ttname"><a href="classoperations__research_1_1_pack.html#afd36445be20121bef02fe4847317ed0b">operations_research::Pack::RemoveAllPossibleFromBin</a></div><div class="ttdeci">void RemoveAllPossibleFromBin(int bin_index)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_profiled_decision_builder_html"><div class="ttname"><a href="classoperations__research_1_1_profiled_decision_builder.html">operations_research::ProfiledDecisionBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03313">constraint_solver.h:3313</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_profiled_decision_builder_html_a028ace33568c053bb8707159420a3964"><div class="ttname"><a href="classoperations__research_1_1_profiled_decision_builder.html#a028ace33568c053bb8707159420a3964">operations_research::ProfiledDecisionBuilder::ProfiledDecisionBuilder</a></div><div class="ttdeci">ProfiledDecisionBuilder(DecisionBuilder *db)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_profiled_decision_builder_html_a229c06dbdb7df3141ac5a8e791a56b4e"><div class="ttname"><a href="classoperations__research_1_1_profiled_decision_builder.html#a229c06dbdb7df3141ac5a8e791a56b4e">operations_research::ProfiledDecisionBuilder::seconds</a></div><div class="ttdeci">double seconds() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03318">constraint_solver.h:3318</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_profiled_decision_builder_html_a24dcbf29c0d6cd766009a182a6484e3b"><div class="ttname"><a href="classoperations__research_1_1_profiled_decision_builder.html#a24dcbf29c0d6cd766009a182a6484e3b">operations_research::ProfiledDecisionBuilder::name</a></div><div class="ttdeci">const std::string &amp; name() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03317">constraint_solver.h:3317</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_profiled_decision_builder_html_a5be468994928418ddc2cbb43742d781b"><div class="ttname"><a href="classoperations__research_1_1_profiled_decision_builder.html#a5be468994928418ddc2cbb43742d781b">operations_research::ProfiledDecisionBuilder::AppendMonitors</a></div><div class="ttdeci">void AppendMonitors(Solver *const solver, std::vector&lt; SearchMonitor * &gt; *const extras) override</div><div class="ttdoc">This method will be called at the start of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_profiled_decision_builder_html_a9fc37d3686757be1f5d2e2115b2531d9"><div class="ttname"><a href="classoperations__research_1_1_profiled_decision_builder.html#a9fc37d3686757be1f5d2e2115b2531d9">operations_research::ProfiledDecisionBuilder::~ProfiledDecisionBuilder</a></div><div class="ttdeci">~ProfiledDecisionBuilder() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03316">constraint_solver.h:3316</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_profiled_decision_builder_html_aa30c84aec5e60d6b74e1e1eb15011d4a"><div class="ttname"><a href="classoperations__research_1_1_profiled_decision_builder.html#aa30c84aec5e60d6b74e1e1eb15011d4a">operations_research::ProfiledDecisionBuilder::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_profiled_decision_builder_html_ad7f92654b8e5be833b185bd72f6c1e24"><div class="ttname"><a href="classoperations__research_1_1_profiled_decision_builder.html#ad7f92654b8e5be833b185bd72f6c1e24">operations_research::ProfiledDecisionBuilder::Next</a></div><div class="ttdeci">Decision * Next(Solver *const solver) override</div><div class="ttdoc">This is the main method of the decision builder class.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_profiled_decision_builder_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_profiled_decision_builder.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::ProfiledDecisionBuilder::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html">operations_research::PropagationBaseObject</a></div><div class="ttdoc">NOLINT.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03184">constraint_solver.h:3184</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a09cbe240b742fbdcf4d3c70d19c2ed10"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a09cbe240b742fbdcf4d3c70d19c2ed10">operations_research::PropagationBaseObject::BaseName</a></div><div class="ttdeci">virtual std::string BaseName() const</div><div class="ttdoc">Returns a base name for automatic naming.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a0b526d33739114e9255ffbe8343efe1a"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a0b526d33739114e9255ffbe8343efe1a">operations_research::PropagationBaseObject::solver</a></div><div class="ttdeci">Solver * solver() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03196">constraint_solver.h:3196</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a173cbf153462b14f9b57362d2c45638a"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a173cbf153462b14f9b57362d2c45638a">operations_research::PropagationBaseObject::EnqueueDelayedDemon</a></div><div class="ttdeci">void EnqueueDelayedDemon(Demon *const d)</div><div class="ttdoc">This method pushes the demon onto the propagation queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03209">constraint_solver.h:3209</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a26d87b428f06d54a1a44d6e950a0e196"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a26d87b428f06d54a1a44d6e950a0e196">operations_research::PropagationBaseObject::reset_action_on_fail</a></div><div class="ttdeci">void reset_action_on_fail()</div><div class="ttdoc">This method clears the failure callback.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03223">constraint_solver.h:3223</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a31eda3918c04e32fa9e8c432d72b2d60"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a31eda3918c04e32fa9e8c432d72b2d60">operations_research::PropagationBaseObject::HasName</a></div><div class="ttdeci">bool HasName() const</div><div class="ttdoc">Returns whether the object has been named or not.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a3ae4667b0e7a9e6c63c91202480c8876"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a3ae4667b0e7a9e6c63c91202480c8876">operations_research::PropagationBaseObject::set_action_on_fail</a></div><div class="ttdeci">void set_action_on_fail(Solver::Action a)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03217">constraint_solver.h:3217</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a3d3bd9d99cf43cf184a1246d2c278c31"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a3d3bd9d99cf43cf184a1246d2c278c31">operations_research::PropagationBaseObject::ExecuteAll</a></div><div class="ttdeci">void ExecuteAll(const SimpleRevFIFO&lt; Demon * &gt; &amp;demons)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a448b9bde901fcf3ec2e94ab972b083f0"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a448b9bde901fcf3ec2e94ab972b083f0">operations_research::PropagationBaseObject::EnqueueVar</a></div><div class="ttdeci">void EnqueueVar(Demon *const d)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03210">constraint_solver.h:3210</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a5155ff01cf80f5a478fd09916abab155"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a5155ff01cf80f5a478fd09916abab155">operations_research::PropagationBaseObject::FreezeQueue</a></div><div class="ttdeci">void FreezeQueue()</div><div class="ttdoc">This method freezes the propagation queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03200">constraint_solver.h:3200</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a5a5ad1a2482043e4a9d2c19bbab1e250"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a5a5ad1a2482043e4a9d2c19bbab1e250">operations_research::PropagationBaseObject::EnqueueAll</a></div><div class="ttdeci">void EnqueueAll(const SimpleRevFIFO&lt; Demon * &gt; &amp;demons)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a6a119daa8b83c3aaffdb6e11fac1f97e"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a6a119daa8b83c3aaffdb6e11fac1f97e">operations_research::PropagationBaseObject::name</a></div><div class="ttdeci">virtual std::string name() const</div><div class="ttdoc">Object naming.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_a8ddd42bb805c00b56ea575e78151c5e0"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#a8ddd42bb805c00b56ea575e78151c5e0">operations_research::PropagationBaseObject::~PropagationBaseObject</a></div><div class="ttdeci">~PropagationBaseObject() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03187">constraint_solver.h:3187</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_aa799a452245f03cc53355e6432c107a7"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#aa799a452245f03cc53355e6432c107a7">operations_research::PropagationBaseObject::set_variable_to_clean_on_fail</a></div><div class="ttdeci">void set_variable_to_clean_on_fail(IntVar *v)</div><div class="ttdoc">Shortcut for variable cleaner.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03226">constraint_solver.h:3226</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_aacb2f6b1ab33fb65796b6c46d46e0813"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#aacb2f6b1ab33fb65796b6c46d46e0813">operations_research::PropagationBaseObject::PropagationBaseObject</a></div><div class="ttdeci">PropagationBaseObject(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03186">constraint_solver.h:3186</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_ad5260b9627048b854b45d05ed34adc22"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#ad5260b9627048b854b45d05ed34adc22">operations_research::PropagationBaseObject::set_name</a></div><div class="ttdeci">void set_name(const std::string &amp;name)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_ae038f4a9249362629fc47e8dfc441ec7"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#ae038f4a9249362629fc47e8dfc441ec7">operations_research::PropagationBaseObject::UnfreezeQueue</a></div><div class="ttdeci">void UnfreezeQueue()</div><div class="ttdoc">This method unfreezes the propagation queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03204">constraint_solver.h:3204</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_base_object_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_propagation_base_object.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::PropagationBaseObject::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03189">constraint_solver.h:3189</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_propagation_monitor_html"><div class="ttname"><a href="classoperations__research_1_1_propagation_monitor.html">operations_research::PropagationMonitor</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01862">constraint_solveri.h:1862</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html">operations_research::RegularLimit</a></div><div class="ttdoc">Usual limit based on wall_time, number of explored branches and number of failures in the search tree...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04324">constraint_solver.h:4324</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a01dd9b59b9a183cb3ba148b08d09b320"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a01dd9b59b9a183cb3ba148b08d09b320">operations_research::RegularLimit::Check</a></div><div class="ttdeci">bool Check() override</div><div class="ttdoc">This method is called to check the status of the limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a039f4519955ca1dd2aa8b82b7f7a37fa"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a039f4519955ca1dd2aa8b82b7f7a37fa">operations_research::RegularLimit::duration_limit</a></div><div class="ttdeci">absl::Duration duration_limit() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04338">constraint_solver.h:4338</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a14f1aa725d9c4497296b233dbcb28402"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a14f1aa725d9c4497296b233dbcb28402">operations_research::RegularLimit::branches</a></div><div class="ttdeci">int64_t branches() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04344">constraint_solver.h:4344</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a1d6a0a8f90a9b39efbd6b00994d212c8"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a1d6a0a8f90a9b39efbd6b00994d212c8">operations_research::RegularLimit::IsUncheckedSolutionLimitReached</a></div><div class="ttdeci">bool IsUncheckedSolutionLimitReached() override</div><div class="ttdoc">Returns true if the limit of solutions has been reached including unchecked solutions.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a31c8a0b81a7b1d7ebccff84666901671"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a31c8a0b81a7b1d7ebccff84666901671">operations_research::RegularLimit::UpdateLimits</a></div><div class="ttdeci">void UpdateLimits(absl::Duration time, int64_t branches, int64_t failures, int64_t solutions)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a47de93e849d14c3eda08d78613506608"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a47de93e849d14c3eda08d78613506608">operations_research::RegularLimit::Init</a></div><div class="ttdeci">void Init() override</div><div class="ttdoc">This method is called when the search limit is initialized.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a4b4eab279939d2f78038cc89554a3d61"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a4b4eab279939d2f78038cc89554a3d61">operations_research::RegularLimit::~RegularLimit</a></div><div class="ttdeci">~RegularLimit() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a4d07aaa3fe401d52e938c2f8f7f2e26f"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a4d07aaa3fe401d52e938c2f8f7f2e26f">operations_research::RegularLimit::ExitSearch</a></div><div class="ttdeci">void ExitSearch() override</div><div class="ttdoc">End of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a6129ea627a9a40fc21ddc24914cc6958"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a6129ea627a9a40fc21ddc24914cc6958">operations_research::RegularLimit::wall_time</a></div><div class="ttdeci">int64_t wall_time() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04339">constraint_solver.h:4339</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a7dae7731e3aee0f21059730b01aaaf51"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a7dae7731e3aee0f21059730b01aaaf51">operations_research::RegularLimit::ProgressPercent</a></div><div class="ttdeci">int ProgressPercent() override</div><div class="ttdoc">Returns a percentage representing the propress of the search before reaching limits.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a7dcb440a607b4b39979280ee21621473"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a7dcb440a607b4b39979280ee21621473">operations_research::RegularLimit::failures</a></div><div class="ttdeci">int64_t failures() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04345">constraint_solver.h:4345</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_a8cc63d9778229883ca7594b3a47d8f5b"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#a8cc63d9778229883ca7594b3a47d8f5b">operations_research::RegularLimit::AbsoluteSolverDeadline</a></div><div class="ttdeci">absl::Time AbsoluteSolverDeadline() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04351">constraint_solver.h:4351</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_aa30c84aec5e60d6b74e1e1eb15011d4a"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#aa30c84aec5e60d6b74e1e1eb15011d4a">operations_research::RegularLimit::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const override</div><div class="ttdoc">Accepts the given model visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_aac0948fa90cbc174304a0f6c78d72e15"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#aac0948fa90cbc174304a0f6c78d72e15">operations_research::RegularLimit::Copy</a></div><div class="ttdeci">void Copy(const SearchLimit *const limit) override</div><div class="ttdoc">Copy a limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_ad0f093cb34e6c424b7b7cc973d1bc0a3"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#ad0f093cb34e6c424b7b7cc973d1bc0a3">operations_research::RegularLimit::RegularLimit</a></div><div class="ttdeci">RegularLimit(Solver *const s, absl::Duration time, int64_t branches, int64_t failures, int64_t solutions, bool smart_time_check, bool cumulative)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_ad74b8657dc115d03d0135566e2e6c0cf"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#ad74b8657dc115d03d0135566e2e6c0cf">operations_research::RegularLimit::MakeIdenticalClone</a></div><div class="ttdeci">RegularLimit * MakeIdenticalClone() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::RegularLimit::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_af1315bc614fc71a3c90729398d208289"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#af1315bc614fc71a3c90729398d208289">operations_research::RegularLimit::solutions</a></div><div class="ttdeci">int64_t solutions() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04346">constraint_solver.h:4346</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_regular_limit_html_afc23e507ef75a1c5d83677384d59cb0c"><div class="ttname"><a href="classoperations__research_1_1_regular_limit.html#afc23e507ef75a1c5d83677384d59cb0c">operations_research::RegularLimit::MakeClone</a></div><div class="ttdeci">SearchLimit * MakeClone() const override</div><div class="ttdoc">Allocates a clone of the limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_array_html"><div class="ttname"><a href="classoperations__research_1_1_rev_array.html">operations_research::RevArray</a></div><div class="ttdoc">Reversible array of POD types.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03819">constraint_solver.h:3819</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_array_html_a1e6a80b4bd5602e71351fb6aaffcbb58"><div class="ttname"><a href="classoperations__research_1_1_rev_array.html#a1e6a80b4bd5602e71351fb6aaffcbb58">operations_research::RevArray::operator[]</a></div><div class="ttdeci">const T &amp; operator[](int index) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03836">constraint_solver.h:3836</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_array_html_a494ce986cd77f4a0feb833a56de7b40c"><div class="ttname"><a href="classoperations__research_1_1_rev_array.html#a494ce986cd77f4a0feb833a56de7b40c">operations_research::RevArray::Value</a></div><div class="ttdeci">const T &amp; Value(int index) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03833">constraint_solver.h:3833</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_array_html_a6ee1e316ed04f92451652ee0853d6980"><div class="ttname"><a href="classoperations__research_1_1_rev_array.html#a6ee1e316ed04f92451652ee0853d6980">operations_research::RevArray::RevArray</a></div><div class="ttdeci">RevArray(int size, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03821">constraint_solver.h:3821</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_array_html_aa326d81dcac346461f3b8528bf0b49de"><div class="ttname"><a href="classoperations__research_1_1_rev_array.html#aa326d81dcac346461f3b8528bf0b49de">operations_research::RevArray::size</a></div><div class="ttdeci">int64_t size() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03831">constraint_solver.h:3831</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_array_html_aae1ddec3323cbaa8f2b29e1d211cb5c7"><div class="ttname"><a href="classoperations__research_1_1_rev_array.html#aae1ddec3323cbaa8f2b29e1d211cb5c7">operations_research::RevArray::SetValue</a></div><div class="ttdeci">void SetValue(Solver *const s, int index, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03839">constraint_solver.h:3839</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_array_html_ad03255d57248b6a11f3b236f7164266b"><div class="ttname"><a href="classoperations__research_1_1_rev_array.html#ad03255d57248b6a11f3b236f7164266b">operations_research::RevArray::~RevArray</a></div><div class="ttdeci">~RevArray()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03829">constraint_solver.h:3829</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_bit_matrix_html"><div class="ttname"><a href="classoperations__research_1_1_rev_bit_matrix.html">operations_research::RevBitMatrix</a></div><div class="ttdoc">Matrix version of the RevBitSet class.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00457">constraint_solveri.h:457</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_html"><div class="ttname"><a href="classoperations__research_1_1_rev.html">operations_research::Rev</a></div><div class="ttdoc">This class adds reversibility to a POD type.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03777">constraint_solver.h:3777</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_html_a95da6a138a3b56de0cf0c3c4ba7c4688"><div class="ttname"><a href="classoperations__research_1_1_rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688">operations_research::Rev::SetValue</a></div><div class="ttdeci">void SetValue(Solver *const s, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03783">constraint_solver.h:3783</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_html_a9d6eb996de91fb8ea31c9e20bb7d655f"><div class="ttname"><a href="classoperations__research_1_1_rev.html#a9d6eb996de91fb8ea31c9e20bb7d655f">operations_research::Rev::Rev</a></div><div class="ttdeci">Rev(const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03779">constraint_solver.h:3779</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_html_ac1647d6fcecffc2d2e773545ee0a4f2d"><div class="ttname"><a href="classoperations__research_1_1_rev.html#ac1647d6fcecffc2d2e773545ee0a4f2d">operations_research::Rev::Value</a></div><div class="ttdeci">const T &amp; Value() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03781">constraint_solver.h:3781</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_rev_immutable_multi_map_html"><div class="ttname"><a href="classoperations__research_1_1_rev_immutable_multi_map.html">operations_research::RevImmutableMultiMap</a></div><div class="ttdoc">Reversible Immutable MultiMap class.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00275">constraint_solveri.h:275</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_routing_model_html"><div class="ttname"><a href="classoperations__research_1_1_routing_model.html">operations_research::RoutingModel</a></div><div class="ttdef"><b>Definition:</b> <a href="routing_8h_source.html#l00210">routing.h:210</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html">operations_research::SearchLimit</a></div><div class="ttdoc">Base class of all search limits.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04282">constraint_solver.h:4282</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_a0c955ff1b2eae2daece0f25f1e57fb16"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#a0c955ff1b2eae2daece0f25f1e57fb16">operations_research::SearchLimit::EnterSearch</a></div><div class="ttdeci">void EnterSearch() override</div><div class="ttdoc">Internal methods.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_a1563fc95e4006ea25ee576b349b55d58"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#a1563fc95e4006ea25ee576b349b55d58">operations_research::SearchLimit::MakeClone</a></div><div class="ttdeci">virtual SearchLimit * MakeClone() const =0</div><div class="ttdoc">Allocates a clone of the limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_a279e462390a3028b062e03ce0616efbd"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#a279e462390a3028b062e03ce0616efbd">operations_research::SearchLimit::SearchLimit</a></div><div class="ttdeci">SearchLimit(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04284">constraint_solver.h:4284</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_a310e97cfc134567a740679be9186e194"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#a310e97cfc134567a740679be9186e194">operations_research::SearchLimit::PeriodicCheck</a></div><div class="ttdeci">void PeriodicCheck() override</div><div class="ttdoc">Periodic call to check limits in long running methods.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_a5368a4a3fff770682cf257e81707d9f0"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#a5368a4a3fff770682cf257e81707d9f0">operations_research::SearchLimit::Init</a></div><div class="ttdeci">virtual void Init()=0</div><div class="ttdoc">This method is called when the search limit is initialized.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_a5c50eb7ab17cb83e115f2799ccd6a8de"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#a5c50eb7ab17cb83e115f2799ccd6a8de">operations_research::SearchLimit::~SearchLimit</a></div><div class="ttdeci">~SearchLimit() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_a6022c765bf8a03b9322ca6c6591b3c21"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#a6022c765bf8a03b9322ca6c6591b3c21">operations_research::SearchLimit::BeginNextDecision</a></div><div class="ttdeci">void BeginNextDecision(DecisionBuilder *const b) override</div><div class="ttdoc">Before calling DecisionBuilder::Next.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_abeeb0e725bbe0c9cb3c632414658ab45"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#abeeb0e725bbe0c9cb3c632414658ab45">operations_research::SearchLimit::Copy</a></div><div class="ttdeci">virtual void Copy(const SearchLimit *const limit)=0</div><div class="ttdoc">Copy a limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_acdef27972648252e66630c3b078aa962"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#acdef27972648252e66630c3b078aa962">operations_research::SearchLimit::RefuteDecision</a></div><div class="ttdeci">void RefuteDecision(Decision *const d) override</div><div class="ttdoc">Before refuting the decision.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_ae874856cae71ff1b4391027b70f0c915"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#ae874856cae71ff1b4391027b70f0c915">operations_research::SearchLimit::crossed</a></div><div class="ttdeci">bool crossed() const</div><div class="ttdoc">Returns true if the limit has been crossed.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04288">constraint_solver.h:4288</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::SearchLimit::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04311">constraint_solver.h:4311</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_limit_html_afefd22e7a516cef9dff7154cae02e704"><div class="ttname"><a href="classoperations__research_1_1_search_limit.html#afefd22e7a516cef9dff7154cae02e704">operations_research::SearchLimit::Check</a></div><div class="ttdeci">virtual bool Check()=0</div><div class="ttdoc">This method is called to check the status of the limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html">operations_research::SearchMonitor</a></div><div class="ttdoc">A search monitor is a simple set of callbacks to monitor all search events.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03677">constraint_solver.h:3677</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a0717f339467adcc032d893007b3695be"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a0717f339467adcc032d893007b3695be">operations_research::SearchMonitor::SearchMonitor</a></div><div class="ttdeci">SearchMonitor(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03681">constraint_solver.h:3681</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a0b526d33739114e9255ffbe8343efe1a"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a0b526d33739114e9255ffbe8343efe1a">operations_research::SearchMonitor::solver</a></div><div class="ttdeci">Solver * solver() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03750">constraint_solver.h:3750</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a150f3693eacbeff5fcf5fb1ab954d11e"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a150f3693eacbeff5fcf5fb1ab954d11e">operations_research::SearchMonitor::RefuteDecision</a></div><div class="ttdeci">virtual void RefuteDecision(Decision *const d)</div><div class="ttdoc">Before refuting the decision.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a16adaa01a30033dfc04405c25b7ede7b"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a16adaa01a30033dfc04405c25b7ede7b">operations_research::SearchMonitor::Install</a></div><div class="ttdeci">virtual void Install()</div><div class="ttdoc">Registers itself on the solver such that it gets notified of the search and propagation events.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a198e17615278d9d5b9f39e4f0493447b"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a198e17615278d9d5b9f39e4f0493447b">operations_research::SearchMonitor::IsUncheckedSolutionLimitReached</a></div><div class="ttdeci">virtual bool IsUncheckedSolutionLimitReached()</div><div class="ttdoc">Returns true if the limit of solutions has been reached including unchecked solutions.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03748">constraint_solver.h:3748</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a19bef8716e7418748ef666b07b09c25d"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a19bef8716e7418748ef666b07b09c25d">operations_research::SearchMonitor::ExitSearch</a></div><div class="ttdeci">virtual void ExitSearch()</div><div class="ttdoc">End of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a1ef0300d79ec636a79c06486f695b2ff"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a1ef0300d79ec636a79c06486f695b2ff">operations_research::SearchMonitor::EndInitialPropagation</a></div><div class="ttdeci">virtual void EndInitialPropagation()</div><div class="ttdoc">After the initial propagation.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a1fc71393e20b97540f90702601b75fe1"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a1fc71393e20b97540f90702601b75fe1">operations_research::SearchMonitor::PeriodicCheck</a></div><div class="ttdeci">virtual void PeriodicCheck()</div><div class="ttdoc">Periodic call to check limits in long running methods.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a232379b0cabc402db868a849f4f71273"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a232379b0cabc402db868a849f4f71273">operations_research::SearchMonitor::BeginFail</a></div><div class="ttdeci">virtual void BeginFail()</div><div class="ttdoc">Just when the failure occurs.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a262b3b6ef45475daffd66c5ada5dfdd2"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a262b3b6ef45475daffd66c5ada5dfdd2">operations_research::SearchMonitor::RestartSearch</a></div><div class="ttdeci">virtual void RestartSearch()</div><div class="ttdoc">Restart the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a27bff456d096558a8be08ca6fee989f2"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a27bff456d096558a8be08ca6fee989f2">operations_research::SearchMonitor::EnterSearch</a></div><div class="ttdeci">virtual void EnterSearch()</div><div class="ttdoc">Beginning of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a2895de3ad67f901de28f00994cdcfa34"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a2895de3ad67f901de28f00994cdcfa34">operations_research::SearchMonitor::AcceptSolution</a></div><div class="ttdeci">virtual bool AcceptSolution()</div><div class="ttdoc">This method is called when a solution is found.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a2ebc7607687823d65bf65f331c9ac246"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a2ebc7607687823d65bf65f331c9ac246">operations_research::SearchMonitor::ProgressPercent</a></div><div class="ttdeci">virtual int ProgressPercent()</div><div class="ttdoc">Returns a percentage representing the propress of the search before reaching limits.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03757">constraint_solver.h:3757</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a365797300972514a230eeb9e2f45f441"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a365797300972514a230eeb9e2f45f441">operations_research::SearchMonitor::EndFail</a></div><div class="ttdeci">virtual void EndFail()</div><div class="ttdoc">After completing the backtrack.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a36df6248a273f003d8d9e1414e3c5e5c"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a36df6248a273f003d8d9e1414e3c5e5c">operations_research::SearchMonitor::AcceptNeighbor</a></div><div class="ttdeci">virtual void AcceptNeighbor()</div><div class="ttdoc">After accepting a neighbor during local search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a6c85276e75542eb410f09b0ccd78379b"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a6c85276e75542eb410f09b0ccd78379b">operations_research::SearchMonitor::NoMoreSolutions</a></div><div class="ttdeci">virtual void NoMoreSolutions()</div><div class="ttdoc">When the search tree is finished.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a72beba8c14dafe98d7faea2fd625bf27"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a72beba8c14dafe98d7faea2fd625bf27">operations_research::SearchMonitor::~SearchMonitor</a></div><div class="ttdeci">~SearchMonitor() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03682">constraint_solver.h:3682</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a97c59af2c64e5f0c004243f4266173cc"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a97c59af2c64e5f0c004243f4266173cc">operations_research::SearchMonitor::kNoProgress</a></div><div class="ttdeci">static constexpr int kNoProgress</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03679">constraint_solver.h:3679</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a98a16aa379c7240ae374adb128142a02"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a98a16aa379c7240ae374adb128142a02">operations_research::SearchMonitor::AcceptDelta</a></div><div class="ttdeci">virtual bool AcceptDelta(Assignment *delta, Assignment *deltadelta)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a9e7b2a7775d2ff7735f77716cb29d15b"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a9e7b2a7775d2ff7735f77716cb29d15b">operations_research::SearchMonitor::AfterDecision</a></div><div class="ttdeci">virtual void AfterDecision(Decision *const d, bool apply)</div><div class="ttdoc">Just after refuting or applying the decision, apply is true after Apply.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_a9f55f75747d65ad9c4ca9c6fdc01800d"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#a9f55f75747d65ad9c4ca9c6fdc01800d">operations_research::SearchMonitor::AtSolution</a></div><div class="ttdeci">virtual bool AtSolution()</div><div class="ttdoc">This method is called when a valid solution is found.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_ab472eccafac416112828cde24cefb907"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#ab472eccafac416112828cde24cefb907">operations_research::SearchMonitor::EndNextDecision</a></div><div class="ttdeci">virtual void EndNextDecision(DecisionBuilder *const b, Decision *const d)</div><div class="ttdoc">After calling DecisionBuilder::Next, along with the returned decision.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_ad6087c8c2f28d22ff19052db7c0045cf"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#ad6087c8c2f28d22ff19052db7c0045cf">operations_research::SearchMonitor::LocalOptimum</a></div><div class="ttdeci">virtual bool LocalOptimum()</div><div class="ttdoc">When a local optimum is reached.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_ad68c792579832141c205985973ba8a88"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#ad68c792579832141c205985973ba8a88">operations_research::SearchMonitor::BeginNextDecision</a></div><div class="ttdeci">virtual void BeginNextDecision(DecisionBuilder *const b)</div><div class="ttdoc">Before calling DecisionBuilder::Next.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_adfeaf3bb78e09fb211bdb8a4fa605c05"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#adfeaf3bb78e09fb211bdb8a4fa605c05">operations_research::SearchMonitor::BeginInitialPropagation</a></div><div class="ttdeci">virtual void BeginInitialPropagation()</div><div class="ttdoc">Before the initial propagation.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_ae08d9f4aadd8be8f98637c6dec237b57"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#ae08d9f4aadd8be8f98637c6dec237b57">operations_research::SearchMonitor::AcceptUncheckedNeighbor</a></div><div class="ttdeci">virtual void AcceptUncheckedNeighbor()</div><div class="ttdoc">After accepting an unchecked neighbor during local search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_af4cd0c541c53920fa86ff54ba2349cb2"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#af4cd0c541c53920fa86ff54ba2349cb2">operations_research::SearchMonitor::ApplyDecision</a></div><div class="ttdeci">virtual void ApplyDecision(Decision *const d)</div><div class="ttdoc">Before applying the decision.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_search_monitor_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1_search_monitor.html#afcde421cf076575a27bed81c80093ac8">operations_research::SearchMonitor::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given model visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html">operations_research::SequenceVarElement</a></div><div class="ttdoc">The SequenceVarElement stores a partial representation of ranked interval variables in the underlying...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04858">constraint_solver.h:4858</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a02c14c5a615ce131863ff3e87793e1bd"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a02c14c5a615ce131863ff3e87793e1bd">operations_research::SequenceVarElement::SetSequence</a></div><div class="ttdeci">void SetSequence(const std::vector&lt; int &gt; &amp;forward_sequence, const std::vector&lt; int &gt; &amp;backward_sequence, const std::vector&lt; int &gt; &amp;unperformed)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::SequenceVarElement::Restore</a></div><div class="ttdeci">void Restore()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a2aeac15a5e71f9045f8e050841737e47"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a2aeac15a5e71f9045f8e050841737e47">operations_research::SequenceVarElement::Reset</a></div><div class="ttdeci">void Reset(SequenceVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a2bb652744641c5c1c54a399b736a70a3"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a2bb652744641c5c1c54a399b736a70a3">operations_research::SequenceVarElement::operator==</a></div><div class="ttdeci">bool operator==(const SequenceVarElement &amp;element) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a33f108479fec7c8a89ae4393cf73ef0d"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a33f108479fec7c8a89ae4393cf73ef0d">operations_research::SequenceVarElement::BackwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; BackwardSequence() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a37191403b930340e0cbd1e9a4f88d157"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a37191403b930340e0cbd1e9a4f88d157">operations_research::SequenceVarElement::operator!=</a></div><div class="ttdeci">bool operator!=(const SequenceVarElement &amp;element) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04888">constraint_solver.h:4888</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::SequenceVarElement::Store</a></div><div class="ttdeci">void Store()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a448be08e73b90cd86345acc79613a051"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a448be08e73b90cd86345acc79613a051">operations_research::SequenceVarElement::SetBackwardSequence</a></div><div class="ttdeci">void SetBackwardSequence(const std::vector&lt; int &gt; &amp;backward_sequence)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a4750276f6bfdc7df01ac9e9a16bf5556"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a4750276f6bfdc7df01ac9e9a16bf5556">operations_research::SequenceVarElement::Unperformed</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; Unperformed() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a4bead74295e1e5675c0984fcc91ef057"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a4bead74295e1e5675c0984fcc91ef057">operations_research::SequenceVarElement::Bound</a></div><div class="ttdeci">bool Bound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04881">constraint_solver.h:4881</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a556b89bd81fc32c5995246961838c56e"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a556b89bd81fc32c5995246961838c56e">operations_research::SequenceVarElement::SequenceVarElement</a></div><div class="ttdeci">SequenceVarElement()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a6ca72bf40a2dcf1161e94fc8fde61d22"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a6ca72bf40a2dcf1161e94fc8fde61d22">operations_research::SequenceVarElement::SetUnperformed</a></div><div class="ttdeci">void SetUnperformed(const std::vector&lt; int &gt; &amp;unperformed)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a764be64f3029f8b8e23511061d8de355"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a764be64f3029f8b8e23511061d8de355">operations_research::SequenceVarElement::DebugString</a></div><div class="ttdeci">std::string DebugString() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a7b43877445e4d339dc3bd23ec8735193"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a7b43877445e4d339dc3bd23ec8735193">operations_research::SequenceVarElement::Clone</a></div><div class="ttdeci">SequenceVarElement * Clone()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a91d3f0252bfbe5a661ad3e0cea3c9c5a"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a91d3f0252bfbe5a661ad3e0cea3c9c5a">operations_research::SequenceVarElement::ForwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; ForwardSequence() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_a96e5f3f4d26b72233af38a0d30e900e1"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#a96e5f3f4d26b72233af38a0d30e900e1">operations_research::SequenceVarElement::Copy</a></div><div class="ttdeci">void Copy(const SequenceVarElement &amp;element)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_aa6090a774f7eab0e4fcaa01b025e91e1"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#aa6090a774f7eab0e4fcaa01b025e91e1">operations_research::SequenceVarElement::SequenceVarElement</a></div><div class="ttdeci">SequenceVarElement(SequenceVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_aab9e15f979531292b5b8e79aad7846a8"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#aab9e15f979531292b5b8e79aad7846a8">operations_research::SequenceVarElement::LoadFromProto</a></div><div class="ttdeci">void LoadFromProto(const SequenceVarAssignment &amp;sequence_var_assignment_proto)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_ab5c3328c1af7a92198fe1b21fc148202"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#ab5c3328c1af7a92198fe1b21fc148202">operations_research::SequenceVarElement::WriteToProto</a></div><div class="ttdeci">void WriteToProto(SequenceVarAssignment *sequence_var_assignment_proto) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_abd09fe08f368306c986382df61a20c73"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#abd09fe08f368306c986382df61a20c73">operations_research::SequenceVarElement::SetForwardSequence</a></div><div class="ttdeci">void SetForwardSequence(const std::vector&lt; int &gt; &amp;forward_sequence)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_element_html_ae8c75124aa71f4cb2761b58e08e9e4b1"><div class="ttname"><a href="classoperations__research_1_1_sequence_var_element.html#ae8c75124aa71f4cb2761b58e08e9e4b1">operations_research::SequenceVarElement::Var</a></div><div class="ttdeci">SequenceVar * Var() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04865">constraint_solver.h:4865</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html">operations_research::SequenceVar</a></div><div class="ttdoc">A sequence variable is a variable whose domain is a set of possible orderings of the interval variabl...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04591">constraint_solver.h:4591</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a01635a3b908310e048be6c6b85366bb8"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a01635a3b908310e048be6c6b85366bb8">operations_research::SequenceVar::ComputePossibleFirstsAndLasts</a></div><div class="ttdeci">void ComputePossibleFirstsAndLasts(std::vector&lt; int &gt; *const possible_firsts, std::vector&lt; int &gt; *const possible_lasts)</div><div class="ttdoc">Computes the set of indices of interval variables that can be ranked first in the set of unranked act...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a157c0f2f0636c4de7bded81fe83c6cec"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a157c0f2f0636c4de7bded81fe83c6cec">operations_research::SequenceVar::HorizonRange</a></div><div class="ttdeci">void HorizonRange(int64_t *const hmin, int64_t *const hmax) const</div><div class="ttdoc">Returns the minimum start min and the maximum end max of all interval vars in the sequence.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a19499c160356f9655862f3037315d87d"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a19499c160356f9655862f3037315d87d">operations_research::SequenceVar::FillSequence</a></div><div class="ttdeci">void FillSequence(std::vector&lt; int &gt; *const rank_first, std::vector&lt; int &gt; *const rank_last, std::vector&lt; int &gt; *const unperformed) const</div><div class="ttdoc">Clears 'rank_first' and 'rank_last', and fills them with the intervals in the order of the ranks.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a2c3cdf1887a496fe0fdd4b5abe5c33f5"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a2c3cdf1887a496fe0fdd4b5abe5c33f5">operations_research::SequenceVar::RankSequence</a></div><div class="ttdeci">void RankSequence(const std::vector&lt; int &gt; &amp;rank_first, const std::vector&lt; int &gt; &amp;rank_last, const std::vector&lt; int &gt; &amp;unperformed)</div><div class="ttdoc">Applies the following sequence of ranks, ranks first, then rank last.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a31d0bb3a9647ebb39d997f77a1eff435"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a31d0bb3a9647ebb39d997f77a1eff435">operations_research::SequenceVar::ComputeStatistics</a></div><div class="ttdeci">void ComputeStatistics(int *const ranked, int *const not_ranked, int *const unperformed) const</div><div class="ttdoc">Compute statistics on the sequence.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a38e9cb6169470555a7403c5102030294"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a38e9cb6169470555a7403c5102030294">operations_research::SequenceVar::DurationRange</a></div><div class="ttdeci">void DurationRange(int64_t *const dmin, int64_t *const dmax) const</div><div class="ttdoc">Returns the minimum and maximum duration of combined interval vars in the sequence.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a3a8465a1fa06dd401fa6924a492ce47b"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a3a8465a1fa06dd401fa6924a492ce47b">operations_research::SequenceVar::~SequenceVar</a></div><div class="ttdeci">~SequenceVar() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a757086e12f4615673721fd77ca49da7b"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a757086e12f4615673721fd77ca49da7b">operations_research::SequenceVar::ActiveHorizonRange</a></div><div class="ttdeci">void ActiveHorizonRange(int64_t *const hmin, int64_t *const hmax) const</div><div class="ttdoc">Returns the minimum start min and the maximum end max of all unranked interval vars in the sequence.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a78865614535cb831319b955f6106bcaa"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a78865614535cb831319b955f6106bcaa">operations_research::SequenceVar::Next</a></div><div class="ttdeci">IntVar * Next(int index) const</div><div class="ttdoc">Returns the next of the index_th interval of the sequence.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_a896e760e54eb350618d538c3c2f71ecc"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#a896e760e54eb350618d538c3c2f71ecc">operations_research::SequenceVar::Interval</a></div><div class="ttdeci">IntervalVar * Interval(int index) const</div><div class="ttdoc">Returns the index_th interval of the sequence.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_aa326d81dcac346461f3b8528bf0b49de"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#aa326d81dcac346461f3b8528bf0b49de">operations_research::SequenceVar::size</a></div><div class="ttdeci">int64_t size() const</div><div class="ttdoc">Returns the number of interval vars in the sequence.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04667">constraint_solver.h:4667</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_aaa902cac039701edcdaf15661fbed327"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#aaa902cac039701edcdaf15661fbed327">operations_research::SequenceVar::RankLast</a></div><div class="ttdeci">void RankLast(int index)</div><div class="ttdoc">Ranks the index_th interval var first of all unranked interval vars.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_ab8618d2458a778c7ee4326b41bd2de7e"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#ab8618d2458a778c7ee4326b41bd2de7e">operations_research::SequenceVar::RankFirst</a></div><div class="ttdeci">void RankFirst(int index)</div><div class="ttdoc">Ranks the index_th interval var first of all unranked interval vars.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_ad2fcd811f566cf9677c886576515f032"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#ad2fcd811f566cf9677c886576515f032">operations_research::SequenceVar::RankNotLast</a></div><div class="ttdeci">void RankNotLast(int index)</div><div class="ttdoc">Indicates that the index_th interval var will not be ranked first of all currently unranked interval ...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_aec7dac2fca35046761c8d47af724c091"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#aec7dac2fca35046761c8d47af724c091">operations_research::SequenceVar::RankNotFirst</a></div><div class="ttdeci">void RankNotFirst(int index)</div><div class="ttdoc">Indicates that the index_th interval var will not be ranked first of all currently unranked interval ...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_aed4c20c3765ff3cde39e5bd2915d3699"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#aed4c20c3765ff3cde39e5bd2915d3699">operations_research::SequenceVar::SequenceVar</a></div><div class="ttdeci">SequenceVar(Solver *const s, const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::vector&lt; IntVar * &gt; &amp;nexts, const std::string &amp;name)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::SequenceVar::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_sequence_var_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1_sequence_var.html#afcde421cf076575a27bed81c80093ac8">operations_research::SequenceVar::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_simple_rev_f_i_f_o_html"><div class="ttname"><a href="classoperations__research_1_1_simple_rev_f_i_f_o.html">operations_research::SimpleRevFIFO</a></div><div class="ttdoc">This class represent a reversible FIFO structure.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00137">constraint_solveri.h:137</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html">operations_research::SolutionCollector</a></div><div class="ttdoc">This class is the root class of all solution collectors.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04144">constraint_solver.h:4144</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a06d7a538074a3c12029edf2c7dbe03b9"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a06d7a538074a3c12029edf2c7dbe03b9">operations_research::SolutionCollector::check_index</a></div><div class="ttdeci">void check_index(int n) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a0c955ff1b2eae2daece0f25f1e57fb16"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a0c955ff1b2eae2daece0f25f1e57fb16">operations_research::SolutionCollector::EnterSearch</a></div><div class="ttdeci">void EnterSearch() override</div><div class="ttdoc">Beginning of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a33042163bd532ccbfe547236b22bf614"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a33042163bd532ccbfe547236b22bf614">operations_research::SolutionCollector::~SolutionCollector</a></div><div class="ttdeci">~SolutionCollector() override</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a35f33e423f42d8e78db12010bd7ae338"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a35f33e423f42d8e78db12010bd7ae338">operations_research::SolutionCollector::Push</a></div><div class="ttdeci">void Push(const SolutionData &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04225">constraint_solver.h:4225</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a3caadbab358fe704365f1697ce654375"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a3caadbab358fe704365f1697ce654375">operations_research::SolutionCollector::PushSolution</a></div><div class="ttdeci">void PushSolution()</div><div class="ttdoc">Push the current state as a new solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a40060f6e513255a9133645c7179fa0d1"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a40060f6e513255a9133645c7179fa0d1">operations_research::SolutionCollector::AddObjective</a></div><div class="ttdeci">void AddObjective(IntVar *const objective)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a44069f4a63ae68c2059144cc5ee976d1"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a44069f4a63ae68c2059144cc5ee976d1">operations_research::SolutionCollector::recycle_solutions_</a></div><div class="ttdeci">std::vector&lt; Assignment * &gt; recycle_solutions_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04234">constraint_solver.h:4234</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a4f586a9056698e50f687455cbe3c79c7"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a4f586a9056698e50f687455cbe3c79c7">operations_research::SolutionCollector::Add</a></div><div class="ttdeci">void Add(const std::vector&lt; SequenceVar * &gt; &amp;vars)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a50ad7718f019e2f46328682dc8ed7162"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a50ad7718f019e2f46328682dc8ed7162">operations_research::SolutionCollector::solution_data_</a></div><div class="ttdeci">std::vector&lt; SolutionData &gt; solution_data_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04233">constraint_solver.h:4233</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a517903bea1be89b6c194bc4d1eb28a51"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a517903bea1be89b6c194bc4d1eb28a51">operations_research::SolutionCollector::SolutionCollector</a></div><div class="ttdeci">SolutionCollector(Solver *const solver)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a5a589c2741d5a4b5b777b0dfe2433d13"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a5a589c2741d5a4b5b777b0dfe2433d13">operations_research::SolutionCollector::Add</a></div><div class="ttdeci">void Add(IntVar *const var)</div><div class="ttdoc">Add API.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a5aeabb40e6e7550c805534764b3076fa"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a5aeabb40e6e7550c805534764b3076fa">operations_research::SolutionCollector::solution_count</a></div><div class="ttdeci">int solution_count() const</div><div class="ttdoc">Returns how many solutions were stored during the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a62eeaedd1b35f3805bbd3e544c16577b"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a62eeaedd1b35f3805bbd3e544c16577b">operations_research::SolutionCollector::Add</a></div><div class="ttdeci">void Add(const std::vector&lt; IntVar * &gt; &amp;vars)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a69c1d2e1b243c1ce6f7663c297c0b357"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a69c1d2e1b243c1ce6f7663c297c0b357">operations_research::SolutionCollector::Add</a></div><div class="ttdeci">void Add(IntervalVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a6f3a03e958cc119592fc6ecdf2b1e908"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a6f3a03e958cc119592fc6ecdf2b1e908">operations_research::SolutionCollector::Add</a></div><div class="ttdeci">void Add(const std::vector&lt; IntervalVar * &gt; &amp;vars)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a7355e73fd1c286b47bdd911d5c17b3ff"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a7355e73fd1c286b47bdd911d5c17b3ff">operations_research::SolutionCollector::BuildSolutionDataForCurrentState</a></div><div class="ttdeci">SolutionData BuildSolutionDataForCurrentState()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a82b736d88ff6a0ca45c6ed6de6744a92"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a82b736d88ff6a0ca45c6ed6de6744a92">operations_research::SolutionCollector::Value</a></div><div class="ttdeci">int64_t Value(int n, IntVar *const var) const</div><div class="ttdoc">This is a shortcut to get the Value of 'var' in the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a8c74ca7c0955a50934944350de408d9d"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a8c74ca7c0955a50934944350de408d9d">operations_research::SolutionCollector::Unperformed</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; Unperformed(int n, SequenceVar *const var) const</div><div class="ttdoc">This is a shortcut to get the list of unperformed of 'var' in the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a9041c44b3a2b7697fa9a8bbfe73c275c"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a9041c44b3a2b7697fa9a8bbfe73c275c">operations_research::SolutionCollector::DurationValue</a></div><div class="ttdeci">int64_t DurationValue(int n, IntervalVar *const var) const</div><div class="ttdoc">This is a shortcut to get the DurationValue of 'var' in the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a90f41f2f36d093ee9f11ec929756e4b5"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a90f41f2f36d093ee9f11ec929756e4b5">operations_research::SolutionCollector::StartValue</a></div><div class="ttdeci">int64_t StartValue(int n, IntervalVar *const var) const</div><div class="ttdoc">This is a shortcut to get the StartValue of 'var' in the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a97be81e7520315f04f648537dd06bff5"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a97be81e7520315f04f648537dd06bff5">operations_research::SolutionCollector::solution</a></div><div class="ttdeci">Assignment * solution(int n) const</div><div class="ttdoc">Returns the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a99a54df109752e50ebad7bd9a28031d3"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a99a54df109752e50ebad7bd9a28031d3">operations_research::SolutionCollector::EndValue</a></div><div class="ttdeci">int64_t EndValue(int n, IntervalVar *const var) const</div><div class="ttdoc">This is a shortcut to get the EndValue of 'var' in the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_a9ff7a59105722fe8b129e9e69b6c9028"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#a9ff7a59105722fe8b129e9e69b6c9028">operations_research::SolutionCollector::objective_value</a></div><div class="ttdeci">int64_t objective_value(int n) const</div><div class="ttdoc">Returns the objective value of the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_aa60ece7346d03126579d72fee6550798"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#aa60ece7346d03126579d72fee6550798">operations_research::SolutionCollector::wall_time</a></div><div class="ttdeci">int64_t wall_time(int n) const</div><div class="ttdoc">Returns the wall time in ms for the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_aac8e3340dc6e2312ccbc7edc18dfeba4"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#aac8e3340dc6e2312ccbc7edc18dfeba4">operations_research::SolutionCollector::branches</a></div><div class="ttdeci">int64_t branches(int n) const</div><div class="ttdoc">Returns the number of branches when the nth solution was found.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_aafcf751b6563b1d2bcc2e28831cabca1"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#aafcf751b6563b1d2bcc2e28831cabca1">operations_research::SolutionCollector::PerformedValue</a></div><div class="ttdeci">int64_t PerformedValue(int n, IntervalVar *const var) const</div><div class="ttdoc">This is a shortcut to get the PerformedValue of 'var' in the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_ab2d80830bb34c041643108dfa3876c24"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#ab2d80830bb34c041643108dfa3876c24">operations_research::SolutionCollector::ForwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; ForwardSequence(int n, SequenceVar *const var) const</div><div class="ttdoc">This is a shortcut to get the ForwardSequence of 'var' in the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_ac355f6324d4fcc3f253f3b83105b9c6e"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#ac355f6324d4fcc3f253f3b83105b9c6e">operations_research::SolutionCollector::FreeSolution</a></div><div class="ttdeci">void FreeSolution(Assignment *solution)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_ac48970fdc3da1249b87dc218680caf9d"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#ac48970fdc3da1249b87dc218680caf9d">operations_research::SolutionCollector::failures</a></div><div class="ttdeci">int64_t failures(int n) const</div><div class="ttdoc">Returns the number of failures encountered at the time of the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_ad6447dcc60c8d0bb89d7c72530afb842"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#ad6447dcc60c8d0bb89d7c72530afb842">operations_research::SolutionCollector::prototype_</a></div><div class="ttdeci">std::unique_ptr&lt; Assignment &gt; prototype_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04232">constraint_solver.h:4232</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_adbd3b8b25d686516cba29e11ad483b43"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#adbd3b8b25d686516cba29e11ad483b43">operations_research::SolutionCollector::SolutionCollector</a></div><div class="ttdeci">SolutionCollector(Solver *const solver, const Assignment *assignment)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_aec3898670cd27d756678ddda55678b87"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#aec3898670cd27d756678ddda55678b87">operations_research::SolutionCollector::PopSolution</a></div><div class="ttdeci">void PopSolution()</div><div class="ttdoc">Remove and delete the last popped solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::SolutionCollector::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04149">constraint_solver.h:4149</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_af4d5e0fdb2b92c232060733c41dc2a9c"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#af4d5e0fdb2b92c232060733c41dc2a9c">operations_research::SolutionCollector::BackwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; BackwardSequence(int n, SequenceVar *const var) const</div><div class="ttdoc">This is a shortcut to get the BackwardSequence of 'var' in the nth solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_collector_html_af549aaf97ee31923831935c407eff0de"><div class="ttname"><a href="classoperations__research_1_1_solution_collector.html#af549aaf97ee31923831935c407eff0de">operations_research::SolutionCollector::Add</a></div><div class="ttdeci">void Add(SequenceVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_pool_html"><div class="ttname"><a href="classoperations__research_1_1_solution_pool.html">operations_research::SolutionPool</a></div><div class="ttdoc">This class is used to manage a pool of solutions.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05420">constraint_solver.h:5420</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_pool_html_a0ddd1c2f332c3cea0612b9d18ad6ef83"><div class="ttname"><a href="classoperations__research_1_1_solution_pool.html#a0ddd1c2f332c3cea0612b9d18ad6ef83">operations_research::SolutionPool::SyncNeeded</a></div><div class="ttdeci">virtual bool SyncNeeded(Assignment *const local_assignment)=0</div><div class="ttdoc">This method checks if the local solution needs to be updated with an external one.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_pool_html_a39b9785ffd2b768743ca541295668408"><div class="ttname"><a href="classoperations__research_1_1_solution_pool.html#a39b9785ffd2b768743ca541295668408">operations_research::SolutionPool::RegisterNewSolution</a></div><div class="ttdeci">virtual void RegisterNewSolution(Assignment *const assignment)=0</div><div class="ttdoc">This method is called when a new solution has been accepted by the local search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_pool_html_a46aae4510235217253f419189cd0accf"><div class="ttname"><a href="classoperations__research_1_1_solution_pool.html#a46aae4510235217253f419189cd0accf">operations_research::SolutionPool::SolutionPool</a></div><div class="ttdeci">SolutionPool()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05422">constraint_solver.h:5422</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_pool_html_a6fbedcc0e848833761bc0ed775aa5436"><div class="ttname"><a href="classoperations__research_1_1_solution_pool.html#a6fbedcc0e848833761bc0ed775aa5436">operations_research::SolutionPool::GetNextSolution</a></div><div class="ttdeci">virtual void GetNextSolution(Assignment *const assignment)=0</div><div class="ttdoc">This method is called when the local search starts a new neighborhood to initialize the default assig...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_pool_html_aa1eacd520fb6bd437786be473bffda1b"><div class="ttname"><a href="classoperations__research_1_1_solution_pool.html#aa1eacd520fb6bd437786be473bffda1b">operations_research::SolutionPool::~SolutionPool</a></div><div class="ttdeci">~SolutionPool() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05423">constraint_solver.h:5423</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solution_pool_html_afa82c2dd754ff490f08768ed621d1f5b"><div class="ttname"><a href="classoperations__research_1_1_solution_pool.html#afa82c2dd754ff490f08768ed621d1f5b">operations_research::SolutionPool::Initialize</a></div><div class="ttdeci">virtual void Initialize(Assignment *const assignment)=0</div><div class="ttdoc">This method is called to initialize the solution pool with the assignment from the local search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html"><div class="ttname"><a href="classoperations__research_1_1_solver.html">operations_research::Solver</a></div><div class="ttdoc">Solver Class.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00245">constraint_solver.h:245</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a00078e41fa2bdd723a05a8a9530e0806"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a00078e41fa2bdd723a05a8a9530e0806">operations_research::Solver::MakeIntervalVarRelation</a></div><div class="ttdeci">Constraint * MakeIntervalVarRelation(IntervalVar *const t1, BinaryIntervalRelation r, IntervalVar *const t2)</div><div class="ttdoc">This method creates a relation between two interval vars.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0094fe4296645dbe40d2c5377772e6eb"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0094fe4296645dbe40d2c5377772e6eb">operations_research::Solver::state</a></div><div class="ttdeci">SolverState state() const</div><div class="ttdoc">State of the solver.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00952">constraint_solver.h:952</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a00eb3ca90c8502f67cf5ef3ed050596a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a00eb3ca90c8502f67cf5ef3ed050596a">operations_research::Solver::MakeBetweenCt</a></div><div class="ttdeci">Constraint * MakeBetweenCt(IntExpr *const expr, int64_t l, int64_t u)</div><div class="ttdoc">(l &lt;= expr &lt;= u)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a00f78f79ea5ff448caa08cba62054859"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a00f78f79ea5ff448caa08cba62054859">operations_research::Solver::MakeDecision</a></div><div class="ttdeci">Decision * MakeDecision(Action apply, Action refute)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a01de90d2d6125531affa1d82bee7efe9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a01de90d2d6125531affa1d82bee7efe9">operations_research::Solver::neighbors</a></div><div class="ttdeci">int64_t neighbors() const</div><div class="ttdoc">The number of neighbors created.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00997">constraint_solver.h:997</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a026b74e972d7a9b260fd689486737907"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a026b74e972d7a9b260fd689486737907">operations_research::Solver::MakeMax</a></div><div class="ttdeci">IntExpr * MakeMax(IntExpr *const expr, int64_t value)</div><div class="ttdoc">std::max(expr, value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a03acbbff21df66d6b126aa41124e5d2c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a03acbbff21df66d6b126aa41124e5d2c">operations_research::Solver::MakeLubyRestart</a></div><div class="ttdeci">SearchMonitor * MakeLubyRestart(int scale_factor)</div><div class="ttdoc">This search monitor will restart the search periodically.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0544697ab645219c7ed34fd2c19e5033"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0544697ab645219c7ed34fd2c19e5033">operations_research::Solver::SaveValue</a></div><div class="ttdeci">void SaveValue(T *o)</div><div class="ttdoc">reversibility</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00774">constraint_solver.h:774</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a05d5d6048a880ed54cdc0e61c9131c89"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a05d5d6048a880ed54cdc0e61c9131c89">operations_research::Solver::MakeMoveTowardTargetOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeMoveTowardTargetOperator(const std::vector&lt; IntVar * &gt; &amp;variables, const std::vector&lt; int64_t &gt; &amp;target_values)</div><div class="ttdoc">Creates a local search operator that tries to move the assignment of some variables toward a target.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a05d70521aabf6139379104bb7b1bc891"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a05d70521aabf6139379104bb7b1bc891">operations_research::Solver::MakeAllSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeAllSolutionCollector()</div><div class="ttdoc">Collect all solutions of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a068546fafd21de918946e45778117900"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a068546fafd21de918946e45778117900">operations_research::Solver::MakeCount</a></div><div class="ttdeci">Constraint * MakeCount(const std::vector&lt; IntVar * &gt; &amp;vars, int64_t value, int64_t max_count)</div><div class="ttdoc">|{i | vars[i] == value}| == max_count</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a06d4d0c24ce213439923328680453775"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a06d4d0c24ce213439923328680453775">operations_research::Solver::MakeLess</a></div><div class="ttdeci">Constraint * MakeLess(IntExpr *const expr, int64_t value)</div><div class="ttdoc">expr &lt; value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a070201812ff6640e86ad7d2d68181703"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a070201812ff6640e86ad7d2d68181703">operations_research::Solver::MakeSumObjectiveFilter</a></div><div class="ttdeci">IntVarLocalSearchFilter * MakeSumObjectiveFilter(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; IntVar * &gt; &amp;secondary_vars, IndexEvaluator3 values, Solver::LocalSearchFilterBound filter_enum)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a074172434184dde98798ed6590206d42"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42">operations_research::Solver::DecisionModification</a></div><div class="ttdeci">DecisionModification</div><div class="ttdoc">The Solver is responsible for creating the search tree.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00687">constraint_solver.h:687</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd">operations_research::Solver::NO_CHANGE</a></div><div class="ttdeci">@ NO_CHANGE</div><div class="ttdoc">Keeps the default behavior, i.e.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00690">constraint_solver.h:690</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998">operations_research::Solver::SWITCH_BRANCHES</a></div><div class="ttdeci">@ SWITCH_BRANCHES</div><div class="ttdoc">Applies right branch first.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00709">constraint_solver.h:708</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5">operations_research::Solver::KEEP_RIGHT</a></div><div class="ttdeci">@ KEEP_RIGHT</div><div class="ttdoc">Left branches are ignored.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00700">constraint_solver.h:700</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f">operations_research::Solver::KEEP_LEFT</a></div><div class="ttdeci">@ KEEP_LEFT</div><div class="ttdoc">Right branches are ignored.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00695">constraint_solver.h:695</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f">operations_research::Solver::KILL_BOTH</a></div><div class="ttdeci">@ KILL_BOTH</div><div class="ttdoc">Backtracks to the previous decisions, i.e.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00704">constraint_solver.h:704</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a078a6a3543d033fc6f9b42938f96a702"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a078a6a3543d033fc6f9b42938f96a702">operations_research::Solver::IsBooleanVar</a></div><div class="ttdeci">bool IsBooleanVar(IntExpr *const expr, IntVar **inner_var, bool *is_negated) const</div><div class="ttdoc">Returns true if expr represents either boolean_var or 1 - boolean_var.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a09873cffad10d0c03d9e56bfee8063b5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a09873cffad10d0c03d9e56bfee8063b5">operations_research::Solver::MakeSum</a></div><div class="ttdeci">IntExpr * MakeSum(const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">sum of all vars.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0a0fa138e73ae39159c557c6356d055f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0a0fa138e73ae39159c557c6356d055f">operations_research::Solver::MakeProfiledDecisionBuilderWrapper</a></div><div class="ttdeci">DecisionBuilder * MakeProfiledDecisionBuilderWrapper(DecisionBuilder *db)</div><div class="ttdoc">Activates profiling on a decision builder.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0c27e95fb896b9ca243d6ab54da4f7c7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0c27e95fb896b9ca243d6ab54da4f7c7">operations_research::Solver::SolveAndCommit</a></div><div class="ttdeci">bool SolveAndCommit(DecisionBuilder *const db)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0c4d89081091cee9256c781d5cac0812"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0c4d89081091cee9256c781d5cac0812">operations_research::Solver::MakeWeightedMinimize</a></div><div class="ttdeci">OptimizeVar * MakeWeightedMinimize(const std::vector&lt; IntVar * &gt; &amp;sub_objectives, const std::vector&lt; int64_t &gt; &amp;weights, int64_t step)</div><div class="ttdoc">Creates a minimization weighted objective.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0c5082a7f40da167784ea364c9797d0e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0c5082a7f40da167784ea364c9797d0e">operations_research::Solver::MakeBoolVarArray</a></div><div class="ttdeci">void MakeBoolVarArray(int var_count, const std::string &amp;name, std::vector&lt; IntVar * &gt; *vars)</div><div class="ttdoc">This method will append the vector vars with 'var_count' boolean variables having name &quot;name&lt;i&gt;&quot; wher...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0c9019db8534afd25ac930898530a5ba"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0c9019db8534afd25ac930898530a5ba">operations_research::Solver::MakeFixedDurationEndSyncedOnEndIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationEndSyncedOnEndIntervalVar(IntervalVar *const interval_var, int64_t duration, int64_t offset)</div><div class="ttdoc">Creates an interval var with a fixed duration whose end is synchronized with the end of another inter...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0cb99d2eebdcea4267b7ab1b21059d37"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0cb99d2eebdcea4267b7ab1b21059d37">operations_research::Solver::MakeVariableDomainFilter</a></div><div class="ttdeci">LocalSearchFilter * MakeVariableDomainFilter()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0dd1d43eaa36e3edea0a0c24a1eb558e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0dd1d43eaa36e3edea0a0c24a1eb558e">operations_research::Solver::HasName</a></div><div class="ttdeci">bool HasName(const PropagationBaseObject *object) const</div><div class="ttdoc">Returns whether the object has been named or not.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0e7c36ddf2c9c9ce4e9f09621bd04804"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0e7c36ddf2c9c9ce4e9f09621bd04804">operations_research::Solver::MakePathConnected</a></div><div class="ttdeci">Constraint * MakePathConnected(std::vector&lt; IntVar * &gt; nexts, std::vector&lt; int64_t &gt; sources, std::vector&lt; int64_t &gt; sinks, std::vector&lt; IntVar * &gt; status)</div><div class="ttdoc">Constraint enforcing that status[i] is true iff there's a path defined on next variables from sources...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0e8ab9d9a1ef238b46200f440cf4bd4d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0e8ab9d9a1ef238b46200f440cf4bd4d">operations_research::Solver::MakeDistribute</a></div><div class="ttdeci">Constraint * MakeDistribute(const std::vector&lt; IntVar * &gt; &amp;vars, int64_t card_min, int64_t card_max, int64_t card_size)</div><div class="ttdoc">Aggregated version of count with bounded cardinalities: forall j in 0 .</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0f660e8597c620b46aa963ed7f07c4d7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0f660e8597c620b46aa963ed7f07c4d7">operations_research::Solver::RestartSearch</a></div><div class="ttdeci">void RestartSearch()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a0f7179b03ab49e7ee79f9b7e8c4dc129"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a0f7179b03ab49e7ee79f9b7e8c4dc129">operations_research::Solver::ClearLocalSearchState</a></div><div class="ttdeci">void ClearLocalSearchState()</div><div class="ttdoc">Clears the local search state.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02947">constraint_solver.h:2947</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a112004c0c1baefeaa167b25d03002d19"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a112004c0c1baefeaa167b25d03002d19">operations_research::Solver::MakeLocalSearchPhaseParameters</a></div><div class="ttdeci">LocalSearchPhaseParameters * MakeLocalSearchPhaseParameters(IntVar *objective, LocalSearchOperator *const ls_operator, DecisionBuilder *const sub_decision_builder, RegularLimit *const limit)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a113b01eca9d8ce4a7bf14f9f7e2e9d4d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a113b01eca9d8ce4a7bf14f9f7e2e9d4d">operations_research::Solver::MakeNullIntersectExcept</a></div><div class="ttdeci">Constraint * MakeNullIntersectExcept(const std::vector&lt; IntVar * &gt; &amp;first_vars, const std::vector&lt; IntVar * &gt; &amp;second_vars, int64_t escape_value)</div><div class="ttdoc">Creates a constraint that states that all variables in the first vector are different from all variab...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a119c56614135f6d23a162fd8f42f99bf"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a119c56614135f6d23a162fd8f42f99bf">operations_research::Solver::MakeLastSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeLastSolutionCollector()</div><div class="ttdoc">Collect the last solution of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a11af853d7a7d2ebbdf01cf2ee6811f11"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a11af853d7a7d2ebbdf01cf2ee6811f11">operations_research::Solver::MakeLocalSearchPhaseParameters</a></div><div class="ttdeci">LocalSearchPhaseParameters * MakeLocalSearchPhaseParameters(IntVar *objective, LocalSearchOperator *const ls_operator, DecisionBuilder *const sub_decision_builder, RegularLimit *const limit, LocalSearchFilterManager *filter_manager)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a123f8b1f425860ad4b38ca840ea844fe"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a123f8b1f425860ad4b38ca840ea844fe">operations_research::Solver::MakeAssignVariableValueOrDoNothing</a></div><div class="ttdeci">Decision * MakeAssignVariableValueOrDoNothing(IntVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a13c5beba743db503500aa75a504168cb"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a13c5beba743db503500aa75a504168cb">operations_research::Solver::MakeIsLessCstCt</a></div><div class="ttdeci">Constraint * MakeIsLessCstCt(IntExpr *const v, int64_t c, IntVar *const b)</div><div class="ttdoc">b == (v &lt; c)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a13cf423397bb12a1a502312c460764a7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a13cf423397bb12a1a502312c460764a7">operations_research::Solver::MakeAtSolutionCallback</a></div><div class="ttdeci">SearchMonitor * MakeAtSolutionCallback(std::function&lt; void()&gt; callback)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a13e8a8f8144963f9b7d337e34aed616d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a13e8a8f8144963f9b7d337e34aed616d">operations_research::Solver::MakeIsGreaterCstVar</a></div><div class="ttdeci">IntVar * MakeIsGreaterCstVar(IntExpr *const var, int64_t value)</div><div class="ttdoc">status var of (var &gt; value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a141ceaeede5f00e9a4c798e55048cf99"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a141ceaeede5f00e9a4c798e55048cf99">operations_research::Solver::MakeIndexExpression</a></div><div class="ttdeci">IntExpr * MakeIndexExpression(const std::vector&lt; IntVar * &gt; &amp;vars, int64_t value)</div><div class="ttdoc">Returns the expression expr such that vars[expr] == value.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a14f1aa725d9c4497296b233dbcb28402"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a14f1aa725d9c4497296b233dbcb28402">operations_research::Solver::branches</a></div><div class="ttdeci">int64_t branches() const</div><div class="ttdoc">The number of branches explored since the creation of the solver.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00982">constraint_solver.h:982</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a14f5f5eb80fe6b09d39ff1c0f0b816a3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a14f5f5eb80fe6b09d39ff1c0f0b816a3">operations_research::Solver::RegisterIntExpr</a></div><div class="ttdeci">IntExpr * RegisterIntExpr(IntExpr *const expr)</div><div class="ttdoc">Registers a new IntExpr and wraps it inside a TraceIntExpr if necessary.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a159af7a4def562cb19dc241d2dedb082"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a159af7a4def562cb19dc241d2dedb082">operations_research::Solver::MakeAllSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeAllSolutionCollector(const Assignment *const assignment)</div><div class="ttdoc">Collect all solutions of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a166c36cdc73ef649a97330f9a5f421e1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a166c36cdc73ef649a97330f9a5f421e1">operations_research::Solver::RestartCurrentSearch</a></div><div class="ttdeci">void RestartCurrentSearch()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a17a56adc8ee57642c3f00a1778319192"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a17a56adc8ee57642c3f00a1778319192">operations_research::Solver::DemonProfiler</a></div><div class="ttdeci">friend class DemonProfiler</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02957">constraint_solver.h:2957</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a17de923c25a5e2da107cc116fae08119"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a17de923c25a5e2da107cc116fae08119">operations_research::Solver::MakeProd</a></div><div class="ttdeci">IntExpr * MakeProd(IntExpr *const expr, int64_t value)</div><div class="ttdoc">expr * value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1849746a651b4e617a8a4350c3426234"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1849746a651b4e617a8a4350c3426234">operations_research::Solver::MakeDistribute</a></div><div class="ttdeci">Constraint * MakeDistribute(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;card_min, const std::vector&lt; int64_t &gt; &amp;card_max)</div><div class="ttdoc">Aggregated version of count with bounded cardinalities: forall j in 0 .</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a189c9fcb00735d25255c567121251a90"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a189c9fcb00735d25255c567121251a90">operations_research::Solver::MakeIntVar</a></div><div class="ttdeci">IntVar * MakeIntVar(const std::vector&lt; int64_t &gt; &amp;values, const std::string &amp;name)</div><div class="ttdoc">MakeIntVar will create a variable with the given sparse domain.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1974d638ba45f2a66ae864e96b766131"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1974d638ba45f2a66ae864e96b766131">operations_research::Solver::SolveAndCommit</a></div><div class="ttdeci">bool SolveAndCommit(DecisionBuilder *const db, const std::vector&lt; SearchMonitor * &gt; &amp;monitors)</div><div class="ttdoc">SolveAndCommit using a decision builder and up to three search monitors, usually one for the objectiv...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a199b73a65e10bcf7c43f391abb06e9f7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a199b73a65e10bcf7c43f391abb06e9f7">operations_research::Solver::MakeLess</a></div><div class="ttdeci">Constraint * MakeLess(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left &lt; right</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a19fe8b2c3564ce52e8cb64b8083c2969"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a19fe8b2c3564ce52e8cb64b8083c2969">operations_research::Solver::SolveAndCommit</a></div><div class="ttdeci">bool SolveAndCommit(DecisionBuilder *const db, SearchMonitor *const m1, SearchMonitor *const m2, SearchMonitor *const m3)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1a981ab215cf0097502d1dd4f3a542ac"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1a981ab215cf0097502d1dd4f3a542ac">operations_research::Solver::InternalSaveBooleanVarValue</a></div><div class="ttdeci">friend void InternalSaveBooleanVarValue(Solver *const, IntVar *const)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1b5f4ac1fc0e68af2247581f7396f454"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1b5f4ac1fc0e68af2247581f7396f454">operations_research::Solver::MakeMoveTowardTargetOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeMoveTowardTargetOperator(const Assignment &amp;target)</div><div class="ttdoc">Creates a local search operator that tries to move the assignment of some variables toward a target.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1c08fc5456634780867df83cff1d8a54"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1c08fc5456634780867df83cff1d8a54">operations_research::Solver::MakeSubCircuit</a></div><div class="ttdeci">Constraint * MakeSubCircuit(const std::vector&lt; IntVar * &gt; &amp;nexts)</div><div class="ttdoc">Force the &quot;nexts&quot; variable to create a complete Hamiltonian path for those that do not loop upon them...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1c80076360afc597a0a4d815b1252cf6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1c80076360afc597a0a4d815b1252cf6">operations_research::Solver::MakeSemiContinuousExpr</a></div><div class="ttdeci">IntExpr * MakeSemiContinuousExpr(IntExpr *const expr, int64_t fixed_charge, int64_t step)</div><div class="ttdoc">Semi continuous Expression (x &lt;= 0 -&gt; f(x) = 0; x &gt; 0 -&gt; f(x) = ax + b) a &gt;= 0 and b &gt;= 0.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1cf098b98c67b72f37ca012e69aec6ce"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1cf098b98c67b72f37ca012e69aec6ce">operations_research::Solver::MakeSumEquality</a></div><div class="ttdeci">Constraint * MakeSumEquality(const std::vector&lt; IntVar * &gt; &amp;vars, int64_t cst)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1d099ae04835723ee3ccd7644f1d40cc"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1d099ae04835723ee3ccd7644f1d40cc">operations_research::Solver::MakeScheduleOrExpedite</a></div><div class="ttdeci">Decision * MakeScheduleOrExpedite(IntervalVar *const var, int64_t est, int64_t *const marker)</div><div class="ttdoc">Returns a decision that tries to schedule a task at a given time.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1daa3dbab615c819d591d3613a283ad8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1daa3dbab615c819d591d3613a283ad8">operations_research::Solver::MakeFixedDurationIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationIntervalVar(int64_t start_min, int64_t start_max, int64_t duration, bool optional, const std::string &amp;name)</div><div class="ttdoc">Creates an interval var with a fixed duration.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1e1ca16d39d47ab8022785dc8e499120"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1e1ca16d39d47ab8022785dc8e499120">operations_research::Solver::MakeAbs</a></div><div class="ttdeci">IntExpr * MakeAbs(IntExpr *const expr)</div><div class="ttdoc">|expr|</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1ec335170646beeb45e0321c0db77664"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1ec335170646beeb45e0321c0db77664">operations_research::Solver::MakeWeightedMaximize</a></div><div class="ttdeci">OptimizeVar * MakeWeightedMaximize(const std::vector&lt; IntVar * &gt; &amp;sub_objectives, const std::vector&lt; int &gt; &amp;weights, int64_t step)</div><div class="ttdoc">Creates a maximization weigthed objective.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1f1cb613307dc4642d193c7e88d665d2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1f1cb613307dc4642d193c7e88d665d2">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IntVarStrategy var_str, VariableValueComparator var_val1_val2_comparator)</div><div class="ttdoc">var_val1_val2_comparator(var, val1, val2) is true iff assigning value &quot;val1&quot; to variable &quot;var&quot; is bet...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1f73b85db1b5b095064d1b2d1e40f23b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1f73b85db1b5b095064d1b2d1e40f23b">operations_research::Solver::MakeFalseConstraint</a></div><div class="ttdeci">Constraint * MakeFalseConstraint()</div><div class="ttdoc">This constraint always fails.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1f7423eab8919ece19ea66475d075d18"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1f7423eab8919ece19ea66475d075d18">operations_research::Solver::MakeIntVarArray</a></div><div class="ttdeci">IntVar ** MakeIntVarArray(int var_count, int64_t vmin, int64_t vmax, const std::string &amp;name)</div><div class="ttdoc">Same but allocates an array and returns it.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a1f8246a68d8ef1b5d19629747827a26c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a1f8246a68d8ef1b5d19629747827a26c">operations_research::Solver::MakeDifference</a></div><div class="ttdeci">IntExpr * MakeDifference(int64_t value, IntExpr *const expr)</div><div class="ttdoc">value - expr</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a201119e9301443e42699e705c81f4869"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a201119e9301443e42699e705c81f4869">operations_research::Solver::NewSearch</a></div><div class="ttdeci">void NewSearch(DecisionBuilder *const db)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2085a8965de86fa4cf3aa76331331372"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2085a8965de86fa4cf3aa76331331372">operations_research::Solver::MakeEquality</a></div><div class="ttdeci">Constraint * MakeEquality(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left == right</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a20f45c3009db36d8993a8b9292c50511"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a20f45c3009db36d8993a8b9292c50511">operations_research::Solver::MakeFixedDurationIntervalVarArray</a></div><div class="ttdeci">void MakeFixedDurationIntervalVarArray(const std::vector&lt; IntVar * &gt; &amp;start_variables, const std::vector&lt; int64_t &gt; &amp;durations, const std::string &amp;name, std::vector&lt; IntervalVar * &gt; *const array)</div><div class="ttdoc">This method fills the vector with interval variables built with the corresponding start variables.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a21e692e7b333d7dd72d4b6cc1dbb0b26"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a21e692e7b333d7dd72d4b6cc1dbb0b26">operations_research::Solver::MakeIsDifferentCt</a></div><div class="ttdeci">Constraint * MakeIsDifferentCt(IntExpr *const v1, IntExpr *const v2, IntVar *const b)</div><div class="ttdoc">b == (v1 != v2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2224264557c711f34709e3298191db2a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2224264557c711f34709e3298191db2a">operations_research::Solver::MakeOptimize</a></div><div class="ttdeci">OptimizeVar * MakeOptimize(bool maximize, IntVar *const v, int64_t step)</div><div class="ttdoc">Creates a objective with a given sense (true = maximization).</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a22741e3ceaafd6f85fd4e5f3a612a9ba"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a22741e3ceaafd6f85fd4e5f3a612a9ba">operations_research::Solver::MakeIntervalVarRelationWithDelay</a></div><div class="ttdeci">Constraint * MakeIntervalVarRelationWithDelay(IntervalVar *const t1, BinaryIntervalRelation r, IntervalVar *const t2, int64_t delay)</div><div class="ttdoc">This method creates a relation between two interval vars.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a23053cfdf78a25b8e04121f30fbaa72f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a23053cfdf78a25b8e04121f30fbaa72f">operations_research::Solver::MakeScalProd</a></div><div class="ttdeci">IntExpr * MakeScalProd(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;coefs)</div><div class="ttdoc">scalar product</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a232f1cfe8e53c0a99d27ecd6db8aae68"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a232f1cfe8e53c0a99d27ecd6db8aae68">operations_research::Solver::MakeGreaterOrEqual</a></div><div class="ttdeci">Constraint * MakeGreaterOrEqual(IntExpr *const expr, int64_t value)</div><div class="ttdoc">expr &gt;= value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a233503ed12f669d73f4e50fae345f448"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a233503ed12f669d73f4e50fae345f448">operations_research::Solver::MakeLessOrEqual</a></div><div class="ttdeci">Constraint * MakeLessOrEqual(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left &lt;= right</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a235c1fd0f0c6d4051a8ff4311ba2630c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a235c1fd0f0c6d4051a8ff4311ba2630c">operations_research::Solver::MakePiecewiseLinearExpr</a></div><div class="ttdeci">IntExpr * MakePiecewiseLinearExpr(IntExpr *expr, const PiecewiseLinearFunction &amp;f)</div><div class="ttdoc">General piecewise-linear function expression, built from f(x) where f is piecewise-linear.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a23b67374a08dfb275ebd9f084ff42567"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a23b67374a08dfb275ebd9f084ff42567">operations_research::Solver::GetConstraintSolverStatistics</a></div><div class="ttdeci">ConstraintSolverStatistics GetConstraintSolverStatistics() const</div><div class="ttdoc">Returns detailed cp search statistics.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a23edac56b118ef933e3ba15df9f91f92"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a23edac56b118ef933e3ba15df9f91f92">operations_research::Solver::MakeIsGreaterOrEqualCstVar</a></div><div class="ttdeci">IntVar * MakeIsGreaterOrEqualCstVar(IntExpr *const var, int64_t value)</div><div class="ttdoc">status var of (var &gt;= value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a244b2a437a5d33e9c08c747988c8f830"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a244b2a437a5d33e9c08c747988c8f830">operations_research::Solver::MakeNullIntersect</a></div><div class="ttdeci">Constraint * MakeNullIntersect(const std::vector&lt; IntVar * &gt; &amp;first_vars, const std::vector&lt; IntVar * &gt; &amp;second_vars)</div><div class="ttdoc">Creates a constraint that states that all variables in the first vector are different from all variab...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a24a066918bb2f03909edb814c90477ba"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a24a066918bb2f03909edb814c90477ba">operations_research::Solver::MakeIsLessOrEqualCstCt</a></div><div class="ttdeci">Constraint * MakeIsLessOrEqualCstCt(IntExpr *const var, int64_t value, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (var &lt;= value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a24b4b61a5f3c224f86354447abdccaa8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a24b4b61a5f3c224f86354447abdccaa8">operations_research::Solver::MakeStrictDisjunctiveConstraint</a></div><div class="ttdeci">DisjunctiveConstraint * MakeStrictDisjunctiveConstraint(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::string &amp;name)</div><div class="ttdoc">This constraint forces all interval vars into an non-overlapping sequence.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a251bbe8741707d92c5ff1fbf2ddcd51c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a251bbe8741707d92c5ff1fbf2ddcd51c">operations_research::Solver::MakeCumulative</a></div><div class="ttdeci">Constraint * MakeCumulative(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::vector&lt; IntVar * &gt; &amp;demands, IntVar *const capacity, const std::string &amp;name)</div><div class="ttdoc">This constraint enforces that, for any integer t, the sum of demands corresponding to an interval con...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2525395fcb7710c4a1ee0f8c53ab3ef6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2525395fcb7710c4a1ee0f8c53ab3ef6">operations_research::Solver::MakeEquality</a></div><div class="ttdeci">Constraint * MakeEquality(IntExpr *const expr, int64_t value)</div><div class="ttdoc">expr == value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a253ce358e3385b12c90e428df5e149e3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a253ce358e3385b12c90e428df5e149e3">operations_research::Solver::MakeIsGreaterVar</a></div><div class="ttdeci">IntVar * MakeIsGreaterVar(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">status var of (left &gt; right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2563992eba2a464bd9f4c56c7f894945"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2563992eba2a464bd9f4c56c7f894945">operations_research::Solver::GetLocalSearchStatistics</a></div><div class="ttdeci">LocalSearchStatistics GetLocalSearchStatistics() const</div><div class="ttdoc">Returns detailed local search statistics.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a259a4ee93238a1e426362cb830317a57"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a259a4ee93238a1e426362cb830317a57">operations_research::Solver::MakeMin</a></div><div class="ttdeci">IntExpr * MakeMin(const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">std::min(vars)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a25d18071297935ff4160442ae7c56c27"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a25d18071297935ff4160442ae7c56c27">operations_research::Solver::MakeLess</a></div><div class="ttdeci">Constraint * MakeLess(IntExpr *const expr, int value)</div><div class="ttdoc">expr &lt; value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a265f3eb309cb6e32df85fe08c0227b15"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a265f3eb309cb6e32df85fe08c0227b15">operations_research::Solver::MakeAssignVariablesValuesOrFail</a></div><div class="ttdeci">Decision * MakeAssignVariablesValuesOrFail(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;values)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a27c2d8bdabfef5fd7507993153c0f957"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a27c2d8bdabfef5fd7507993153c0f957">operations_research::Solver::MakeNonOverlappingBoxesConstraint</a></div><div class="ttdeci">Constraint * MakeNonOverlappingBoxesConstraint(const std::vector&lt; IntVar * &gt; &amp;x_vars, const std::vector&lt; IntVar * &gt; &amp;y_vars, const std::vector&lt; int64_t &gt; &amp;x_size, const std::vector&lt; int64_t &gt; &amp;y_size)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a280d7e65c4c7bf84c703fab2323aaa63"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a280d7e65c4c7bf84c703fab2323aaa63">operations_research::Solver::kNumPriorities</a></div><div class="ttdeci">static constexpr int kNumPriorities</div><div class="ttdoc">Number of priorities for demons.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00262">constraint_solver.h:262</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a293233c46e5eaa308f65c7c2350553f7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7">operations_research::Solver::DemonPriority</a></div><div class="ttdeci">DemonPriority</div><div class="ttdoc">This enum represents the three possible priorities for a demon in the Solver queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00605">constraint_solver.h:605</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5">operations_research::Solver::VAR_PRIORITY</a></div><div class="ttdeci">@ VAR_PRIORITY</div><div class="ttdoc">VAR_PRIORITY is between DELAYED_PRIORITY and NORMAL_PRIORITY.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00611">constraint_solver.h:611</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068">operations_research::Solver::DELAYED_PRIORITY</a></div><div class="ttdeci">@ DELAYED_PRIORITY</div><div class="ttdoc">DELAYED_PRIORITY is the lowest priority: Demons will be processed after VAR_PRIORITY and NORMAL_PRIOR...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00608">constraint_solver.h:608</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4">operations_research::Solver::NORMAL_PRIORITY</a></div><div class="ttdeci">@ NORMAL_PRIORITY</div><div class="ttdoc">NORMAL_PRIORITY is the highest priority: Demons will be processed first.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00614">constraint_solver.h:614</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2988304a57c8b68fdd6ea271259d0143"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2988304a57c8b68fdd6ea271259d0143">operations_research::Solver::MakeElementEquality</a></div><div class="ttdeci">Constraint * MakeElementEquality(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const index, IntVar *const target)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2a0b93a70f0d588f157ade7909c42eff"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2a0b93a70f0d588f157ade7909c42eff">operations_research::Solver::parameters</a></div><div class="ttdeci">ConstraintSolverParameters parameters() const</div><div class="ttdoc">Stored Parameters.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00763">constraint_solver.h:763</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2b761ab631609dadf6e6d06432853051"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2b761ab631609dadf6e6d06432853051">operations_research::Solver::MakeIndexOfFirstMinValueConstraint</a></div><div class="ttdeci">Constraint * MakeIndexOfFirstMinValueConstraint(IntVar *index, const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">Creates a constraint that binds the index variable to the index of the first variable with the minimu...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2c773c8b749ed6d7fa8f80f5725b443a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2c773c8b749ed6d7fa8f80f5725b443a">operations_research::Solver::MakeSymmetryManager</a></div><div class="ttdeci">SearchMonitor * MakeSymmetryManager(const std::vector&lt; SymmetryBreaker * &gt; &amp;visitors)</div><div class="ttdoc">Symmetry Breaking.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2d2160a1a9e905beac8c0b997d509327"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2d2160a1a9e905beac8c0b997d509327">operations_research::Solver::MakeLessOrEqual</a></div><div class="ttdeci">Constraint * MakeLessOrEqual(IntExpr *const expr, int64_t value)</div><div class="ttdoc">expr &lt;= value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2d2401b25fcb2cd3ba3a4b639bb57d4c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2d2401b25fcb2cd3ba3a4b639bb57d4c">operations_research::Solver::MakeNotMemberCt</a></div><div class="ttdeci">Constraint * MakeNotMemberCt(IntExpr *const expr, const std::vector&lt; int64_t &gt; &amp;values)</div><div class="ttdoc">expr not in set.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2d3c3e8cd9ba876f082fee6a773a86fc"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2d3c3e8cd9ba876f082fee6a773a86fc">operations_research::Solver::MakeLocalSearchPhaseParameters</a></div><div class="ttdeci">LocalSearchPhaseParameters * MakeLocalSearchPhaseParameters(IntVar *objective, SolutionPool *const pool, LocalSearchOperator *const ls_operator, DecisionBuilder *const sub_decision_builder, RegularLimit *const limit, LocalSearchFilterManager *filter_manager)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2d98d0213497868803af4120f7bdb082"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2d98d0213497868803af4120f7bdb082">operations_research::Solver::MakeTransitionConstraint</a></div><div class="ttdeci">Constraint * MakeTransitionConstraint(const std::vector&lt; IntVar * &gt; &amp;vars, const IntTupleSet &amp;transition_table, int64_t initial_state, const std::vector&lt; int &gt; &amp;final_states)</div><div class="ttdoc">This constraint create a finite automaton that will check the sequence of variables vars.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2db257565e3ee441110a73522333105e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2db257565e3ee441110a73522333105e">operations_research::Solver::MakeModulo</a></div><div class="ttdeci">IntExpr * MakeModulo(IntExpr *const x, IntExpr *const mod)</div><div class="ttdoc">Modulo expression x % mod (with the python convention for modulo).</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2ee0d33b0d5c5766692b503d6bf09323"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2ee0d33b0d5c5766692b503d6bf09323">operations_research::Solver::filtered_neighbors</a></div><div class="ttdeci">int64_t filtered_neighbors() const</div><div class="ttdoc">The number of filtered neighbors (neighbors accepted by filters).</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l01000">constraint_solver.h:1000</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2f2bea2202c96738b11b050e71a28e63"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63">operations_research::Solver::SolverState</a></div><div class="ttdeci">SolverState</div><div class="ttdoc">This enum represents the state of the solver w.r.t. the search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00716">constraint_solver.h:716</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650">operations_research::Solver::AT_SOLUTION</a></div><div class="ttdeci">@ AT_SOLUTION</div><div class="ttdoc">After successful NextSolution and before EndSearch.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00724">constraint_solver.h:724</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13">operations_research::Solver::PROBLEM_INFEASIBLE</a></div><div class="ttdeci">@ PROBLEM_INFEASIBLE</div><div class="ttdoc">After search, the model is infeasible.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00729">constraint_solver.h:728</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea">operations_research::Solver::OUTSIDE_SEARCH</a></div><div class="ttdeci">@ OUTSIDE_SEARCH</div><div class="ttdoc">Before search, after search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00718">constraint_solver.h:718</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351">operations_research::Solver::IN_ROOT_NODE</a></div><div class="ttdeci">@ IN_ROOT_NODE</div><div class="ttdoc">Executing the root node.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00720">constraint_solver.h:720</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5">operations_research::Solver::NO_MORE_SOLUTIONS</a></div><div class="ttdeci">@ NO_MORE_SOLUTIONS</div><div class="ttdoc">After failed NextSolution and before EndSearch.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00726">constraint_solver.h:726</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013">operations_research::Solver::IN_SEARCH</a></div><div class="ttdeci">@ IN_SEARCH</div><div class="ttdoc">Executing the search code.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00722">constraint_solver.h:722</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a2fff62e191cecd9c73a05eeb4d386914"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a2fff62e191cecd9c73a05eeb4d386914">operations_research::Solver::MakeAbsEquality</a></div><div class="ttdeci">Constraint * MakeAbsEquality(IntVar *const var, IntVar *const abs_var)</div><div class="ttdoc">Creates the constraint abs(var) == abs_var.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a30ee990a97865308994fb0a3b011a9f0"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a30ee990a97865308994fb0a3b011a9f0">operations_research::Solver::MakeNonEquality</a></div><div class="ttdeci">Constraint * MakeNonEquality(IntExpr *const expr, int value)</div><div class="ttdoc">expr != value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a314668fc29e10470b51994530769d1b0"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a314668fc29e10470b51994530769d1b0">operations_research::Solver::SearchContext</a></div><div class="ttdeci">std::string SearchContext() const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3178f78af15a506afea55c2f28b1e80a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3178f78af15a506afea55c2f28b1e80a">operations_research::Solver::demon_profiler</a></div><div class="ttdeci">DemonProfiler * demon_profiler() const</div><div class="ttdoc">Access to demon profiler.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02893">constraint_solver.h:2893</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a31b6ef7bff363d68d03eda8c9668e3e0"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a31b6ef7bff363d68d03eda8c9668e3e0">operations_research::Solver::CheckAssignment</a></div><div class="ttdeci">bool CheckAssignment(Assignment *const solution)</div><div class="ttdoc">Checks whether the given assignment satisfies all relevant constraints.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a31fb88446ef58b4621c5c89623c0d60d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a31fb88446ef58b4621c5c89623c0d60d">operations_research::Solver::IsProduct</a></div><div class="ttdeci">bool IsProduct(IntExpr *const expr, IntExpr **inner_expr, int64_t *coefficient)</div><div class="ttdoc">Returns true if expr represents a product of a expr and a constant.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a320ce6dcbd8f9f17cd5ae933dfefc51b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a320ce6dcbd8f9f17cd5ae933dfefc51b">operations_research::Solver::RegisterIntVar</a></div><div class="ttdeci">IntVar * RegisterIntVar(IntVar *const var)</div><div class="ttdoc">Registers a new IntVar and wraps it inside a TraceIntVar if necessary.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3216144f5779ad0022bd7a0421c858d7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3216144f5779ad0022bd7a0421c858d7">operations_research::Solver::EndSearch</a></div><div class="ttdeci">void EndSearch()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3240a820ac60b9152527d4dfdf5ce757"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3240a820ac60b9152527d4dfdf5ce757">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(IntVar *const v0, IntVar *const v1, IntVarStrategy var_str, IntValueStrategy val_str)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a332573b6f1f4a48e23907a8128d18b03"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a332573b6f1f4a48e23907a8128d18b03">operations_research::Solver::MakeLastSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeLastSolutionCollector(const Assignment *const assignment)</div><div class="ttdoc">Collect the last solution of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a339117ca4cc88d137549202c541e3ab7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a339117ca4cc88d137549202c541e3ab7">operations_research::Solver::MakeSolutionsLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT RegularLimit * MakeSolutionsLimit(int64_t solutions)</div><div class="ttdoc">Creates a search limit that constrains the number of solutions found during the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a341ffdcad6e944d8dbdda8db7bb85131"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a341ffdcad6e944d8dbdda8db7bb85131">operations_research::Solver::Try</a></div><div class="ttdeci">DecisionBuilder * Try(const std::vector&lt; DecisionBuilder * &gt; &amp;dbs)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a34419e55556ff4e92b447fe895bdb9c3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a34419e55556ff4e92b447fe895bdb9c3">operations_research::Solver::IntVar</a></div><div class="ttdeci">friend class IntVar</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02959">constraint_solver.h:2959</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3601d060ad17023f019375e9882ebf77"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3601d060ad17023f019375e9882ebf77">operations_research::Solver::ConcatenateOperators</a></div><div class="ttdeci">LocalSearchOperator * ConcatenateOperators(const std::vector&lt; LocalSearchOperator * &gt; &amp;ops, std::function&lt; int64_t(int, int)&gt; evaluator)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a372a74e1d5fc647d81a043b81075422d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a372a74e1d5fc647d81a043b81075422d">operations_research::Solver::Now</a></div><div class="ttdeci">absl::Time Now() const</div><div class="ttdoc">The 'absolute time' as seen by the solver.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a37f4cb0801309b89498ea22004c60f71"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a37f4cb0801309b89498ea22004c60f71">operations_research::Solver::MakeIsDifferentVar</a></div><div class="ttdeci">IntVar * MakeIsDifferentVar(IntExpr *const v1, IntExpr *const v2)</div><div class="ttdoc">status var of (v1 != v2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3882fe2a352a093187ede78f9e532035"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3882fe2a352a093187ede78f9e532035">operations_research::Solver::MakeMemberCt</a></div><div class="ttdeci">Constraint * MakeMemberCt(IntExpr *const expr, const std::vector&lt; int &gt; &amp;values)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a38dd8015b2a97716a49dd5be4695aeea"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a38dd8015b2a97716a49dd5be4695aeea">operations_research::Solver::MakeIsEqualVar</a></div><div class="ttdeci">IntVar * MakeIsEqualVar(IntExpr *const v1, IntExpr *v2)</div><div class="ttdoc">status var of (v1 == v2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a39757eedc8178cf992eb82aaf28df10c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a39757eedc8178cf992eb82aaf28df10c">operations_research::Solver::MakeConstraintAdder</a></div><div class="ttdeci">DecisionBuilder * MakeConstraintAdder(Constraint *const ct)</div><div class="ttdoc">Returns a decision builder that will add the given constraint to the model.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a399fa67037695a2651e9e9c49ec1e014"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a399fa67037695a2651e9e9c49ec1e014">operations_research::Solver::MakeCircuit</a></div><div class="ttdeci">Constraint * MakeCircuit(const std::vector&lt; IntVar * &gt; &amp;nexts)</div><div class="ttdoc">Force the &quot;nexts&quot; variable to create a complete Hamiltonian path.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a39a89fa3de66d68071c66a936f17fd2b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2b">operations_research::Solver::OptimizationDirection</a></div><div class="ttdeci">OptimizationDirection</div><div class="ttdoc">Optimization directions.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00732">constraint_solver.h:732</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a39a89fa3de66d68071c66a936f17fd2ba20ee926b0aa645b0e3badb5d5171d6e1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba20ee926b0aa645b0e3badb5d5171d6e1">operations_research::Solver::MAXIMIZATION</a></div><div class="ttdeci">@ MAXIMIZATION</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00732">constraint_solver.h:732</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a39a89fa3de66d68071c66a936f17fd2ba34d4bc092ef084ef376537320f95bc13"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba34d4bc092ef084ef376537320f95bc13">operations_research::Solver::MINIMIZATION</a></div><div class="ttdeci">@ MINIMIZATION</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00732">constraint_solver.h:732</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a39a89fa3de66d68071c66a936f17fd2ba759c34a99344306429e887634b2d688e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a39a89fa3de66d68071c66a936f17fd2ba759c34a99344306429e887634b2d688e">operations_research::Solver::NOT_SET</a></div><div class="ttdeci">@ NOT_SET</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00732">constraint_solver.h:732</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a39e788fb623ab65293219d67b75cab19"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a39e788fb623ab65293219d67b75cab19">operations_research::Solver::MakeCustomLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT SearchLimit * MakeCustomLimit(std::function&lt; bool()&gt; limiter)</div><div class="ttdoc">Callback-based search limit.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3a10eb2883b85176076010fb11d40ceb"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3a10eb2883b85176076010fb11d40ceb">operations_research::Solver::MemoryUsage</a></div><div class="ttdeci">static int64_t MemoryUsage()</div><div class="ttdoc">Current memory usage in bytes.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3a64940761b306c816e00e077906952f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952f">operations_research::Solver::IntervalStrategy</a></div><div class="ttdeci">IntervalStrategy</div><div class="ttdoc">This enum describes the straregy used to select the next interval variable and its value to be fixed.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00411">constraint_solver.h:411</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92">operations_research::Solver::INTERVAL_SET_TIMES_FORWARD</a></div><div class="ttdeci">@ INTERVAL_SET_TIMES_FORWARD</div><div class="ttdoc">Selects the variable with the lowest starting time of all variables, and fixes its starting time to t...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00418">constraint_solver.h:418</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c">operations_research::Solver::INTERVAL_SIMPLE</a></div><div class="ttdeci">@ INTERVAL_SIMPLE</div><div class="ttdoc">The simple is INTERVAL_SET_TIMES_FORWARD.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00415">constraint_solver.h:415</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831">operations_research::Solver::INTERVAL_SET_TIMES_BACKWARD</a></div><div class="ttdeci">@ INTERVAL_SET_TIMES_BACKWARD</div><div class="ttdoc">Selects the variable with the highest ending time of all variables, and fixes the ending time to this...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00422">constraint_solver.h:421</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3">operations_research::Solver::INTERVAL_DEFAULT</a></div><div class="ttdeci">@ INTERVAL_DEFAULT</div><div class="ttdoc">The default is INTERVAL_SET_TIMES_FORWARD.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00413">constraint_solver.h:413</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3acffe26a83237c5ff730b6ee4b81c94"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3acffe26a83237c5ff730b6ee4b81c94">operations_research::Solver::MakeGreater</a></div><div class="ttdeci">Constraint * MakeGreater(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left &gt; right</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3b2a6a82cd9f48e35d7927df60f823df"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3b2a6a82cd9f48e35d7927df60f823df">operations_research::Solver::MakePack</a></div><div class="ttdeci">Pack * MakePack(const std::vector&lt; IntVar * &gt; &amp;vars, int number_of_bins)</div><div class="ttdoc">This constraint packs all variables onto 'number_of_bins' variables.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3b8bde4dadfe1f1aed53ac24f4cdc94f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3b8bde4dadfe1f1aed53ac24f4cdc94f">operations_research::Solver::IndexEvaluator3</a></div><div class="ttdeci">std::function&lt; int64_t(int64_t, int64_t, int64_t)&gt; IndexEvaluator3</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00737">constraint_solver.h:737</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3b934552c233f02bdad3cad563141ba7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3b934552c233f02bdad3cad563141ba7">operations_research::Solver::MakeWeightedMinimize</a></div><div class="ttdeci">OptimizeVar * MakeWeightedMinimize(const std::vector&lt; IntVar * &gt; &amp;sub_objectives, const std::vector&lt; int &gt; &amp;weights, int64_t step)</div><div class="ttdoc">Creates a minimization weighted objective.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3c57f3559561d1a7616bbe881d7e79d3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3c57f3559561d1a7616bbe881d7e79d3">operations_research::Solver::GetOrCreateLocalSearchState</a></div><div class="ttdeci">Assignment * GetOrCreateLocalSearchState()</div><div class="ttdoc">Returns (or creates) an assignment representing the state of local search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3c94a0c37a23ce7ed226b75e0838e2f5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3c94a0c37a23ce7ed226b75e0838e2f5">operations_research::Solver::MakeLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT RegularLimit * MakeLimit(const RegularLimitParameters &amp;proto)</div><div class="ttdoc">Creates a search limit from its protobuf description.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3d05d3008622ca204bed218d30bdf414"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3d05d3008622ca204bed218d30bdf414">operations_research::Solver::MakeTabuSearch</a></div><div class="ttdeci">SearchMonitor * MakeTabuSearch(bool maximize, IntVar *const v, int64_t step, const std::vector&lt; IntVar * &gt; &amp;vars, int64_t keep_tenure, int64_t forbid_tenure, double tabu_factor)</div><div class="ttdoc">MetaHeuristics which try to get the search out of local optima.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3dbb98d0c2db9df4320ca55a33c805e3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3dbb98d0c2db9df4320ca55a33c805e3">operations_research::Solver::MakeOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeOperator(const std::vector&lt; IntVar * &gt; &amp;vars, IndexEvaluator3 evaluator, EvaluatorLocalSearchOperators op)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3dc3be2f47a73287c5edd7cf80beaa89"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3dc3be2f47a73287c5edd7cf80beaa89">operations_research::Solver::IsProfilingEnabled</a></div><div class="ttdeci">bool IsProfilingEnabled() const</div><div class="ttdoc">Returns whether we are profiling the solver.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3f0e3322d5ae085dc9958c4fd5329918"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3f0e3322d5ae085dc9958c4fd5329918">operations_research::Solver::MakeActionDemon</a></div><div class="ttdeci">Demon * MakeActionDemon(Action action)</div><div class="ttdoc">Creates a demon from a callback.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3fd66f0e4b32c3ea2ec08750c91ac9df"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3fd66f0e4b32c3ea2ec08750c91ac9df">operations_research::Solver::MakeNestedOptimize</a></div><div class="ttdeci">DecisionBuilder * MakeNestedOptimize(DecisionBuilder *const db, Assignment *const solution, bool maximize, int64_t step)</div><div class="ttdoc">NestedOptimize will collapse a search tree described by a decision builder 'db' and a set of monitors...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a3ffb0fce7364b43d73556c79ffce1a89"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a3ffb0fce7364b43d73556c79ffce1a89">operations_research::Solver::Try</a></div><div class="ttdeci">DecisionBuilder * Try(DecisionBuilder *const db1, DecisionBuilder *const db2)</div><div class="ttdoc">Creates a decision builder which will create a search tree where each decision builder is called from...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a41bc583e647b18a0b71d07859581e640"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a41bc583e647b18a0b71d07859581e640">operations_research::Solver::MakeLexicalLess</a></div><div class="ttdeci">Constraint * MakeLexicalLess(const std::vector&lt; IntVar * &gt; &amp;left, const std::vector&lt; IntVar * &gt; &amp;right)</div><div class="ttdoc">Creates a constraint that enforces that left is lexicographically less than right.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a42055bf5670c2272eaa5ac6cbf984fe9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a42055bf5670c2272eaa5ac6cbf984fe9">operations_research::Solver::MakeTimeLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT RegularLimit * MakeTimeLimit(int64_t time_in_ms)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02209">constraint_solver.h:2209</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4223e4103350cabed61ec52fdf1fc86f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4223e4103350cabed61ec52fdf1fc86f">operations_research::Solver::demon_runs</a></div><div class="ttdeci">int64_t demon_runs(DemonPriority p) const</div><div class="ttdoc">The number of demons executed during search for a given priority.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00991">constraint_solver.h:991</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4260a3ba3644fec332cd650e2d3c9f68"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4260a3ba3644fec332cd650e2d3c9f68">operations_research::Solver::AddPropagationMonitor</a></div><div class="ttdeci">void AddPropagationMonitor(PropagationMonitor *const monitor)</div><div class="ttdoc">Adds the propagation monitor to the solver.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a42aa9b19e7f196e8ae5d94a192f132d5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a42aa9b19e7f196e8ae5d94a192f132d5">operations_research::Solver::MakeElementEquality</a></div><div class="ttdeci">Constraint * MakeElementEquality(const std::vector&lt; int64_t &gt; &amp;vals, IntVar *const index, IntVar *const target)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a437898bf331c10bc446010c5ef61fe93"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a437898bf331c10bc446010c5ef61fe93">operations_research::Solver::MakeScalProdEquality</a></div><div class="ttdeci">Constraint * MakeScalProdEquality(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;coefficients, int64_t cst)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a43a6dc7053a01035ce1599d50d823b7c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a43a6dc7053a01035ce1599d50d823b7c">operations_research::Solver::MakeIsLessCstVar</a></div><div class="ttdeci">IntVar * MakeIsLessCstVar(IntExpr *const var, int64_t value)</div><div class="ttdoc">status var of (var &lt; value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4430185c4d311256c66b138010008552"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4430185c4d311256c66b138010008552">operations_research::Solver::MakeMaximize</a></div><div class="ttdeci">OptimizeVar * MakeMaximize(IntVar *const v, int64_t step)</div><div class="ttdoc">Creates a maximization objective.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a44df25a1775b3d0f19f70bdf00c99727"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a44df25a1775b3d0f19f70bdf00c99727">operations_research::Solver::MakeSearchLog</a></div><div class="ttdeci">SearchMonitor * MakeSearchLog(int branch_period)</div><div class="ttdoc">The SearchMonitors below will display a periodic search log on LOG(INFO) every branch_period branches...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a454d82afd3f209d01ee2b69290fc8bf7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a454d82afd3f209d01ee2b69290fc8bf7">operations_research::Solver::MakeNonOverlappingNonStrictBoxesConstraint</a></div><div class="ttdeci">Constraint * MakeNonOverlappingNonStrictBoxesConstraint(const std::vector&lt; IntVar * &gt; &amp;x_vars, const std::vector&lt; IntVar * &gt; &amp;y_vars, const std::vector&lt; int64_t &gt; &amp;x_size, const std::vector&lt; int64_t &gt; &amp;y_size)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">operations_research::Solver::IntValueStrategy</a></div><div class="ttdeci">IntValueStrategy</div><div class="ttdoc">This enum describes the strategy used to select the next variable value to set.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00347">constraint_solver.h:347</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e">operations_research::Solver::INT_VALUE_SIMPLE</a></div><div class="ttdeci">@ INT_VALUE_SIMPLE</div><div class="ttdoc">The simple selection is ASSIGN_MIN_VALUE.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00352">constraint_solver.h:352</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173">operations_research::Solver::ASSIGN_CENTER_VALUE</a></div><div class="ttdeci">@ ASSIGN_CENTER_VALUE</div><div class="ttdoc">Selects the first possible value which is the closest to the center of the domain of the selected var...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00366">constraint_solver.h:366</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45">operations_research::Solver::SPLIT_UPPER_HALF</a></div><div class="ttdeci">@ SPLIT_UPPER_HALF</div><div class="ttdoc">Split the domain in two around the center, and choose the lower part first.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00374">constraint_solver.h:374</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886">operations_research::Solver::ASSIGN_MIN_VALUE</a></div><div class="ttdeci">@ ASSIGN_MIN_VALUE</div><div class="ttdoc">Selects the min value of the selected variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00355">constraint_solver.h:355</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2">operations_research::Solver::ASSIGN_RANDOM_VALUE</a></div><div class="ttdeci">@ ASSIGN_RANDOM_VALUE</div><div class="ttdoc">Selects randomly one of the possible values of the selected variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00361">constraint_solver.h:361</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291">operations_research::Solver::INT_VALUE_DEFAULT</a></div><div class="ttdeci">@ INT_VALUE_DEFAULT</div><div class="ttdoc">The default behavior is ASSIGN_MIN_VALUE.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00349">constraint_solver.h:349</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0">operations_research::Solver::ASSIGN_MAX_VALUE</a></div><div class="ttdeci">@ ASSIGN_MAX_VALUE</div><div class="ttdoc">Selects the max value of the selected variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00358">constraint_solver.h:358</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25">operations_research::Solver::SPLIT_LOWER_HALF</a></div><div class="ttdeci">@ SPLIT_LOWER_HALF</div><div class="ttdoc">Split the domain in two around the center, and choose the lower part first.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00370">constraint_solver.h:370</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a45e165985c73422b6215e2c303e65125"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a45e165985c73422b6215e2c303e65125">operations_research::Solver::MakeEquality</a></div><div class="ttdeci">Constraint * MakeEquality(IntExpr *const expr, int value)</div><div class="ttdoc">expr == value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46ad005bf538f19f4f1a45b357561be9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9">operations_research::Solver::UnaryIntervalRelation</a></div><div class="ttdeci">UnaryIntervalRelation</div><div class="ttdoc">This enum is used in Solver::MakeIntervalVarRelation to specify the temporal relation between an inte...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00652">constraint_solver.h:652</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430">operations_research::Solver::ENDS_BEFORE</a></div><div class="ttdeci">@ ENDS_BEFORE</div><div class="ttdoc">t ends before d, i.e. End(t) &lt;= d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00660">constraint_solver.h:660</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4">operations_research::Solver::AVOID_DATE</a></div><div class="ttdeci">@ AVOID_DATE</div><div class="ttdoc">STARTS_AFTER or ENDS_BEFORE, i.e.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00680">constraint_solver.h:679</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1">operations_research::Solver::ENDS_AFTER</a></div><div class="ttdeci">@ ENDS_AFTER</div><div class="ttdoc">t ends after d, i.e. End(t) &gt;= d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00654">constraint_solver.h:654</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131">operations_research::Solver::STARTS_BEFORE</a></div><div class="ttdeci">@ STARTS_BEFORE</div><div class="ttdoc">t starts before d, i.e. Start(t) &lt;= d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00669">constraint_solver.h:669</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac">operations_research::Solver::STARTS_AT</a></div><div class="ttdeci">@ STARTS_AT</div><div class="ttdoc">t starts at d, i.e. Start(t) == d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00666">constraint_solver.h:666</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6">operations_research::Solver::ENDS_AT</a></div><div class="ttdeci">@ ENDS_AT</div><div class="ttdoc">t ends at d, i.e. End(t) == d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00657">constraint_solver.h:657</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020">operations_research::Solver::STARTS_AFTER</a></div><div class="ttdeci">@ STARTS_AFTER</div><div class="ttdoc">t starts after d, i.e. Start(t) &gt;= d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00663">constraint_solver.h:663</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9">operations_research::Solver::CROSS_DATE</a></div><div class="ttdeci">@ CROSS_DATE</div><div class="ttdoc">STARTS_BEFORE and ENDS_AFTER at the same time, i.e.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00674">constraint_solver.h:674</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a46d06186cf102695501bfc59cf790877"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a46d06186cf102695501bfc59cf790877">operations_research::Solver::MakeDelayedPathCumul</a></div><div class="ttdeci">Constraint * MakeDelayedPathCumul(const std::vector&lt; IntVar * &gt; &amp;nexts, const std::vector&lt; IntVar * &gt; &amp;active, const std::vector&lt; IntVar * &gt; &amp;cumuls, const std::vector&lt; IntVar * &gt; &amp;transits)</div><div class="ttdoc">Delayed version of the same constraint: propagation on the nexts variables is delayed until all const...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a47dfc6f2bc0d50a6e7c92eb00d97b064"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a47dfc6f2bc0d50a6e7c92eb00d97b064">operations_research::Solver::Queue</a></div><div class="ttdeci">friend class Queue</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02961">constraint_solver.h:2961</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a483098cee8f04c87368cd05674dda9df"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a483098cee8f04c87368cd05674dda9df">operations_research::Solver::CheckConstraint</a></div><div class="ttdeci">bool CheckConstraint(Constraint *const ct)</div><div class="ttdoc">Checks whether adding this constraint will lead to an immediate failure.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a495aac6fec0fd7a6780cde3fc6128fdc"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a495aac6fec0fd7a6780cde3fc6128fdc">operations_research::Solver::MakeIntVar</a></div><div class="ttdeci">IntVar * MakeIntVar(int64_t min, int64_t max, const std::string &amp;name)</div><div class="ttdoc">MakeIntVar will create the best range based int var for the bounds given.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a49794b120249479c29e4539c1af980e7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a49794b120249479c29e4539c1af980e7">operations_research::Solver::MakeScalProdLessOrEqual</a></div><div class="ttdeci">Constraint * MakeScalProdLessOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;coefficients, int64_t cst)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4a279756d1bcfa51f40d5fc8e299abab"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4a279756d1bcfa51f40d5fc8e299abab">operations_research::Solver::MakeCover</a></div><div class="ttdeci">Constraint * MakeCover(const std::vector&lt; IntervalVar * &gt; &amp;vars, IntervalVar *const target_var)</div><div class="ttdoc">This constraint states that the target_var is the convex hull of the intervals.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4a54531bd135948e0c2a039b4435d952"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4a54531bd135948e0c2a039b4435d952">operations_research::Solver::SetSearchContext</a></div><div class="ttdeci">void SetSearchContext(Search *search, const std::string &amp;search_context)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4a5546435af7a4dea113f2b12dfa1f84"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4a5546435af7a4dea113f2b12dfa1f84">operations_research::Solver::MakeIntConst</a></div><div class="ttdeci">IntVar * MakeIntConst(int64_t val)</div><div class="ttdoc">IntConst will create a constant expression.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4aeaec72a903164b4a7935c062e36a09"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4aeaec72a903164b4a7935c062e36a09">operations_research::Solver::SolveAndCommit</a></div><div class="ttdeci">bool SolveAndCommit(DecisionBuilder *const db, SearchMonitor *const m1, SearchMonitor *const m2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4b2df6b7cf1af454ded80e5ec44b800b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4b2df6b7cf1af454ded80e5ec44b800b">operations_research::Solver::MakeSearchLog</a></div><div class="ttdeci">SearchMonitor * MakeSearchLog(int branch_period, std::function&lt; std::string()&gt; display_callback)</div><div class="ttdoc">At each solution, this monitor will also display result of display_callback.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4c9becfde92b690d0869a3127fc34126"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4c9becfde92b690d0869a3127fc34126">operations_research::Solver::MakeBoolVarArray</a></div><div class="ttdeci">IntVar ** MakeBoolVarArray(int var_count, const std::string &amp;name)</div><div class="ttdoc">Same but allocates an array and returns it.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4cc78f60d4b904542e2ce25ba888584e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4cc78f60d4b904542e2ce25ba888584e">operations_research::Solver::Solve</a></div><div class="ttdeci">bool Solve(DecisionBuilder *const db, SearchMonitor *const m1, SearchMonitor *const m2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4cf87e35d556505a51b0e502f8e30a73"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4cf87e35d556505a51b0e502f8e30a73">operations_research::Solver::VariableIndexSelector</a></div><div class="ttdeci">std::function&lt; int64_t(Solver *solver, const std::vector&lt; IntVar * &gt; &amp;vars, int64_t first_unbound, int64_t last_unbound)&gt; VariableIndexSelector</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00746">constraint_solver.h:746</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4d481dbddb391e50b458acf586d8ccbd"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4d481dbddb391e50b458acf586d8ccbd">operations_research::Solver::MakeIntVarArray</a></div><div class="ttdeci">void MakeIntVarArray(int var_count, int64_t vmin, int64_t vmax, const std::string &amp;name, std::vector&lt; IntVar * &gt; *vars)</div><div class="ttdoc">This method will append the vector vars with 'var_count' variables having bounds vmin and vmax and ha...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4d94925b21a62f9e9ecba91d4783b30d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4d94925b21a62f9e9ecba91d4783b30d">operations_research::Solver::MakeMemberCt</a></div><div class="ttdeci">Constraint * MakeMemberCt(IntExpr *const expr, const std::vector&lt; int64_t &gt; &amp;values)</div><div class="ttdoc">expr in set.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4ddadd35d3227ee3f1216b9d7129227f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4ddadd35d3227ee3f1216b9d7129227f">operations_research::Solver::MakeNonOverlappingBoxesConstraint</a></div><div class="ttdeci">Constraint * MakeNonOverlappingBoxesConstraint(const std::vector&lt; IntVar * &gt; &amp;x_vars, const std::vector&lt; IntVar * &gt; &amp;y_vars, const std::vector&lt; IntVar * &gt; &amp;x_size, const std::vector&lt; IntVar * &gt; &amp;y_size)</div><div class="ttdoc">This constraint states that all the boxes must not overlap.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4de855c905df4a729715972dc39997a4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4de855c905df4a729715972dc39997a4">operations_research::Solver::TopPeriodicCheck</a></div><div class="ttdeci">void TopPeriodicCheck()</div><div class="ttdoc">Performs PeriodicCheck on the top-level search; for instance, can be called from a nested solve to ch...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4ec960bcf67cfb15b00f95884425713b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4ec960bcf67cfb15b00f95884425713b">operations_research::Solver::MakeLocalSearchPhase</a></div><div class="ttdeci">DecisionBuilder * MakeLocalSearchPhase(const std::vector&lt; IntVar * &gt; &amp;vars, DecisionBuilder *const first_solution, DecisionBuilder *const first_solution_sub_decision_builder, LocalSearchPhaseParameters *const parameters)</div><div class="ttdoc">Variant with a sub_decison_builder specific to the first solution.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a4fed63f576ec3fe7a25a5a0341537480"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a4fed63f576ec3fe7a25a5a0341537480">operations_research::Solver::MakeFixedDurationIntervalVarArray</a></div><div class="ttdeci">void MakeFixedDurationIntervalVarArray(const std::vector&lt; IntVar * &gt; &amp;start_variables, const std::vector&lt; int &gt; &amp;durations, const std::vector&lt; IntVar * &gt; &amp;performed_variables, const std::string &amp;name, std::vector&lt; IntervalVar * &gt; *const array)</div><div class="ttdoc">This method fills the vector with interval variables built with the corresponding start and performed...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a508bc1c932fca0619b340e90d26e9fc7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a508bc1c932fca0619b340e90d26e9fc7">operations_research::Solver::Rand64</a></div><div class="ttdeci">int64_t Rand64(int64_t size)</div><div class="ttdoc">Returns a random value between 0 and 'size' - 1;.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02841">constraint_solver.h:2841</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a50abbcc8065d8edb6d4bd2d7362c736a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a50abbcc8065d8edb6d4bd2d7362c736a">operations_research::Solver::MakeApplyBranchSelector</a></div><div class="ttdeci">DecisionBuilder * MakeApplyBranchSelector(BranchSelector bs)</div><div class="ttdoc">Creates a decision builder that will set the branch selector.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5273d9884b017bc280ce67c427927211"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5273d9884b017bc280ce67c427927211">operations_research::Solver::MakeLocalSearchPhaseParameters</a></div><div class="ttdeci">LocalSearchPhaseParameters * MakeLocalSearchPhaseParameters(IntVar *objective, SolutionPool *const pool, LocalSearchOperator *const ls_operator, DecisionBuilder *const sub_decision_builder)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a527c9139e9c7a67de20f23ae85f40461"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a527c9139e9c7a67de20f23ae85f40461">operations_research::Solver::MakeNotBetweenCt</a></div><div class="ttdeci">Constraint * MakeNotBetweenCt(IntExpr *const expr, int64_t l, int64_t u)</div><div class="ttdoc">(expr &lt; l || expr &gt; u) This constraint is lazy as it will not make holes in the domain of variables.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a537af2f859a1a28f1cfba78504b01b10"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a537af2f859a1a28f1cfba78504b01b10">operations_research::Solver::MakeDiv</a></div><div class="ttdeci">IntExpr * MakeDiv(IntExpr *const numerator, IntExpr *const denominator)</div><div class="ttdoc">numerator / denominator (integer division). Terms need to be positive.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a53da2948c0da1854a0e46dc47913bdf6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a53da2948c0da1854a0e46dc47913bdf6">operations_research::Solver::MakeSymmetryManager</a></div><div class="ttdeci">SearchMonitor * MakeSymmetryManager(SymmetryBreaker *const v1, SymmetryBreaker *const v2, SymmetryBreaker *const v3)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a55d833360c375d45a3c503437de9841c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">operations_research::Solver::IndexEvaluator2</a></div><div class="ttdeci">std::function&lt; int64_t(int64_t, int64_t)&gt; IndexEvaluator2</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00736">constraint_solver.h:736</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5610f093f1d8b485f33bd1884e396015"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5610f093f1d8b485f33bd1884e396015">operations_research::Solver::MakeSearchLog</a></div><div class="ttdeci">SearchMonitor * MakeSearchLog(int branch_period, IntVar *var, std::function&lt; std::string()&gt; display_callback)</div><div class="ttdoc">At each solution, this monitor will display the 'var' value and the result of display_callback.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a566dc7c3dba8bbcfa3a2e3f34b1acdfe"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a566dc7c3dba8bbcfa3a2e3f34b1acdfe">operations_research::Solver::MakePathTransitPrecedenceConstraint</a></div><div class="ttdeci">Constraint * MakePathTransitPrecedenceConstraint(std::vector&lt; IntVar * &gt; nexts, std::vector&lt; IntVar * &gt; transits, const std::vector&lt; std::pair&lt; int, int &gt; &gt; &amp;precedences)</div><div class="ttdoc">Same as MakePathPrecedenceConstraint but will force i to be before j if the sum of transits on the pa...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5672241cc0faf1be50826c7795320cac"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5672241cc0faf1be50826c7795320cac">operations_research::Solver::SetUseFastLocalSearch</a></div><div class="ttdeci">void SetUseFastLocalSearch(bool use_fast_local_search)</div><div class="ttdoc">enabled for metaheuristics.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02897">constraint_solver.h:2897</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a56d3301a8504e69e51c16d3d98079e5f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a56d3301a8504e69e51c16d3d98079e5f">operations_research::Solver::MakeAssignVariableValue</a></div><div class="ttdeci">Decision * MakeAssignVariableValue(IntVar *const var, int64_t val)</div><div class="ttdoc">Decisions.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a56e2e5cebd866f391c08575b1e68bfa9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a56e2e5cebd866f391c08575b1e68bfa9">operations_research::Solver::MakeIntervalRelaxedMin</a></div><div class="ttdeci">IntervalVar * MakeIntervalRelaxedMin(IntervalVar *const interval_var)</div><div class="ttdoc">Creates and returns an interval variable that wraps around the given one, relaxing the min start and ...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5701706ae773c6626d2f0b79892e61d9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5701706ae773c6626d2f0b79892e61d9">operations_research::Solver::MakeNotMemberCt</a></div><div class="ttdeci">Constraint * MakeNotMemberCt(IntExpr *const expr, const std::vector&lt; int &gt; &amp;values)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a570953e1557ce3248a4c0323879ea021"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a570953e1557ce3248a4c0323879ea021">operations_research::Solver::MakeMinimize</a></div><div class="ttdeci">OptimizeVar * MakeMinimize(IntVar *const v, int64_t step)</div><div class="ttdoc">Creates a minimization objective.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5817205b496242838ae749efe532f8e1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5817205b496242838ae749efe532f8e1">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntervalVar * &gt; &amp;intervals, IntervalStrategy str)</div><div class="ttdoc">Scheduling phases.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a59234ab632db0df159df6a15f32d904a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a59234ab632db0df159df6a15f32d904a">operations_research::Solver::MakeClosureDemon</a></div><div class="ttdeci">Demon * MakeClosureDemon(Closure closure)</div><div class="ttdoc">!defined(SWIG)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5931080c9bfda8dedfef0e3adf313ab3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5931080c9bfda8dedfef0e3adf313ab3">operations_research::Solver::AddConstraint</a></div><div class="ttdeci">void AddConstraint(Constraint *const c)</div><div class="ttdoc">Adds the constraint 'c' to the model.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5a025adefdc10aafc0503ca7d0b2f628"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5a025adefdc10aafc0503ca7d0b2f628">operations_research::Solver::MakeAssignVariablesValues</a></div><div class="ttdeci">Decision * MakeAssignVariablesValues(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;values)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5a9c12ebe393f97a8e32b7554f27d200"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5a9c12ebe393f97a8e32b7554f27d200">operations_research::Solver::NewSearch</a></div><div class="ttdeci">void NewSearch(DecisionBuilder *const db, SearchMonitor *const m1)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5ab1471e27355b524a9a50b8e8386717"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5ab1471e27355b524a9a50b8e8386717">operations_research::Solver::MakeAllDifferent</a></div><div class="ttdeci">Constraint * MakeAllDifferent(const std::vector&lt; IntVar * &gt; &amp;vars, bool stronger_propagation)</div><div class="ttdoc">All variables are pairwise different.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5afecd416b70bdf535a69119e4ffd271"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5afecd416b70bdf535a69119e4ffd271">operations_research::Solver::MakeSolveOnce</a></div><div class="ttdeci">DecisionBuilder * MakeSolveOnce(DecisionBuilder *const db)</div><div class="ttdoc">SolveOnce will collapse a search tree described by a decision builder 'db' and a set of monitors and ...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5b65e631181f40eedd7afba46116fa66"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5b65e631181f40eedd7afba46116fa66">operations_research::Solver::ConcatenateOperators</a></div><div class="ttdeci">LocalSearchOperator * ConcatenateOperators(const std::vector&lt; LocalSearchOperator * &gt; &amp;ops)</div><div class="ttdoc">Creates a local search operator which concatenates a vector of operators.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5b9158014841db28425c3fe68700af22"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5b9158014841db28425c3fe68700af22">operations_research::Solver::MakeRejectFilter</a></div><div class="ttdeci">LocalSearchFilter * MakeRejectFilter()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5bbf63eac923815ac22af3f55e4ff081"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5bbf63eac923815ac22af3f55e4ff081">operations_research::Solver::MakePathPrecedenceConstraint</a></div><div class="ttdeci">Constraint * MakePathPrecedenceConstraint(std::vector&lt; IntVar * &gt; nexts, const std::vector&lt; std::pair&lt; int, int &gt; &gt; &amp;precedences, const std::vector&lt; int &gt; &amp;lifo_path_starts, const std::vector&lt; int &gt; &amp;fifo_path_starts)</div><div class="ttdoc">Same as MakePathPrecedenceConstraint but ensures precedence pairs on some paths follow a LIFO or FIFO...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5cb4f284364b6aa084c48de17678399a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5cb4f284364b6aa084c48de17678399a">operations_research::Solver::MakeScalProdEquality</a></div><div class="ttdeci">Constraint * MakeScalProdEquality(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;coefficients, IntVar *const target)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5d55c6d88841a24a6475f2b8a0da2dd5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5d55c6d88841a24a6475f2b8a0da2dd5">operations_research::Solver::MakeElement</a></div><div class="ttdeci">IntExpr * MakeElement(const std::vector&lt; int &gt; &amp;values, IntVar *const index)</div><div class="ttdoc">values[index]</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5d8d56f97ecfa5148d9073ea4e7a09b6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5d8d56f97ecfa5148d9073ea4e7a09b6">operations_research::Solver::MakeNotMemberCt</a></div><div class="ttdeci">Constraint * MakeNotMemberCt(IntExpr *expr, SortedDisjointIntervalList intervals)</div><div class="ttdoc">expr should not be in the list of forbidden intervals.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5e54eba1e518ddf9e0ab35dcd8e65ddc"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5e54eba1e518ddf9e0ab35dcd8e65ddc">operations_research::Solver::MakeIsEqualCstCt</a></div><div class="ttdeci">Constraint * MakeIsEqualCstCt(IntExpr *const var, int64_t value, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (var == value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5eb867095eedbb05c137aae7aac299de"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5eb867095eedbb05c137aae7aac299de">operations_research::Solver::MakeAcceptFilter</a></div><div class="ttdeci">LocalSearchFilter * MakeAcceptFilter()</div><div class="ttdoc">Local Search Filters.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5ef4ab44aa4a6cf4ee035f51cb651b03"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5ef4ab44aa4a6cf4ee035f51cb651b03">operations_research::Solver::MakeNestedOptimize</a></div><div class="ttdeci">DecisionBuilder * MakeNestedOptimize(DecisionBuilder *const db, Assignment *const solution, bool maximize, int64_t step, SearchMonitor *const monitor1, SearchMonitor *const monitor2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5f81409b337b1aeb8488ae9d828e5df9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5f81409b337b1aeb8488ae9d828e5df9">operations_research::Solver::Solve</a></div><div class="ttdeci">bool Solve(DecisionBuilder *const db)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5fb7049e95ce9c6914c8d57c4ce29266"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5fb7049e95ce9c6914c8d57c4ce29266">operations_research::Solver::MakeGuidedLocalSearch</a></div><div class="ttdeci">SearchMonitor * MakeGuidedLocalSearch(bool maximize, IntVar *const objective, IndexEvaluator2 objective_function, int64_t step, const std::vector&lt; IntVar * &gt; &amp;vars, double penalty_factor)</div><div class="ttdoc">Creates a Guided Local Search monitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a5fc2de1ecfafccc86f4e5f4ac74f286d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a5fc2de1ecfafccc86f4e5f4ac74f286d">operations_research::Solver::MakeSearchLog</a></div><div class="ttdeci">SearchMonitor * MakeSearchLog(int branch_period, IntVar *const var)</div><div class="ttdoc">At each solution, this monitor also display the var value.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a60127c548cf811a3b54240d6b039c5ea"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a60127c548cf811a3b54240d6b039c5ea">operations_research::Solver::MakeOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeOperator(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; IntVar * &gt; &amp;secondary_vars, LocalSearchOperators op)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a607c2a1c721c5ca1d2399a13e619e2cd"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a607c2a1c721c5ca1d2399a13e619e2cd">operations_research::Solver::MakeElement</a></div><div class="ttdeci">IntExpr * MakeElement(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const index)</div><div class="ttdoc">vars[expr]</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a609ad11d842b8b7b4a8b0d2028818d31"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a609ad11d842b8b7b4a8b0d2028818d31">operations_research::Solver::MakeRandomLnsOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeRandomLnsOperator(const std::vector&lt; IntVar * &gt; &amp;vars, int number_of_variables)</div><div class="ttdoc">Creates a large neighborhood search operator which creates fragments (set of relaxed variables) with ...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a60e6ac9afd6d3ed6a2a2d972165fee1f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a60e6ac9afd6d3ed6a2a2d972165fee1f">operations_research::Solver::Solve</a></div><div class="ttdeci">bool Solve(DecisionBuilder *const db, SearchMonitor *const m1)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6129ea627a9a40fc21ddc24914cc6958"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6129ea627a9a40fc21ddc24914cc6958">operations_research::Solver::wall_time</a></div><div class="ttdeci">int64_t wall_time() const</div><div class="ttdoc">DEPRECATED: Use Now() instead.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6188d0df45262d3176058485c7f47995"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6188d0df45262d3176058485c7f47995">operations_research::Solver::IndexFilter1</a></div><div class="ttdeci">std::function&lt; bool(int64_t)&gt; IndexFilter1</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00739">constraint_solver.h:739</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a621ee0adf3f4bfe542791a29e674f010"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a621ee0adf3f4bfe542791a29e674f010">operations_research::Solver::Compose</a></div><div class="ttdeci">DecisionBuilder * Compose(DecisionBuilder *const db1, DecisionBuilder *const db2, DecisionBuilder *const db3)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a622500a4c7e11bbc4b8a5e5de2c84f13"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a622500a4c7e11bbc4b8a5e5de2c84f13">operations_research::Solver::LocalSearchProfiler</a></div><div class="ttdeci">friend class LocalSearchProfiler</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02965">constraint_solver.h:2965</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a626142a335c69b8aefa24c5082033c7b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a626142a335c69b8aefa24c5082033c7b">operations_research::Solver::MakeIsLessCt</a></div><div class="ttdeci">Constraint * MakeIsLessCt(IntExpr *const left, IntExpr *const right, IntVar *const b)</div><div class="ttdoc">b == (left &lt; right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a62dca63c6e5610d51dc8c3abe6227747"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a62dca63c6e5610d51dc8c3abe6227747">operations_research::Solver::MakeDisjunctiveConstraint</a></div><div class="ttdeci">DisjunctiveConstraint * MakeDisjunctiveConstraint(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::string &amp;name)</div><div class="ttdoc">This constraint forces all interval vars into an non-overlapping sequence.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a62fe7b551b92c5417f9b7f2116cac2f3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a62fe7b551b92c5417f9b7f2116cac2f3">operations_research::Solver::MakeWeightedMaximize</a></div><div class="ttdeci">OptimizeVar * MakeWeightedMaximize(const std::vector&lt; IntVar * &gt; &amp;sub_objectives, const std::vector&lt; int64_t &gt; &amp;weights, int64_t step)</div><div class="ttdoc">Creates a maximization weigthed objective.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a635a8438145d7e0816bc025c24f6e90d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a635a8438145d7e0816bc025c24f6e90d">operations_research::Solver::MakeGreater</a></div><div class="ttdeci">Constraint * MakeGreater(IntExpr *const expr, int value)</div><div class="ttdoc">expr &gt; value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a63d7a3444090331f668a230b22f1948b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a63d7a3444090331f668a230b22f1948b">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IndexEvaluator1 var_evaluator, IndexEvaluator2 value_evaluator, IndexEvaluator1 tie_breaker)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a64e3df5cecd4de1a3d052795458f7069"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a64e3df5cecd4de1a3d052795458f7069">operations_research::Solver::ShouldFail</a></div><div class="ttdeci">void ShouldFail()</div><div class="ttdoc">These methods are only useful for the SWIG wrappers, which need a way to externally cause the Solver ...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02999">constraint_solver.h:2999</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a64fa7c2277f0a6228151a96403d1ed1c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a64fa7c2277f0a6228151a96403d1ed1c">operations_research::Solver::MakeScalProdEquality</a></div><div class="ttdeci">Constraint * MakeScalProdEquality(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;coefficients, IntVar *const target)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a657ccc52a96d58f8c0e8eedc204952fb"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a657ccc52a96d58f8c0e8eedc204952fb">operations_research::Solver::SearchDepth</a></div><div class="ttdeci">int SearchDepth() const</div><div class="ttdoc">Gets the search depth of the current active search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a65ef9e909e5d6b35ad9d9ff1b97a7916"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a65ef9e909e5d6b35ad9d9ff1b97a7916">operations_research::Solver::MakeSumGreaterOrEqual</a></div><div class="ttdeci">Constraint * MakeSumGreaterOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, int64_t cst)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a670dc3b46b8bc19cf07a7b90076aca5c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a670dc3b46b8bc19cf07a7b90076aca5c">operations_research::Solver::MakeSolveOnce</a></div><div class="ttdeci">DecisionBuilder * MakeSolveOnce(DecisionBuilder *const db, SearchMonitor *const monitor1, SearchMonitor *const monitor2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a675126cd5199cc7e815e9db86be0c471"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a675126cd5199cc7e815e9db86be0c471">operations_research::Solver::unchecked_solutions</a></div><div class="ttdeci">int64_t unchecked_solutions() const</div><div class="ttdoc">The number of unchecked solutions found by local search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a675d33a9ef9aa399017fb68e652c7a5c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a675d33a9ef9aa399017fb68e652c7a5c">operations_research::Solver::SaveAndSetValue</a></div><div class="ttdeci">void SaveAndSetValue(T *adr, T val)</div><div class="ttdoc">All-in-one SaveAndSetValue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02824">constraint_solver.h:2824</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a67f24dec948277b4e908f49f8c3c8909"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a67f24dec948277b4e908f49f8c3c8909">operations_research::Solver::MakeBestValueSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeBestValueSolutionCollector(bool maximize)</div><div class="ttdoc">Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignm...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6878c212b4e7e362fa3c8e07493b27a2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6878c212b4e7e362fa3c8e07493b27a2">operations_research::Solver::MakeCount</a></div><div class="ttdeci">Constraint * MakeCount(const std::vector&lt; IntVar * &gt; &amp;vars, int64_t value, IntVar *const max_count)</div><div class="ttdoc">|{i | vars[i] == value}| == max_count</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a68b73826f74251f2d2f64ca5ca86925a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a68b73826f74251f2d2f64ca5ca86925a">operations_research::Solver::MakeIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeIntervalVar(int64_t start_min, int64_t start_max, int64_t duration_min, int64_t duration_max, int64_t end_min, int64_t end_max, bool optional, const std::string &amp;name)</div><div class="ttdoc">Creates an interval var by specifying the bounds on start, duration, and end.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a68ccd69d2cb81ad9b176a007275fde0b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a68ccd69d2cb81ad9b176a007275fde0b">operations_research::Solver::FindOneNeighbor</a></div><div class="ttdeci">friend class FindOneNeighbor</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02958">constraint_solver.h:2958</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a69686be8775ce21f8f1da5ae8570ec71"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a69686be8775ce21f8f1da5ae8570ec71">operations_research::Solver::MakePathCumul</a></div><div class="ttdeci">Constraint * MakePathCumul(const std::vector&lt; IntVar * &gt; &amp;nexts, const std::vector&lt; IntVar * &gt; &amp;active, const std::vector&lt; IntVar * &gt; &amp;cumuls, IndexEvaluator2 transit_evaluator)</div><div class="ttdoc">Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + t...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6973359c0392b393b0f30694a4771ab8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6973359c0392b393b0f30694a4771ab8">operations_research::Solver::MakeAssignVariablesValuesOrDoNothing</a></div><div class="ttdeci">Decision * MakeAssignVariablesValuesOrDoNothing(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;values)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a697ed9eaa8955d595a023663ab1e8418"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a697ed9eaa8955d595a023663ab1e8418">operations_research::Solver::Constraint</a></div><div class="ttdeci">friend class Constraint</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02956">constraint_solver.h:2956</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a69b188301916efe8e213e3ac35264dc6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a69b188301916efe8e213e3ac35264dc6">operations_research::Solver::MakeTemporalDisjunction</a></div><div class="ttdeci">Constraint * MakeTemporalDisjunction(IntervalVar *const t1, IntervalVar *const t2)</div><div class="ttdoc">This constraint implements a temporal disjunction between two interval vars.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6acea1398350fa7def332bb70b8dc50b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6acea1398350fa7def332bb70b8dc50b">operations_research::Solver::MakeLessOrEqual</a></div><div class="ttdeci">Constraint * MakeLessOrEqual(IntExpr *const expr, int value)</div><div class="ttdoc">expr &lt;= value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6b46626f38ab21a3120112a7c76fb076"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6b46626f38ab21a3120112a7c76fb076">operations_research::Solver::MakeDistribute</a></div><div class="ttdeci">Constraint * MakeDistribute(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;values, const std::vector&lt; IntVar * &gt; &amp;cards)</div><div class="ttdoc">Aggregated version of count: |{i | v[i] == values[j]}| == cards[j].</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6b8aa046fc429cf1edeef77b3e3bc58f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6b8aa046fc429cf1edeef77b3e3bc58f">operations_research::Solver::MakeSymmetryManager</a></div><div class="ttdeci">SearchMonitor * MakeSymmetryManager(SymmetryBreaker *const v1, SymmetryBreaker *const v2, SymmetryBreaker *const v3, SymmetryBreaker *const v4)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6c01d3e35d414d2b7ee929b9b14960f3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6c01d3e35d414d2b7ee929b9b14960f3">operations_research::Solver::MakeFixedDurationEndSyncedOnStartIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationEndSyncedOnStartIntervalVar(IntervalVar *const interval_var, int64_t duration, int64_t offset)</div><div class="ttdoc">Creates an interval var with a fixed duration whose end is synchronized with the start of another int...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6c3752c7d9425f4a5243176d3f6fcbc7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6c3752c7d9425f4a5243176d3f6fcbc7">operations_research::Solver::AddLocalSearchMonitor</a></div><div class="ttdeci">void AddLocalSearchMonitor(LocalSearchMonitor *monitor)</div><div class="ttdoc">Adds the local search monitor to the solver.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6cadf6ba5aec276c1bab7db60b5eeb13"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6cadf6ba5aec276c1bab7db60b5eeb13">operations_research::Solver::RandomConcatenateOperators</a></div><div class="ttdeci">LocalSearchOperator * RandomConcatenateOperators(const std::vector&lt; LocalSearchOperator * &gt; &amp;ops)</div><div class="ttdoc">Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeig...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6d5ff1ccb832c9d27fa7a579248f8084"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6d5ff1ccb832c9d27fa7a579248f8084">operations_research::Solver::CheckFail</a></div><div class="ttdeci">void CheckFail()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03000">constraint_solver.h:3000</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6edfbb7111d607105bd3ebd0e9e7ac98"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6edfbb7111d607105bd3ebd0e9e7ac98">operations_research::Solver::MakeNestedOptimize</a></div><div class="ttdeci">DecisionBuilder * MakeNestedOptimize(DecisionBuilder *const db, Assignment *const solution, bool maximize, int64_t step, SearchMonitor *const monitor1, SearchMonitor *const monitor2, SearchMonitor *const monitor3)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3ee"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3ee">operations_research::Solver::BinaryIntervalRelation</a></div><div class="ttdeci">BinaryIntervalRelation</div><div class="ttdoc">This enum is used in Solver::MakeIntervalVarRelation to specify the temporal relation between the two...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00619">constraint_solver.h:619</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506">operations_research::Solver::ENDS_AFTER_END</a></div><div class="ttdeci">@ ENDS_AFTER_END</div><div class="ttdoc">t1 ends after t2 end, i.e. End(t1) &gt;= End(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00621">constraint_solver.h:621</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134">operations_research::Solver::ENDS_AFTER_START</a></div><div class="ttdeci">@ ENDS_AFTER_START</div><div class="ttdoc">t1 ends after t2 start, i.e. End(t1) &gt;= Start(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00624">constraint_solver.h:624</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec">operations_research::Solver::STAYS_IN_SYNC</a></div><div class="ttdeci">@ STAYS_IN_SYNC</div><div class="ttdoc">STARTS_AT_START and ENDS_AT_END at the same time.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00648">constraint_solver.h:647</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204">operations_research::Solver::ENDS_AT_END</a></div><div class="ttdeci">@ ENDS_AT_END</div><div class="ttdoc">t1 ends at t2 end, i.e. End(t1) == End(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00627">constraint_solver.h:627</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962">operations_research::Solver::STARTS_AT_END</a></div><div class="ttdeci">@ STARTS_AT_END</div><div class="ttdoc">t1 starts at t2 end, i.e. Start(t1) == End(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00639">constraint_solver.h:639</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43">operations_research::Solver::ENDS_AT_START</a></div><div class="ttdeci">@ ENDS_AT_START</div><div class="ttdoc">t1 ends at t2 start, i.e. End(t1) == Start(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00630">constraint_solver.h:630</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8">operations_research::Solver::STARTS_AFTER_END</a></div><div class="ttdeci">@ STARTS_AFTER_END</div><div class="ttdoc">t1 starts after t2 end, i.e. Start(t1) &gt;= End(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00633">constraint_solver.h:633</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d">operations_research::Solver::STARTS_AFTER_START</a></div><div class="ttdeci">@ STARTS_AFTER_START</div><div class="ttdoc">t1 starts after t2 start, i.e. Start(t1) &gt;= Start(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00636">constraint_solver.h:636</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7">operations_research::Solver::STARTS_AT_START</a></div><div class="ttdeci">@ STARTS_AT_START</div><div class="ttdoc">t1 starts at t2 start, i.e. Start(t1) == Start(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00642">constraint_solver.h:642</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6f94e0e067e2b294237e14f0dfd5aaa7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6f94e0e067e2b294237e14f0dfd5aaa7">operations_research::Solver::MakeMaxEquality</a></div><div class="ttdeci">Constraint * MakeMaxEquality(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const max_var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">operations_research::Solver::LocalSearchOperators</a></div><div class="ttdeci">LocalSearchOperators</div><div class="ttdoc">This enum is used in Solver::MakeOperator to specify the neighborhood to create.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00426">constraint_solver.h:426</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462">operations_research::Solver::EXCHANGE</a></div><div class="ttdeci">@ EXCHANGE</div><div class="ttdoc">Operator which exchanges the positions of two nodes.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00464">constraint_solver.h:464</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5">operations_research::Solver::MAKEINACTIVE</a></div><div class="ttdeci">@ MAKEINACTIVE</div><div class="ttdoc">Operator which makes path nodes inactive.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00490">constraint_solver.h:490</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3">operations_research::Solver::RELOCATE</a></div><div class="ttdeci">@ RELOCATE</div><div class="ttdoc">Relocate neighborhood with length of 1 (see OROPT comment).</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00455">constraint_solver.h:455</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b">operations_research::Solver::SWAPACTIVE</a></div><div class="ttdeci">@ SWAPACTIVE</div><div class="ttdoc">Operator which replaces an active node by an inactive one.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00505">constraint_solver.h:505</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58">operations_research::Solver::SIMPLELNS</a></div><div class="ttdeci">@ SIMPLELNS</div><div class="ttdoc">Operator which defines one neighbor per variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00560">constraint_solver.h:559</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb">operations_research::Solver::INCREMENT</a></div><div class="ttdeci">@ INCREMENT</div><div class="ttdoc">Operator which defines one neighbor per variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00545">constraint_solver.h:545</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e">operations_research::Solver::MAKECHAININACTIVE</a></div><div class="ttdeci">@ MAKECHAININACTIVE</div><div class="ttdoc">Operator which makes a &quot;chain&quot; of path nodes inactive.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00498">constraint_solver.h:498</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e">operations_research::Solver::TWOOPT</a></div><div class="ttdeci">@ TWOOPT</div><div class="ttdoc">Operator which reverses a sub-chain of a path.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00436">constraint_solver.h:436</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a">operations_research::Solver::FULLPATHLNS</a></div><div class="ttdeci">@ FULLPATHLNS</div><div class="ttdoc">Operator which relaxes one entire path and all inactive nodes, thus defining num_paths neighbors.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00530">constraint_solver.h:530</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9">operations_research::Solver::EXTENDEDSWAPACTIVE</a></div><div class="ttdeci">@ EXTENDEDSWAPACTIVE</div><div class="ttdoc">Operator which makes an inactive node active and an active one inactive.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00517">constraint_solver.h:517</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704">operations_research::Solver::OROPT</a></div><div class="ttdeci">@ OROPT</div><div class="ttdoc">Relocate: OROPT and RELOCATE.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00452">constraint_solver.h:452</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3">operations_research::Solver::PATHLNS</a></div><div class="ttdeci">@ PATHLNS</div><div class="ttdoc">Operator which relaxes two sub-chains of three consecutive arcs each.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00526">constraint_solver.h:526</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408">operations_research::Solver::UNACTIVELNS</a></div><div class="ttdeci">@ UNACTIVELNS</div><div class="ttdoc">Operator which relaxes all inactive nodes and one sub-chain of six consecutive arcs.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00535">constraint_solver.h:535</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de">operations_research::Solver::MAKEACTIVE</a></div><div class="ttdeci">@ MAKEACTIVE</div><div class="ttdoc">Operator which inserts an inactive node into a path.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00483">constraint_solver.h:483</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84">operations_research::Solver::DECREMENT</a></div><div class="ttdeci">@ DECREMENT</div><div class="ttdoc">Operator which defines a neighborhood to decrement values.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00550">constraint_solver.h:550</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d">operations_research::Solver::CROSS</a></div><div class="ttdeci">@ CROSS</div><div class="ttdoc">Operator which cross exchanges the starting chains of 2 paths, including exchanging the whole paths.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00475">constraint_solver.h:475</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a707950fd814cfea4d590649559510ae2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a707950fd814cfea4d590649559510ae2">operations_research::Solver::MakeIsEqualCt</a></div><div class="ttdeci">Constraint * MakeIsEqualCt(IntExpr *const v1, IntExpr *v2, IntVar *const b)</div><div class="ttdoc">b == (v1 == v2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a70cdd3625d5c9c18b5cd1d662cb704bb"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a70cdd3625d5c9c18b5cd1d662cb704bb">operations_research::Solver::MakeLocalSearchPhaseParameters</a></div><div class="ttdeci">LocalSearchPhaseParameters * MakeLocalSearchPhaseParameters(IntVar *objective, LocalSearchOperator *const ls_operator, DecisionBuilder *const sub_decision_builder)</div><div class="ttdoc">Local Search Phase Parameters.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a70e858d1ac055189f8406336aff2c5a9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a70e858d1ac055189f8406336aff2c5a9">operations_research::Solver::MakeNotMemberCt</a></div><div class="ttdeci">Constraint * MakeNotMemberCt(IntExpr *const expr, std::vector&lt; int64_t &gt; starts, std::vector&lt; int64_t &gt; ends)</div><div class="ttdoc">expr should not be in the list of forbidden intervals [start[i]..end[i]].</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a70f2cba628260a3a04f06f676c65fd0a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a70f2cba628260a3a04f06f676c65fd0a">operations_research::Solver::MakeOpposite</a></div><div class="ttdeci">IntExpr * MakeOpposite(IntExpr *const expr)</div><div class="ttdoc">-expr</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a71535de01a6527099122f4b7284e1796"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a71535de01a6527099122f4b7284e1796">operations_research::Solver::PushState</a></div><div class="ttdeci">void PushState()</div><div class="ttdoc">The PushState and PopState methods manipulates the states of the reversible objects.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a72954fb35fd0dd0d796b18d893e957b4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a72954fb35fd0dd0d796b18d893e957b4">operations_research::Solver::IsLocalSearchProfilingEnabled</a></div><div class="ttdeci">bool IsLocalSearchProfilingEnabled() const</div><div class="ttdoc">Returns whether we are profiling local search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a72cd61da5676c60fc6f2739c0c43fba5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a72cd61da5676c60fc6f2739c0c43fba5">operations_research::Solver::MakeScalProdLessOrEqual</a></div><div class="ttdeci">Constraint * MakeScalProdLessOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;coefficients, int64_t cst)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7327212dd857729d8d4dfaa7192a55ef"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7327212dd857729d8d4dfaa7192a55ef">operations_research::Solver::MakeSumObjectiveFilter</a></div><div class="ttdeci">IntVarLocalSearchFilter * MakeSumObjectiveFilter(const std::vector&lt; IntVar * &gt; &amp;vars, IndexEvaluator2 values, Solver::LocalSearchFilterBound filter_enum)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a74b8b1a83df2cb86a4e3606c747e202c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a74b8b1a83df2cb86a4e3606c747e202c">operations_research::Solver::MakeIfThenElseCt</a></div><div class="ttdeci">Constraint * MakeIfThenElseCt(IntVar *const condition, IntExpr *const then_expr, IntExpr *const else_expr, IntVar *const target_var)</div><div class="ttdoc">Special cases with arrays of size two.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a74e54b03bc3198869cea2fb12f0903f5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a74e54b03bc3198869cea2fb12f0903f5">operations_research::Solver::ReSeed</a></div><div class="ttdeci">void ReSeed(int32_t seed)</div><div class="ttdoc">Reseed the solver random generator.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02853">constraint_solver.h:2853</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a757134fa69300766dced7f3ed9cd1810"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a757134fa69300766dced7f3ed9cd1810">operations_research::Solver::MakeConstraintInitialPropagateCallback</a></div><div class="ttdeci">Demon * MakeConstraintInitialPropagateCallback(Constraint *const ct)</div><div class="ttdoc">This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of ...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7628f4f38fe470e0d9ab5903ef9b6a2a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7628f4f38fe470e0d9ab5903ef9b6a2a">operations_research::Solver::MakeIntVar</a></div><div class="ttdeci">IntVar * MakeIntVar(const std::vector&lt; int64_t &gt; &amp;values)</div><div class="ttdoc">MakeIntVar will create a variable with the given sparse domain.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a764be64f3029f8b8e23511061d8de355"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a764be64f3029f8b8e23511061d8de355">operations_research::Solver::DebugString</a></div><div class="ttdeci">std::string DebugString() const</div><div class="ttdoc">!defined(SWIG)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a77bdbc3cfba031e3b33295b4c551d488"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a77bdbc3cfba031e3b33295b4c551d488">operations_research::Solver::MakeSolveOnce</a></div><div class="ttdeci">DecisionBuilder * MakeSolveOnce(DecisionBuilder *const db, SearchMonitor *const monitor1)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a783604b36be84a0f63754d0fe5597291"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a783604b36be84a0f63754d0fe5597291">operations_research::Solver::MakeTrueConstraint</a></div><div class="ttdeci">Constraint * MakeTrueConstraint()</div><div class="ttdoc">This constraint always succeeds.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a783c59b969849452c383bab1d14b284b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a783c59b969849452c383bab1d14b284b">operations_research::Solver::MakeOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeOperator(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; IntVar * &gt; &amp;secondary_vars, IndexEvaluator3 evaluator, EvaluatorLocalSearchOperators op)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a799cf5fa06f5941ec238a20c11a3732d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a799cf5fa06f5941ec238a20c11a3732d">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(IntVar *const v0, IntVar *const v1, IntVar *const v2, IntVarStrategy var_str, IntValueStrategy val_str)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7a202227fee0ce0a3cbf8218379a410d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7a202227fee0ce0a3cbf8218379a410d">operations_research::Solver::RegisterDemon</a></div><div class="ttdeci">Demon * RegisterDemon(Demon *const demon)</div><div class="ttdoc">Adds a new demon and wraps it inside a DemonProfiler if necessary.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7b46349056982fe3dcf19d148eec5fcb"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7b46349056982fe3dcf19d148eec5fcb">operations_research::Solver::Solve</a></div><div class="ttdeci">bool Solve(DecisionBuilder *const db, SearchMonitor *const m1, SearchMonitor *const m2, SearchMonitor *const m3, SearchMonitor *const m4)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7b7b1d0be3f915a12386d9036e33e492"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7b7b1d0be3f915a12386d9036e33e492">operations_research::Solver::MakeSearchLog</a></div><div class="ttdeci">SearchMonitor * MakeSearchLog(int branch_period, OptimizeVar *const opt_var)</div><div class="ttdoc">OptimizeVar Search Logs At each solution, this monitor will also display the 'opt_var' value.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7c06ab0a290a6fbdc909fd63c192a4bf"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7c06ab0a290a6fbdc909fd63c192a4bf">operations_research::Solver::ActiveSearch</a></div><div class="ttdeci">Search * ActiveSearch() const</div><div class="ttdoc">Returns the active search, nullptr outside search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7c94d4523a90b2c5eec25ddcf2e15d68"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7c94d4523a90b2c5eec25ddcf2e15d68">operations_research::Solver::MakeIntVar</a></div><div class="ttdeci">IntVar * MakeIntVar(const std::vector&lt; int &gt; &amp;values, const std::string &amp;name)</div><div class="ttdoc">MakeIntVar will create a variable with the given sparse domain.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7d6119e587498d09e5ab7d3ae47fea09"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7d6119e587498d09e5ab7d3ae47fea09">operations_research::Solver::MakeAllDifferentExcept</a></div><div class="ttdeci">Constraint * MakeAllDifferentExcept(const std::vector&lt; IntVar * &gt; &amp;vars, int64_t escape_value)</div><div class="ttdoc">All variables are pairwise different, unless they are assigned to the escape value.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7d7f85d631ce26fd2e025555d65b1aad"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7d7f85d631ce26fd2e025555d65b1aad">operations_research::Solver::MakeNeighborhoodLimit</a></div><div class="ttdeci">LocalSearchOperator * MakeNeighborhoodLimit(LocalSearchOperator *const op, int64_t limit)</div><div class="ttdoc">Creates a local search operator that wraps another local search operator and limits the number of nei...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7dacaf3594ba4371238e9d69ba778151"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7dacaf3594ba4371238e9d69ba778151">operations_research::Solver::MakeElementEquality</a></div><div class="ttdeci">Constraint * MakeElementEquality(const std::vector&lt; int &gt; &amp;vals, IntVar *const index, IntVar *const target)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7dcb440a607b4b39979280ee21621473"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7dcb440a607b4b39979280ee21621473">operations_research::Solver::failures</a></div><div class="ttdeci">int64_t failures() const</div><div class="ttdoc">The number of failures encountered since the creation of the solver.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00994">constraint_solver.h:994</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7e4d98b8a01fda7eb776fbc559096f5f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7e4d98b8a01fda7eb776fbc559096f5f">operations_research::Solver::MakeIntervalRelaxedMax</a></div><div class="ttdeci">IntervalVar * MakeIntervalRelaxedMax(IntervalVar *const interval_var)</div><div class="ttdoc">Creates and returns an interval variable that wraps around the given one, relaxing the max start and ...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7f1d4e45e25d6c7c4c373e5a9677393d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7f1d4e45e25d6c7c4c373e5a9677393d">operations_research::Solver::MakeTransitionConstraint</a></div><div class="ttdeci">Constraint * MakeTransitionConstraint(const std::vector&lt; IntVar * &gt; &amp;vars, const IntTupleSet &amp;transition_table, int64_t initial_state, const std::vector&lt; int64_t &gt; &amp;final_states)</div><div class="ttdoc">This constraint create a finite automaton that will check the sequence of variables vars.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7faa757e27fce57320e08645dd657249"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7faa757e27fce57320e08645dd657249">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IntVarStrategy var_str, IndexEvaluator2 value_evaluator, IndexEvaluator1 tie_breaker)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a7fe5747f8adc7d4c5e233f849be04d6d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a7fe5747f8adc7d4c5e233f849be04d6d">operations_research::Solver::MakeBoolVar</a></div><div class="ttdeci">IntVar * MakeBoolVar(const std::string &amp;name)</div><div class="ttdoc">MakeBoolVar will create a variable with a {0, 1} domain.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8099693ec3e385052dff3508d6cbf9d0"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8099693ec3e385052dff3508d6cbf9d0">operations_research::Solver::MakeFixedInterval</a></div><div class="ttdeci">IntervalVar * MakeFixedInterval(int64_t start, int64_t duration, const std::string &amp;name)</div><div class="ttdoc">Creates a fixed and performed interval.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a814f10c84ca9b8ee0b25453b8c381a02"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a814f10c84ca9b8ee0b25453b8c381a02">operations_research::Solver::MakeIndexOfConstraint</a></div><div class="ttdeci">Constraint * MakeIndexOfConstraint(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const index, int64_t target)</div><div class="ttdoc">This constraint is a special case of the element constraint with an array of integer variables,...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a819eede0cc39233558e64f4fb77d28f0"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a819eede0cc39233558e64f4fb77d28f0">operations_research::Solver::MakeSum</a></div><div class="ttdeci">IntExpr * MakeSum(IntExpr *const expr, int64_t value)</div><div class="ttdoc">expr + value.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a81e71c126a9066bd3c3177bd2ef4b123"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a81e71c126a9066bd3c3177bd2ef4b123">operations_research::Solver::Compose</a></div><div class="ttdeci">DecisionBuilder * Compose(const std::vector&lt; DecisionBuilder * &gt; &amp;dbs)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a81fb93226e8adf2f9131624b7a0eaba3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a81fb93226e8adf2f9131624b7a0eaba3">operations_research::Solver::MakeNoCycle</a></div><div class="ttdeci">Constraint * MakeNoCycle(const std::vector&lt; IntVar * &gt; &amp;nexts, const std::vector&lt; IntVar * &gt; &amp;active, IndexFilter1 sink_handler, bool assume_paths)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a82f32152b3e50f4dc8fcf740f28854db"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a82f32152b3e50f4dc8fcf740f28854db">operations_research::Solver::MakeElement</a></div><div class="ttdeci">IntExpr * MakeElement(IndexEvaluator1 values, IntVar *const index)</div><div class="ttdoc">Function-based element.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a831b8d703cefe8bce66a0483e08917ee"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a831b8d703cefe8bce66a0483e08917ee">operations_research::Solver::PopState</a></div><div class="ttdeci">void PopState()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a832486e7bf6410f8986237876356f447"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a832486e7bf6410f8986237876356f447">operations_research::Solver::DefaultSolverParameters</a></div><div class="ttdeci">static ConstraintSolverParameters DefaultSolverParameters()</div><div class="ttdoc">Create a ConstraintSolverParameters proto with all the default values.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a841aa319d231a7662b799078307c8de9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a841aa319d231a7662b799078307c8de9">operations_research::Solver::MakeVariableDegreeVisitor</a></div><div class="ttdeci">ModelVisitor * MakeVariableDegreeVisitor(absl::flat_hash_map&lt; const IntVar *, int &gt; *const map)</div><div class="ttdoc">Compute the number of constraints a variable is attached to.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a852aba0d03119d806f68b204a543596e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a852aba0d03119d806f68b204a543596e">operations_research::Solver::MakeFalseConstraint</a></div><div class="ttdeci">Constraint * MakeFalseConstraint(const std::string &amp;explanation)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a860294d137e8364921c233dccb725ace"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a860294d137e8364921c233dccb725ace">operations_research::Solver::MakeConstantRestart</a></div><div class="ttdeci">SearchMonitor * MakeConstantRestart(int frequency)</div><div class="ttdoc">This search monitor will restart the search periodically after 'frequency' failures.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a864623eb2f553d81f668fcfee5c7d3a5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a864623eb2f553d81f668fcfee5c7d3a5">operations_research::Solver::MakeCumulative</a></div><div class="ttdeci">Constraint * MakeCumulative(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::vector&lt; int64_t &gt; &amp;demands, int64_t capacity, const std::string &amp;name)</div><div class="ttdoc">This constraint forces that, for any integer t, the sum of the demands corresponding to an interval c...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a869f7ed2cc6505c59ecf1eb8ecb2288a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a869f7ed2cc6505c59ecf1eb8ecb2288a">operations_research::Solver::GetLocalSearchMonitor</a></div><div class="ttdeci">LocalSearchMonitor * GetLocalSearchMonitor() const</div><div class="ttdoc">Returns the local search monitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a86ecff14fc3b94df60069a4bca94c06b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a86ecff14fc3b94df60069a4bca94c06b">operations_research::Solver::constraints</a></div><div class="ttdeci">int constraints() const</div><div class="ttdoc">Counts the number of constraints that have been added to the solver before the search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02878">constraint_solver.h:2878</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8769d5e084acd0e19f0ddfa18207aafc"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8769d5e084acd0e19f0ddfa18207aafc">operations_research::Solver::SearchContext</a></div><div class="ttdeci">std::string SearchContext(const Search *search) const</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a87dbc21fae26a20e69eac4c09d408e5a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a87dbc21fae26a20e69eac4c09d408e5a">operations_research::Solver::MakeIsBetweenVar</a></div><div class="ttdeci">IntVar * MakeIsBetweenVar(IntExpr *const v, int64_t l, int64_t u)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a87f248f1badf459f6f9a28bf7400f4f7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a87f248f1badf459f6f9a28bf7400f4f7">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IndexEvaluator2 eval, EvaluatorStrategy str)</div><div class="ttdoc">Returns a decision builder which assigns values to variables which minimize the values returned by th...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a88b9877d88ea2cf4d4b4b5bfc2916110"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a88b9877d88ea2cf4d4b4b5bfc2916110">operations_research::Solver::MakeElement</a></div><div class="ttdeci">IntExpr * MakeElement(const std::vector&lt; int64_t &gt; &amp;values, IntVar *const index)</div><div class="ttdoc">values[index]</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a88e5ec53146896696c454ca29cd6366e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a88e5ec53146896696c454ca29cd6366e">operations_research::Solver::MakeBoolVarArray</a></div><div class="ttdeci">void MakeBoolVarArray(int var_count, std::vector&lt; IntVar * &gt; *vars)</div><div class="ttdoc">This method will append the vector vars with 'var_count' boolean variables having no names.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a896e154d5fe92c46f70484b96b672eab"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a896e154d5fe92c46f70484b96b672eab">operations_research::Solver::MakeNestedOptimize</a></div><div class="ttdeci">DecisionBuilder * MakeNestedOptimize(DecisionBuilder *const db, Assignment *const solution, bool maximize, int64_t step, const std::vector&lt; SearchMonitor * &gt; &amp;monitors)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8acdedd57a41a9cf6e607bdd8e20f02b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8acdedd57a41a9cf6e607bdd8e20f02b">operations_research::Solver::MakeLexicalLessOrEqual</a></div><div class="ttdeci">Constraint * MakeLexicalLessOrEqual(const std::vector&lt; IntVar * &gt; &amp;left, const std::vector&lt; IntVar * &gt; &amp;right)</div><div class="ttdoc">Creates a constraint that enforces that left is lexicographically less than or equal to right.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8b1044e7c2b76345532f848a982a7106"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106">operations_research::Solver::EvaluatorStrategy</a></div><div class="ttdeci">EvaluatorStrategy</div><div class="ttdoc">This enum is used by Solver::MakePhase to specify how to select variables and values during the searc...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00387">constraint_solver.h:387</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1">operations_research::Solver::CHOOSE_STATIC_GLOBAL_BEST</a></div><div class="ttdeci">@ CHOOSE_STATIC_GLOBAL_BEST</div><div class="ttdoc">Pairs are compared at the first call of the selector, and results are cached.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00392">constraint_solver.h:392</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0">operations_research::Solver::CHOOSE_DYNAMIC_GLOBAL_BEST</a></div><div class="ttdeci">@ CHOOSE_DYNAMIC_GLOBAL_BEST</div><div class="ttdoc">Pairs are compared each time a variable is selected.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00398">constraint_solver.h:398</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8bff6cc5ae227e109c6765b4c6809eb3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8bff6cc5ae227e109c6765b4c6809eb3">operations_research::Solver::set_optimization_direction</a></div><div class="ttdeci">void set_optimization_direction(OptimizationDirection direction)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l01016">constraint_solver.h:1016</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8d9ad7ab9d335a6284cf55573c1e99a1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8d9ad7ab9d335a6284cf55573c1e99a1">operations_research::Solver::SolveDepth</a></div><div class="ttdeci">int SolveDepth() const</div><div class="ttdoc">Gets the number of nested searches.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8e7dea8a1be75b44a2dc1d9600833e03"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8e7dea8a1be75b44a2dc1d9600833e03">operations_research::Solver::MakeNestedOptimize</a></div><div class="ttdeci">DecisionBuilder * MakeNestedOptimize(DecisionBuilder *const db, Assignment *const solution, bool maximize, int64_t step, SearchMonitor *const monitor1)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8e95e9a369daa0527746deb967d6b577"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8e95e9a369daa0527746deb967d6b577">operations_research::Solver::MakeIsMemberVar</a></div><div class="ttdeci">IntVar * MakeIsMemberVar(IntExpr *const expr, const std::vector&lt; int64_t &gt; &amp;values)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8e9b36ec9914650dc5fa119a8ba54179"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8e9b36ec9914650dc5fa119a8ba54179">operations_research::Solver::MakeIsLessOrEqualCstVar</a></div><div class="ttdeci">IntVar * MakeIsLessOrEqualCstVar(IntExpr *const var, int64_t value)</div><div class="ttdoc">status var of (var &lt;= value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8ed71618199a7819aa950d179f32fed6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8ed71618199a7819aa950d179f32fed6">operations_research::Solver::MakeCumulative</a></div><div class="ttdeci">Constraint * MakeCumulative(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::vector&lt; int64_t &gt; &amp;demands, IntVar *const capacity, const std::string &amp;name)</div><div class="ttdoc">This constraint forces that, for any integer t, the sum of the demands corresponding to an interval c...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8f08623720fbf9b78baea270d0a6c55d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8f08623720fbf9b78baea270d0a6c55d">operations_research::Solver::MakeElement</a></div><div class="ttdeci">IntExpr * MakeElement(IndexEvaluator2 values, IntVar *const index1, IntVar *const index2)</div><div class="ttdoc">2D version of function-based element expression, values(expr1, expr2).</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8f3fe7c7d63aa2ccced86067386cbc38"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8f3fe7c7d63aa2ccced86067386cbc38">operations_research::Solver::MakeSimulatedAnnealing</a></div><div class="ttdeci">SearchMonitor * MakeSimulatedAnnealing(bool maximize, IntVar *const v, int64_t step, int64_t initial_temperature)</div><div class="ttdoc">Creates a Simulated Annealing monitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a8f83f778df75caa4532c32b97d36ca6e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a8f83f778df75caa4532c32b97d36ca6e">operations_research::Solver::MakeRandomLnsOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeRandomLnsOperator(const std::vector&lt; IntVar * &gt; &amp;vars, int number_of_variables, int32_t seed)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a91eda0fa95a8ae13f412894b05d188d4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a91eda0fa95a8ae13f412894b05d188d4">operations_research::Solver::MakeLocalSearchPhase</a></div><div class="ttdeci">DecisionBuilder * MakeLocalSearchPhase(const std::vector&lt; IntVar * &gt; &amp;vars, DecisionBuilder *const first_solution, LocalSearchPhaseParameters *const parameters)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a91f8e6e1182779ea31b2f89b334cbdbd"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a91f8e6e1182779ea31b2f89b334cbdbd">operations_research::Solver::MakeFixedDurationIntervalVarArray</a></div><div class="ttdeci">void MakeFixedDurationIntervalVarArray(int count, int64_t start_min, int64_t start_max, int64_t duration, bool optional, const std::string &amp;name, std::vector&lt; IntervalVar * &gt; *const array)</div><div class="ttdoc">This method fills the vector with 'count' interval variables built with the corresponding parameters.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a92271ad8e09cd801f83ae84e6af5f609"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a92271ad8e09cd801f83ae84e6af5f609">operations_research::Solver::GetPropagationMonitor</a></div><div class="ttdeci">PropagationMonitor * GetPropagationMonitor() const</div><div class="ttdoc">Returns the propagation monitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a928815a4c6a634b490c936097b7d00a5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a928815a4c6a634b490c936097b7d00a5">operations_research::Solver::MakeRankFirstInterval</a></div><div class="ttdeci">Decision * MakeRankFirstInterval(SequenceVar *const sequence, int index)</div><div class="ttdoc">Returns a decision that tries to rank first the ith interval var in the sequence variable.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a931314662eb3ee9591e6d0c7635f5971"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a931314662eb3ee9591e6d0c7635f5971">operations_research::Solver::MakeNonOverlappingNonStrictBoxesConstraint</a></div><div class="ttdeci">Constraint * MakeNonOverlappingNonStrictBoxesConstraint(const std::vector&lt; IntVar * &gt; &amp;x_vars, const std::vector&lt; IntVar * &gt; &amp;y_vars, const std::vector&lt; int &gt; &amp;x_size, const std::vector&lt; int &gt; &amp;y_size)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a934e08f84e590e48ab860fcd97ca7130"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a934e08f84e590e48ab860fcd97ca7130">operations_research::Solver::MakeMax</a></div><div class="ttdeci">IntExpr * MakeMax(const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">std::max(vars)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a93a90409c3c835856b7ae70fc9d86c79"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a93a90409c3c835856b7ae70fc9d86c79">operations_research::Solver::MakeIsLessOrEqualCt</a></div><div class="ttdeci">Constraint * MakeIsLessOrEqualCt(IntExpr *const left, IntExpr *const right, IntVar *const b)</div><div class="ttdoc">b == (left &lt;= right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a93e20bcba087839713b8f10e0f906396"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a93e20bcba087839713b8f10e0f906396">operations_research::Solver::MakeCumulative</a></div><div class="ttdeci">Constraint * MakeCumulative(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::vector&lt; int &gt; &amp;demands, IntVar *const capacity, const std::string &amp;name)</div><div class="ttdoc">This constraint enforces that, for any integer t, the sum of the demands corresponding to an interval...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a946780dfafc8faa3dd2d345850213be5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a946780dfafc8faa3dd2d345850213be5">operations_research::Solver::Solve</a></div><div class="ttdeci">bool Solve(DecisionBuilder *const db, const std::vector&lt; SearchMonitor * &gt; &amp;monitors)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a9535e1e548aac3b91310c82b71bf6d22"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a9535e1e548aac3b91310c82b71bf6d22">operations_research::Solver::MakeDistribute</a></div><div class="ttdeci">Constraint * MakeDistribute(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; IntVar * &gt; &amp;cards)</div><div class="ttdoc">Aggregated version of count: |{i | v[i] == j}| == cards[j].</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a953add22f3c0d887291eec2b40eb0aeb"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a953add22f3c0d887291eec2b40eb0aeb">operations_research::Solver::MakeDefaultSolutionPool</a></div><div class="ttdeci">SolutionPool * MakeDefaultSolutionPool()</div><div class="ttdoc">Solution Pool.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a95d15794f0eaa4727439f364889a8064"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a95d15794f0eaa4727439f364889a8064">operations_research::Solver::clear_fail_intercept</a></div><div class="ttdeci">void clear_fail_intercept()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02891">constraint_solver.h:2891</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a95dadc61fe3a5d03148b48898a76ba08"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a95dadc61fe3a5d03148b48898a76ba08">operations_research::Solver::MakeIsMemberVar</a></div><div class="ttdeci">IntVar * MakeIsMemberVar(IntExpr *const expr, const std::vector&lt; int &gt; &amp;values)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a97ae6043a42254cbe41763984739d870"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a97ae6043a42254cbe41763984739d870">operations_research::Solver::MakeFixedDurationIntervalVarArray</a></div><div class="ttdeci">void MakeFixedDurationIntervalVarArray(const std::vector&lt; IntVar * &gt; &amp;start_variables, const std::vector&lt; int64_t &gt; &amp;durations, const std::vector&lt; IntVar * &gt; &amp;performed_variables, const std::string &amp;name, std::vector&lt; IntervalVar * &gt; *const array)</div><div class="ttdoc">This method fills the vector with interval variables built with the corresponding start and performed...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a988e122844528e222326bd327a5d60fd"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a988e122844528e222326bd327a5d60fd">operations_research::Solver::MakeDifference</a></div><div class="ttdeci">IntExpr * MakeDifference(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left - right</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a993fbf789b9cfb598af92b35fe414075"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a993fbf789b9cfb598af92b35fe414075">operations_research::Solver::NewSearch</a></div><div class="ttdeci">void NewSearch(DecisionBuilder *const db, SearchMonitor *const m1, SearchMonitor *const m2, SearchMonitor *const m3, SearchMonitor *const m4)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a99e4c78c7b2dc331fbf682f5e158e945"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a99e4c78c7b2dc331fbf682f5e158e945">operations_research::Solver::Try</a></div><div class="ttdeci">DecisionBuilder * Try(DecisionBuilder *const db1, DecisionBuilder *const db2, DecisionBuilder *const db3)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a99f74c4d2d23a341e3983ea0872d5b95"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a99f74c4d2d23a341e3983ea0872d5b95">operations_research::Solver::MakeIsDifferentCstCt</a></div><div class="ttdeci">Constraint * MakeIsDifferentCstCt(IntExpr *const var, int64_t value, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (var != value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a9ac87e0179e35c71c9d6ffdc6c3d597a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a9ac87e0179e35c71c9d6ffdc6c3d597a">operations_research::Solver::MakeWeightedOptimize</a></div><div class="ttdeci">OptimizeVar * MakeWeightedOptimize(bool maximize, const std::vector&lt; IntVar * &gt; &amp;sub_objectives, const std::vector&lt; int &gt; &amp;weights, int64_t step)</div><div class="ttdoc">Creates a weighted objective with a given sense (true = maximization).</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a9bd156c8498d15a6f3993b695ebb9d51"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a9bd156c8498d15a6f3993b695ebb9d51">operations_research::Solver::MakeNotMemberCt</a></div><div class="ttdeci">Constraint * MakeNotMemberCt(IntExpr *const expr, std::vector&lt; int &gt; starts, std::vector&lt; int &gt; ends)</div><div class="ttdoc">expr should not be in the list of forbidden intervals [start[i]..end[i]].</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a9c44ecfda194a78c5167e7c9d3579b01"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a9c44ecfda194a78c5167e7c9d3579b01">operations_research::Solver::model_name</a></div><div class="ttdeci">std::string model_name() const</div><div class="ttdoc">Returns the name of the model.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a9ddd8656b185d1ec97ba582431c39787"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a9ddd8656b185d1ec97ba582431c39787">operations_research::Solver::MakeDistribute</a></div><div class="ttdeci">Constraint * MakeDistribute(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;card_min, const std::vector&lt; int &gt; &amp;card_max)</div><div class="ttdoc">Aggregated version of count with bounded cardinalities: forall j in 0 .</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a9de14b462099fa53449fe7a133d1fc2f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a9de14b462099fa53449fe7a133d1fc2f">operations_research::Solver::MakeAssignment</a></div><div class="ttdeci">Assignment * MakeAssignment(const Assignment *const a)</div><div class="ttdoc">This method creates an assignment which is a copy of 'a'.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_a9f52516c4ad3aced15492b20a58dc2d9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#a9f52516c4ad3aced15492b20a58dc2d9">operations_research::Solver::MakeDefaultRegularLimitParameters</a></div><div class="ttdeci">RegularLimitParameters MakeDefaultRegularLimitParameters() const</div><div class="ttdoc">Creates a regular limit proto containing default values.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa16cd34b1149dd28a69e9d2935b16b27"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa16cd34b1149dd28a69e9d2935b16b27">operations_research::Solver::MakeConvexPiecewiseExpr</a></div><div class="ttdeci">IntExpr * MakeConvexPiecewiseExpr(IntExpr *expr, int64_t early_cost, int64_t early_date, int64_t late_date, int64_t late_cost)</div><div class="ttdoc">Convex piecewise function.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa1f5ccd2d2851b3eabd61dc5236a0124"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa1f5ccd2d2851b3eabd61dc5236a0124">operations_research::Solver::MakeFixedDurationIntervalVarArray</a></div><div class="ttdeci">void MakeFixedDurationIntervalVarArray(const std::vector&lt; IntVar * &gt; &amp;start_variables, int64_t duration, const std::string &amp;name, std::vector&lt; IntervalVar * &gt; *const array)</div><div class="ttdoc">This method fills the vector with 'count' interval var built with the corresponding start variables.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa1fbb1e06abdd97d173864cadaf6e290"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa1fbb1e06abdd97d173864cadaf6e290">operations_research::Solver::MakePower</a></div><div class="ttdeci">IntExpr * MakePower(IntExpr *const expr, int64_t n)</div><div class="ttdoc">expr ^ n (n &gt; 0)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa2ccc3c5683cdbf7b7651894f4054385"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa2ccc3c5683cdbf7b7651894f4054385">operations_research::Solver::MakeBoolVar</a></div><div class="ttdeci">IntVar * MakeBoolVar()</div><div class="ttdoc">MakeBoolVar will create a variable with a {0, 1} domain.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa2fd986a08726017fed65f0e543c6c74"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa2fd986a08726017fed65f0e543c6c74">operations_research::Solver::MakeIntVarArray</a></div><div class="ttdeci">void MakeIntVarArray(int var_count, int64_t vmin, int64_t vmax, std::vector&lt; IntVar * &gt; *vars)</div><div class="ttdoc">This method will append the vector vars with 'var_count' variables having bounds vmin and vmax and ha...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa4848ca854d8dc0abe1e78f9e820e7ea"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa4848ca854d8dc0abe1e78f9e820e7ea">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(IntVar *const v0, IntVarStrategy var_str, IntValueStrategy val_str)</div><div class="ttdoc">Shortcuts for small arrays.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa58a5d8b15333d39678c0d6180c1c0b1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa58a5d8b15333d39678c0d6180c1c0b1">operations_research::Solver::UseFastLocalSearch</a></div><div class="ttdeci">bool UseFastLocalSearch() const</div><div class="ttdoc">Returns true if fast local search is enabled.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02901">constraint_solver.h:2901</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa637423a56e06d52bc9beed8d6fda7ab"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa637423a56e06d52bc9beed8d6fda7ab">operations_research::Solver::InstrumentsVariables</a></div><div class="ttdeci">bool InstrumentsVariables() const</div><div class="ttdoc">Returns whether we are tracing variables.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa647aa406b7e84a0dfc1cb4ca256480e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa647aa406b7e84a0dfc1cb4ca256480e">operations_research::Solver::MakeScalProdGreaterOrEqual</a></div><div class="ttdeci">Constraint * MakeScalProdGreaterOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;coeffs, int64_t cst)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa652e79264bcfb75282b881957366cbd"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa652e79264bcfb75282b881957366cbd">operations_research::Solver::MakeMax</a></div><div class="ttdeci">IntExpr * MakeMax(IntExpr *const expr, int value)</div><div class="ttdoc">std::max(expr, value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa70e1cba110407b48b7be391f3d5a0f3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa70e1cba110407b48b7be391f3d5a0f3">operations_research::Solver::MakeGenericTabuSearch</a></div><div class="ttdeci">SearchMonitor * MakeGenericTabuSearch(bool maximize, IntVar *const v, int64_t step, const std::vector&lt; IntVar * &gt; &amp;tabu_vars, int64_t forbid_tenure)</div><div class="ttdoc">Creates a Tabu Search based on the vars |vars|.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa79e6e327b1680b72ad39b2e2af9e52c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa79e6e327b1680b72ad39b2e2af9e52c">operations_research::Solver::MakeIsDifferentCstVar</a></div><div class="ttdeci">IntVar * MakeIsDifferentCstVar(IntExpr *const var, int64_t value)</div><div class="ttdoc">status var of (var != value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa7f37dd789676fe977046bd4d1becfa6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa7f37dd789676fe977046bd4d1becfa6">operations_research::Solver::MakeSearchTrace</a></div><div class="ttdeci">SearchMonitor * MakeSearchTrace(const std::string &amp;prefix)</div><div class="ttdoc">Creates a search monitor that will trace precisely the behavior of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa84ce64fbf497a38e9364d66d2148c05"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa84ce64fbf497a38e9364d66d2148c05">operations_research::Solver::MakeMin</a></div><div class="ttdeci">IntExpr * MakeMin(IntExpr *const expr, int value)</div><div class="ttdoc">std::min(expr, value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aa9315b9e849db7bef0b50168cdd017ac"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aa9315b9e849db7bef0b50168cdd017ac">operations_research::Solver::MakeBranchesLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT RegularLimit * MakeBranchesLimit(int64_t branches)</div><div class="ttdoc">Creates a search limit that constrains the number of branches explored in the search tree.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aaa106feefa97b76369b113f62d442db8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aaa106feefa97b76369b113f62d442db8">operations_research::Solver::accepted_neighbors</a></div><div class="ttdeci">int64_t accepted_neighbors() const</div><div class="ttdoc">The number of accepted neighbors.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l01003">constraint_solver.h:1003</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aaa37d5c7962b1ecd6a7575365efeafd7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aaa37d5c7962b1ecd6a7575365efeafd7">operations_research::Solver::MakeNonEquality</a></div><div class="ttdeci">Constraint * MakeNonEquality(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left != right</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aaaadfa527b0411d38dbc0d5914814cc1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aaaadfa527b0411d38dbc0d5914814cc1">operations_research::Solver::MakeIsLessVar</a></div><div class="ttdeci">IntVar * MakeIsLessVar(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">status var of (left &lt; right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aabf79e2e1b17a7a5ce1c5e69cc3f582b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aabf79e2e1b17a7a5ce1c5e69cc3f582b">operations_research::Solver::MakeOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeOperator(const std::vector&lt; IntVar * &gt; &amp;vars, LocalSearchOperators op)</div><div class="ttdoc">Local Search Operators.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aac351c16876d84a5b0602aa1337a3c61"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aac351c16876d84a5b0602aa1337a3c61">operations_research::Solver::LocalSearchProfile</a></div><div class="ttdeci">std::string LocalSearchProfile() const</div><div class="ttdoc">Returns local search profiling information in a human readable format.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aac4aa5ecf086378b1bbac4b669bab4db"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aac4aa5ecf086378b1bbac4b669bab4db">operations_research::Solver::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given model visitor.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aac9afa5dce7f5a9edfa9655496dbc47b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aac9afa5dce7f5a9edfa9655496dbc47b">operations_research::Solver::SearchLeftDepth</a></div><div class="ttdeci">int SearchLeftDepth() const</div><div class="ttdoc">Gets the search left depth of the current active search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aae6945c57651cb226561a0ef988a02ac"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aae6945c57651cb226561a0ef988a02ac">operations_research::Solver::AddBacktrackAction</a></div><div class="ttdeci">void AddBacktrackAction(Action a, bool fast)</div><div class="ttdoc">When SaveValue() is not the best way to go, one can create a reversible action that will be called up...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aaed1bc5fc04dc964df5e7dfd11476098"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aaed1bc5fc04dc964df5e7dfd11476098">operations_research::Solver::MakeTemporalDisjunction</a></div><div class="ttdeci">Constraint * MakeTemporalDisjunction(IntervalVar *const t1, IntervalVar *const t2, IntVar *const alt)</div><div class="ttdoc">This constraint implements a temporal disjunction between two interval vars t1 and t2.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab003619f8e2f35a1ca01aa7713c674ea"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab003619f8e2f35a1ca01aa7713c674ea">operations_research::Solver::TopProgressPercent</a></div><div class="ttdeci">int TopProgressPercent()</div><div class="ttdoc">Returns a percentage representing the propress of the search before reaching the limits of the top-le...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab2613a9bd44c5b87559103fc66bfbda4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab2613a9bd44c5b87559103fc66bfbda4">operations_research::Solver::CurrentlyInSolve</a></div><div class="ttdeci">bool CurrentlyInSolve() const</div><div class="ttdoc">Returns true whether the current search has been created using a Solve() call instead of a NewSearch ...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab2ce14d291c9d19adede1096abbad6dc"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab2ce14d291c9d19adede1096abbad6dc">operations_research::Solver::MakeIsGreaterOrEqualCstCt</a></div><div class="ttdeci">Constraint * MakeIsGreaterOrEqualCstCt(IntExpr *const var, int64_t value, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (var &gt;= value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab47fb6c4acece60219da82ed255bcf72"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab47fb6c4acece60219da82ed255bcf72">operations_research::Solver::balancing_decision</a></div><div class="ttdeci">Decision * balancing_decision() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02883">constraint_solver.h:2883</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab67a32caadf6ffe757ecbefd60b51617"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab67a32caadf6ffe757ecbefd60b51617">operations_research::Solver::Try</a></div><div class="ttdeci">DecisionBuilder * Try(DecisionBuilder *const db1, DecisionBuilder *const db2, DecisionBuilder *const db3, DecisionBuilder *const db4)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">operations_research::Solver::IntVarStrategy</a></div><div class="ttdeci">IntVarStrategy</div><div class="ttdoc">This enum describes the strategy used to select the next branching variable at each node during the s...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00266">constraint_solver.h:266</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c">operations_research::Solver::CHOOSE_RANDOM</a></div><div class="ttdeci">@ CHOOSE_RANDOM</div><div class="ttdoc">Randomly select one of the remaining unbound variables.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00279">constraint_solver.h:279</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae">operations_research::Solver::CHOOSE_MIN_SIZE</a></div><div class="ttdeci">@ CHOOSE_MIN_SIZE</div><div class="ttdoc">Among unbound variables, select the variable with the smallest size.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00328">constraint_solver.h:328</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9">operations_research::Solver::CHOOSE_FIRST_UNBOUND</a></div><div class="ttdeci">@ CHOOSE_FIRST_UNBOUND</div><div class="ttdoc">Select the first unbound variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00276">constraint_solver.h:276</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d">operations_research::Solver::CHOOSE_PATH</a></div><div class="ttdeci">@ CHOOSE_PATH</div><div class="ttdoc">Selects the next unbound variable on a path, the path being defined by the variables: var[i] correspo...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00341">constraint_solver.h:341</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841">operations_research::Solver::CHOOSE_HIGHEST_MAX</a></div><div class="ttdeci">@ CHOOSE_HIGHEST_MAX</div><div class="ttdoc">Among unbound variables, select the variable with the highest maximal value.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00323">constraint_solver.h:323</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448">operations_research::Solver::CHOOSE_MIN_SIZE_LOWEST_MIN</a></div><div class="ttdeci">@ CHOOSE_MIN_SIZE_LOWEST_MIN</div><div class="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00287">constraint_solver.h:287</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376">operations_research::Solver::INT_VAR_DEFAULT</a></div><div class="ttdeci">@ INT_VAR_DEFAULT</div><div class="ttdoc">The default behavior is CHOOSE_FIRST_UNBOUND.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00268">constraint_solver.h:268</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70">operations_research::Solver::CHOOSE_MIN_SIZE_HIGHEST_MAX</a></div><div class="ttdeci">@ CHOOSE_MIN_SIZE_HIGHEST_MAX</div><div class="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00311">constraint_solver.h:311</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf">operations_research::Solver::CHOOSE_MAX_REGRET_ON_MIN</a></div><div class="ttdeci">@ CHOOSE_MAX_REGRET_ON_MIN</div><div class="ttdoc">Among unbound variables, select the variable with the largest gap between the first and the second va...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00337">constraint_solver.h:337</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2">operations_research::Solver::CHOOSE_MIN_SIZE_HIGHEST_MIN</a></div><div class="ttdeci">@ CHOOSE_MIN_SIZE_HIGHEST_MIN</div><div class="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00295">constraint_solver.h:295</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a">operations_research::Solver::CHOOSE_MAX_SIZE</a></div><div class="ttdeci">@ CHOOSE_MAX_SIZE</div><div class="ttdoc">Among unbound variables, select the variable with the highest size.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00333">constraint_solver.h:333</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2">operations_research::Solver::INT_VAR_SIMPLE</a></div><div class="ttdeci">@ INT_VAR_SIMPLE</div><div class="ttdoc">The simple selection is CHOOSE_FIRST_UNBOUND.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00271">constraint_solver.h:271</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7">operations_research::Solver::CHOOSE_MIN_SIZE_LOWEST_MAX</a></div><div class="ttdeci">@ CHOOSE_MIN_SIZE_LOWEST_MAX</div><div class="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00303">constraint_solver.h:303</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12">operations_research::Solver::CHOOSE_LOWEST_MIN</a></div><div class="ttdeci">@ CHOOSE_LOWEST_MIN</div><div class="ttdoc">Among unbound variables, select the variable with the smallest minimal value.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00317">constraint_solver.h:317</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab7cb6b671291bba8bc4077e1d2efadbe"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab7cb6b671291bba8bc4077e1d2efadbe">operations_research::Solver::MakeElement</a></div><div class="ttdeci">IntExpr * MakeElement(Int64ToIntVar vars, int64_t range_start, int64_t range_end, IntVar *argument)</div><div class="ttdoc">vars(argument)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab8c32c78b5af7d4975432c0971369153"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab8c32c78b5af7d4975432c0971369153">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IntVarStrategy var_str, IntValueStrategy val_str)</div><div class="ttdoc">Phases on IntVar arrays.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab951ede85953696032860c7a34b08bc4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab951ede85953696032860c7a34b08bc4">operations_research::Solver::MakeScalProd</a></div><div class="ttdeci">IntExpr * MakeScalProd(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;coefs)</div><div class="ttdoc">scalar product</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab99d2fcc4694c1d3eef0d314e15690b0"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab99d2fcc4694c1d3eef0d314e15690b0">operations_research::Solver::MakeCumulative</a></div><div class="ttdeci">Constraint * MakeCumulative(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::vector&lt; int &gt; &amp;demands, int64_t capacity, const std::string &amp;name)</div><div class="ttdoc">This constraint forces that, for any integer t, the sum of the demands corresponding to an interval c...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab9b8c3ea993ee19fd9cb68fb3240e09f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab9b8c3ea993ee19fd9cb68fb3240e09f">operations_research::Solver::NextSolution</a></div><div class="ttdeci">bool NextSolution()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ab9eb11186f72ffbb1dd788a15191d770"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ab9eb11186f72ffbb1dd788a15191d770">operations_research::Solver::MakeLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT RegularLimit * MakeLimit(absl::Duration time, int64_t branches, int64_t failures, int64_t solutions, bool smart_time_check=false, bool cumulative=false)</div><div class="ttdoc">Limits the search with the 'time', 'branches', 'failures' and 'solutions' limits.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aba5c5dc6467e097f4972d7776541482b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482b">operations_research::Solver::SequenceStrategy</a></div><div class="ttdeci">SequenceStrategy</div><div class="ttdoc">Used for scheduling. Not yet implemented.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00402">constraint_solver.h:402</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239">operations_research::Solver::SEQUENCE_SIMPLE</a></div><div class="ttdeci">@ SEQUENCE_SIMPLE</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00404">constraint_solver.h:404</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7">operations_research::Solver::CHOOSE_MIN_SLACK_RANK_FORWARD</a></div><div class="ttdeci">@ CHOOSE_MIN_SLACK_RANK_FORWARD</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00405">constraint_solver.h:405</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615">operations_research::Solver::CHOOSE_RANDOM_RANK_FORWARD</a></div><div class="ttdeci">@ CHOOSE_RANDOM_RANK_FORWARD</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00406">constraint_solver.h:406</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f">operations_research::Solver::SEQUENCE_DEFAULT</a></div><div class="ttdeci">@ SEQUENCE_DEFAULT</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00403">constraint_solver.h:403</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aba638811cb1bbc4649c3d7b2b8be6954"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aba638811cb1bbc4649c3d7b2b8be6954">operations_research::Solver::MakeIntervalVarArray</a></div><div class="ttdeci">void MakeIntervalVarArray(int count, int64_t start_min, int64_t start_max, int64_t duration_min, int64_t duration_max, int64_t end_min, int64_t end_max, bool optional, const std::string &amp;name, std::vector&lt; IntervalVar * &gt; *const array)</div><div class="ttdoc">This method fills the vector with 'count' interval var built with the corresponding parameters.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abac10873a1af49f1dce33a34f3afaa56"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abac10873a1af49f1dce33a34f3afaa56">operations_research::Solver::Solver</a></div><div class="ttdeci">Solver(const std::string &amp;name)</div><div class="ttdoc">Solver API.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abb42028bd4d00fa5015a29d271c87723"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abb42028bd4d00fa5015a29d271c87723">operations_research::Solver::MakeMin</a></div><div class="ttdeci">IntExpr * MakeMin(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">std::min (left, right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abb8e2fda6869954bba10036a5cdf6ec8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abb8e2fda6869954bba10036a5cdf6ec8">operations_research::Solver::MakeLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT SearchLimit * MakeLimit(SearchLimit *const limit_1, SearchLimit *const limit_2)</div><div class="ttdoc">Creates a search limit that is reached when either of the underlying limit is reached.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abbccede08b03646d29e04acaf71e0c50"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abbccede08b03646d29e04acaf71e0c50">operations_research::Solver::NewSearch</a></div><div class="ttdeci">void NewSearch(DecisionBuilder *const db, SearchMonitor *const m1, SearchMonitor *const m2, SearchMonitor *const m3)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abbfe61fbd02ff9015e48695d525a889f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abbfe61fbd02ff9015e48695d525a889f">operations_research::Solver::stamp</a></div><div class="ttdeci">uint64_t stamp() const</div><div class="ttdoc">The stamp indicates how many moves in the search tree we have performed.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abc32f3a80394fd12e8fc7f22e20c34ca"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abc32f3a80394fd12e8fc7f22e20c34ca">operations_research::Solver::MakeInversePermutationConstraint</a></div><div class="ttdeci">Constraint * MakeInversePermutationConstraint(const std::vector&lt; IntVar * &gt; &amp;left, const std::vector&lt; IntVar * &gt; &amp;right)</div><div class="ttdoc">Creates a constraint that enforces that 'left' and 'right' both represent permutations of [0....</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abcc05bab22581393d783134f7ff98eab"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abcc05bab22581393d783134f7ff98eab">operations_research::Solver::Solve</a></div><div class="ttdeci">bool Solve(DecisionBuilder *const db, SearchMonitor *const m1, SearchMonitor *const m2, SearchMonitor *const m3)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abdb542d05e19b8c9ad5dbea0709555fe"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abdb542d05e19b8c9ad5dbea0709555fe">operations_research::Solver::MakeScheduleOrPostpone</a></div><div class="ttdeci">Decision * MakeScheduleOrPostpone(IntervalVar *const var, int64_t est, int64_t *const marker)</div><div class="ttdoc">Returns a decision that tries to schedule a task at a given time.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abe9b685ee0bca9e541bce7d2dbd61761"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abe9b685ee0bca9e541bce7d2dbd61761">operations_research::Solver::Cache</a></div><div class="ttdeci">ModelCache * Cache() const</div><div class="ttdoc">Returns the cache of the model.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_abee99b27e59ac8f7676db50d736a17ab"><div class="ttname"><a href="classoperations__research_1_1_solver.html#abee99b27e59ac8f7676db50d736a17ab">operations_research::Solver::MakeLocalSearchPhaseParameters</a></div><div class="ttdeci">LocalSearchPhaseParameters * MakeLocalSearchPhaseParameters(IntVar *objective, SolutionPool *const pool, LocalSearchOperator *const ls_operator, DecisionBuilder *const sub_decision_builder, RegularLimit *const limit)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac0226a133f43985fecfdd49803e53b17"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac0226a133f43985fecfdd49803e53b17">operations_research::Solver::MakeNonOverlappingBoxesConstraint</a></div><div class="ttdeci">Constraint * MakeNonOverlappingBoxesConstraint(const std::vector&lt; IntVar * &gt; &amp;x_vars, const std::vector&lt; IntVar * &gt; &amp;y_vars, const std::vector&lt; int &gt; &amp;x_size, const std::vector&lt; int &gt; &amp;y_size)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac036235208064d566fad74b721bc1a0a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac036235208064d566fad74b721bc1a0a">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IndexEvaluator1 var_evaluator, IntValueStrategy val_str)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac0428855f960dc76ecb2c5d1877aed8c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac0428855f960dc76ecb2c5d1877aed8c">operations_research::Solver::MakeCumulative</a></div><div class="ttdeci">Constraint * MakeCumulative(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::vector&lt; IntVar * &gt; &amp;demands, int64_t capacity, const std::string &amp;name)</div><div class="ttdoc">This constraint enforces that, for any integer t, the sum of demands corresponding to an interval con...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac085ecdbf4f27716641a6369da14d954"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac085ecdbf4f27716641a6369da14d954">operations_research::Solver::MakeElementEquality</a></div><div class="ttdeci">Constraint * MakeElementEquality(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const index, int64_t target)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac09271a5cd507d9af4a6b0a5e35a9516"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac09271a5cd507d9af4a6b0a5e35a9516">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IndexEvaluator2 eval, IndexEvaluator1 tie_breaker, EvaluatorStrategy str)</div><div class="ttdoc">Returns a decision builder which assigns values to variables which minimize the values returned by th...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac0ac844f6576d238f6c11f4069b4576d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac0ac844f6576d238f6c11f4069b4576d">operations_research::Solver::MakeRankLastInterval</a></div><div class="ttdeci">Decision * MakeRankLastInterval(SequenceVar *const sequence, int index)</div><div class="ttdoc">Returns a decision that tries to rank last the ith interval var in the sequence variable.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac145423b7d355bcd75d627871ca95e86"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac145423b7d355bcd75d627871ca95e86">operations_research::Solver::MakeAllDifferent</a></div><div class="ttdeci">Constraint * MakeAllDifferent(const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">All variables are pairwise different.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac14b4f9be9e760378da86da1bc2abd00"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac14b4f9be9e760378da86da1bc2abd00">operations_research::Solver::MakeSortingConstraint</a></div><div class="ttdeci">Constraint * MakeSortingConstraint(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; IntVar * &gt; &amp;sorted)</div><div class="ttdoc">Creates a constraint binding the arrays of variables &quot;vars&quot; and &quot;sorted_vars&quot;: sorted_vars[0] must be...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac15faffa16c334370eac056d3986efff"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac15faffa16c334370eac056d3986efff">operations_research::Solver::MakeDiv</a></div><div class="ttdeci">IntExpr * MakeDiv(IntExpr *const expr, int64_t value)</div><div class="ttdoc">expr / value (integer division)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac26b924138fa2c1cbb1cdb83c4374ea3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac26b924138fa2c1cbb1cdb83c4374ea3">operations_research::Solver::MakeSolveOnce</a></div><div class="ttdeci">DecisionBuilder * MakeSolveOnce(DecisionBuilder *const db, const std::vector&lt; SearchMonitor * &gt; &amp;monitors)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac26eb1d5bfa1456f13ec3d3d8b5c3536"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac26eb1d5bfa1456f13ec3d3d8b5c3536">operations_research::Solver::VariableValueSelector</a></div><div class="ttdeci">std::function&lt; int64_t(const IntVar *v, int64_t id)&gt; VariableValueSelector</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00749">constraint_solver.h:749</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac2bf0f5265b277fd5e9cdfffb1130af8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac2bf0f5265b277fd5e9cdfffb1130af8">operations_research::Solver::MakeIsBetweenCt</a></div><div class="ttdeci">Constraint * MakeIsBetweenCt(IntExpr *const expr, int64_t l, int64_t u, IntVar *const b)</div><div class="ttdoc">b == (l &lt;= expr &lt;= u)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac2c5df6e512f5ebe6ac88b9b8f3a3058"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac2c5df6e512f5ebe6ac88b9b8f3a3058">operations_research::Solver::MakeSolveOnce</a></div><div class="ttdeci">DecisionBuilder * MakeSolveOnce(DecisionBuilder *const db, SearchMonitor *const monitor1, SearchMonitor *const monitor2, SearchMonitor *const monitor3)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac2e2c11fe0cb421b8b6785b3f0bbb201"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac2e2c11fe0cb421b8b6785b3f0bbb201">operations_research::Solver::MakeLocalSearchPhase</a></div><div class="ttdeci">DecisionBuilder * MakeLocalSearchPhase(Assignment *const assignment, LocalSearchPhaseParameters *const parameters)</div><div class="ttdoc">Local Search decision builders factories.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac312642e015dc90cfe57ced402222862"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac312642e015dc90cfe57ced402222862">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; SequenceVar * &gt; &amp;sequences, SequenceStrategy str)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac3183a9fb438996e76e3079f397eb9f5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac3183a9fb438996e76e3079f397eb9f5">operations_research::Solver::MakeScalProdGreaterOrEqual</a></div><div class="ttdeci">Constraint * MakeScalProdGreaterOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;coeffs, int64_t cst)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac44fc7b9623b36db077cd649c640a5d3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac44fc7b9623b36db077cd649c640a5d3">operations_research::Solver::MakeMax</a></div><div class="ttdeci">IntExpr * MakeMax(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">std::max(left, right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac46ae3a82d68424788c0eabc3d4b838c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac46ae3a82d68424788c0eabc3d4b838c">operations_research::Solver::MakeDelayedConstraintInitialPropagateCallback</a></div><div class="ttdeci">Demon * MakeDelayedConstraintInitialPropagateCallback(Constraint *const ct)</div><div class="ttdoc">This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of ...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac4f11683c5546c728671e917d2031384"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac4f11683c5546c728671e917d2031384">operations_research::Solver::MakeNonOverlappingNonStrictBoxesConstraint</a></div><div class="ttdeci">Constraint * MakeNonOverlappingNonStrictBoxesConstraint(const std::vector&lt; IntVar * &gt; &amp;x_vars, const std::vector&lt; IntVar * &gt; &amp;y_vars, const std::vector&lt; IntVar * &gt; &amp;x_size, const std::vector&lt; IntVar * &gt; &amp;y_size)</div><div class="ttdoc">This constraint states that all the boxes must not overlap.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac50a9f394a6fc3e1707074bccd8bd334"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac50a9f394a6fc3e1707074bccd8bd334">operations_research::Solver::NameAllVariables</a></div><div class="ttdeci">bool NameAllVariables() const</div><div class="ttdoc">Returns whether all variables should be named.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac56745ef934f2e711fcd5aa02a827146"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac56745ef934f2e711fcd5aa02a827146">operations_research::Solver::MakeSolveOnce</a></div><div class="ttdeci">DecisionBuilder * MakeSolveOnce(DecisionBuilder *const db, SearchMonitor *const monitor1, SearchMonitor *const monitor2, SearchMonitor *const monitor3, SearchMonitor *const monitor4)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac5a88b8b5ae7d8a03052b00db7dc931e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac5a88b8b5ae7d8a03052b00db7dc931e">operations_research::Solver::MakeGreaterOrEqual</a></div><div class="ttdeci">Constraint * MakeGreaterOrEqual(IntExpr *const expr, int value)</div><div class="ttdoc">expr &gt;= value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac8d11f92b1af7b582f49c50ff1a02559"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac8d11f92b1af7b582f49c50ff1a02559">operations_research::Solver::MakeEquality</a></div><div class="ttdeci">Constraint * MakeEquality(IntervalVar *const var1, IntervalVar *const var2)</div><div class="ttdoc">This constraints states that the two interval variables are equal.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ac957f0efc6de9135512f60f80ba36083"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ac957f0efc6de9135512f60f80ba36083">operations_research::Solver::MakeSum</a></div><div class="ttdeci">IntExpr * MakeSum(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left + right.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aca0863f3e90f03bf77bbcb9aceb02e85"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aca0863f3e90f03bf77bbcb9aceb02e85">operations_research::Solver::CastExpression</a></div><div class="ttdeci">IntExpr * CastExpression(const IntVar *const var) const</div><div class="ttdoc">!defined(SWIG)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aca90f8eeeac883bdb7bee6fd1be1c9f3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aca90f8eeeac883bdb7bee6fd1be1c9f3">operations_research::Solver::MakeEnterSearchCallback</a></div><div class="ttdeci">SearchMonitor * MakeEnterSearchCallback(std::function&lt; void()&gt; callback)</div><div class="ttdoc">--— Callback-based search monitors --—</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_acaa896a88abfa6b0f69c0bbb5dba2e66"><div class="ttname"><a href="classoperations__research_1_1_solver.html#acaa896a88abfa6b0f69c0bbb5dba2e66">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(IntVar *const v0, IntVar *const v1, IntVar *const v2, IntVar *const v3, IntVarStrategy var_str, IntValueStrategy val_str)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_acbd7593b810d58ab572e5918d5690a94"><div class="ttname"><a href="classoperations__research_1_1_solver.html#acbd7593b810d58ab572e5918d5690a94">operations_research::Solver::fail_stamp</a></div><div class="ttdeci">uint64_t fail_stamp() const</div><div class="ttdoc">The fail_stamp() is incremented after each backtrack.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_accc247a793239898fa4a822389614c73"><div class="ttname"><a href="classoperations__research_1_1_solver.html#accc247a793239898fa4a822389614c73">operations_research::Solver::SetBranchSelector</a></div><div class="ttdeci">void SetBranchSelector(BranchSelector bs)</div><div class="ttdoc">Sets the given branch selector on the current active search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_acd6c49bd62ce1a1777a1c0e644f1186e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#acd6c49bd62ce1a1777a1c0e644f1186e">operations_research::Solver::PropagationBaseObject</a></div><div class="ttdeci">friend class PropagationBaseObject</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02960">constraint_solver.h:2960</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_acdaa08527897eee872272e8e2d2b28e4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#acdaa08527897eee872272e8e2d2b28e4">operations_research::Solver::MakeSquare</a></div><div class="ttdeci">IntExpr * MakeSquare(IntExpr *const expr)</div><div class="ttdoc">expr * expr</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_acdeae37255ed2f47076a5eaf5a441f08"><div class="ttname"><a href="classoperations__research_1_1_solver.html#acdeae37255ed2f47076a5eaf5a441f08">operations_research::Solver::MakeTimeLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT RegularLimit * MakeTimeLimit(absl::Duration time)</div><div class="ttdoc">Creates a search limit that constrains the running time.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_acee8bdfca8ecbafa24d474ab1d6e7e66"><div class="ttname"><a href="classoperations__research_1_1_solver.html#acee8bdfca8ecbafa24d474ab1d6e7e66">operations_research::Solver::MakeSymmetryManager</a></div><div class="ttdeci">SearchMonitor * MakeSymmetryManager(SymmetryBreaker *const v1)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_acf9b3b0021ba123b577f437d549432f8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#acf9b3b0021ba123b577f437d549432f8">operations_research::Solver::MakeFirstSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeFirstSolutionCollector(const Assignment *const assignment)</div><div class="ttdoc">Collect the first solution of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad10da04717f2923d609f093f9cb372c7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad10da04717f2923d609f093f9cb372c7">operations_research::Solver::MakeMirrorInterval</a></div><div class="ttdeci">IntervalVar * MakeMirrorInterval(IntervalVar *const interval_var)</div><div class="ttdoc">Creates an interval var that is the mirror image of the given one, that is, the interval var obtained...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad13236f48acae72930570e53b05412ad"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad13236f48acae72930570e53b05412ad">operations_research::Solver::MakeConditionalExpression</a></div><div class="ttdeci">IntExpr * MakeConditionalExpression(IntVar *const condition, IntExpr *const expr, int64_t unperformed_value)</div><div class="ttdoc">Conditional Expr condition ? expr : unperformed_value.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad1715ae8613b43ca37c2d76e61047a82"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad1715ae8613b43ca37c2d76e61047a82">operations_research::Solver::MultiArmedBanditConcatenateOperators</a></div><div class="ttdeci">LocalSearchOperator * MultiArmedBanditConcatenateOperators(const std::vector&lt; LocalSearchOperator * &gt; &amp;ops, double memory_coefficient, double exploration_coefficient, bool maximize)</div><div class="ttdoc">Creates a local search operator which concatenates a vector of operators.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad3ae26b2787de582f090ef86c77e0484"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad3ae26b2787de582f090ef86c77e0484">operations_research::Solver::tmp_vector_</a></div><div class="ttdeci">std::vector&lt; int64_t &gt; tmp_vector_</div><div class="ttdoc">Unsafe temporary vector.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02953">constraint_solver.h:2953</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad444dc10026855dbfa54b1fc728118d5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad444dc10026855dbfa54b1fc728118d5">operations_research::Solver::MakeFixedDurationStartSyncedOnEndIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationStartSyncedOnEndIntervalVar(IntervalVar *const interval_var, int64_t duration, int64_t offset)</div><div class="ttdoc">Creates an interval var with a fixed duration whose start is synchronized with the end of another int...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad44a208d35ca938ae9564e5e26687cde"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad44a208d35ca938ae9564e5e26687cde">operations_research::Solver::MakeIsGreaterCt</a></div><div class="ttdeci">Constraint * MakeIsGreaterCt(IntExpr *const left, IntExpr *const right, IntVar *const b)</div><div class="ttdoc">b == (left &gt; right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad45ddc54149c5954c2bbd4e2657f9148"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad45ddc54149c5954c2bbd4e2657f9148">operations_research::Solver::MakeAssignment</a></div><div class="ttdeci">Assignment * MakeAssignment()</div><div class="ttdoc">This method creates an empty assignment.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad4bbef048381ee722e0f189bab7641fa"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad4bbef048381ee722e0f189bab7641fa">operations_research::Solver::MakePrintModelVisitor</a></div><div class="ttdeci">ModelVisitor * MakePrintModelVisitor()</div><div class="ttdoc">Prints the model.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad4c4d0d62a6d65debcff4437948435a1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad4c4d0d62a6d65debcff4437948435a1">operations_research::Solver::Closure</a></div><div class="ttdeci">std::function&lt; void()&gt; Closure</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00755">constraint_solver.h:755</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad664fb0d69f84f5b35739481ebeaf105"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad664fb0d69f84f5b35739481ebeaf105">operations_research::Solver::MakeImprovementLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT ImprovementSearchLimit * MakeImprovementLimit(IntVar *objective_var, bool maximize, double objective_scaling_factor, double objective_offset, double improvement_rate_coefficient, int improvement_rate_solutions_distance)</div><div class="ttdoc">Limits the search based on the improvements of 'objective_var'.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad66fddae43e332f97a4adc47624b799b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad66fddae43e332f97a4adc47624b799b">operations_research::Solver::MakePathCumul</a></div><div class="ttdeci">Constraint * MakePathCumul(const std::vector&lt; IntVar * &gt; &amp;nexts, const std::vector&lt; IntVar * &gt; &amp;active, const std::vector&lt; IntVar * &gt; &amp;cumuls, const std::vector&lt; IntVar * &gt; &amp;transits)</div><div class="ttdoc">Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + t...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad7946514ee3dd6cb3ab993dc9e98b33b"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">operations_research::Solver::Action</a></div><div class="ttdeci">std::function&lt; void(Solver *)&gt; Action</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00754">constraint_solver.h:754</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad86f3c4cb67c8eb128337d1204546788"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad86f3c4cb67c8eb128337d1204546788">operations_research::Solver::MakeFirstSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeFirstSolutionCollector()</div><div class="ttdoc">Collect the first solution of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad8c110b0a2b371b8f632ae17d4a4d563"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad8c110b0a2b371b8f632ae17d4a4d563">operations_research::Solver::RevAllocArray</a></div><div class="ttdeci">T * RevAllocArray(T *object)</div><div class="ttdoc">Like RevAlloc() above, but for an array of objects: the array must have been allocated with the new[]...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00802">constraint_solver.h:802</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad91241d4de66226e892d64fdc46357d2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad91241d4de66226e892d64fdc46357d2">operations_research::Solver::MakeFixedDurationIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationIntervalVar(IntVar *const start_variable, int64_t duration, IntVar *const performed_variable, const std::string &amp;name)</div><div class="ttdoc">Creates an interval var with a fixed duration, and performed_variable.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad92d314c2a6358cff54e0cafbee5c5af"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad92d314c2a6358cff54e0cafbee5c5af">operations_research::Solver::MakePathCumul</a></div><div class="ttdeci">Constraint * MakePathCumul(const std::vector&lt; IntVar * &gt; &amp;nexts, const std::vector&lt; IntVar * &gt; &amp;active, const std::vector&lt; IntVar * &gt; &amp;cumuls, const std::vector&lt; IntVar * &gt; &amp;slacks, IndexEvaluator2 transit_evaluator)</div><div class="ttdoc">Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + t...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ad9daba429662707b8d6bd5e119cd4da5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ad9daba429662707b8d6bd5e119cd4da5">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IntVarStrategy var_str, IndexEvaluator2 value_evaluator)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_adb0d364d98cccb26eed10317ec8e442a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#adb0d364d98cccb26eed10317ec8e442a">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IndexEvaluator1 var_evaluator, IndexEvaluator2 value_evaluator)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_adb5dd2b903aed4484d190730863f26c2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#adb5dd2b903aed4484d190730863f26c2">operations_research::Solver::ExportProfilingOverview</a></div><div class="ttdeci">void ExportProfilingOverview(const std::string &amp;filename)</div><div class="ttdoc">Exports the profiling information in a human readable overview.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_adbc2064c8c125c7d57064b7f9bbb02e7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#adbc2064c8c125c7d57064b7f9bbb02e7">operations_research::Solver::MakeNBestValueSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeNBestValueSolutionCollector(int solution_count, bool maximize)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_adbf7d490e8a610424c1cdcc336fed1b2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#adbf7d490e8a610424c1cdcc336fed1b2">operations_research::Solver::Compose</a></div><div class="ttdeci">DecisionBuilder * Compose(DecisionBuilder *const db1, DecisionBuilder *const db2)</div><div class="ttdoc">Creates a decision builder which sequentially composes decision builders.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_adc1bf65f960a8967b417cf7586f47972"><div class="ttname"><a href="classoperations__research_1_1_solver.html#adc1bf65f960a8967b417cf7586f47972">operations_research::Solver::MakeGuidedLocalSearch</a></div><div class="ttdeci">SearchMonitor * MakeGuidedLocalSearch(bool maximize, IntVar *const objective, IndexEvaluator3 objective_function, int64_t step, const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; IntVar * &gt; &amp;secondary_vars, double penalty_factor)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_add19a54159cf1d9d075474b977a8788f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#add19a54159cf1d9d075474b977a8788f">operations_research::Solver::MakeIndexOfFirstMaxValueConstraint</a></div><div class="ttdeci">Constraint * MakeIndexOfFirstMaxValueConstraint(IntVar *index, const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">Creates a constraint that binds the index variable to the index of the first variable with the maximu...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_add6d1e285b4009e4e966b43defc6652d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#add6d1e285b4009e4e966b43defc6652d">operations_research::Solver::Solver</a></div><div class="ttdeci">Solver(const std::string &amp;name, const ConstraintSolverParameters &amp;parameters)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_addca91d25656941db14e8c2851155ae8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#addca91d25656941db14e8c2851155ae8">operations_research::Solver::MakeSearchLog</a></div><div class="ttdeci">SearchMonitor * MakeSearchLog(int branch_period, OptimizeVar *const opt_var, std::function&lt; std::string()&gt; display_callback)</div><div class="ttdoc">Creates a search monitor that will also print the result of the display callback.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_addcba4112937e66dfad1e22966f43d9c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#addcba4112937e66dfad1e22966f43d9c">operations_research::Solver::MakeNonEquality</a></div><div class="ttdeci">Constraint * MakeNonEquality(IntExpr *const expr, int64_t value)</div><div class="ttdoc">expr != value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ade22213fff69cfb37d8238e8fd3073df"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073df">operations_research::Solver::MarkerType</a></div><div class="ttdeci">MarkerType</div><div class="ttdoc">This enum is used internally in private methods Solver::PushState and Solver::PopState to tag states ...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00713">constraint_solver.h:713</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ade22213fff69cfb37d8238e8fd3073dfa0232b3ece732fa7e71171f78888cea50"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa0232b3ece732fa7e71171f78888cea50">operations_research::Solver::CHOICE_POINT</a></div><div class="ttdeci">@ CHOICE_POINT</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00713">constraint_solver.h:713</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7">operations_research::Solver::SIMPLE_MARKER</a></div><div class="ttdeci">@ SIMPLE_MARKER</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00713">constraint_solver.h:713</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ade22213fff69cfb37d8238e8fd3073dfa6239979890280856033280b690ebc218"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfa6239979890280856033280b690ebc218">operations_research::Solver::SENTINEL</a></div><div class="ttdeci">@ SENTINEL</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00713">constraint_solver.h:713</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ade22213fff69cfb37d8238e8fd3073dfaddfacd8981a3f651982bf9a0c82f0995"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ade22213fff69cfb37d8238e8fd3073dfaddfacd8981a3f651982bf9a0c82f0995">operations_research::Solver::REVERSIBLE_ACTION</a></div><div class="ttdeci">@ REVERSIBLE_ACTION</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00713">constraint_solver.h:713</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aded8803669b18a66cf5746fdc3bedfc9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aded8803669b18a66cf5746fdc3bedfc9">operations_research::Solver::MakeBestValueSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeBestValueSolutionCollector(const Assignment *const assignment, bool maximize)</div><div class="ttdoc">Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignm...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_adedce71d13d901cec6c4c8ff80b10377"><div class="ttname"><a href="classoperations__research_1_1_solver.html#adedce71d13d901cec6c4c8ff80b10377">operations_research::Solver::MakeIsMemberCt</a></div><div class="ttdeci">Constraint * MakeIsMemberCt(IntExpr *const expr, const std::vector&lt; int &gt; &amp;values, IntVar *const boolvar)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_adf2170edc8a72ab03c2a3c84ddbb559f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#adf2170edc8a72ab03c2a3c84ddbb559f">operations_research::Solver::MakeFixedDurationStartSyncedOnStartIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationStartSyncedOnStartIntervalVar(IntervalVar *const interval_var, int64_t duration, int64_t offset)</div><div class="ttdoc">Creates an interval var with a fixed duration whose start is synchronized with the start of another i...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_adf4b4c9f1cc7a6f674a721a5943034af"><div class="ttname"><a href="classoperations__research_1_1_solver.html#adf4b4c9f1cc7a6f674a721a5943034af">operations_research::Solver::MakeMinEquality</a></div><div class="ttdeci">Constraint * MakeMinEquality(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const min_var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae003f9e6fbeec988e9e3ba456d1f2808"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae003f9e6fbeec988e9e3ba456d1f2808">operations_research::Solver::MakeFixedDurationIntervalVarArray</a></div><div class="ttdeci">void MakeFixedDurationIntervalVarArray(const std::vector&lt; IntVar * &gt; &amp;start_variables, const std::vector&lt; int &gt; &amp;durations, const std::string &amp;name, std::vector&lt; IntervalVar * &gt; *const array)</div><div class="ttdoc">This method fills the vector with interval variables built with the corresponding start variables.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae0b1df3ad0e100dddfea9713ce9e3db2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae0b1df3ad0e100dddfea9713ce9e3db2">operations_research::Solver::MakePathPrecedenceConstraint</a></div><div class="ttdeci">Constraint * MakePathPrecedenceConstraint(std::vector&lt; IntVar * &gt; nexts, const std::vector&lt; std::pair&lt; int, int &gt; &gt; &amp;precedences)</div><div class="ttdoc">Constraint enforcing, for each pair (i,j) in precedences, i to be before j in paths defined by next v...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae0c7477ddd7a172d07e70b2dc0829112"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae0c7477ddd7a172d07e70b2dc0829112">operations_research::Solver::MakeWeightedOptimize</a></div><div class="ttdeci">OptimizeVar * MakeWeightedOptimize(bool maximize, const std::vector&lt; IntVar * &gt; &amp;sub_objectives, const std::vector&lt; int64_t &gt; &amp;weights, int64_t step)</div><div class="ttdoc">Creates a weighted objective with a given sense (true = maximization).</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae1e21bd569a090f4836285012cd1ab4c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae1e21bd569a090f4836285012cd1ab4c">operations_research::Solver::MakeIsGreaterCstCt</a></div><div class="ttdeci">Constraint * MakeIsGreaterCstCt(IntExpr *const v, int64_t c, IntVar *const b)</div><div class="ttdoc">b == (v &gt; c)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae22b51c62a7ca70222c73972a1f7caa5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae22b51c62a7ca70222c73972a1f7caa5">operations_research::Solver::MakeSumLessOrEqual</a></div><div class="ttdeci">Constraint * MakeSumLessOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, int64_t cst)</div><div class="ttdoc">Variation on arrays.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae2d27e0db523a7b883fe8bd2f40e9968"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae2d27e0db523a7b883fe8bd2f40e9968">operations_research::Solver::AddCastConstraint</a></div><div class="ttdeci">void AddCastConstraint(CastConstraint *const constraint, IntVar *const target_var, IntExpr *const expr)</div><div class="ttdoc">Adds 'constraint' to the solver and marks it as a cast constraint, that is, a constraint created call...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae37d3a68746841403f335654370e8560"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae37d3a68746841403f335654370e8560">operations_research::Solver::IndexEvaluator1</a></div><div class="ttdeci">std::function&lt; int64_t(int64_t)&gt; IndexEvaluator1</div><div class="ttdoc">Callback typedefs.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00735">constraint_solver.h:735</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae3a68c1cd26973c190846053f202fa8c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae3a68c1cd26973c190846053f202fa8c">operations_research::Solver::Rand32</a></div><div class="ttdeci">int32_t Rand32(int32_t size)</div><div class="ttdoc">Returns a random value between 0 and 'size' - 1;.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02847">constraint_solver.h:2847</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae3e41eaf96a9ec044d34293897960631"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae3e41eaf96a9ec044d34293897960631">operations_research::Solver::MakeStoreAssignment</a></div><div class="ttdeci">DecisionBuilder * MakeStoreAssignment(Assignment *assignment)</div><div class="ttdoc">Returns a DecisionBuilder which stores an Assignment (calls void Assignment::Store())</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae57bc6f29c7b4343cb90aa1946ce1869"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">operations_research::Solver::BranchSelector</a></div><div class="ttdeci">std::function&lt; DecisionModification()&gt; BranchSelector</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00752">constraint_solver.h:752</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae5d9ab0205e5c3f5be37e9450d5af1ed"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae5d9ab0205e5c3f5be37e9450d5af1ed">operations_research::Solver::Compose</a></div><div class="ttdeci">DecisionBuilder * Compose(DecisionBuilder *const db1, DecisionBuilder *const db2, DecisionBuilder *const db3, DecisionBuilder *const db4)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae5dafec4a3984f3a489f81ad5af0e4c1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae5dafec4a3984f3a489f81ad5af0e4c1">operations_research::Solver::InstrumentsDemons</a></div><div class="ttdeci">bool InstrumentsDemons() const</div><div class="ttdoc">Returns whether we are instrumenting demons.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae645e8df0cf59088cfdd7de26775247f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae645e8df0cf59088cfdd7de26775247f">operations_research::Solver::MakeLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT RegularLimit * MakeLimit(int64_t time, int64_t branches, int64_t failures, int64_t solutions, bool smart_time_check=false, bool cumulative=false)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae6a26e644ab0fc0e92841bf54b5a11f7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae6a26e644ab0fc0e92841bf54b5a11f7">operations_research::Solver::MakeFailuresLimit</a></div><div class="ttdeci">ABSL_MUST_USE_RESULT RegularLimit * MakeFailuresLimit(int64_t failures)</div><div class="ttdoc">Creates a search limit that constrains the number of failures that can happen when exploring the sear...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae6d95e33b8115fc1b83d8a28a26ba7b5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae6d95e33b8115fc1b83d8a28a26ba7b5">operations_research::Solver::MakeIntervalVarRelation</a></div><div class="ttdeci">Constraint * MakeIntervalVarRelation(IntervalVar *const t, UnaryIntervalRelation r, int64_t d)</div><div class="ttdoc">This method creates a relation between an interval var and a date.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae70ed50181af7d10b023eb2ea7151d63"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae70ed50181af7d10b023eb2ea7151d63">operations_research::Solver::MakeExitSearchCallback</a></div><div class="ttdeci">SearchMonitor * MakeExitSearchCallback(std::function&lt; void()&gt; callback)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae777f900e6094de081dc73c81f3c9f2c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae777f900e6094de081dc73c81f3c9f2c">operations_research::Solver::MakeSplitVariableDomain</a></div><div class="ttdeci">Decision * MakeSplitVariableDomain(IntVar *const var, int64_t val, bool start_with_lower_half)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae7a6f9406ec6be74bf29518190761b08"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae7a6f9406ec6be74bf29518190761b08">operations_research::Solver::SolveAndCommit</a></div><div class="ttdeci">bool SolveAndCommit(DecisionBuilder *const db, SearchMonitor *const m1)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae83f4bd46d24db9dd2177e84cae8da6d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae83f4bd46d24db9dd2177e84cae8da6d">operations_research::Solver::MakeDefaultPhase</a></div><div class="ttdeci">DecisionBuilder * MakeDefaultPhase(const std::vector&lt; IntVar * &gt; &amp;vars)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae88d696e499f29968ad16dcf587fff50"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae88d696e499f29968ad16dcf587fff50">operations_research::Solver::MakeProd</a></div><div class="ttdeci">IntExpr * MakeProd(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left * right</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae8b8c06e2106f61105c9e861bc4b6aa8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae8b8c06e2106f61105c9e861bc4b6aa8">operations_research::Solver::MakeDecisionBuilderFromAssignment</a></div><div class="ttdeci">DecisionBuilder * MakeDecisionBuilderFromAssignment(Assignment *const assignment, DecisionBuilder *const db, const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">Returns a decision builder for which the left-most leaf corresponds to assignment,...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae8cece32cf189d295336a64e00767bdd"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae8cece32cf189d295336a64e00767bdd">operations_research::Solver::MakeIntConst</a></div><div class="ttdeci">IntVar * MakeIntConst(int64_t val, const std::string &amp;name)</div><div class="ttdoc">IntConst will create a constant expression.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae8f64501937a37692af9e56e4fbe6393"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae8f64501937a37692af9e56e4fbe6393">operations_research::Solver::MakeVariableLessOrEqualValue</a></div><div class="ttdeci">Decision * MakeVariableLessOrEqualValue(IntVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae9387021d508fb4ecec7728972d7b8a4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae9387021d508fb4ecec7728972d7b8a4">operations_research::Solver::set_fail_intercept</a></div><div class="ttdeci">void set_fail_intercept(std::function&lt; void()&gt; fail_intercept)</div><div class="ttdoc">Internal.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02887">constraint_solver.h:2887</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae95ca181ba462987f0cd6e10eef83a97"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae95ca181ba462987f0cd6e10eef83a97">operations_research::Solver::MakeRestoreAssignment</a></div><div class="ttdeci">DecisionBuilder * MakeRestoreAssignment(Assignment *assignment)</div><div class="ttdoc">Returns a DecisionBuilder which restores an Assignment (calls void Assignment::Restore())</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_ae989ff30cc9bd52ad392e92f1bf79f30"><div class="ttname"><a href="classoperations__research_1_1_solver.html#ae989ff30cc9bd52ad392e92f1bf79f30">operations_research::Solver::MakeSearchLog</a></div><div class="ttdeci">SearchMonitor * MakeSearchLog(SearchLogParameters parameters)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aeb4b40e28341f9c71198a6c9f0a78c06"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aeb4b40e28341f9c71198a6c9f0a78c06">operations_research::Solver::MakeFailDecision</a></div><div class="ttdeci">Decision * MakeFailDecision()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aeb92d4addb41255c9732cacfcb54f795"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aeb92d4addb41255c9732cacfcb54f795">operations_research::Solver::Fail</a></div><div class="ttdeci">void Fail()</div><div class="ttdoc">Abandon the current branch in the search tree. A backtrack will follow.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aebd2e4df3c099bc0b9ab7e496bc16327"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aebd2e4df3c099bc0b9ab7e496bc16327">operations_research::Solver::MakeNestedOptimize</a></div><div class="ttdeci">DecisionBuilder * MakeNestedOptimize(DecisionBuilder *const db, Assignment *const solution, bool maximize, int64_t step, SearchMonitor *const monitor1, SearchMonitor *const monitor2, SearchMonitor *const monitor3, SearchMonitor *const monitor4)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aec20b14075549774bebcd4ba3441f745"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aec20b14075549774bebcd4ba3441f745">operations_research::Solver::MakeModulo</a></div><div class="ttdeci">IntExpr * MakeModulo(IntExpr *const x, int64_t mod)</div><div class="ttdoc">Modulo expression x % mod (with the python convention for modulo).</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aec6401c023dab782b331b0238c6ff5e4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aec6401c023dab782b331b0238c6ff5e4">operations_research::Solver::MakeSumEquality</a></div><div class="ttdeci">Constraint * MakeSumEquality(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const var)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aec68a2a29292f367d4ea1fdd95d1f5c9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aec68a2a29292f367d4ea1fdd95d1f5c9">operations_research::Solver::MakeGreaterOrEqual</a></div><div class="ttdeci">Constraint * MakeGreaterOrEqual(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left &gt;= right</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aecc1416849d286531c1820b42d2292fc"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aecc1416849d286531c1820b42d2292fc">operations_research::Solver::MakeIsEqualCstVar</a></div><div class="ttdeci">IntVar * MakeIsEqualCstVar(IntExpr *const var, int64_t value)</div><div class="ttdoc">status var of (var == value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aed38a7e458a853841bff6027875346fd"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aed38a7e458a853841bff6027875346fd">operations_research::Solver::MakeIntVar</a></div><div class="ttdeci">IntVar * MakeIntVar(const std::vector&lt; int &gt; &amp;values)</div><div class="ttdoc">MakeIntVar will create a variable with the given sparse domain.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aee1a846454b8c2e5f38a8e030343e24f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aee1a846454b8c2e5f38a8e030343e24f">operations_research::Solver::MakeDistribute</a></div><div class="ttdeci">Constraint * MakeDistribute(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;values, const std::vector&lt; IntVar * &gt; &amp;cards)</div><div class="ttdoc">Aggregated version of count: |{i | v[i] == values[j]}| == cards[j].</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aeec1ca58d160e909e7b5e2a7dc62d2b9"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aeec1ca58d160e909e7b5e2a7dc62d2b9">operations_research::Solver::MakeIsMemberCt</a></div><div class="ttdeci">Constraint * MakeIsMemberCt(IntExpr *const expr, const std::vector&lt; int64_t &gt; &amp;values, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (expr in set)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aef8fb07ce42926c2fb51650e22b56ee2"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aef8fb07ce42926c2fb51650e22b56ee2">operations_research::Solver::MakeIntVar</a></div><div class="ttdeci">IntVar * MakeIntVar(int64_t min, int64_t max)</div><div class="ttdoc">MakeIntVar will create the best range based int var for the bounds given.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af0a9e58068d0d7be9c51854ff7d834cc"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af0a9e58068d0d7be9c51854ff7d834cc">operations_research::Solver::NewSearch</a></div><div class="ttdeci">void NewSearch(DecisionBuilder *const db, SearchMonitor *const m1, SearchMonitor *const m2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af1315bc614fc71a3c90729398d208289"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af1315bc614fc71a3c90729398d208289">operations_research::Solver::solutions</a></div><div class="ttdeci">int64_t solutions() const</div><div class="ttdoc">The number of solutions found since the start of the search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af17b122f41dbc903a8e1aefa20628949"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af17b122f41dbc903a8e1aefa20628949">operations_research::Solver::ConcatenateOperators</a></div><div class="ttdeci">LocalSearchOperator * ConcatenateOperators(const std::vector&lt; LocalSearchOperator * &gt; &amp;ops, bool restart)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af2496fe19ff323bd292f75b4f6db640d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af2496fe19ff323bd292f75b4f6db640d">operations_research::Solver::~Solver</a></div><div class="ttdeci">~Solver()</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af2ee342625cccdeda58ec02d2dfddcbe"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af2ee342625cccdeda58ec02d2dfddcbe">operations_research::Solver::MakeIsGreaterOrEqualVar</a></div><div class="ttdeci">IntVar * MakeIsGreaterOrEqualVar(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">status var of (left &gt;= right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af317a515d70c6fe9b88a56bc0342baf7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af317a515d70c6fe9b88a56bc0342baf7">operations_research::Solver::MakeIsGreaterOrEqualCt</a></div><div class="ttdeci">Constraint * MakeIsGreaterOrEqualCt(IntExpr *const left, IntExpr *const right, IntVar *const b)</div><div class="ttdoc">b == (left &gt;= right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af35f78c27f773a8ffc787537dc9f4982"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af35f78c27f773a8ffc787537dc9f4982">operations_research::Solver::MakeLocalSearchPhase</a></div><div class="ttdeci">DecisionBuilder * MakeLocalSearchPhase(const std::vector&lt; SequenceVar * &gt; &amp;vars, DecisionBuilder *const first_solution, LocalSearchPhaseParameters *const parameters)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af48977474f3c25fbf91d2600f8924182"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af48977474f3c25fbf91d2600f8924182">operations_research::Solver::MakeDeviation</a></div><div class="ttdeci">Constraint * MakeDeviation(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const deviation_var, int64_t total_sum)</div><div class="ttdoc">Deviation constraint: sum_i |n * vars[i] - total_sum| &lt;= deviation_var and sum_i vars[i] == total_sum...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af49346bff5dd53d2e2d1c7c271c1a367"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af49346bff5dd53d2e2d1c7c271c1a367">operations_research::Solver::Int64ToIntVar</a></div><div class="ttdeci">std::function&lt; IntVar *(int64_t)&gt; Int64ToIntVar</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00741">constraint_solver.h:741</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af4c960f5d46ac35f537ade04ff7e2cc3"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af4c960f5d46ac35f537ade04ff7e2cc3">operations_research::Solver::MakeAllowedAssignments</a></div><div class="ttdeci">Constraint * MakeAllowedAssignments(const std::vector&lt; IntVar * &gt; &amp;vars, const IntTupleSet &amp;tuples)</div><div class="ttdoc">This method creates a constraint where the graph of the relation between the variables is given in ex...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af5502e2288132c081fc96fdbcee282e6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af5502e2288132c081fc96fdbcee282e6">operations_research::Solver::VariableValueComparator</a></div><div class="ttdeci">std::function&lt; bool(int64_t, int64_t, int64_t)&gt; VariableValueComparator</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00751">constraint_solver.h:751</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af563b9a4a5d95d2552b0d5f43a679e98"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af563b9a4a5d95d2552b0d5f43a679e98">operations_research::Solver::MakeAtMost</a></div><div class="ttdeci">Constraint * MakeAtMost(std::vector&lt; IntVar * &gt; vars, int64_t value, int64_t max_count)</div><div class="ttdoc">|{i | vars[i] == value}| &lt;= max_count</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af5a1f8b1ea0ab0796c8667b9e2ef0ce7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af5a1f8b1ea0ab0796c8667b9e2ef0ce7">operations_research::Solver::RevAlloc</a></div><div class="ttdeci">T * RevAlloc(T *object)</div><div class="ttdoc">Registers the given object as being reversible.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00791">constraint_solver.h:791</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af5ef191b7b02ce107544302d63ab1327"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af5ef191b7b02ce107544302d63ab1327">operations_research::Solver::MakeMin</a></div><div class="ttdeci">IntExpr * MakeMin(IntExpr *const expr, int64_t value)</div><div class="ttdoc">std::min(expr, value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af62a385d57256e5179b185d003dcfea1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af62a385d57256e5179b185d003dcfea1">operations_research::Solver::FinishCurrentSearch</a></div><div class="ttdeci">void FinishCurrentSearch()</div><div class="ttdoc">Tells the solver to kill or restart the current search.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af6b5f0b114ccab3c53024020b7db0d3d"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af6b5f0b114ccab3c53024020b7db0d3d">operations_research::Solver::MakeAssignVariableValueOrFail</a></div><div class="ttdeci">Decision * MakeAssignVariableValueOrFail(IntVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af71de254f80c10584696d5285aca5183"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af71de254f80c10584696d5285aca5183">operations_research::Solver::NewSearch</a></div><div class="ttdeci">void NewSearch(DecisionBuilder *const db, const std::vector&lt; SearchMonitor * &gt; &amp;monitors)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af7d71e7623ee6bb9bb93715e1f9d6e7a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af7d71e7623ee6bb9bb93715e1f9d6e7a">operations_research::Solver::MakeScalProdEquality</a></div><div class="ttdeci">Constraint * MakeScalProdEquality(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;coefficients, int64_t cst)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af8000758952f5c47fbc540e7515ec3d7"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af8000758952f5c47fbc540e7515ec3d7">operations_research::Solver::MakeMonotonicElement</a></div><div class="ttdeci">IntExpr * MakeMonotonicElement(IndexEvaluator1 values, bool increasing, IntVar *const index)</div><div class="ttdoc">Function based element.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af86d4d3fd4b1b37d56a50a0a6c7628d6"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af86d4d3fd4b1b37d56a50a0a6c7628d6">operations_research::Solver::MakeNoCycle</a></div><div class="ttdeci">Constraint * MakeNoCycle(const std::vector&lt; IntVar * &gt; &amp;nexts, const std::vector&lt; IntVar * &gt; &amp;active, IndexFilter1 sink_handler=nullptr)</div><div class="ttdoc">Prevent cycles.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_af8d468e26945c7d4c6b1035826f14947"><div class="ttname"><a href="classoperations__research_1_1_solver.html#af8d468e26945c7d4c6b1035826f14947">operations_research::Solver::MakeSymmetryManager</a></div><div class="ttdeci">SearchMonitor * MakeSymmetryManager(SymmetryBreaker *const v1, SymmetryBreaker *const v2)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afa7690756ad1204af852494cd98381b1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afa7690756ad1204af852494cd98381b1">operations_research::Solver::MakeDistribute</a></div><div class="ttdeci">Constraint * MakeDistribute(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64_t &gt; &amp;values, const std::vector&lt; int64_t &gt; &amp;card_min, const std::vector&lt; int64_t &gt; &amp;card_max)</div><div class="ttdoc">Aggregated version of count with bounded cardinalities: forall j in 0 .</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afabdd434109505b4ffb708387f868c1c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afabdd434109505b4ffb708387f868c1c">operations_research::Solver::MakeNBestValueSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeNBestValueSolutionCollector(const Assignment *const assignment, int solution_count, bool maximize)</div><div class="ttdoc">Same as MakeBestValueSolutionCollector but collects the best solution_count solutions.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afb14a213b7e0c68394ea080aaad11c88"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afb14a213b7e0c68394ea080aaad11c88">operations_research::Solver::MakeStatisticsModelVisitor</a></div><div class="ttdeci">ModelVisitor * MakeStatisticsModelVisitor()</div><div class="ttdoc">Displays some nice statistics on the model.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afb3c159800a0075e82bf5258bbf661e1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afb3c159800a0075e82bf5258bbf661e1">operations_research::Solver::MakeGreater</a></div><div class="ttdeci">Constraint * MakeGreater(IntExpr *const expr, int64_t value)</div><div class="ttdoc">expr &gt; value</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afbee77155db9657532f8e28b007336bb"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afbee77155db9657532f8e28b007336bb">operations_research::Solver::MakeIsLessOrEqualVar</a></div><div class="ttdeci">IntVar * MakeIsLessOrEqualVar(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">status var of (left &lt;= right)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afcb4f63f7ef24e1894c88755c8e18b4e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afcb4f63f7ef24e1894c88755c8e18b4e">operations_research::Solver::RegisterIntervalVar</a></div><div class="ttdeci">IntervalVar * RegisterIntervalVar(IntervalVar *const var)</div><div class="ttdoc">Registers a new IntervalVar and wraps it inside a TraceIntervalVar if necessary.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">operations_research::Solver::EvaluatorLocalSearchOperators</a></div><div class="ttdeci">EvaluatorLocalSearchOperators</div><div class="ttdoc">This enum is used in Solver::MakeOperator associated with an evaluator to specify the neighborhood to...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00564">constraint_solver.h:564</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87">operations_research::Solver::TSPOPT</a></div><div class="ttdeci">@ TSPOPT</div><div class="ttdoc">Sliding TSP operator.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00577">constraint_solver.h:577</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e">operations_research::Solver::LK</a></div><div class="ttdeci">@ LK</div><div class="ttdoc">Lin-Kernighan local search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00569">constraint_solver.h:569</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1">operations_research::Solver::TSPLNS</a></div><div class="ttdeci">@ TSPLNS</div><div class="ttdoc">TSP-base LNS.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00586">constraint_solver.h:585</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd2d924f019d44bc99930a1e931a735f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">operations_research::Solver::LocalSearchFilterBound</a></div><div class="ttdeci">LocalSearchFilterBound</div><div class="ttdoc">This enum is used in Solver::MakeLocalSearchObjectiveFilter.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00592">constraint_solver.h:592</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce">operations_research::Solver::GE</a></div><div class="ttdeci">@ GE</div><div class="ttdoc">Move is accepted when the current objective value &gt;= objective.Min.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00594">constraint_solver.h:594</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61">operations_research::Solver::LE</a></div><div class="ttdeci">@ LE</div><div class="ttdoc">Move is accepted when the current objective value &lt;= objective.Max.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00596">constraint_solver.h:596</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f">operations_research::Solver::EQ</a></div><div class="ttdeci">@ EQ</div><div class="ttdoc">Move is accepted when the current objective value is in the interval objective.Min .</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00600">constraint_solver.h:599</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd3decca8be2b860ad07a2755cd1405c"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd3decca8be2b860ad07a2755cd1405c">operations_research::Solver::MakeDistribute</a></div><div class="ttdeci">Constraint * MakeDistribute(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int &gt; &amp;values, const std::vector&lt; int &gt; &amp;card_min, const std::vector&lt; int &gt; &amp;card_max)</div><div class="ttdoc">Aggregated version of count with bounded cardinalities: forall j in 0 .</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd76de2f858c289571fc1fc5ce7b37ee"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd76de2f858c289571fc1fc5ce7b37ee">operations_research::Solver::MakeFixedDurationIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationIntervalVar(IntVar *const start_variable, int64_t duration, const std::string &amp;name)</div><div class="ttdoc">Creates a performed interval var with a fixed duration.</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afd9bceff0c00d226e49f6d7d08607166"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afd9bceff0c00d226e49f6d7d08607166">operations_research::Solver::RandomConcatenateOperators</a></div><div class="ttdeci">LocalSearchOperator * RandomConcatenateOperators(const std::vector&lt; LocalSearchOperator * &gt; &amp;ops, int32_t seed)</div><div class="ttdoc">Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeig...</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_afdbc33ce0ac6ba6fb5fa36bb8825c3d8"><div class="ttname"><a href="classoperations__research_1_1_solver.html#afdbc33ce0ac6ba6fb5fa36bb8825c3d8">operations_research::Solver::MakeVariableGreaterOrEqualValue</a></div><div class="ttdeci">Decision * MakeVariableGreaterOrEqualValue(IntVar *const var, int64_t value)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_aff916492777aed8cc81ce92767cd461a"><div class="ttname"><a href="classoperations__research_1_1_solver.html#aff916492777aed8cc81ce92767cd461a">operations_research::Solver::MakeDefaultPhase</a></div><div class="ttdeci">DecisionBuilder * MakeDefaultPhase(const std::vector&lt; IntVar * &gt; &amp;vars, const DefaultPhaseParameters &amp;parameters)</div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_affa6c6c872b17ceee95a3cd7f24f6848"><div class="ttname"><a href="classoperations__research_1_1_solver.html#affa6c6c872b17ceee95a3cd7f24f6848">operations_research::Solver::optimization_direction</a></div><div class="ttdeci">OptimizationDirection optimization_direction() const</div><div class="ttdoc">The direction of optimization, getter and setter.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l01013">constraint_solver.h:1013</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_solver_html_affc00ecba247e10af0e2bebb3e1718c5"><div class="ttname"><a href="classoperations__research_1_1_solver.html#affc00ecba247e10af0e2bebb3e1718c5">operations_research::Solver::SaveAndAdd</a></div><div class="ttdeci">void SaveAndAdd(T *adr, T val)</div><div class="ttdoc">All-in-one SaveAndAdd_value.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02833">constraint_solver.h:2833</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1_symmetry_breaker_html"><div class="ttname"><a href="classoperations__research_1_1_symmetry_breaker.html">operations_research::SymmetryBreaker</a></div><div class="ttdoc">A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in r...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l02008">constraint_solveri.h:2008</a></div></div>
<div class="ttc" id="aconstraint__solver_8h_html_a3f9da4a1a05483aa80481604e8983b6b"><div class="ttname"><a href="constraint__solver_8h.html#a3f9da4a1a05483aa80481604e8983b6b">ABSL_DECLARE_FLAG</a></div><div class="ttdeci">ABSL_DECLARE_FLAG(int64_t, cp_random_seed)</div><div class="ttdoc">Declaration of the core objects for the constraint solver.</div></div>
<div class="ttc" id="anamespaceoperations__research_html"><div class="ttname"><a href="namespaceoperations__research.html">operations_research</a></div><div class="ttdoc">Collection of objects used to extend the Constraint Solver library.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00109">constraint_solver.h:109</a></div></div>
<div class="ttc" id="anamespaceoperations__research_html_a5a9881f8a07b166ef2cbde572cea27b6"><div class="ttname"><a href="namespaceoperations__research.html#a5a9881f8a07b166ef2cbde572cea27b6">operations_research::Zero</a></div><div class="ttdeci">int64_t Zero()</div><div class="ttdoc">NOLINT.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03161">constraint_solver.h:3161</a></div></div>
<div class="ttc" id="anamespaceoperations__research_html_a6daa2481a6bbd7b307647006a8752630"><div class="ttname"><a href="namespaceoperations__research.html#a6daa2481a6bbd7b307647006a8752630">operations_research::CpRandomSeed</a></div><div class="ttdeci">int64_t CpRandomSeed()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00160">constraint_solver.h:160</a></div></div>
<div class="ttc" id="anamespaceoperations__research_html_a87fdc0126f6fc98ffb86ba1aa618f322"><div class="ttname"><a href="namespaceoperations__research.html#a87fdc0126f6fc98ffb86ba1aa618f322">operations_research::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;out, const Solver *const s)</div></div>
<div class="ttc" id="anamespaceoperations__research_html_a9e48359348ad94d97e6c44ffd52b33e3"><div class="ttname"><a href="namespaceoperations__research.html#a9e48359348ad94d97e6c44ffd52b33e3">operations_research::One</a></div><div class="ttdeci">int64_t One()</div><div class="ttdoc">This method returns 1.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03164">constraint_solver.h:3164</a></div></div>
<div class="ttc" id="anamespaceoperations__research_html_aea2bf322fab4e2319a23ad22acf8ccf8"><div class="ttname"><a href="namespaceoperations__research.html#aea2bf322fab4e2319a23ad22acf8ccf8">operations_research::SetAssignmentFromAssignment</a></div><div class="ttdeci">void SetAssignmentFromAssignment(Assignment *target_assignment, const std::vector&lt; IntVar * &gt; &amp;target_vars, const Assignment *source_assignment, const std::vector&lt; IntVar * &gt; &amp;source_vars)</div><div class="ttdoc">NOLINT.</div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html">operations_research::DefaultPhaseParameters</a></div><div class="ttdoc">This struct holds all parameters for the default search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00169">constraint_solver.h:169</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a0d757e1829bae7762734bce78136a139"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a0d757e1829bae7762734bce78136a139">operations_research::DefaultPhaseParameters::DefaultPhaseParameters</a></div><div class="ttdeci">DefaultPhaseParameters()</div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a0e6d02b76d3e83bde2a02798e4e7a0a9"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a0e6d02b76d3e83bde2a02798e4e7a0a9">operations_research::DefaultPhaseParameters::heuristic_num_failures_limit</a></div><div class="ttdeci">int heuristic_num_failures_limit</div><div class="ttdoc">The failure limit for each heuristic that we run.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00206">constraint_solver.h:206</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a33b5f7988bd900722e702d6e808d091f"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a33b5f7988bd900722e702d6e808d091f">operations_research::DefaultPhaseParameters::initialization_splits</a></div><div class="ttdeci">int initialization_splits</div><div class="ttdoc">Maximum number of intervals that the initialization of impacts will scan per variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00193">constraint_solver.h:193</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a36703c0bee7e0f1e68f64e0bb9307382"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382">operations_research::DefaultPhaseParameters::DisplayLevel</a></div><div class="ttdeci">DisplayLevel</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00182">constraint_solver.h:182</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a36703c0bee7e0f1e68f64e0bb9307382a50d1448013c6f17125caee18aa418af7"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382a50d1448013c6f17125caee18aa418af7">operations_research::DefaultPhaseParameters::NORMAL</a></div><div class="ttdeci">@ NORMAL</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00182">constraint_solver.h:182</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a36703c0bee7e0f1e68f64e0bb9307382ac157bdf0b85a40d2619cbc8bc1ae5fe2"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382ac157bdf0b85a40d2619cbc8bc1ae5fe2">operations_research::DefaultPhaseParameters::NONE</a></div><div class="ttdeci">@ NONE</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00182">constraint_solver.h:182</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a36703c0bee7e0f1e68f64e0bb9307382ace3e26676763569084c86b8c3b67d601"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a36703c0bee7e0f1e68f64e0bb9307382ace3e26676763569084c86b8c3b67d601">operations_research::DefaultPhaseParameters::VERBOSE</a></div><div class="ttdeci">@ VERBOSE</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00182">constraint_solver.h:182</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a39c899184f62ab82b7ce98b7aaaf7d2d"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a39c899184f62ab82b7ce98b7aaaf7d2d">operations_research::DefaultPhaseParameters::decision_builder</a></div><div class="ttdeci">DecisionBuilder * decision_builder</div><div class="ttdoc">When defined, this overrides the default impact based decision builder.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00223">constraint_solver.h:223</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a40646422bfe80217dfdf371cca44a63b"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a40646422bfe80217dfdf371cca44a63b">operations_research::DefaultPhaseParameters::display_level</a></div><div class="ttdeci">DisplayLevel display_level</div><div class="ttdoc">This represents the amount of information displayed by the default search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00217">constraint_solver.h:217</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a5a24d11f8e77754933853ae4ae721c58"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a5a24d11f8e77754933853ae4ae721c58">operations_research::DefaultPhaseParameters::value_selection_schema</a></div><div class="ttdeci">ValueSelection value_selection_schema</div><div class="ttdoc">This parameter describes which value to select for a given var.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00189">constraint_solver.h:189</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a5a43af9bcd9bfec04dbc66cc1a0c1ffd"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffd">operations_research::DefaultPhaseParameters::VariableSelection</a></div><div class="ttdeci">VariableSelection</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00171">constraint_solver.h:171</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a5a43af9bcd9bfec04dbc66cc1a0c1ffdaa674cfb9265f697b4ada735c4401aac0"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdaa674cfb9265f697b4ada735c4401aac0">operations_research::DefaultPhaseParameters::CHOOSE_MAX_VALUE_IMPACT</a></div><div class="ttdeci">@ CHOOSE_MAX_VALUE_IMPACT</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00174">constraint_solver.h:174</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a5a43af9bcd9bfec04dbc66cc1a0c1ffdac4b4fc1afb505f9a378e3d55747c2c2a"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdac4b4fc1afb505f9a378e3d55747c2c2a">operations_research::DefaultPhaseParameters::CHOOSE_MAX_SUM_IMPACT</a></div><div class="ttdeci">@ CHOOSE_MAX_SUM_IMPACT</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00172">constraint_solver.h:172</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a5a43af9bcd9bfec04dbc66cc1a0c1ffdae89afeba83d94a0077202576edff7d20"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdae89afeba83d94a0077202576edff7d20">operations_research::DefaultPhaseParameters::CHOOSE_MAX_AVERAGE_IMPACT</a></div><div class="ttdeci">@ CHOOSE_MAX_AVERAGE_IMPACT</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00173">constraint_solver.h:173</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a61d9b3f13793427aab1d091252cabcdb"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a61d9b3f13793427aab1d091252cabcdb">operations_research::DefaultPhaseParameters::var_selection_schema</a></div><div class="ttdeci">VariableSelection var_selection_schema</div><div class="ttdoc">This parameter describes how the next variable to instantiate will be chosen.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00186">constraint_solver.h:186</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a859e753eeaea8a2e9a1af1a6aa5f786f"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786f">operations_research::DefaultPhaseParameters::ValueSelection</a></div><div class="ttdeci">ValueSelection</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00177">constraint_solver.h:177</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9">operations_research::DefaultPhaseParameters::SELECT_MAX_IMPACT</a></div><div class="ttdeci">@ SELECT_MAX_IMPACT</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00179">constraint_solver.h:179</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8">operations_research::DefaultPhaseParameters::SELECT_MIN_IMPACT</a></div><div class="ttdeci">@ SELECT_MIN_IMPACT</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00178">constraint_solver.h:178</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_aa05a3321d74475f1238d0c51b5754d7e"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#aa05a3321d74475f1238d0c51b5754d7e">operations_research::DefaultPhaseParameters::persistent_impact</a></div><div class="ttdeci">bool persistent_impact</div><div class="ttdoc">Whether to keep the impact from the first search for other searches, or to recompute the impact for e...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00210">constraint_solver.h:210</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_aa978cbe8453310a6381350d867821e0c"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#aa978cbe8453310a6381350d867821e0c">operations_research::DefaultPhaseParameters::use_last_conflict</a></div><div class="ttdeci">bool use_last_conflict</div><div class="ttdoc">Should we use last conflict method. The default is false.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00220">constraint_solver.h:220</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_ac452a91363eef95dc8b527628d122c55"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#ac452a91363eef95dc8b527628d122c55">operations_research::DefaultPhaseParameters::heuristic_period</a></div><div class="ttdeci">int heuristic_period</div><div class="ttdoc">The distance in nodes between each run of the heuristics.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00203">constraint_solver.h:203</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_ad9059bc845096b2f05414a66c836b4ee"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#ad9059bc845096b2f05414a66c836b4ee">operations_research::DefaultPhaseParameters::random_seed</a></div><div class="ttdeci">int random_seed</div><div class="ttdoc">Seed used to initialize the random part in some heuristics.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00213">constraint_solver.h:213</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_default_phase_parameters_html_ae34ba5540c7682e2efd1a3de7ec92821"><div class="ttname"><a href="structoperations__research_1_1_default_phase_parameters.html#ae34ba5540c7682e2efd1a3de7ec92821">operations_research::DefaultPhaseParameters::run_all_heuristics</a></div><div class="ttdeci">bool run_all_heuristics</div><div class="ttdoc">The default phase will run heuristics periodically.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00198">constraint_solver.h:198</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_init_and_get_values_1_1_iterator_html"><div class="ttname"><a href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html">operations_research::InitAndGetValues::Iterator</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04000">constraint_solver.h:4000</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_init_and_get_values_1_1_iterator_html_a28707ecfd89699b87e970e59df75435c"><div class="ttname"><a href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a28707ecfd89699b87e970e59df75435c">operations_research::InitAndGetValues::Iterator::Begin</a></div><div class="ttdeci">static Iterator Begin(IntVarIterator *it)</div><div class="ttdoc">These are the only way to construct an Iterator.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04002">constraint_solver.h:4002</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_init_and_get_values_1_1_iterator_html_a710b1a5c9f835b20b87a76ce12e4f305"><div class="ttname"><a href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a710b1a5c9f835b20b87a76ce12e4f305">operations_research::InitAndGetValues::Iterator::operator!=</a></div><div class="ttdeci">bool operator!=(const Iterator &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04018">constraint_solver.h:4018</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_init_and_get_values_1_1_iterator_html_a7d67cf62e589098c5cfddb3dd44249fb"><div class="ttname"><a href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#a7d67cf62e589098c5cfddb3dd44249fb">operations_research::InitAndGetValues::Iterator::operator*</a></div><div class="ttdeci">int64_t operator*() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04009">constraint_solver.h:4009</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_init_and_get_values_1_1_iterator_html_aa0e28d1c59211c96da145cb1f14623af"><div class="ttname"><a href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#aa0e28d1c59211c96da145cb1f14623af">operations_research::InitAndGetValues::Iterator::End</a></div><div class="ttdeci">static Iterator End(IntVarIterator *it)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04005">constraint_solver.h:4005</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_init_and_get_values_1_1_iterator_html_ae1f21c74128a5ef5d1b9de72ceb09be8"><div class="ttname"><a href="structoperations__research_1_1_init_and_get_values_1_1_iterator.html#ae1f21c74128a5ef5d1b9de72ceb09be8">operations_research::InitAndGetValues::Iterator::operator++</a></div><div class="ttdeci">Iterator &amp; operator++()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04013">constraint_solver.h:4013</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solution_collector_1_1_solution_data_html"><div class="ttname"><a href="structoperations__research_1_1_solution_collector_1_1_solution_data.html">operations_research::SolutionCollector::SolutionData</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04210">constraint_solver.h:4210</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solution_collector_1_1_solution_data_html_a14dd56c2d800f0ae3bae00d52090e2e2"><div class="ttname"><a href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a14dd56c2d800f0ae3bae00d52090e2e2">operations_research::SolutionCollector::SolutionData::branches</a></div><div class="ttdeci">int64_t branches</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04213">constraint_solver.h:4213</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solution_collector_1_1_solution_data_html_a668d11020177f060bafb5796b15743fb"><div class="ttname"><a href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a668d11020177f060bafb5796b15743fb">operations_research::SolutionCollector::SolutionData::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const SolutionData &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04216">constraint_solver.h:4216</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solution_collector_1_1_solution_data_html_a68d9c2f2465fa598096b25f65919fa1c"><div class="ttname"><a href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a68d9c2f2465fa598096b25f65919fa1c">operations_research::SolutionCollector::SolutionData::objective_value</a></div><div class="ttdeci">int64_t objective_value</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04215">constraint_solver.h:4215</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solution_collector_1_1_solution_data_html_a70443e4bc86411ffcee245b2c3c71156"><div class="ttname"><a href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#a70443e4bc86411ffcee245b2c3c71156">operations_research::SolutionCollector::SolutionData::solution</a></div><div class="ttdeci">Assignment * solution</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04211">constraint_solver.h:4211</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solution_collector_1_1_solution_data_html_aa28921bd2ee524558ca4aed5669f52a7"><div class="ttname"><a href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aa28921bd2ee524558ca4aed5669f52a7">operations_research::SolutionCollector::SolutionData::failures</a></div><div class="ttdeci">int64_t failures</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04214">constraint_solver.h:4214</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solution_collector_1_1_solution_data_html_aee52de7b225665566aa47246b9d6b8fa"><div class="ttname"><a href="structoperations__research_1_1_solution_collector_1_1_solution_data.html#aee52de7b225665566aa47246b9d6b8fa">operations_research::SolutionCollector::SolutionData::time</a></div><div class="ttdeci">int64_t time</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04212">constraint_solver.h:4212</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_integer_cast_info_html"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_integer_cast_info.html">operations_research::Solver::IntegerCastInfo</a></div><div class="ttdoc">Holds semantic information stating that the 'expression' has been cast into 'variable' using the Var(...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00251">constraint_solver.h:251</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_integer_cast_info_html_a5d6ae94825077efbea7967ada7a6341c"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#a5d6ae94825077efbea7967ada7a6341c">operations_research::Solver::IntegerCastInfo::IntegerCastInfo</a></div><div class="ttdeci">IntegerCastInfo(IntVar *const v, IntExpr *const e, Constraint *const c)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00254">constraint_solver.h:254</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_integer_cast_info_html_a835c75d75486a896c255acb75d6616f3"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#a835c75d75486a896c255acb75d6616f3">operations_research::Solver::IntegerCastInfo::expression</a></div><div class="ttdeci">IntExpr * expression</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00257">constraint_solver.h:257</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_integer_cast_info_html_ab15f186e97754835d5913283a1e176cf"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#ab15f186e97754835d5913283a1e176cf">operations_research::Solver::IntegerCastInfo::IntegerCastInfo</a></div><div class="ttdeci">IntegerCastInfo()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00252">constraint_solver.h:252</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_integer_cast_info_html_acb71959af429e32049d2b911e4d92ac3"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#acb71959af429e32049d2b911e4d92ac3">operations_research::Solver::IntegerCastInfo::variable</a></div><div class="ttdeci">IntVar * variable</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00256">constraint_solver.h:256</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_integer_cast_info_html_ae1de17a3d4162dd6fef92daccf0741f6"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_integer_cast_info.html#ae1de17a3d4162dd6fef92daccf0741f6">operations_research::Solver::IntegerCastInfo::maintainer</a></div><div class="ttdeci">Constraint * maintainer</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00258">constraint_solver.h:258</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_search_log_parameters_html"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_search_log_parameters.html">operations_research::Solver::SearchLogParameters</a></div><div class="ttdoc">Creates a search monitor from logging parameters.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02302">constraint_solver.h:2302</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_search_log_parameters_html_a0bf4ffabed15383c43b3c5e2dc265832"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a0bf4ffabed15383c43b3c5e2dc265832">operations_research::Solver::SearchLogParameters::branch_period</a></div><div class="ttdeci">int branch_period</div><div class="ttdoc">SearchMonitors will display a periodic search log every branch_period branches explored.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02305">constraint_solver.h:2305</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_search_log_parameters_html_a129303e4bd38a8cdba722b6238ed56e9"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a129303e4bd38a8cdba722b6238ed56e9">operations_research::Solver::SearchLogParameters::offset</a></div><div class="ttdeci">double offset</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02314">constraint_solver.h:2314</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_search_log_parameters_html_a2c9d6d70a3357d2d6841660510cd6a19"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a2c9d6d70a3357d2d6841660510cd6a19">operations_research::Solver::SearchLogParameters::objective</a></div><div class="ttdeci">OptimizeVar * objective</div><div class="ttdoc">SearchMonitors will display values of objective or variable (both cannot be used together).</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02308">constraint_solver.h:2308</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_search_log_parameters_html_a6bf53f14d9ee02da685f39fbe96eacaf"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a6bf53f14d9ee02da685f39fbe96eacaf">operations_research::Solver::SearchLogParameters::display_callback</a></div><div class="ttdeci">std::function&lt; std::string()&gt; display_callback</div><div class="ttdoc">SearchMonitors will display the result of display_callback at each new solution found and when the se...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02318">constraint_solver.h:2318</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_search_log_parameters_html_a82cee82f19757e963cd151f690439a61"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a82cee82f19757e963cd151f690439a61">operations_research::Solver::SearchLogParameters::scaling_factor</a></div><div class="ttdeci">double scaling_factor</div><div class="ttdoc">When displayed, objective or var values will be scaled and offset by the given values in the followin...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02313">constraint_solver.h:2313</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_search_log_parameters_html_a86921616de71e7e64968652d3edec4cb"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#a86921616de71e7e64968652d3edec4cb">operations_research::Solver::SearchLogParameters::display_on_new_solutions_only</a></div><div class="ttdeci">bool display_on_new_solutions_only</div><div class="ttdoc">To be used to protect from cases where display_callback assumes variables are instantiated,...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02321">constraint_solver.h:2321</a></div></div>
<div class="ttc" id="astructoperations__research_1_1_solver_1_1_search_log_parameters_html_acb71959af429e32049d2b911e4d92ac3"><div class="ttname"><a href="structoperations__research_1_1_solver_1_1_search_log_parameters.html#acb71959af429e32049d2b911e4d92ac3">operations_research::Solver::SearchLogParameters::variable</a></div><div class="ttdeci">IntVar * variable</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02309">constraint_solver.h:2309</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div>
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>