<ahref="constraint__solveri_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// Copyright 2010-2018 Google LLC</span></div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment">// you may not use this file except in compliance with the License.</span></div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment">// You may obtain a copy of the License at</span></div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> <spanclass="comment">// Unless required by applicable law or agreed to in writing, software</span></div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> <spanclass="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment">// See the License for the specific language governing permissions and</span></div><divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment">// limitations under the License.</span></div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> </div><divclass="line"><aname="l00048"></a><spanclass="lineno"> 48</span> </div><divclass="line"><aname="l00049"></a><spanclass="lineno"> 49</span> <spanclass="preprocessor">#ifndef OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVERI_H_</span></div><divclass="line"><aname="l00050"></a><spanclass="lineno"> 50</span> <spanclass="preprocessor">#define OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVERI_H_</span></div><divclass="line"><aname="l00051"></a><spanclass="lineno"> 51</span> </div><divclass="line"><aname="l00052"></a><spanclass="lineno"> 52</span> <spanclass="preprocessor">#include <algorithm></span></div><divclass="line"><aname="l00053"></a><spanclass="lineno"> 53</span> <spanclass="preprocessor">#include <cmath></span></div><divclass="line"><aname="l00054"></a><spanclass="lineno"> 54</span> <spanclass="preprocessor">#include <cstddef></span></div><divclass="line"><aname="l00055"></a><spanclass="lineno"> 55</span> <spanclass="preprocessor">#include <functional></span></div><divclass="line"><aname="l00056"></a><spanclass="lineno"> 56</span> <spanclass="preprocessor">#include <memory></span></div><divclass="line"><aname="l00057"></a><spanclass="lineno"> 57</span> <spanclass="preprocessor">#include <string></span></div><divclass="line"><aname="l00058"></a><spanclass="lineno"> 58</span> <spanclass="preprocessor">#include <vector></span></div><divclass="line"><aname="l00059"></a><spanclass="lineno"> 59</span> </div><divclass="line"><aname="l00060"></a><spanclass="lineno"> 60</span> <spanclass="preprocessor">#include "absl/container/flat_hash_map.h"</span></div><divclass="line"><aname="l00061"></a><spanclass="lineno"> 61</span> <spanclass="preprocessor">#include "absl/strings/str_cat.h"</span></div><divclass="line"><aname="l00062
<divclass="ttc"id="classoperations__research_1_1Rev_html_a612718f3f1f56d8ecce47fae4bc3592c"><divclass="ttname"><ahref="classoperations__research_1_1Rev.html#a612718f3f1f56d8ecce47fae4bc3592c">operations_research::Rev::Value</a></div><divclass="ttdeci">const T & Value() const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03676">constraint_solver.h:3676</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitMatrix_html_a0687c0f2721ff132b707569b69020c1d"><divclass="ttname"><ahref="classoperations__research_1_1RevBitMatrix.html#a0687c0f2721ff132b707569b69020c1d">operations_research::RevBitMatrix::SetToZero</a></div><divclass="ttdeci">void SetToZero(Solver *const solver, int64 row, int64 column)</div><divclass="ttdoc">Erases the 'column' bit in the 'row' row.</div></div>
<divclass="ttc"id="classoperations__research_1_1SimpleRevFIFO_1_1Iterator_html_a542b5ed50647b660b9d87debcfaf5380"><divclass="ttname"><ahref="classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a542b5ed50647b660b9d87debcfaf5380">operations_research::SimpleRevFIFO::Iterator::Iterator</a></div><divclass="ttdeci">Iterator(const SimpleRevFIFO< T > *l)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00158">constraint_solveri.h:158</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_a65dad0789e8a043e7e38528ce81c6874"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#a65dad0789e8a043e7e38528ce81c6874">operations_research::VarLocalSearchOperator::assignment_indices_</a></div><divclass="ttdeci">std::vector< int > assignment_indices_</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00941">constraint_solveri.h:941</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a54470bffc3ea32cc37d0222e5dbb62a6"><divclass="ttname"><ahref="namespaceoperations__research.html#a54470bffc3ea32cc37d0222e5dbb62a6">operations_research::AreAllBoundOrNull</a></div><divclass="ttdeci">bool AreAllBoundOrNull(const std::vector< IntVar * >&vars, const std::vector< T >&values)</div><divclass="ttdoc">Returns true if all the variables are assigned to a single value, or if their corresponding value is ...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02705">constraint_solveri.h:2705</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_ae4f20070ef5ff1a051b602e691ab6567"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#ae4f20070ef5ff1a051b602e691ab6567">operations_research::VarLocalSearchOperator::old_values_</a></div><divclass="ttdeci">std::vector< Val > old_values_</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00939">constraint_solveri.h:939</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DelayedCallMethod2_html"><divclass="ttname"><ahref="classoperations__research_1_1DelayedCallMethod2.html">operations_research::DelayedCallMethod2</a></div><divclass="ttdoc">Low-priority demon proxy to a method on the constraint with two arguments.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00739">constraint_solveri.h:739</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SimpleRevFIFO_html"><divclass="ttname"><ahref="classoperations__research_1_1SimpleRevFIFO.html">operations_research::SimpleRevFIFO</a></div><divclass="ttdoc">This class represent a reversible FIFO structure.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00150">constraint_solver.h:150</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevImmutableMultiMap_html_a55a49c7e6673d8ec5a30b3255899a23a"><divclass="ttname"><ahref="classoperations__research_1_1RevImmutableMultiMap.html#a55a49c7e6673d8ec5a30b3255899a23a">operations_research::RevImmutableMultiMap::ContainsKey</a></div><divclass="ttdeci">bool ContainsKey(const K &key) const</div><divclass="ttdoc">Returns true if the multi-map contains at least one instance of 'key'.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00303">constraint_solveri.h:303</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitMatrix_html"><divclass="ttname"><ahref="classoperations__research_1_1RevBitMatrix.html">operations_research::RevBitMatrix</a></div><divclass="ttdoc">Matrix version of the RevBitSet class.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00470">constraint_solveri.h:470</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_ae3a6eede92fb16e764d9ed3d41457a90"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#ae3a6eede92fb16e764d9ed3d41457a90">operations_research::BooleanVar::Bound</a></div><divclass="ttdeci">bool Bound() const override</div><divclass="ttdoc">Returns true if the min and the max of the expression are equal.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01720">constraint_solveri.h:1720</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a3f4525e71a6b05d97c868f0832750a60"><divclass="ttname"><ahref="namespaceoperations__research.html#a3f4525e71a6b05d97c868f0832750a60">operations_research::IsArrayBoolean</a></div><divclass="ttdeci">bool IsArrayBoolean(const std::vector< T >&values)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02599">constraint_solveri.h:2599</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SearchLog_html_a5ea81d186550720183bf3e3ef120b339"><divclass="ttname"><ahref="classoperations__research_1_1SearchLog.html#a5ea81d186550720183bf3e3ef120b339">operations_research::SearchLog::AcceptUncheckedNeighbor</a></div><divclass="ttdeci">void AcceptUncheckedNeighbor() override</div><divclass="ttdoc">After accepting an unchecked neighbor during local search.</div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_af9f1ddd2359a6d10c4003822bfc81289"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#af9f1ddd2359a6d10c4003822bfc81289">operations_research::BooleanVar::BaseName</a></div><divclass="ttdeci">std::string BaseName() const override</div><divclass="ttdoc">Returns a base name for automatic naming.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01743">constraint_solveri.h:1743</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_aed2632ded4615cbad36036b6025ac183"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#aed2632ded4615cbad36036b6025ac183">operations_research::VarLocalSearchOperator::Value</a></div><divclass="ttdeci">const Val & Value(int64 index) const</div><divclass="ttdoc">Returns the value in the current assignment of the variable of given index.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00850">constraint_solveri.h:850</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CallMethod3_html_a7bb7c2f91ea3952b404a6f0a0ba52e90"><divclass="ttname"><ahref="classoperations__research_1_1CallMethod3.html#a7bb7c2f91ea3952b404a6f0a0ba52e90">operations_research::CallMethod3::CallMethod3</a></div><divclass="ttdeci">CallMethod3(T *const ct, void(T::*method)(P, Q, R), const std::string &name, P param1, Q param2, R param3)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00622">constraint_solveri.h:622</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_a1a8db8e232b8e87f8e663aaf2f484618"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#a1a8db8e232b8e87f8e663aaf2f484618">operations_research::PropagationMonitor::RankLast</a></div><divclass="ttdeci">virtual void RankLast(SequenceVar *const var, int index)=0</div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_afe92381987bbfe57038d9505070961f1"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#afe92381987bbfe57038d9505070961f1">operations_research::BooleanVar::WhenRange</a></div><divclass="ttdeci">void WhenRange(Demon *d) override</div><divclass="ttdoc">Attach a demon that will watch the min or the max of the expression.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01728">constraint_solveri.h:1728</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a8351829c324863ddda52e201df4f9f84"><divclass="ttname"><ahref="namespaceoperations__research.html#a8351829c324863ddda52e201df4f9f84">operations_research::AreAllStrictlyNegative</a></div><divclass="ttdeci">bool AreAllStrictlyNegative(const std::vector< T >&values)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02654">constraint_solveri.h:2654</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a></div><divclass="ttdoc">Base operator class for operators manipulating variables.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00821">constraint_solveri.h:821</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Solver_html_a4b0972c731faf884eba5acab99ebb2b4af8769149902a8a2b168069cb93cc6370"><divclass="ttname"><ahref="classoperations__research_1_1Solver.html#a4b0972c731faf884eba5acab99ebb2b4af8769149902a8a2b168069cb93cc6370">operations_research::Solver::DELAYED_PRIORITY</a></div><divclass="ttdoc">DELAYED_PRIORITY is the lowest priority: Demons will be processed after VAR_PRIORITY and NORMAL_PRIOR...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00594">constraint_solver.h:594</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a744e7cc90d56b2c503520ee1f97fc1db"><divclass="ttname"><ahref="namespaceoperations__research.html#a744e7cc90d56b2c503520ee1f97fc1db">operations_research::VarTypes</a></div><divclass="ttdeci">VarTypes</div><divclass="ttdoc">This enum is used internally to do dynamic typing on subclasses of integer variables.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00123">constraint_solveri.h:123</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_a2c7679571947898865bcf04abf49fc81"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#a2c7679571947898865bcf04abf49fc81">operations_research::PropagationMonitor::SetStartRange</a></div><divclass="ttdeci">virtual void SetStartRange(IntervalVar *const var, int64 new_min, int64 new_max)=0</div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_a378347db1409d83313ccb4af90628da5"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#a378347db1409d83313ccb4af90628da5">operations_research::BooleanVar::SetMax</a></div><divclass="ttdeci">void SetMax(int64 m) override</div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_ac8e4c7b0c60cd50d9870f3949e47828e"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#ac8e4c7b0c60cd50d9870f3949e47828e">operations_research::PropagationMonitor::RemoveValue</a></div><divclass="ttdeci">virtual void RemoveValue(IntVar *const var, int64 value)=0</div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchFilter_html_aa3934bba1ec84e9c9b401693b43c662a"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchFilter.html#aa3934bba1ec84e9c9b401693b43c662a">operations_research::LocalSearchFilter::GetSynchronizedObjectiveValue</a></div><divclass="ttdeci">virtual int64 GetSynchronizedObjectiveValue() const</div><divclass="ttdoc">DO NOT USE. Objective value from last time Synchronize() was called.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01511">constraint_solveri.h:1511</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_ab7586c7a5666257d16e25e7e402e0881"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#ab7586c7a5666257d16e25e7e402e0881">operations_research::VarLocalSearchOperator::AddVars</a></div><divclass="ttdeci">void AddVars(const std::vector< V * >&vars)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00908">constraint_solveri.h:908</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CallMethod0_html"><divclass="ttname"><ahref="classoperations__research_1_1CallMethod0.html">operations_research::CallMethod0</a></div><divclass="ttdoc">Demon proxy to a method on the constraint with no arguments.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00512">constraint_solveri.h:512</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SequenceVarLocalSearchHandler_html_aef9a34fb85f40837a20077b21ac8bb53"><divclass="ttname"><ahref="classoperations__research_1_1SequenceVarLocalSearchHandler.html#aef9a34fb85f40837a20077b21ac8bb53">operations_research::SequenceVarLocalSearchHandler::AddToAssignment</a></div><divclass="ttdeci">void AddToAssignment(SequenceVar *var, const std::vector< int >&value, bool active, std::vector< int > *assignment_indices, int64 index, Assignment *assignment) const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01129">constraint_solveri.h:1129</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevPartialSequence_html_aef9769a57cd94675879edc12cc81be2b"><divclass="ttname"><ahref="classoperations__research_1_1RevPartialSequence.html#aef9769a57cd94675879edc12cc81be2b">operations_research::RevPartialSequence::operator[]</a></div><divclass="ttdeci">const int & operator[](int index) const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02457">constraint_solveri.h:2457</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarLocalSearchFilter_html_a78c80d2accf5a4506e3436081d365a34"><divclass="ttname"><ahref="classoperations__research_1_1IntVarLocalSearchFilter.html#a78c80d2accf5a4506e3436081d365a34">operations_research::IntVarLocalSearchFilter::AddVars</a></div><divclass="ttdeci">void AddVars(const std::vector< IntVar * >&vars)</div><divclass="ttdoc">Add variables to "track" to the filter.</div></div>
<divclass="ttc"id="classoperations__research_1_1Solver_html_a4b0972c731faf884eba5acab99ebb2b4"><divclass="ttname"><ahref="classoperations__research_1_1Solver.html#a4b0972c731faf884eba5acab99ebb2b4">operations_research::Solver::DemonPriority</a></div><divclass="ttdeci">DemonPriority</div><divclass="ttdoc">This enum represents the three possible priorities for a demon in the Solver queue.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00591">constraint_solver.h:591</a></div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_ab15619861b99a57a19f69aa4876001be"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#ab15619861b99a57a19f69aa4876001be">operations_research::UnsortedNullableRevBitset::Intersects</a></div><divclass="ttdeci">bool Intersects(const std::vector< uint64 >&mask, int *support_index)</div><divclass="ttdoc">This method returns true iff the mask and the active bitset have a non null intersection.</div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarLocalSearchFilter_html_a4ff8f64bad58d06ddf1e1fa16b52fefc"><divclass="ttname"><ahref="classoperations__research_1_1IntVarLocalSearchFilter.html#a4ff8f64bad58d06ddf1e1fa16b52fefc">operations_research::IntVarLocalSearchFilter::FindIndex</a></div><divclass="ttdeci">bool FindIndex(IntVar *const var, int64 *index) const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01569">constraint_solveri.h:1569</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_a9591600255397e362d4e5e7b7849ccbd"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#a9591600255397e362d4e5e7b7849ccbd">operations_research::BooleanVar::WhenDomain</a></div><divclass="ttdeci">void WhenDomain(Demon *d) override</div><divclass="ttdoc">This method attaches a demon that will watch any domain modification of the domain of the variable.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01729">constraint_solveri.h:1729</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SimpleRevFIFO_html_a1cd3644228ae5a0f0ec3862d91276470"><divclass="ttname"><ahref="classoperations__research_1_1SimpleRevFIFO.html#a1cd3644228ae5a0f0ec3862d91276470">operations_research::SimpleRevFIFO::SetLastValue</a></div><divclass="ttdeci">void SetLastValue(const T &v)</div><divclass="ttdoc">Sets the last value in the FIFO.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00210">constraint_solveri.h:210</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SimpleRevFIFO_html_a1e4317305a0bc003c6d51548c36d69ce"><divclass="ttname"><ahref="classoperations__research_1_1SimpleRevFIFO.html#a1e4317305a0bc003c6d51548c36d69ce">operations_research::SimpleRevFIFO::LastValue</a></div><divclass="ttdeci">const T & LastValue() const</div><divclass="ttdoc">Returns the last value in the FIFO.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00204">constraint_solveri.h:204</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SequenceVar_html"><divclass="ttname"><ahref="classoperations__research_1_1SequenceVar.html">operations_research::SequenceVar</a></div><divclass="ttdoc">A sequence variable is a variable whose domain is a set of possible orderings of the interval variabl...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04444">constraint_solver.h:4444</a></div></div>
<divclass="ttc"id="classoperations__research_1_1OptimizeVar_html"><divclass="ttname"><ahref="classoperations__research_1_1OptimizeVar.html">operations_research::OptimizeVar</a></div><divclass="ttdoc">This class encapsulates an objective.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04141">constraint_solver.h:4141</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SimpleRevFIFO_html_acd419b7fa3414e82f57ef97193948841"><divclass="ttname"><ahref="classoperations__research_1_1SimpleRevFIFO.html#acd419b7fa3414e82f57ef97193948841">operations_research::SimpleRevFIFO::Last</a></div><divclass="ttdeci">const T * Last() const</div><divclass="ttdoc">Returns the last item of the FIFO.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00197">constraint_solveri.h:197</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BaseIntExpr_html"><divclass="ttname"><ahref="classoperations__research_1_1BaseIntExpr.html">operations_research::BaseIntExpr</a></div><divclass="ttdoc">This is the base class for all expressions that are not variables.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00109">constraint_solveri.h:109</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SearchLog_html"><divclass="ttname"><ahref="classoperations__research_1_1SearchLog.html">operations_research::SearchLog</a></div><divclass="ttdoc">The base class of all search logs that periodically outputs information when the search is running.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01787">constraint_solveri.h:1787</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SymmetryBreaker_html_aa126bb367514a24cbd6e0b2c48fda9ee"><divclass="ttname"><ahref="classoperations__research_1_1SymmetryBreaker.html#aa126bb367514a24cbd6e0b2c48fda9ee">operations_research::SymmetryBreaker::SymmetryManager</a></div><divclass="ttdeci">friend class SymmetryManager</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01770">constraint_solveri.h:1770</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DelayedCallMethod2_html_a9fd8b3e6b2008cc95f7d562659f63e12"><divclass="ttname"><ahref="classoperations__research_1_1DelayedCallMethod2.html#a9fd8b3e6b2008cc95f7d562659f63e12">operations_research::DelayedCallMethod2::priority</a></div><divclass="ttdeci">Solver::DemonPriority priority() const override</div><divclass="ttdoc">This method returns the priority of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00755">constraint_solveri.h:755</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a60dabfa452b4264887ef76c75edf3765"><divclass="ttname"><ahref="namespaceoperations__research.html#a60dabfa452b4264887ef76c75edf3765">operations_research::PosIntDivUp</a></div><divclass="ttdeci">int64 PosIntDivUp(int64 e, int64 v)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02754">constraint_solveri.h:2754</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CallMethod3_html"><divclass="ttname"><ahref="classoperations__research_1_1CallMethod3.html">operations_research::CallMethod3</a></div><divclass="ttdoc">Demon proxy to a method on the constraint with three arguments.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00620">constraint_solveri.h:620</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Demon_html"><divclass="ttname"><ahref="classoperations__research_1_1Demon.html">operations_research::Demon</a></div><divclass="ttdoc">A Demon is the base element of a propagation queue.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03238">constraint_solver.h:3238</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SmallRevBitSet_html_a689636d2882047089282038c7736a240"><divclass="ttname"><ahref="classoperations__research_1_1SmallRevBitSet.html#a689636d2882047089282038c7736a240">operations_research::SmallRevBitSet::Cardinality</a></div><divclass="ttdeci">int64 Cardinality() const</div><divclass="ttdoc">Returns the number of bits set to one.</div></div>
<divclass="ttc"id="classoperations__research_1_1DelayedCallMethod1_html"><divclass="ttname"><ahref="classoperations__research_1_1DelayedCallMethod1.html">operations_research::DelayedCallMethod1</a></div><divclass="ttdoc">Low-priority demon proxy to a method on the constraint with one argument.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00703">constraint_solveri.h:703</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CallMethod3_html_a259efc51f0c4cda1c584c295309efd8a"><divclass="ttname"><ahref="classoperations__research_1_1CallMethod3.html#a259efc51f0c4cda1c584c295309efd8a">operations_research::CallMethod3::Run</a></div><divclass="ttdeci">void Run(Solver *const s) override</div><divclass="ttdoc">This is the main callback of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00633">constraint_solveri.h:633</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_adf2aea6c68fe502389c9264b971b2f85"><divclass="ttname"><ahref="namespaceoperations__research.html#adf2aea6c68fe502389c9264b971b2f85">operations_research::IsArrayInRange</a></div><divclass="ttdeci">bool IsArrayInRange(const std::vector< IntVar * >&vars, T range_min, T range_max)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02679">constraint_solveri.h:2679</a></div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchFilterManager_html_a15197a5499227e3f214d62689311a5c1"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchFilterManager.html#a15197a5499227e3f214d62689311a5c1">operations_research::LocalSearchFilterManager::Accept</a></div><divclass="ttdeci">bool Accept(Assignment *delta, Assignment *deltadelta) override</div><divclass="ttdoc">Returns true iff all filters return true, and the sum of their accepted objectives is smaller or equa...</div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_a6a3cc8dfc50782fdafe3f7ae27ded2ae"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#a6a3cc8dfc50782fdafe3f7ae27ded2ae">operations_research::UnsortedNullableRevBitset::Init</a></div><divclass="ttdeci">void Init(Solver *const solver, const std::vector< uint64 >&mask)</div><divclass="ttdoc">This methods overwrites the active bitset with the mask.</div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitMatrix_html_a0460e124e790229cb2d65f74491048b4"><divclass="ttname"><ahref="classoperations__research_1_1RevBitMatrix.html#a0460e124e790229cb2d65f74491048b4">operations_research::RevBitMatrix::SetToOne</a></div><divclass="ttdeci">void SetToOne(Solver *const solver, int64 row, int64 column)</div><divclass="ttdoc">Sets the 'column' bit in the 'row' row.</div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_af3e9d2e2469efd77e345b11b6d04e60a"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#af3e9d2e2469efd77e345b11b6d04e60a">operations_research::PathOperator::BaseNode</a></div><divclass="ttdeci">int64 BaseNode(int i) const</div><divclass="ttdoc">Returns the index of the variable corresponding to the ith base node.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01308">constraint_solveri.h:1308</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_aefe922e3f6a2233cf3c2a6bbc079181d"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#aefe922e3f6a2233cf3c2a6bbc079181d">operations_research::PathOperator::PathOperator</a></div><divclass="ttdeci">PathOperator(const std::vector< IntVar * >&next_vars, const std::vector< IntVar * >&path_vars, int number_of_base_nodes, bool skip_locally_optimal_paths, std::function< int(int64)> start_empty_path_class)</div><divclass="ttdoc">Builds an instance of PathOperator from next and path variables.</div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a1b11142fde9a99967d442953603afb19"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a1b11142fde9a99967d442953603afb19">operations_research::PathOperator::number_of_nexts</a></div><divclass="ttdeci">int number_of_nexts() const</div><divclass="ttdoc">Number of next variables.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01301">constraint_solveri.h:1301</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_a6b91fb41b08de29549be0c06ffe8c02e"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#a6b91fb41b08de29549be0c06ffe8c02e">operations_research::BooleanVar::Contains</a></div><divclass="ttdeci">bool Contains(int64 v) const override</div><divclass="ttdoc">This method returns whether the value 'v' is in the domain of the variable.</div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchFilter_html_aa5af8381f70af857a1a7927e3f6e695f"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchFilter.html#aa5af8381f70af857a1a7927e3f6e695f">operations_research::LocalSearchFilter::Accept</a></div><divclass="ttdeci">virtual bool Accept(Assignment *delta, Assignment *deltadelta)=0</div><divclass="ttdoc">Accepts a "delta" given the assignment with which the filter has been synchronized; the delta holds t...</div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_ae108cf2f383928202b506cba66e911ee"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#ae108cf2f383928202b506cba66e911ee">operations_research::PathOperator::number_of_nexts_</a></div><divclass="ttdeci">const int number_of_nexts_</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01394">constraint_solveri.h:1394</a></div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_a808b280d420c8fe393e5dc58ae6007ae"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#a808b280d420c8fe393e5dc58ae6007ae">operations_research::UnsortedNullableRevBitset::ActiveWordSize</a></div><divclass="ttdeci">int ActiveWordSize() const</div><divclass="ttdoc">This method returns the number of non null 64 bit words in the bitset representation.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02557">constraint_solveri.h:2557</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevPartialSequence_html_aedf237760f494bf43d751e390ff61c5f"><divclass="ttname"><ahref="classoperations__research_1_1RevPartialSequence.html#aedf237760f494bf43d751e390ff61c5f">operations_research::RevPartialSequence::RankFirst</a></div><divclass="ttdeci">void RankFirst(Solver *const solver, int elt)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02464">constraint_solveri.h:2464</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html">operations_research::PathOperator</a></div><divclass="ttdoc">Base class of the local search operators dedicated to path modifications (a path is a set of nodes li...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01261">constraint_solveri.h:1261</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a2c309dfacbd1dc10373408446e46f118"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a2c309dfacbd1dc10373408446e46f118">operations_research::PathOperator::GetBaseNodeRestartPosition</a></div><divclass="ttdeci">virtual int64 GetBaseNodeRestartPosition(int base_index)</div><divclass="ttdoc">Returns the index of the node to which the base node of index base_index must be set to when it reach...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01340">constraint_solveri.h:1340</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitSet_html_a6ebf10b8965ac7f2e21a3c24ab71da51"><divclass="ttname"><ahref="classoperations__research_1_1RevBitSet.html#a6ebf10b8965ac7f2e21a3c24ab71da51">operations_research::RevBitSet::IsSet</a></div><divclass="ttdeci">bool IsSet(int64 index) const</div><divclass="ttdoc">Returns whether the 'index' bit is set.</div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_aea532902ec6591bfdd80bfcf8bc101e5"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#aea532902ec6591bfdd80bfcf8bc101e5">operations_research::VarLocalSearchOperator::Start</a></div><divclass="ttdeci">void Start(const Assignment *assignment) override</div><divclass="ttdoc">This method should not be overridden.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00833">constraint_solveri.h:833</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a2a1cf2f93320e83de87b6c302f27e00d"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a2a1cf2f93320e83de87b6c302f27e00d">operations_research::PathOperator::ResetPosition</a></div><divclass="ttdeci">void ResetPosition()</div><divclass="ttdoc">Reset the position of the operator to its position when Start() was last called; this can be used to ...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01392">constraint_solveri.h:1392</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SequenceVarLocalSearchOperator_html_a02492df6e37f41273650ff27bd25e3a5"><divclass="ttname"><ahref="classoperations__research_1_1SequenceVarLocalSearchOperator.html#a02492df6e37f41273650ff27bd25e3a5">operations_research::SequenceVarLocalSearchOperator::Sequence</a></div><divclass="ttdeci">const std::vector< int >& Sequence(int64 index) const</div><divclass="ttdoc">Returns the value in the current assignment of the variable of given index.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01111">constraint_solveri.h:1111</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_aec53f03b1e4951950f970a0da7d78fc8"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#aec53f03b1e4951950f970a0da7d78fc8">operations_research::PathOperator::IsInactive</a></div><divclass="ttdeci">bool IsInactive(int64 i) const</div><divclass="ttdoc">Returns true if node is inactive.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01384">constraint_solveri.h:1384</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_abbf3cfe992573dff00462e8e616cd1ea"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#abbf3cfe992573dff00462e8e616cd1ea">operations_research::PathOperator::StartNode</a></div><divclass="ttdeci">int64 StartNode(int i) const</div><divclass="ttdoc">Returns the index of the variable corresponding to the current path of the ith base node.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01311">constraint_solveri.h:1311</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_acc1f38d74f6325824ed77acdc1ef973b"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#acc1f38d74f6325824ed77acdc1ef973b">operations_research::VarLocalSearchOperator::OldValue</a></div><divclass="ttdeci">const Val & OldValue(int64 index) const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00857">constraint_solveri.h:857</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_a45cd791846ef146c03a87b3ab380c030"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#a45cd791846ef146c03a87b3ab380c030">operations_research::VarLocalSearchOperator::MarkChange</a></div><divclass="ttdeci">void MarkChange(int64 index)</div><divclass="ttdoc">OnStart() should really be protected, but then SWIG doesn't see it.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00932">constraint_solveri.h:932</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_afb22c7f645f8813c32fa34dc200a5753"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#afb22c7f645f8813c32fa34dc200a5753">operations_research::PropagationMonitor::RankFirst</a></div><divclass="ttdeci">virtual void RankFirst(SequenceVar *const var, int index)=0</div><divclass="ttdoc">SequenceVar modifiers.</div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitSet_html_a78fb408f50908d312ecbd9d50aefb500"><divclass="ttname"><ahref="classoperations__research_1_1RevBitSet.html#a78fb408f50908d312ecbd9d50aefb500">operations_research::RevBitSet::IsCardinalityOne</a></div><divclass="ttdeci">bool IsCardinalityOne() const</div><divclass="ttdoc">Does it contains only one bit set?</div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_aadd339ccd5a44eb702049d147fce0f75"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#aadd339ccd5a44eb702049d147fce0f75">operations_research::VarLocalSearchOperator::values_</a></div><divclass="ttdeci">std::vector< Val > values_</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00938">constraint_solveri.h:938</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitMatrix_html_a479bd81cf7efe3194a3fcc8436334800"><divclass="ttname"><ahref="classoperations__research_1_1RevBitMatrix.html#a479bd81cf7efe3194a3fcc8436334800">operations_research::RevBitMatrix::GetFirstBit</a></div><divclass="ttdeci">int64 GetFirstBit(int row, int start) const</div><divclass="ttdoc">Returns the first bit in the row 'row' which position is >= 'start'.</div></div>
<divclass="ttc"id="classoperations__research_1_1SimpleRevFIFO_1_1Iterator_html"><divclass="ttname"><ahref="classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html">operations_research::SimpleRevFIFO::Iterator</a></div><divclass="ttdoc">This iterator is not stable with respect to deletion.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00156">constraint_solveri.h:156</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathWithPreviousNodesOperator_html_a92762a593f0814f74b5a83cfc7406bfc"><divclass="ttname"><ahref="classoperations__research_1_1PathWithPreviousNodesOperator.html#a92762a593f0814f74b5a83cfc7406bfc">operations_research::PathWithPreviousNodesOperator::OnNodeInitialization</a></div><divclass="ttdeci">void OnNodeInitialization() override</div><divclass="ttdoc">Called by OnStart() after initializing node information.</div></div>
<divclass="ttc"id="classoperations__research_1_1SmallRevBitSet_html_ad7bc8a8c7fae5202eb61c2e5c9964108"><divclass="ttname"><ahref="classoperations__research_1_1SmallRevBitSet.html#ad7bc8a8c7fae5202eb61c2e5c9964108">operations_research::SmallRevBitSet::IsCardinalityOne</a></div><divclass="ttdeci">bool IsCardinalityOne() const</div><divclass="ttdoc">Does it contains only one bit set?</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00422">constraint_solveri.h:422</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Assignment_html_ae8af25911cdd4091cd6a0ec08c9a38c7"><divclass="ttname"><ahref="classoperations__research_1_1Assignment.html#ae8af25911cdd4091cd6a0ec08c9a38c7">operations_research::Assignment::IntVarContainer</a></div><divclass="ttdeci">const IntContainer & IntVarContainer() const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l05085">constraint_solver.h:5085</a></div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_a3a52bebf3dd298ee6552e3628997248f"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#a3a52bebf3dd298ee6552e3628997248f">operations_research::UnsortedNullableRevBitset::bit_size</a></div><divclass="ttdeci">int64 bit_size() const</div><divclass="ttdoc">Returns the number of bits given in the constructor of the bitset.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02572">constraint_solveri.h:2572</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevPartialSequence_html_ab273214b921b4f0f5c94d36aae19c5da"><divclass="ttname"><ahref="classoperations__research_1_1RevPartialSequence.html#ab273214b921b4f0f5c94d36aae19c5da">operations_research::RevPartialSequence::RevPartialSequence</a></div><divclass="ttdeci">RevPartialSequence(const std::vector< int >&items)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02424">constraint_solveri.h:2424</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ArgumentHolder_html"><divclass="ttname"><ahref="classoperations__research_1_1ArgumentHolder.html">operations_research::ArgumentHolder</a></div><divclass="ttdoc">Argument Holder: useful when visiting a model.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02071">constraint_solveri.h:2071</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a3aea406979285a28c91fd1ee8115af74"><divclass="ttname"><ahref="namespaceoperations__research.html#a3aea406979285a28c91fd1ee8115af74">operations_research::AreAllGreaterOrEqual</a></div><divclass="ttdeci">bool AreAllGreaterOrEqual(const std::vector< T >&values, const T &value)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02619">constraint_solveri.h:2619</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_a07763e428da44d08eab94f5a88348777"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#a07763e428da44d08eab94f5a88348777">operations_research::PropagationMonitor::RankSequence</a></div><divclass="ttdeci">virtual void RankSequence(SequenceVar *const var, const std::vector< int >&rank_first, const std::vector< int >&rank_last, const std::vector< int >&unperformed)=0</div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a2b158942b0eb2b77f96560f34dab5105"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a2b158942b0eb2b77f96560f34dab5105">operations_research::PathOperator::Path</a></div><divclass="ttdeci">int64 Path(int64 node_index) const</div><divclass="ttdoc">Returns the index of the path to which the node of index node_index belongs in the current assignment...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01296">constraint_solveri.h:1296</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Rev_html_a614fdcd3e96dc71b0c580f29026380ec"><divclass="ttname"><ahref="classoperations__research_1_1Rev.html#a614fdcd3e96dc71b0c580f29026380ec">operations_research::Rev::SetValue</a></div><divclass="ttdeci">void SetValue(Solver *const s, const T &val)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03678">constraint_solver.h:3678</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a2f05e5dce708fd86775e612d08ffc08e"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a2f05e5dce708fd86775e612d08ffc08e">operations_research::PathOperator::SetNext</a></div><divclass="ttdeci">void SetNext(int64 from, int64 to, int64 path)</div><divclass="ttdoc">Sets the to to be the node after from.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01370">constraint_solveri.h:1370</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitMatrix_html_a0ef4faa41e12f5ba5d67be059eadc932"><divclass="ttname"><ahref="classoperations__research_1_1RevBitMatrix.html#a0ef4faa41e12f5ba5d67be059eadc932">operations_research::RevBitMatrix::IsSet</a></div><divclass="ttdeci">bool IsSet(int64 row, int64 column) const</div><divclass="ttdoc">Returns whether the 'column' bit in the 'row' row is set.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00480">constraint_solveri.h:480</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarLocalSearchOperator_html"><divclass="ttname"><ahref="classoperations__research_1_1IntVarLocalSearchOperator.html">operations_research::IntVarLocalSearchOperator</a></div><divclass="ttdoc">Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01033">constraint_solveri.h:1033</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_ad91551404d4eeb115402e25f8ac599b8"><divclass="ttname"><ahref="namespaceoperations__research.html#ad91551404d4eeb115402e25f8ac599b8">operations_research::SequenceVarLocalSearchOperatorTemplate</a></div><divclass="ttdeci">VarLocalSearchOperator< SequenceVar, std::vector< int >, SequenceVarLocalSearchHandler > SequenceVarLocalSearchOperatorTemplate</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01097">constraint_solveri.h:1097</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevImmutableMultiMap_html_a84ccc9de1e12d064f1ccf77e344dd86b"><divclass="ttname"><ahref="classoperations__research_1_1RevImmutableMultiMap.html#a84ccc9de1e12d064f1ccf77e344dd86b">operations_research::RevImmutableMultiMap::FindWithDefault</a></div><divclass="ttdeci">const V & FindWithDefault(const K &key, const V &default_value) const</div><divclass="ttdoc">Returns one value attached to 'key', or 'default_value' if 'key' is not in the multi-map.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00318">constraint_solveri.h:318</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathWithPreviousNodesOperator_html"><divclass="ttname"><ahref="classoperations__research_1_1PathWithPreviousNodesOperator.html">operations_research::PathWithPreviousNodesOperator</a></div><divclass="ttdoc">Simple PathOperator wrapper that also stores the current previous nodes, and is thus able to provide ...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01442">constraint_solveri.h:1442</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a3de09f9134b976e5ba64751ac0f4440b"><divclass="ttname"><ahref="namespaceoperations__research.html#a3de09f9134b976e5ba64751ac0f4440b">operations_research::AreAllStrictlyPositive</a></div><divclass="ttdeci">bool AreAllStrictlyPositive(const std::vector< T >&values)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02649">constraint_solveri.h:2649</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_aa6d431b31dc1fce0520698179e165817"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#aa6d431b31dc1fce0520698179e165817">operations_research::PathOperator::MoveChain</a></div><divclass="ttdeci">bool MoveChain(int64 before_chain, int64 chain_end, int64 destination)</div><divclass="ttdoc">Moves the chain starting after the node before_chain and ending at the node chain_end after the node ...</div></div>
<divclass="ttc"id="classoperations__research_1_1RevIntSet_html"><divclass="ttname"><ahref="classoperations__research_1_1RevIntSet.html">operations_research::RevIntSet</a></div><divclass="ttdoc">This is a special class to represent a 'residual' set of T.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02310">constraint_solveri.h:2310</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_acea2a4d4db296445315d66aaec85ee81"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#acea2a4d4db296445315d66aaec85ee81">operations_research::VarLocalSearchOperator::OnStart</a></div><divclass="ttdeci">virtual void OnStart()</div><divclass="ttdoc">Called by Start() after synchronizing the operator with the current assignment.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00927">constraint_solveri.h:927</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SearchLog_html_ad1c8c5d6118dd4ba3e27d8e38bcee0d2"><divclass="ttname"><ahref="classoperations__research_1_1SearchLog.html#ad1c8c5d6118dd4ba3e27d8e38bcee0d2">operations_research::SearchLog::ExitSearch</a></div><divclass="ttdeci">void ExitSearch() override</div><divclass="ttdoc">End of the search.</div></div>
<divclass="ttc"id="namespaceoperations__research_html_aafac7375c23337f25821aa6f86ca627c"><divclass="ttname"><ahref="namespaceoperations__research.html#aafac7375c23337f25821aa6f86ca627c">operations_research::IsIncreasingContiguous</a></div><divclass="ttdeci">bool IsIncreasingContiguous(const std::vector< T >&values)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02659">constraint_solveri.h:2659</a></div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchFilter_html"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchFilter.html">operations_research::LocalSearchFilter</a></div><divclass="ttdoc">Local Search Filters are used for fast neighbor pruning.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01491">constraint_solveri.h:1491</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_a68168a3801af19c22a488b7ee54a4f65"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#a68168a3801af19c22a488b7ee54a4f65">operations_research::BooleanVar::Size</a></div><divclass="ttdeci">uint64 Size() const override</div><divclass="ttdoc">This method returns the number of values in the domain of the variable.</div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_aae0d6d6c66c7b9aece9eaa53d37df781"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#aae0d6d6c66c7b9aece9eaa53d37df781">operations_research::BooleanVar::kUnboundBooleanVarValue</a></div><divclass="ttdeci">static const int kUnboundBooleanVarValue</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01708">constraint_solveri.h:1708</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Constraint_html"><divclass="ttname"><ahref="classoperations__research_1_1Constraint.html">operations_research::Constraint</a></div><divclass="ttdoc">A constraint is the main modeling object.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03521">constraint_solver.h:3521</a></div></div>
<divclass="ttc"id="classoperations__research_1_1AssignmentContainer_html_a2f617e7ec317b5dab5b29213dd48950f"><divclass="ttname"><ahref="classoperations__research_1_1AssignmentContainer.html#a2f617e7ec317b5dab5b29213dd48950f">operations_research::AssignmentContainer::MutableElement</a></div><divclass="ttdeci">E * MutableElement(const V *const var)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04824">constraint_solver.h:4824</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CallMethod2_html_a722104f90990e4111a7dfb142e83f172"><divclass="ttname"><ahref="classoperations__research_1_1CallMethod2.html#a722104f90990e4111a7dfb142e83f172">operations_research::CallMethod2::Run</a></div><divclass="ttdeci">void Run(Solver *const s) override</div><divclass="ttdoc">This is the main callback of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00592">constraint_solveri.h:592</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a12527c82ffc8b31c5d8dc836c366d624"><divclass="ttname"><ahref="namespaceoperations__research.html#a12527c82ffc8b31c5d8dc836c366d624">operations_research::IsArrayConstant</a></div><divclass="ttdeci">bool IsArrayConstant(const std::vector< T >&values, const T &value)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02589">constraint_solveri.h:2589</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_aad4e1b406f0e56c83283747b038df88a"><divclass="ttname"><ahref="namespaceoperations__research.html#aad4e1b406f0e56c83283747b038df88a">operations_research::ToInt64Vector</a></div><divclass="ttdeci">std::vector< int64 > ToInt64Vector(const std::vector< int >&input)</div></div>
<divclass="ttc"id="classoperations__research_1_1DelayedCallMethod1_html_a38be5eed447d7abf18d51f9fac7663a7"><divclass="ttname"><ahref="classoperations__research_1_1DelayedCallMethod1.html#a38be5eed447d7abf18d51f9fac7663a7">operations_research::DelayedCallMethod1::Run</a></div><divclass="ttdeci">void Run(Solver *const s) override</div><divclass="ttdoc">This is the main callback of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00711">constraint_solveri.h:711</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_ae3e4f71c4c79e0b4ec00c4e715a7c298"><divclass="ttname"><ahref="namespaceoperations__research.html#ae3e4f71c4c79e0b4ec00c4e715a7c298">operations_research::AreAllOnes</a></div><divclass="ttdeci">bool AreAllOnes(const std::vector< T >&values)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02609">constraint_solveri.h:2609</a></div></div>
<divclass="ttc"id="classoperations__research_1_1AssignmentContainer_html_aaf8cce923cb7cfc1aa15c6f0b0f7820e"><divclass="ttname"><ahref="classoperations__research_1_1AssignmentContainer.html#aaf8cce923cb7cfc1aa15c6f0b0f7820e">operations_research::AssignmentContainer::Element</a></div><divclass="ttdeci">const E & Element(const V *const var) const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04837">constraint_solver.h:4837</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SmallRevBitSet_html"><divclass="ttname"><ahref="classoperations__research_1_1SmallRevBitSet.html">operations_research::SmallRevBitSet</a></div><divclass="ttdoc">This class represents a small reversible bitset (size <= 64).</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00410">constraint_solveri.h:410</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DelayedCallMethod0_html_a6f38b90112dcf92130efa8b5a9cdd4a9"><divclass="ttname"><ahref="classoperations__research_1_1DelayedCallMethod0.html#a6f38b90112dcf92130efa8b5a9cdd4a9">operations_research::DelayedCallMethod0::Run</a></div><divclass="ttdeci">void Run(Solver *const s) override</div><divclass="ttdoc">This is the main callback of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00677">constraint_solveri.h:677</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Assignment_html_a40c0b89a06e6341fe2155f38ac1ceede"><divclass="ttname"><ahref="classoperations__research_1_1Assignment.html#a40c0b89a06e6341fe2155f38ac1ceede">operations_research::Assignment::SequenceVarContainer</a></div><divclass="ttdeci">const SequenceContainer & SequenceVarContainer() const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l05093">constraint_solver.h:5093</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a31f03e7418e4d1bd53d8d1212cdba731"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a31f03e7418e4d1bd53d8d1212cdba731">operations_research::PathOperator::IsPathEnd</a></div><divclass="ttdeci">bool IsPathEnd(int64 i) const</div><divclass="ttdoc">Returns true if i is the last node on the path; defined by the fact that i outside the range of the v...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01381">constraint_solveri.h:1381</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CallMethod2_html"><divclass="ttname"><ahref="classoperations__research_1_1CallMethod2.html">operations_research::CallMethod2</a></div><divclass="ttdoc">Demon proxy to a method on the constraint with two arguments.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00580">constraint_solveri.h:580</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ArrayWithOffset_html_a8863e9c3396d82c7f8af68d9711a4599"><divclass="ttname"><ahref="classoperations__research_1_1ArrayWithOffset.html#a8863e9c3396d82c7f8af68d9711a4599">operations_research::ArrayWithOffset::SetValue</a></div><divclass="ttdeci">void SetValue(int64 index, T value)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02207">constraint_solveri.h:2207</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a38972723946490ea4df4e34298d8805d"><divclass="ttname"><ahref="namespaceoperations__research.html#a38972723946490ea4df4e34298d8805d">operations_research::AreAllNegative</a></div><divclass="ttdeci">bool AreAllNegative(const std::vector< T >&values)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02644">constraint_solveri.h:2644</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DelayedCallMethod0_html"><divclass="ttname"><ahref="classoperations__research_1_1DelayedCallMethod0.html">operations_research::DelayedCallMethod0</a></div><divclass="ttdoc">Low-priority demon proxy to a method on the constraint with no arguments.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00670">constraint_solveri.h:670</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SequenceVarLocalSearchOperator_html_aa2f375549359ac7050eaed6f3562c42e"><divclass="ttname"><ahref="classoperations__research_1_1SequenceVarLocalSearchOperator.html#aa2f375549359ac7050eaed6f3562c42e">operations_research::SequenceVarLocalSearchOperator::SetBackwardSequence</a></div><divclass="ttdeci">void SetBackwardSequence(int64 index, const std::vector< int >&value)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01118">constraint_solveri.h:1118</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DecisionVisitor_html"><divclass="ttname"><ahref="classoperations__research_1_1DecisionVisitor.html">operations_research::DecisionVisitor</a></div><divclass="ttdoc">A DecisionVisitor is used to inspect a decision.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03186">constraint_solver.h:3186</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Assignment_html_a11c9545171ef35516112a3f9b49484b7"><divclass="ttname"><ahref="classoperations__research_1_1Assignment.html#a11c9545171ef35516112a3f9b49484b7">operations_research::Assignment::FastAdd</a></div><divclass="ttdeci">IntVarElement * FastAdd(IntVar *const var)</div><divclass="ttdoc">Adds without checking if variable has been previously added.</div></div>
<divclass="ttc"id="classoperations__research_1_1SearchLog_html_a83116fcc9628ff5947683d1b22c4366f"><divclass="ttname"><ahref="classoperations__research_1_1SearchLog.html#a83116fcc9628ff5947683d1b22c4366f">operations_research::SearchLog::SearchLog</a></div><divclass="ttdeci">SearchLog(Solver *const s, OptimizeVar *const obj, IntVar *const var, double scaling_factor, std::function< std::string()> display_callback, int period)</div></div>
<divclass="ttc"id="classoperations__research_1_1BaseIntExpr_html_a1482a8f4291d806dc98deaf586777f0a"><divclass="ttname"><ahref="classoperations__research_1_1BaseIntExpr.html#a1482a8f4291d806dc98deaf586777f0a">operations_research::BaseIntExpr::Var</a></div><divclass="ttdeci">IntVar * Var() override</div><divclass="ttdoc">Creates a variable from the expression.</div></div>
<divclass="ttc"id="classoperations__research_1_1SmallRevBitSet_html_a62c1065eed9c23d62fe6febf90ea020d"><divclass="ttname"><ahref="classoperations__research_1_1SmallRevBitSet.html#a62c1065eed9c23d62fe6febf90ea020d">operations_research::SmallRevBitSet::GetFirstOne</a></div><divclass="ttdeci">int64 GetFirstOne() const</div><divclass="ttdoc">Gets the index of the first bit set starting from 0.</div></div>
<divclass="ttc"id="classoperations__research_1_1SearchLog_html_a070cd3a6cc16d608bdd36d3acfcd6192"><divclass="ttname"><ahref="classoperations__research_1_1SearchLog.html#a070cd3a6cc16d608bdd36d3acfcd6192">operations_research::SearchLog::BeginFail</a></div><divclass="ttdeci">void BeginFail() override</div><divclass="ttdoc">Just when the failure occurs.</div></div>
<divclass="ttc"id="classoperations__research_1_1SearchLog_html_a42dcd4deb1a7865add8800a8b4645c27"><divclass="ttname"><ahref="classoperations__research_1_1SearchLog.html#a42dcd4deb1a7865add8800a8b4645c27">operations_research::SearchLog::AtSolution</a></div><divclass="ttdeci">bool AtSolution() override</div><divclass="ttdoc">This method is called when a valid solution is found.</div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_ad25e64910b5848f1ce0669fb00ae2270"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#ad25e64910b5848f1ce0669fb00ae2270">operations_research::PathOperator::SetNextBaseToIncrement</a></div><divclass="ttdeci">virtual void SetNextBaseToIncrement(int64 base_index)</div><divclass="ttdoc">Set the next base to increment on next iteration.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01345">constraint_solveri.h:1345</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DelayedCallMethod2_html_a7be9d4dc86d9807ce080b67a91b0bfb7"><divclass="ttname"><ahref="classoperations__research_1_1DelayedCallMethod2.html#a7be9d4dc86d9807ce080b67a91b0bfb7">operations_research::DelayedCallMethod2::Run</a></div><divclass="ttdeci">void Run(Solver *const s) override</div><divclass="ttdoc">This is the main callback of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00751">constraint_solveri.h:751</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_ae220d84f70fbc4b4300c11fde784489a"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#ae220d84f70fbc4b4300c11fde784489a">operations_research::PropagationMonitor::Install</a></div><divclass="ttdeci">void Install() override</div><divclass="ttdoc">Install itself on the solver.</div></div>
<divclass="ttc"id="classoperations__research_1_1RevGrowingArray_html"><divclass="ttname"><ahref="classoperations__research_1_1RevGrowingArray.html">operations_research::RevGrowingArray</a></div><divclass="ttdoc">This class is a reversible growing array.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02227">constraint_solveri.h:2227</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_ad87a19fb837f8246ec54921a3ce9a964"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#ad87a19fb837f8246ec54921a3ce9a964">operations_research::BooleanVar::RemoveValue</a></div><divclass="ttdeci">void RemoveValue(int64 v) override</div><divclass="ttdoc">This method removes the value 'v' from the domain of the variable.</div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_a58228fd9a45fda74debe601dbed29412"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#a58228fd9a45fda74debe601dbed29412">operations_research::VarLocalSearchOperator::SetValue</a></div><divclass="ttdeci">void SetValue(int64 index, const Val &value)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00858">constraint_solveri.h:858</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_ad53681f1b9d6707149608c7826c3a834"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#ad53681f1b9d6707149608c7826c3a834">operations_research::VarLocalSearchOperator::prev_values_</a></div><divclass="ttdeci">std::vector< Val > prev_values_</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00940">constraint_solveri.h:940</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_a4844e2d1e002a6012c65e582583b351d"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#a4844e2d1e002a6012c65e582583b351d">operations_research::VarLocalSearchOperator::Var</a></div><divclass="ttdeci">V * Var(int64 index) const</div><divclass="ttdoc">Returns the variable of given index.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00855">constraint_solveri.h:855</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ChangeValue_html"><divclass="ttname"><ahref="classoperations__research_1_1ChangeValue.html">operations_research::ChangeValue</a></div><divclass="ttdoc">Defines operators which change the value of variables; each neighbor corresponds to one modified vari...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01232">constraint_solveri.h:1232</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CallMethod1_html_a05fb24c470827029abf15ecebafbdc50"><divclass="ttname"><ahref="classoperations__research_1_1CallMethod1.html#a05fb24c470827029abf15ecebafbdc50">operations_research::CallMethod1::Run</a></div><divclass="ttdeci">void Run(Solver *const s) override</div><divclass="ttdoc">This is the main callback of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00558">constraint_solveri.h:558</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVar_html_a49fb18ac443f329969336d1d685269ed"><divclass="ttname"><ahref="classoperations__research_1_1IntVar.html#a49fb18ac443f329969336d1d685269ed">operations_research::IntVar::index</a></div><divclass="ttdeci">int index() const</div><divclass="ttdoc">Returns the index of the variable.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04028">constraint_solver.h:4028</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_ae662ff228ca3c6d00bf1b5a44cde80af"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#ae662ff228ca3c6d00bf1b5a44cde80af">operations_research::BooleanVar::SetRange</a></div><divclass="ttdeci">void SetRange(int64 mi, int64 ma) override</div><divclass="ttdoc">This method sets both the min and the max of the expression.</div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a6580d6cdf003656019a25f7e9f2d8496"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a6580d6cdf003656019a25f7e9f2d8496">operations_research::PathOperator::RestartAtPathStartOnSynchronize</a></div><divclass="ttdeci">virtual bool RestartAtPathStartOnSynchronize()</div><divclass="ttdoc">When the operator is being synchronized with a new solution (when Start() is called),...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01328">constraint_solveri.h:1328</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevGrowingArray_html_aa66c900368ad9fa24d3a256493792330"><divclass="ttname"><ahref="classoperations__research_1_1RevGrowingArray.html#aa66c900368ad9fa24d3a256493792330">operations_research::RevGrowingArray::RevInsert</a></div><divclass="ttdeci">void RevInsert(Solver *const solver, int64 index, T value)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02250">constraint_solveri.h:2250</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_af736502981e90d35f527e88e78c22ab5"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#af736502981e90d35f527e88e78c22ab5">operations_research::BooleanVar::Value</a></div><divclass="ttdeci">int64 Value() const override</div><divclass="ttdoc">This method returns the value of the variable.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01721">constraint_solveri.h:1721</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevIntSet_html_a5608be2b7716304454f31dda7b3d80e9"><divclass="ttname"><ahref="classoperations__research_1_1RevIntSet.html#a5608be2b7716304454f31dda7b3d80e9">operations_research::RevIntSet::const_iterator</a></div><divclass="ttdeci">const T * const_iterator</div><divclass="ttdoc">Iterators on the indices.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02382">constraint_solveri.h:2382</a></div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_abe8303e30c616b1306b05132dd97c4d7"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#abe8303e30c616b1306b05132dd97c4d7">operations_research::UnsortedNullableRevBitset::active_words</a></div><divclass="ttdeci">const RevIntSet< int >& active_words() const</div><divclass="ttdoc">Returns the set of active word indices.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02576">constraint_solveri.h:2576</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevIntSet_html_a256503b400735b79534bf87a3a433296"><divclass="ttname"><ahref="classoperations__research_1_1RevIntSet.html#a256503b400735b79534bf87a3a433296">operations_research::RevIntSet::RevIntSet</a></div><divclass="ttdeci">RevIntSet(int capacity)</div><divclass="ttdoc">Capacity is the fixed size of the set (it cannot grow).</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02315">constraint_solveri.h:2315</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitSet_html_a3ddbaa8d39c2a6861fad88aacb240bbe"><divclass="ttname"><ahref="classoperations__research_1_1RevBitSet.html#a3ddbaa8d39c2a6861fad88aacb240bbe">operations_research::RevBitSet::Cardinality</a></div><divclass="ttdeci">int64 Cardinality() const</div><divclass="ttdoc">Returns the number of bits set to one.</div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_a87955b04701c3ad95557126accd8238c"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#a87955b04701c3ad95557126accd8238c">operations_research::UnsortedNullableRevBitset::RevAnd</a></div><divclass="ttdeci">bool RevAnd(Solver *const solver, const std::vector< uint64 >&mask)</div><divclass="ttdoc">This method ANDs the mask with the active bitset.</div></div>
<divclass="ttc"id="classoperations__research_1_1BaseObject_html"><divclass="ttname"><ahref="classoperations__research_1_1BaseObject.html">operations_research::BaseObject</a></div><divclass="ttdoc">A BaseObject is the root of all reversibly allocated objects.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03089">constraint_solver.h:3089</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevIntSet_html_a249b8be47f098c8b42b61876ed5c300f"><divclass="ttname"><ahref="classoperations__research_1_1RevIntSet.html#a249b8be47f098c8b42b61876ed5c300f">operations_research::RevIntSet::kNoInserted</a></div><divclass="ttdeci">static const int kNoInserted</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02312">constraint_solveri.h:2312</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Solver_html_a01e1a27e5e6c03b48faab541885737ca"><divclass="ttname"><ahref="classoperations__research_1_1Solver.html#a01e1a27e5e6c03b48faab541885737ca">operations_research::Solver::RevAlloc</a></div><divclass="ttdeci">T * RevAlloc(T *object)</div><divclass="ttdoc">Registers the given object as being reversible.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00775">constraint_solver.h:775</a></div></div>
<divclass="ttc"id="classoperations__research_1_1VarLocalSearchOperator_html_a710d1eeb2818e3730a08e62c7314862e"><divclass="ttname"><ahref="classoperations__research_1_1VarLocalSearchOperator.html#a710d1eeb2818e3730a08e62c7314862e">operations_research::VarLocalSearchOperator::vars_</a></div><divclass="ttdeci">std::vector< V * > vars_</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00937">constraint_solveri.h:937</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntExpr_html"><divclass="ttname"><ahref="classoperations__research_1_1IntExpr.html">operations_research::IntExpr</a></div><divclass="ttdoc">The class IntExpr is the base of all integer expressions in constraint programming.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03773">constraint_solver.h:3773</a></div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_a914f7cd7d3e1796dd3aa05f4d1ad4a85"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#a914f7cd7d3e1796dd3aa05f4d1ad4a85">operations_research::UnsortedNullableRevBitset::Empty</a></div><divclass="ttdeci">bool Empty() const</div><divclass="ttdoc">This method returns true if the active bitset is null.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02560">constraint_solveri.h:2560</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevSwitch_html"><divclass="ttname"><ahref="classoperations__research_1_1RevSwitch.html">operations_research::RevSwitch</a></div><divclass="ttdoc">A reversible switch that can switch once from false to true.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00396">constraint_solveri.h:396</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SearchMonitor_html"><divclass="ttname"><ahref="classoperations__research_1_1SearchMonitor.html">operations_research::SearchMonitor</a></div><divclass="ttdoc">A search monitor is a simple set of callbacks to monitor all search events.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03572">constraint_solver.h:3572</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevImmutableMultiMap_html_afbd7546d603df82059ed3b8a13a3241a"><divclass="ttname"><ahref="classoperations__research_1_1RevImmutableMultiMap.html#afbd7546d603df82059ed3b8a13a3241a">operations_research::RevImmutableMultiMap::RevImmutableMultiMap</a></div><divclass="ttdeci">RevImmutableMultiMap(Solver *const solver, int initial_size)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00290">constraint_solveri.h:290</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SequenceVar_html_a80930826abef932c86f9f751daa04ab2"><divclass="ttname"><ahref="classoperations__research_1_1SequenceVar.html#a80930826abef932c86f9f751daa04ab2">operations_research::SequenceVar::size</a></div><divclass="ttdeci">int64 size() const</div><divclass="ttdoc">Returns the number of interval vars in the sequence.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04520">constraint_solver.h:4520</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ArrayWithOffset_html_ade4331eb679d14fc9b17ee6e30372993"><divclass="ttname"><ahref="classoperations__research_1_1ArrayWithOffset.html#ade4331eb679d14fc9b17ee6e30372993">operations_research::ArrayWithOffset::Evaluate</a></div><divclass="ttdeci">virtual T Evaluate(int64 index) const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02201">constraint_solveri.h:2201</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevIntSet_html_aa332f108f9a442e8765e460e7f53c496"><divclass="ttname"><ahref="classoperations__research_1_1RevIntSet.html#aa332f108f9a442e8765e460e7f53c496">operations_research::RevIntSet::RevIntSet</a></div><divclass="ttdeci">RevIntSet(int capacity, int *shared_positions, int shared_positions_size)</div><divclass="ttdoc">Capacity is the fixed size of the set (it cannot grow).</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02327">constraint_solveri.h:2327</a></div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_a3b5fcc5763d6f4b59a3df487fc0e8d88"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#a3b5fcc5763d6f4b59a3df487fc0e8d88">operations_research::UnsortedNullableRevBitset::word_size</a></div><divclass="ttdeci">int64 word_size() const</div><divclass="ttdoc">Returns the number of 64 bit words used to store the bitset.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02574">constraint_solveri.h:2574</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVar_html"><divclass="ttname"><ahref="classoperations__research_1_1IntVar.html">operations_research::IntVar</a></div><divclass="ttdoc">The class IntVar is a subset of IntExpr.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03934">constraint_solver.h:3934</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SymmetryBreaker_html"><divclass="ttname"><ahref="classoperations__research_1_1SymmetryBreaker.html">operations_research::SymmetryBreaker</a></div><divclass="ttdoc">A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in r...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01758">constraint_solveri.h:1758</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_ae00d6563324cebef0f7e25fae162b18c"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#ae00d6563324cebef0f7e25fae162b18c">operations_research::BooleanVar::WhenBound</a></div><divclass="ttdeci">void WhenBound(Demon *d) override</div><divclass="ttdoc">This method attaches a demon that will be awakened when the variable is bound.</div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_a71ad95706fde5ba3c076f1125177cf3e"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#a71ad95706fde5ba3c076f1125177cf3e">operations_research::PropagationMonitor::RemoveValues</a></div><divclass="ttdeci">virtual void RemoveValues(IntVar *const var, const std::vector< int64 >&values)=0</div></div>
<divclass="ttc"id="namespaceoperations__research_html"><divclass="ttname"><ahref="namespaceoperations__research.html">operations_research</a></div><divclass="ttdoc">The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00092">constraint_solver.h:92</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarIterator_html"><divclass="ttname"><ahref="classoperations__research_1_1IntVarIterator.html">operations_research::IntVarIterator</a></div><divclass="ttdoc">The class Iterator has two direct subclasses.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03851">constraint_solver.h:3851</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_a9ed062f89410e8ce29e59d78e1437317"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#a9ed062f89410e8ce29e59d78e1437317">operations_research::PropagationMonitor::RankNotFirst</a></div><divclass="ttdeci">virtual void RankNotFirst(SequenceVar *const var, int index)=0</div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_a07665062e623a550433c5845111910e3"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#a07665062e623a550433c5845111910e3">operations_research::PropagationMonitor::SetDurationMax</a></div><divclass="ttdeci">virtual void SetDurationMax(IntervalVar *const var, int64 new_max)=0</div></div>
<divclass="ttc"id="classoperations__research_1_1DelayedCallMethod1_html_a7ef6fa85722c1d3da524468a6f3a6347"><divclass="ttname"><ahref="classoperations__research_1_1DelayedCallMethod1.html#a7ef6fa85722c1d3da524468a6f3a6347">operations_research::DelayedCallMethod1::priority</a></div><divclass="ttdeci">Solver::DemonPriority priority() const override</div><divclass="ttdoc">This method returns the priority of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00713">constraint_solveri.h:713</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ChangeValue_html_a7bcd4a197ade8555b9c1c1dcb731d5c3"><divclass="ttname"><ahref="classoperations__research_1_1ChangeValue.html#a7bcd4a197ade8555b9c1c1dcb731d5c3">operations_research::ChangeValue::MakeOneNeighbor</a></div><divclass="ttdeci">bool MakeOneNeighbor() override</div><divclass="ttdoc">This method should not be overridden. Override ModifyValue() instead.</div></div>
<divclass="ttc"id="classoperations__research_1_1SequenceVarElement_html_a7296d95d6ce7890ff1ace7779dee8755"><divclass="ttname"><ahref="classoperations__research_1_1SequenceVarElement.html#a7296d95d6ce7890ff1ace7779dee8755">operations_research::SequenceVarElement::SetBackwardSequence</a></div><divclass="ttdeci">void SetBackwardSequence(const std::vector< int >&backward_sequence)</div></div>
<divclass="ttc"id="namespaceoperations__research_html_ab0ae787392a8dd8a499eb55ac0916aa4"><divclass="ttname"><ahref="namespaceoperations__research.html#ab0ae787392a8dd8a499eb55ac0916aa4">operations_research::AreAllNull</a></div><divclass="ttdeci">bool AreAllNull(const std::vector< T >&values)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02614">constraint_solveri.h:2614</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BooleanVar_html_a6b734a5a677fb0fe2825436c6ba48a7f"><divclass="ttname"><ahref="classoperations__research_1_1BooleanVar.html#a6b734a5a677fb0fe2825436c6ba48a7f">operations_research::BooleanVar::SetMin</a></div><divclass="ttdeci">void SetMin(int64 m) override</div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a7ae387b900a7fd695061874269c46509"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a7ae387b900a7fd695061874269c46509">operations_research::PathOperator::InitPosition</a></div><divclass="ttdeci">virtual bool InitPosition() const</div><divclass="ttdoc">Returns true if operator needs to restart its initial position at each call to Start()</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01388">constraint_solveri.h:1388</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SequenceVarElement_html_aa416720977aa00d0f25d352166f4f005"><divclass="ttname"><ahref="classoperations__research_1_1SequenceVarElement.html#aa416720977aa00d0f25d352166f4f005">operations_research::SequenceVarElement::SetForwardSequence</a></div><divclass="ttdeci">void SetForwardSequence(const std::vector< int >&forward_sequence)</div></div>
<divclass="ttc"id="classoperations__research_1_1CallMethod1_html"><divclass="ttname"><ahref="classoperations__research_1_1CallMethod1.html">operations_research::CallMethod1</a></div><divclass="ttdoc">Demon proxy to a method on the constraint with one argument.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00550">constraint_solveri.h:550</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_ab62b402f767cda48eb67ef8b50397f8f"><divclass="ttname"><ahref="namespaceoperations__research.html#ab62b402f767cda48eb67ef8b50397f8f">operations_research::AreAllPositive</a></div><divclass="ttdeci">bool AreAllPositive(const std::vector< T >&values)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02639">constraint_solveri.h:2639</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_a2b256262632e819ceeb0cf04be0e53ad"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#a2b256262632e819ceeb0cf04be0e53ad">operations_research::PropagationMonitor::RankNotLast</a></div><divclass="ttdeci">virtual void RankNotLast(SequenceVar *const var, int index)=0</div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_ac50e298d0404cb5d5bd4418d5416e0b7"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#ac50e298d0404cb5d5bd4418d5416e0b7">operations_research::UnsortedNullableRevBitset::UnsortedNullableRevBitset</a></div><divclass="ttdeci">UnsortedNullableRevBitset(int bit_size)</div><divclass="ttdoc">Size is the number of bits to store in the bitset.</div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitSet_html"><divclass="ttname"><ahref="classoperations__research_1_1RevBitSet.html">operations_research::RevBitSet</a></div><divclass="ttdoc">This class represents a reversible bitset.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00435">constraint_solveri.h:435</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SearchLog_html_a290b7238507e711ea719b38a65d1d002"><divclass="ttname"><ahref="classoperations__research_1_1SearchLog.html#a290b7238507e711ea719b38a65d1d002">operations_research::SearchLog::NoMoreSolutions</a></div><divclass="ttdeci">void NoMoreSolutions() override</div><divclass="ttdoc">When the search tree is finished.</div></div>
<divclass="ttc"id="classoperations__research_1_1PropagationMonitor_html_aea14a7436f45e5ed69bc1d2d3c67fe1b"><divclass="ttname"><ahref="classoperations__research_1_1PropagationMonitor.html#aea14a7436f45e5ed69bc1d2d3c67fe1b">operations_research::PropagationMonitor::SetValue</a></div><divclass="ttdeci">virtual void SetValue(IntVar *const var, int64 value)=0</div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchMonitor_html_a6edec376019f48002aa7e57230ceae70"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchMonitor.html#a6edec376019f48002aa7e57230ceae70">operations_research::LocalSearchMonitor::Install</a></div><divclass="ttdeci">void Install() override</div><divclass="ttdoc">Install itself on the solver.</div></div>
<divclass="ttc"id="classoperations__research_1_1Decision_html"><divclass="ttname"><ahref="classoperations__research_1_1Decision.html">operations_research::Decision</a></div><divclass="ttdoc">A Decision represents a choice point in the search tree.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03165">constraint_solver.h:3165</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarLocalSearchHandler_html"><divclass="ttname"><ahref="classoperations__research_1_1IntVarLocalSearchHandler.html">operations_research::IntVarLocalSearchHandler</a></div><divclass="ttdoc">Base operator class for operators manipulating IntVars.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00951">constraint_solveri.h:951</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntervalVar_html"><divclass="ttname"><ahref="classoperations__research_1_1IntervalVar.html">operations_research::IntervalVar</a></div><divclass="ttdoc">Interval variables are often used in scheduling.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04290">constraint_solver.h:4290</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a864082b71a99ae929d97a3eafbf9fc39"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a864082b71a99ae929d97a3eafbf9fc39">operations_research::PathOperator::path_starts</a></div><divclass="ttdeci">const std::vector< int64 >& path_starts() const</div><divclass="ttdoc">Returns the vector of path start nodes.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01313">constraint_solveri.h:1313</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RevImmutableMultiMap_html_a00d0083447f546e8a43744ed5063e98d"><divclass="ttname"><ahref="classoperations__research_1_1RevImmutableMultiMap.html#a00d0083447f546e8a43744ed5063e98d">operations_research::RevImmutableMultiMap::Insert</a></div><divclass="ttdeci">void Insert(const K &key, const V &value)</div><divclass="ttdoc">Inserts (key, value) in the multi-map.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00331">constraint_solveri.h:331</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a4da629cafe75f958924e1684ac2b0eff"><divclass="ttname"><ahref="namespaceoperations__research.html#a4da629cafe75f958924e1684ac2b0eff">operations_research::MakeConstraintDemon2</a></div><divclass="ttdeci">Demon * MakeConstraintDemon2(Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00612">constraint_solveri.h:612</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a6d45b94ec6f26f51e95bb651f56f5a59"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a6d45b94ec6f26f51e95bb651f56f5a59">operations_research::PathOperator::PathClass</a></div><divclass="ttdeci">int PathClass(int i) const</div><divclass="ttdoc">Returns the class of the current path of the ith base node.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01315">constraint_solveri.h:1315</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SequenceVarLocalSearchOperator_html_a5c478f55875ccdb31b2aacaa8852d460"><divclass="ttname"><ahref="classoperations__research_1_1SequenceVarLocalSearchOperator.html#a5c478f55875ccdb31b2aacaa8852d460">operations_research::SequenceVarLocalSearchOperator::backward_values_</a></div><divclass="ttdeci">std::vector< std::vector< int >> backward_values_</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01126">constraint_solveri.h:1126</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a7028ce8b481be8cb6fca7a6925d41aa7"><divclass="ttname"><ahref="namespaceoperations__research.html#a7028ce8b481be8cb6fca7a6925d41aa7">operations_research::AreAllBoundTo</a></div><divclass="ttdeci">bool AreAllBoundTo(const std::vector< IntVar * >&vars, int64 value)</div><divclass="ttdoc">Returns true if all variables are assigned to 'value'.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02716">constraint_solveri.h:2716</a></div></div>
<divclass="ttc"id="classoperations__research_1_1NumericalRev_html"><divclass="ttname"><ahref="classoperations__research_1_1NumericalRev.html">operations_research::NumericalRev< int ></a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a942ba2898a44303790c91e761b8f4630"><divclass="ttname"><ahref="namespaceoperations__research.html#a942ba2898a44303790c91e761b8f4630">operations_research::PosIntDivDown</a></div><divclass="ttdeci">int64 PosIntDivDown(int64 e, int64 v)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02763">constraint_solveri.h:2763</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a91972b2afa1739b2e93e320323b157d1"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a91972b2afa1739b2e93e320323b157d1">operations_research::PathOperator::MakeOneNeighbor</a></div><divclass="ttdeci">bool MakeOneNeighbor() override</div><divclass="ttdoc">This method should not be overridden. Override MakeNeighbor() instead.</div></div>
<divclass="ttc"id="classoperations__research_1_1Solver_html_a6b4182ad46462a9374c84063249eef45"><divclass="ttname"><ahref="classoperations__research_1_1Solver.html#a6b4182ad46462a9374c84063249eef45">operations_research::Solver::SaveAndSetValue</a></div><divclass="ttdeci">void SaveAndSetValue(T *adr, T val)</div><divclass="ttdoc">All-in-one SaveAndSetValue.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l02760">constraint_solver.h:2760</a></div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchFilterManager_html_a863e8eb7f31ead91695680c40817e0be"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchFilterManager.html#a863e8eb7f31ead91695680c40817e0be">operations_research::LocalSearchFilterManager::GetSynchronizedObjectiveValue</a></div><divclass="ttdeci">int64 GetSynchronizedObjectiveValue() const override</div><divclass="ttdoc">DO NOT USE. Objective value from last time Synchronize() was called.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01543">constraint_solveri.h:1543</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DelayedCallMethod0_html_adfd9001b4514cf914865ff234f189775"><divclass="ttname"><ahref="classoperations__research_1_1DelayedCallMethod0.html#adfd9001b4514cf914865ff234f189775">operations_research::DelayedCallMethod0::priority</a></div><divclass="ttdeci">Solver::DemonPriority priority() const override</div><divclass="ttdoc">This method returns the priority of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00679">constraint_solveri.h:679</a></div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html">operations_research::UnsortedNullableRevBitset</a></div><divclass="ttdoc">This class represents a reversible bitset.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02536">constraint_solveri.h:2536</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BaseLns_html"><divclass="ttname"><ahref="classoperations__research_1_1BaseLns.html">operations_research::BaseLns</a></div><divclass="ttdoc">This is the base class for building an Lns operator.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01208">constraint_solveri.h:1208</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_a661ecee1a13c036a57c5c75b97882462"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#a661ecee1a13c036a57c5c75b97882462">operations_research::PathOperator::OnSamePathAsPreviousBase</a></div><divclass="ttdeci">virtual bool OnSamePathAsPreviousBase(int64 base_index)</div><divclass="ttdoc">Returns true if a base node has to be on the same path as the "previous" base node (base node of inde...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01334">constraint_solveri.h:1334</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarLocalSearchFilter_html_af551c2cc4bd9dc8eca5c1aba2ea0cf1a"><divclass="ttname"><ahref="classoperations__research_1_1IntVarLocalSearchFilter.html#af551c2cc4bd9dc8eca5c1aba2ea0cf1a">operations_research::IntVarLocalSearchFilter::Synchronize</a></div><divclass="ttdeci">void Synchronize(const Assignment *assignment, const Assignment *delta) override</div><divclass="ttdoc">This method should not be overridden.</div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_ad819515eabc14b84e8e31b574a59d2fb"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#ad819515eabc14b84e8e31b574a59d2fb">operations_research::PathOperator::ReverseChain</a></div><divclass="ttdeci">bool ReverseChain(int64 before_chain, int64 after_chain, int64 *chain_last)</div><divclass="ttdoc">Reverses the chain starting after before_chain and ending before after_chain.</div></div>
<divclass="ttc"id="classoperations__research_1_1SearchLog_html_aeadd9144f22750344a8d9bb727195182"><divclass="ttname"><ahref="classoperations__research_1_1SearchLog.html#aeadd9144f22750344a8d9bb727195182">operations_research::SearchLog::EnterSearch</a></div><divclass="ttdeci">void EnterSearch() override</div><divclass="ttdoc">Beginning of the search.</div></div>
<divclass="ttc"id="classoperations__research_1_1UnsortedNullableRevBitset_html_a597373530d096ff338bf697633ff8997"><divclass="ttname"><ahref="classoperations__research_1_1UnsortedNullableRevBitset.html#a597373530d096ff338bf697633ff8997">operations_research::UnsortedNullableRevBitset::RevSubtract</a></div><divclass="ttdeci">bool RevSubtract(Solver *const solver, const std::vector< uint64 >&mask)</div><divclass="ttdoc">This method subtracts the mask from the active bitset.</div></div>
<divclass="ttc"id="classoperations__research_1_1PathOperator_html_af916e434b85cddbe48e0378242a04aca"><divclass="ttname"><ahref="classoperations__research_1_1PathOperator.html#af916e434b85cddbe48e0378242a04aca">operations_research::PathOperator::Next</a></div><divclass="ttdeci">int64 Next(int64 node_index) const</div><divclass="ttdoc">Returns the index of the node after the node of index node_index in the current assignment.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01289">constraint_solveri.h:1289</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SequenceVarElement_html"><divclass="ttname"><ahref="classoperations__research_1_1SequenceVarElement.html">operations_research::SequenceVarElement</a></div><divclass="ttdoc">The SequenceVarElement stores a partial representation of ranked interval variables in the underlying...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04711">constraint_solver.h:4711</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a15f08cfbb35e2b8b1eb76f79caea924a"><divclass="ttname"><ahref="namespaceoperations__research.html#a15f08cfbb35e2b8b1eb76f79caea924a">operations_research::AreAllLessOrEqual</a></div><divclass="ttdeci">bool AreAllLessOrEqual(const std::vector< T >&values, const T &value)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02629">constraint_solveri.h:2629</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a4fb750da00c784e5ffd1763fd3ce88f7"><divclass="ttname"><ahref="namespaceoperations__research.html#a4fb750da00c784e5ffd1763fd3ce88f7">operations_research::MakeConstraintDemon1</a></div><divclass="ttdeci">Demon * MakeConstraintDemon1(Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00573">constraint_solveri.h:573</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SimpleRevFIFO_html_a8a687b3e2756711e361d82db748ed33b"><divclass="ttname"><ahref="classoperations__research_1_1SimpleRevFIFO.html#a8a687b3e2756711e361d82db748ed33b">operations_research::SimpleRevFIFO::PushIfNotTop</a></div><divclass="ttdeci">void PushIfNotTop(Solver *const s, T val)</div><divclass="ttdoc">Pushes the var on top if is not a duplicate of the current top object.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00190">constraint_solveri.h:190</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Assignment_html"><divclass="ttname"><ahref="classoperations__research_1_1Assignment.html">operations_research::Assignment</a></div><divclass="ttdoc">An Assignment is a variable -> domains mapping, used to report solutions to the user.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04934">constraint_solver.h:4934</a></div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchOperator_html"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchOperator.html">operations_research::LocalSearchOperator</a></div><divclass="ttdoc">The base class for all local search operators.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00805">constraint_solveri.h:805</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BaseLns_html_abbf605907da7a213cfeef822a7290c53"><divclass="ttname"><ahref="classoperations__research_1_1BaseLns.html#abbf605907da7a213cfeef822a7290c53">operations_research::BaseLns::MakeOneNeighbor</a></div><divclass="ttdeci">bool MakeOneNeighbor() override</div><divclass="ttdoc">This method should not be overridden. Override NextFragment() instead.</div></div>
<divclass="ttc"id="classoperations__research_1_1RevBitSet_html_ae4b4610d76f45afc09f6ad9590062132"><divclass="ttname"><ahref="classoperations__research_1_1RevBitSet.html#ae4b4610d76f45afc09f6ad9590062132">operations_research::RevBitSet::GetFirstBit</a></div><divclass="ttdeci">int64 GetFirstBit(int start) const</div><divclass="ttdoc">Gets the index of the first bit set starting from start.</div></div>
<divclass="ttc"id="namespaceoperations__research_html_abdca98f14c02e004ab5e19d2c3985667"><divclass="ttname"><ahref="namespaceoperations__research.html#abdca98f14c02e004ab5e19d2c3985667">operations_research::MakeConstraintDemon3</a></div><divclass="ttdeci">Demon * MakeConstraintDemon3(Solver *const s, T *const ct, void(T::*method)(P, Q, R), const std::string &name, P param1, Q param2, R param3)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00655">constraint_solveri.h:655</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CallMethod0_html_a1a9ae132209a5ae456616619c3a85766"><divclass="ttname"><ahref="classoperations__research_1_1CallMethod0.html#a1a9ae132209a5ae456616619c3a85766">operations_research::CallMethod0::Run</a></div><divclass="ttdeci">void Run(Solver *const s) override</div><divclass="ttdoc">This is the main callback of the demon.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00519">constraint_solveri.h:519</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a3d434774c07815a25ffaa7adb343c19e"><divclass="ttname"><ahref="namespaceoperations__research.html#a3d434774c07815a25ffaa7adb343c19e">operations_research::IsIncreasing</a></div><divclass="ttdeci">bool IsIncreasing(const std::vector< T >&values)</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l02669">constraint_solveri.h:2669</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ArgumentHolder_html_ae8ee031f957d5ede9e14f8c1941551d2"><divclass="ttname"><ahref="classoperations__research_1_1ArgumentHolder.html#ae8ee031f957d5ede9e14f8c1941551d2">operations_research::ArgumentHolder::TypeName</a></div><divclass="ttdeci">const std::string & TypeName() const</div><divclass="ttdoc">Type of the argument.</div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchFilter_html_ac3893c2931854f86757c29ff7e143cf2"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchFilter.html#ac3893c2931854f86757c29ff7e143cf2">operations_research::LocalSearchFilter::Synchronize</a></div><divclass="ttdeci">virtual void Synchronize(const Assignment *assignment, const Assignment *delta)=0</div><divclass="ttdoc">Synchronizes the filter with the current solution, delta being the difference with the solution passe...</div></div>