2019-06-13 15:51:12 +02:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< title > OR-Tools< / title >
< meta http-equiv = "Content-Type" content = "text/html;" / >
< meta charset = "utf-8" / >
<!-- <link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/> -->
2019-06-20 23:08:48 +02:00
< link rel = "stylesheet" type = "text/css" href = "ortools.css" title = "default" media = "screen,print" / >
2019-06-13 15:51:12 +02:00
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< / head >
< body >
< div id = "banner-container" >
< div id = "banner" >
2020-01-27 13:48:26 +01:00
< span id = "sfml" > Google OR-Tools 7.5< / span >
2019-06-13 15:51:12 +02:00
< / div >
< / div >
2019-08-07 18:01:08 -07:00
< div id = "content" style = "width: 100%; overflow: hidden;" >
< div style = "margin-left: 15px; margin-top: 5px; float: left; color: #145A32;" >
2019-08-12 09:16:03 -07:00
< h2 > C++ Reference< / h2 >
2019-08-07 18:01:08 -07:00
< ul >
< li > < a href = "../cpp_algorithms/annotated.html" > Algorithms< / a > < / li >
2019-08-12 09:16:03 -07:00
< li > < a href = "../cpp_sat/annotated.html" > CP-SAT< / a > < / li >
2019-08-07 18:01:08 -07:00
< li > < a href = "../cpp_graph/annotated.html" > Graph< / a > < / li >
< li > < a href = "../cpp_routing/annotated.html" > Routing< / a > < / li >
< li > < a href = "../cpp_linear/annotated.html" > Linear solver< / a > < / li >
< / ul >
< / div >
2019-06-13 15:51:12 +02:00
< div id = "content" >
2019-08-07 18:01:08 -07:00
< div align = "center" >
< h1 style = "color: #145A32;" > C++ Reference: Routing< / h1 >
< / div >
2020-01-27 13:48:26 +01:00
<!-- Generated by Doxygen 1.8.18 -->
2019-06-13 15:51:12 +02:00
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
2019-07-15 17:42:24 -07:00
< li class = "current" > < a href = "files.html" > < span > Files< / span > < / a > < / li >
2019-06-13 15:51:12 +02:00
< / ul >
< / div >
2019-08-07 18:01:08 -07:00
< div id = "nav-path" class = "navpath" >
< ul >
< li class = "navelem" > < a class = "el" href = "dir_a7cc1eeded8f693d0da6c729bc88c45a.html" > ortools< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_afbb39f66221aac28bbdefd1dca2b2b0.html" > constraint_solver< / a > < / li > < / ul >
2019-07-12 13:25:23 -07:00
< / div >
2019-08-07 18:01:08 -07:00
< / div > <!-- top -->
2019-06-13 15:51:12 +02:00
< div class = "header" >
< div class = "headertitle" >
< div class = "title" > constraint_solveri.h< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
2019-11-14 13:52:51 -08:00
< a href = "constraint__solveri_8h.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < div class = "line" > < a name = "l00001" > < / a > < span class = "lineno" > 1< / span >   < span class = "comment" > // Copyright 2010-2018 Google LLC< / span > < / div >
< div class = "line" > < a name = "l00002" > < / a > < span class = "lineno" > 2< / span >   < span class = "comment" > // Licensed under the Apache License, Version 2.0 (the " License" );< / span > < / div >
< div class = "line" > < a name = "l00003" > < / a > < span class = "lineno" > 3< / span >   < span class = "comment" > // you may not use this file except in compliance with the License.< / span > < / div >
< div class = "line" > < a name = "l00004" > < / a > < span class = "lineno" > 4< / span >   < span class = "comment" > // You may obtain a copy of the License at< / span > < / div >
< div class = "line" > < a name = "l00005" > < / a > < span class = "lineno" > 5< / span >   < span class = "comment" > //< / span > < / div >
< div class = "line" > < a name = "l00006" > < / a > < span class = "lineno" > 6< / span >   < span class = "comment" > // http://www.apache.org/licenses/LICENSE-2.0< / span > < / div >
< div class = "line" > < a name = "l00007" > < / a > < span class = "lineno" > 7< / span >   < span class = "comment" > //< / span > < / div >
< div class = "line" > < a name = "l00008" > < / a > < span class = "lineno" > 8< / span >   < span class = "comment" > // Unless required by applicable law or agreed to in writing, software< / span > < / div >
< div class = "line" > < a name = "l00009" > < / a > < span class = "lineno" > 9< / span >   < span class = "comment" > // distributed under the License is distributed on an " AS IS" BASIS,< / span > < / div >
< div class = "line" > < a name = "l00010" > < / a > < span class = "lineno" > 10< / span >   < span class = "comment" > // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.< / span > < / div >
< div class = "line" > < a name = "l00011" > < / a > < span class = "lineno" > 11< / span >   < span class = "comment" > // See the License for the specific language governing permissions and< / span > < / div >
< div class = "line" > < a name = "l00012" > < / a > < span class = "lineno" > 12< / span >   < span class = "comment" > // limitations under the License.< / span > < / div >
< div class = "line" > < a name = "l00013" > < / a > < span class = "lineno" > 13< / span >   < / div >
< div class = "line" > < a name = "l00048" > < / a > < span class = "lineno" > 48< / span >   < / div >
< div class = "line" > < a name = "l00049" > < / a > < span class = "lineno" > 49< / span >   < span class = "preprocessor" > #ifndef OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVERI_H_< / span > < / div >
< div class = "line" > < a name = "l00050" > < / a > < span class = "lineno" > 50< / span >   < span class = "preprocessor" > #define OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVERI_H_< / span > < / div >
< div class = "line" > < a name = "l00051" > < / a > < span class = "lineno" > 51< / span >   < / div >
< div class = "line" > < a name = "l00052" > < / a > < span class = "lineno" > 52< / span >   < span class = "preprocessor" > #include < algorithm> < / span > < / div >
< div class = "line" > < a name = "l00053" > < / a > < span class = "lineno" > 53< / span >   < span class = "preprocessor" > #include < cmath> < / span > < / div >
< div class = "line" > < a name = "l00054" > < / a > < span class = "lineno" > 54< / span >   < span class = "preprocessor" > #include < cstddef> < / span > < / div >
< div class = "line" > < a name = "l00055" > < / a > < span class = "lineno" > 55< / span >   < span class = "preprocessor" > #include < functional> < / span > < / div >
< div class = "line" > < a name = "l00056" > < / a > < span class = "lineno" > 56< / span >   < span class = "preprocessor" > #include < memory> < / span > < / div >
< div class = "line" > < a name = "l00057" > < / a > < span class = "lineno" > 57< / span >   < span class = "preprocessor" > #include < string> < / span > < / div >
< div class = "line" > < a name = "l00058" > < / a > < span class = "lineno" > 58< / span >   < span class = "preprocessor" > #include < vector> < / span > < / div >
< div class = "line" > < a name = "l00059" > < / a > < span class = "lineno" > 59< / span >   < / div >
< div class = "line" > < a name = "l00060" > < / a > < span class = "lineno" > 60< / span >   < span class = "preprocessor" > #include " absl/container/flat_hash_map.h" < / span > < / div >
< div class = "line" > < a name = "l00061" > < / a > < span class = "lineno" > 61< / span >   < span class = "preprocessor" > #include " absl/strings/str_cat.h" < / span > < / div >
< div class = "line" > < a name = "l00062" > < / a > < span class = "lineno" > 62< / span >   < span class = "preprocessor" > #include " absl/strings/str_format.h" < / span > < / div >
< div class = "line" > < a name = "l00063" > < / a > < span class = "lineno" > 63< / span >   < span class = "preprocessor" > #include " absl/strings/str_join.h" < / span > < / div >
< div class = "line" > < a name = "l00064" > < / a > < span class = "lineno" > 64< / span >   < span class = "preprocessor" > #include " ortools/base/commandlineflags.h" < / span > < / div >
< div class = "line" > < a name = "l00065" > < / a > < span class = "lineno" > 65< / span >   < span class = "preprocessor" > #include " ortools/base/hash.h" < / span > < / div >
< div class = "line" > < a name = "l00066" > < / a > < span class = "lineno" > 66< / span >   < span class = "preprocessor" > #include " ortools/base/integral_types.h" < / span > < / div >
< div class = "line" > < a name = "l00067" > < / a > < span class = "lineno" > 67< / span >   < span class = "preprocessor" > #include " ortools/base/logging.h" < / span > < / div >
< div class = "line" > < a name = "l00068" > < / a > < span class = "lineno" > 68< / span >   < span class = "preprocessor" > #include " ortools/base/map_util.h" < / span > < / div >
< div class = "line" > < a name = "l00069" > < / a > < span class = "lineno" > 69< / span >   < span class = "preprocessor" > #include " ortools/base/sysinfo.h" < / span > < / div >
< div class = "line" > < a name = "l00070" > < / a > < span class = "lineno" > 70< / span >   < span class = "preprocessor" > #include " ortools/base/timer.h" < / span > < / div >
< div class = "line" > < a name = "l00071" > < / a > < span class = "lineno" > 71< / span >   < span class = "preprocessor" > #include " < a class = "code" href = "constraint__solver_8h.html" > ortools/constraint_solver/constraint_solver.h< / a > " < / span > < / div >
< div class = "line" > < a name = "l00072" > < / a > < span class = "lineno" > 72< / span >   < span class = "preprocessor" > #include " ortools/util/bitset.h" < / span > < / div >
< div class = "line" > < a name = "l00073" > < / a > < span class = "lineno" > 73< / span >   < span class = "preprocessor" > #include " ortools/util/tuple_set.h" < / span > < / div >
< div class = "line" > < a name = "l00074" > < / a > < span class = "lineno" > 74< / span >   < span class = "preprocessor" > #include " ortools/util/vector_map.h" < / span > < / div >
< div class = "line" > < a name = "l00075" > < / a > < span class = "lineno" > 75< / span >   < / div >
< div class = "line" > < a name = "l00076" > < / a > < span class = "lineno" > 76< / span >   < span class = "keyword" > class < / span > WallTimer;< / div >
< div class = "line" > < a name = "l00077" > < / a > < span class = "lineno" > 77< / span >   < / div >
< div class = "line" > < a name = "l00078" > < / a > < span class = "lineno" > 78< / span >   < span class = "keyword" > namespace < / span > < a class = "code" href = "namespaceoperations__research.html" > operations_research< / a > {< / div >
< div class = "line" > < a name = "l00079" > < / a > < span class = "lineno" > 79< / span >   < span class = "keyword" > class < / span > CPArgumentProto;< / div >
< div class = "line" > < a name = "l00080" > < / a > < span class = "lineno" > 80< / span >   < span class = "keyword" > class < / span > CPConstraintProto;< / div >
< div class = "line" > < a name = "l00081" > < / a > < span class = "lineno" > 81< / span >   < span class = "keyword" > class < / span > CPIntegerExpressionProto;< / div >
< div class = "line" > < a name = "l00082" > < / a > < span class = "lineno" > 82< / span >   < span class = "keyword" > class < / span > CPIntervalVariableProto;< / div >
< div class = "line" > < a name = "l00083" > < / a > < span class = "lineno" > 83< / span >   < / div >
< div class = "line" > < a name = "l00109" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BaseIntExpr.html" > 109< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1BaseIntExpr.html" > BaseIntExpr< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > {< / div >
< div class = "line" > < a name = "l00110" > < / a > < span class = "lineno" > 110< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00111" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BaseIntExpr.html#a1040963d944bb74b3f2cbfb4f03a89d0" > 111< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1BaseIntExpr.html#a1040963d944bb74b3f2cbfb4f03a89d0" > BaseIntExpr< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s) : < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > (s), var_(nullptr) {}< / div >
< div class = "line" > < a name = "l00112" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BaseIntExpr.html#ad10ba599bb4d5563b023f6d80363e713" > 112< / a > < / span >   < a class = "code" href = "classoperations__research_1_1BaseIntExpr.html#ad10ba599bb4d5563b023f6d80363e713" > ~BaseIntExpr< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00113" > < / a > < span class = "lineno" > 113< / span >   < / div >
< div class = "line" > < a name = "l00114" > < / a > < span class = "lineno" > 114< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < a class = "code" href = "classoperations__research_1_1BaseIntExpr.html#a36d71f28bff7448b6490fe4720ab2fe0" > Var< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l00115" > < / a > < span class = "lineno" > 115< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < a class = "code" href = "classoperations__research_1_1BaseIntExpr.html#a721f17985ccfb96fcc971ce2e474bbed" > CastToVar< / a > ();< / div >
< div class = "line" > < a name = "l00116" > < / a > < span class = "lineno" > 116< / span >   < / div >
< div class = "line" > < a name = "l00117" > < / a > < span class = "lineno" > 117< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00118" > < / a > < span class = "lineno" > 118< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * var_;< / div >
< div class = "line" > < a name = "l00119" > < / a > < span class = "lineno" > 119< / span >   };< / div >
< div class = "line" > < a name = "l00120" > < / a > < span class = "lineno" > 120< / span >   < / div >
< div class = "line" > < a name = "l00123" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2" > 123< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2" > VarTypes< / a > {< / div >
< div class = "line" > < a name = "l00124" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2aa876f4fb4e5f7f0c5c48fcf66c9ce7ce" > 124< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2aa876f4fb4e5f7f0c5c48fcf66c9ce7ce" > UNSPECIFIED< / a > ,< / div >
< div class = "line" > < a name = "l00125" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2afd9ce19c75c8a2e8ff4c7307eff08e38" > 125< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2afd9ce19c75c8a2e8ff4c7307eff08e38" > DOMAIN_INT_VAR< / a > ,< / div >
< div class = "line" > < a name = "l00126" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a00e6c449ab034942ac313f8b48643f4b" > 126< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a00e6c449ab034942ac313f8b48643f4b" > BOOLEAN_VAR< / a > ,< / div >
< div class = "line" > < a name = "l00127" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2ac84956f1086e3f828921e0b3d51d806b" > 127< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2ac84956f1086e3f828921e0b3d51d806b" > CONST_VAR< / a > ,< / div >
< div class = "line" > < a name = "l00128" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a16071208281c29136c1be022b7d170f0" > 128< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a16071208281c29136c1be022b7d170f0" > VAR_ADD_CST< / a > ,< / div >
< div class = "line" > < a name = "l00129" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a0ae20d0967db3441a2b885e5074c4b36" > 129< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a0ae20d0967db3441a2b885e5074c4b36" > VAR_TIMES_CST< / a > ,< / div >
< div class = "line" > < a name = "l00130" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a89a5a9b8c00be595eb52b4d464613d30" > 130< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a89a5a9b8c00be595eb52b4d464613d30" > CST_SUB_VAR< / a > ,< / div >
< div class = "line" > < a name = "l00131" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2ae8e4c6f3e5a6d22d24204ec432f57860" > 131< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2ae8e4c6f3e5a6d22d24204ec432f57860" > OPP_VAR< / a > ,< / div >
< div class = "line" > < a name = "l00132" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2af2d15b703802d6a1f8f402f90de90dc6" > 132< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2af2d15b703802d6a1f8f402f90de90dc6" > TRACE_VAR< / a > < / div >
< div class = "line" > < a name = "l00133" > < / a > < span class = "lineno" > 133< / span >   };< / div >
< div class = "line" > < a name = "l00134" > < / a > < span class = "lineno" > 134< / span >   < / div >
< div class = "line" > < a name = "l00143" > < / a > < span class = "lineno" > 143< / span >   < span class = "preprocessor" > #ifndef SWIG< / span > < / div >
< div class = "line" > < a name = "l00144" > < / a > < span class = "lineno" > 144< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l00145" > < / a > < span class = "lineno" > 145< / span >   < span class = "keyword" > class < / span > SimpleRevFIFO {< / div >
< div class = "line" > < a name = "l00146" > < / a > < span class = "lineno" > 146< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00147" > < / a > < span class = "lineno" > 147< / span >   < span class = "keyword" > enum< / span > { CHUNK_SIZE = 16 }; < span class = "comment" > // TODO(user): could be an extra template param< / span > < / div >
< div class = "line" > < a name = "l00148" > < / a > < span class = "lineno" > 148< / span >   < span class = "keyword" > struct < / span > Chunk {< / div >
< div class = "line" > < a name = "l00149" > < / a > < span class = "lineno" > 149< / span >   T data_[CHUNK_SIZE];< / div >
< div class = "line" > < a name = "l00150" > < / a > < span class = "lineno" > 150< / span >   < span class = "keyword" > const< / span > Chunk* < span class = "keyword" > const< / span > next_;< / div >
< div class = "line" > < a name = "l00151" > < / a > < span class = "lineno" > 151< / span >   < span class = "keyword" > explicit< / span > Chunk(< span class = "keyword" > const< / span > Chunk* next) : next_(next) {}< / div >
< div class = "line" > < a name = "l00152" > < / a > < span class = "lineno" > 152< / span >   };< / div >
< div class = "line" > < a name = "l00153" > < / a > < span class = "lineno" > 153< / span >   < / div >
< div class = "line" > < a name = "l00154" > < / a > < span class = "lineno" > 154< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00156" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html" > 156< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html" > Iterator< / a > {< / div >
< div class = "line" > < a name = "l00157" > < / a > < span class = "lineno" > 157< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00158" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a5d5b15d8c55444f6730c4b54e8365e34" > 158< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a5d5b15d8c55444f6730c4b54e8365e34" > Iterator< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html" > SimpleRevFIFO< T> < / a > * l)< / div >
< div class = "line" > < a name = "l00159" > < / a > < span class = "lineno" > 159< / span >   : chunk_(l-> chunks_), value_(l-> < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#aef6737cd15964935e24b68467aa4b6f1" > Last< / a > ()) {}< / div >
< div class = "line" > < a name = "l00160" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a03cb7eaa663dc83af68bc28a596d09e6" > 160< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a03cb7eaa663dc83af68bc28a596d09e6" > ok< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > (value_ != < span class = "keyword" > nullptr< / span > ); }< / div >
< div class = "line" > < a name = "l00161" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a4f623cf5dc191f1dc0257dc5701228a3" > 161< / a > < / span >   T < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a4f623cf5dc191f1dc0257dc5701228a3" > operator*< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > *value_; }< / div >
< div class = "line" > < a name = "l00162" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a00f008b80917746917b874d00abd02a9" > 162< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a00f008b80917746917b874d00abd02a9" > operator++< / a > () {< / div >
< div class = "line" > < a name = "l00163" > < / a > < span class = "lineno" > 163< / span >   ++value_;< / div >
< div class = "line" > < a name = "l00164" > < / a > < span class = "lineno" > 164< / span >   < span class = "keywordflow" > if< / span > (value_ == chunk_-> data_ + CHUNK_SIZE) {< / div >
< div class = "line" > < a name = "l00165" > < / a > < span class = "lineno" > 165< / span >   chunk_ = chunk_-> next_;< / div >
< div class = "line" > < a name = "l00166" > < / a > < span class = "lineno" > 166< / span >   value_ = chunk_ ? chunk_-> data_ : < span class = "keyword" > nullptr< / span > ;< / div >
< div class = "line" > < a name = "l00167" > < / a > < span class = "lineno" > 167< / span >   }< / div >
< div class = "line" > < a name = "l00168" > < / a > < span class = "lineno" > 168< / span >   }< / div >
< div class = "line" > < a name = "l00169" > < / a > < span class = "lineno" > 169< / span >   < / div >
< div class = "line" > < a name = "l00170" > < / a > < span class = "lineno" > 170< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00171" > < / a > < span class = "lineno" > 171< / span >   < span class = "keyword" > const< / span > Chunk* chunk_;< / div >
< div class = "line" > < a name = "l00172" > < / a > < span class = "lineno" > 172< / span >   < span class = "keyword" > const< / span > T* value_;< / div >
< div class = "line" > < a name = "l00173" > < / a > < span class = "lineno" > 173< / span >   };< / div >
< div class = "line" > < a name = "l00174" > < / a > < span class = "lineno" > 174< / span >   < / div >
< div class = "line" > < a name = "l00175" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO.html#adae7d9827dba5077a4e09158d8dbabcc" > 175< / a > < / span >   < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#adae7d9827dba5077a4e09158d8dbabcc" > SimpleRevFIFO< / a > () : chunks_(nullptr), pos_(0) {}< / div >
< div class = "line" > < a name = "l00176" > < / a > < span class = "lineno" > 176< / span >   < / div >
< div class = "line" > < a name = "l00177" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO.html#ac75dccd75215a324b2add603b8631ed5" > 177< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#ac75dccd75215a324b2add603b8631ed5" > Push< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, T val) {< / div >
< div class = "line" > < a name = "l00178" > < / a > < span class = "lineno" > 178< / span >   < span class = "keywordflow" > if< / span > (pos_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () == 0) {< / div >
< div class = "line" > < a name = "l00179" > < / a > < span class = "lineno" > 179< / span >   Chunk* < span class = "keyword" > const< / span > chunk = s-> UnsafeRevAlloc(< span class = "keyword" > new< / span > Chunk(chunks_));< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00180" > < / a > < span class = "lineno" > 180< / span >   s-> < a class = "code" href = "classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c" > SaveAndSetValue< / a > (< span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > **< span class = "keyword" > > < / span > (& chunks_),< / div >
< div class = "line" > < a name = "l00181" > < / a > < span class = "lineno" > 181< / span >   < span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > *< span class = "keyword" > > < / span > (chunk));< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00182" > < / a > < span class = "lineno" > 182< / span >   pos_.< a class = "code" href = "classoperations__research_1_1Rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688" > SetValue< / a > (s, CHUNK_SIZE - 1);< / div >
< div class = "line" > < a name = "l00183" > < / a > < span class = "lineno" > 183< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l00184" > < / a > < span class = "lineno" > 184< / span >   pos_.< a class = "code" href = "classoperations__research_1_1NumericalRev.html#a83c8a2812799fd87becd114374fb1d36" > Decr< / a > (s);< / div >
< div class = "line" > < a name = "l00185" > < / a > < span class = "lineno" > 185< / span >   }< / div >
< div class = "line" > < a name = "l00186" > < / a > < span class = "lineno" > 186< / span >   chunks_-> data_[pos_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ()] = val;< / div >
< div class = "line" > < a name = "l00187" > < / a > < span class = "lineno" > 187< / span >   }< / div >
< div class = "line" > < a name = "l00188" > < / a > < span class = "lineno" > 188< / span >   < / div >
< div class = "line" > < a name = "l00190" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO.html#abc8f4bc09139f8f3951cc8280823a0f3" > 190< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#abc8f4bc09139f8f3951cc8280823a0f3" > PushIfNotTop< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, T val) {< / div >
< div class = "line" > < a name = "l00191" > < / a > < span class = "lineno" > 191< / span >   < span class = "keywordflow" > if< / span > (chunks_ == < span class = "keyword" > nullptr< / span > || < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#ae247d6af463a190ddfc1ee36eee1a880" > LastValue< / a > () != val) {< / div >
< div class = "line" > < a name = "l00192" > < / a > < span class = "lineno" > 192< / span >   < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#ac75dccd75215a324b2add603b8631ed5" > Push< / a > (s, val);< / div >
< div class = "line" > < a name = "l00193" > < / a > < span class = "lineno" > 193< / span >   }< / div >
< div class = "line" > < a name = "l00194" > < / a > < span class = "lineno" > 194< / span >   }< / div >
< div class = "line" > < a name = "l00195" > < / a > < span class = "lineno" > 195< / span >   < / div >
< div class = "line" > < a name = "l00197" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO.html#aef6737cd15964935e24b68467aa4b6f1" > 197< / a > < / span >   < span class = "keyword" > const< / span > T* < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#aef6737cd15964935e24b68467aa4b6f1" > Last< / a > ()< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l00198" > < / a > < span class = "lineno" > 198< / span >   < span class = "keywordflow" > return< / span > chunks_ ? & chunks_-> data_[pos_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ()] : < span class = "keyword" > nullptr< / span > ;< / div >
< div class = "line" > < a name = "l00199" > < / a > < span class = "lineno" > 199< / span >   }< / div >
< div class = "line" > < a name = "l00200" > < / a > < span class = "lineno" > 200< / span >   < / div >
< div class = "line" > < a name = "l00201" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO.html#a5b19539e4bfd49ed8a3f8ac982068188" > 201< / a > < / span >   T* < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#a5b19539e4bfd49ed8a3f8ac982068188" > MutableLast< / a > () { < span class = "keywordflow" > return< / span > chunks_ ? & chunks_-> data_[pos_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ()] : < span class = "keyword" > nullptr< / span > ; }< / div >
< div class = "line" > < a name = "l00202" > < / a > < span class = "lineno" > 202< / span >   < / div >
< div class = "line" > < a name = "l00204" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO.html#ae247d6af463a190ddfc1ee36eee1a880" > 204< / a > < / span >   < span class = "keyword" > const< / span > T& < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#ae247d6af463a190ddfc1ee36eee1a880" > LastValue< / a > ()< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l00205" > < / a > < span class = "lineno" > 205< / span >   DCHECK(chunks_);< / div >
< div class = "line" > < a name = "l00206" > < / a > < span class = "lineno" > 206< / span >   < span class = "keywordflow" > return< / span > chunks_-> data_[pos_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ()];< / div >
< div class = "line" > < a name = "l00207" > < / a > < span class = "lineno" > 207< / span >   }< / div >
< div class = "line" > < a name = "l00208" > < / a > < span class = "lineno" > 208< / span >   < / div >
< div class = "line" > < a name = "l00210" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SimpleRevFIFO.html#a374c7d46981794e6b107b12a0f3b4dea" > 210< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#a374c7d46981794e6b107b12a0f3b4dea" > SetLastValue< / a > (< span class = "keyword" > const< / span > T& v) {< / div >
< div class = "line" > < a name = "l00211" > < / a > < span class = "lineno" > 211< / span >   DCHECK(< a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html#aef6737cd15964935e24b68467aa4b6f1" > Last< / a > ());< / div >
< div class = "line" > < a name = "l00212" > < / a > < span class = "lineno" > 212< / span >   chunks_-> data_[pos_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ()] = v;< / div >
< div class = "line" > < a name = "l00213" > < / a > < span class = "lineno" > 213< / span >   }< / div >
< div class = "line" > < a name = "l00214" > < / a > < span class = "lineno" > 214< / span >   < / div >
< div class = "line" > < a name = "l00215" > < / a > < span class = "lineno" > 215< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00216" > < / a > < span class = "lineno" > 216< / span >   Chunk* chunks_;< / div >
< div class = "line" > < a name = "l00217" > < / a > < span class = "lineno" > 217< / span >   < a class = "code" href = "classoperations__research_1_1NumericalRev.html" > NumericalRev< int> < / a > pos_;< / div >
< div class = "line" > < a name = "l00218" > < / a > < span class = "lineno" > 218< / span >   };< / div >
< div class = "line" > < a name = "l00219" > < / a > < span class = "lineno" > 219< / span >   < / div >
< div class = "line" > < a name = "l00221" > < / a > < span class = "lineno" > 221< / span >   < span class = "comment" > // TODO(user): use murmurhash.< / span > < / div >
< div class = "line" > < a name = "l00222" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > 222< / a > < / span >   < span class = "keyword" > inline< / span > uint64 < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (uint64 value) {< / div >
< div class = "line" > < a name = "l00223" > < / a > < span class = "lineno" > 223< / span >   value = (~value) + (value < < 21); < / div >
< div class = "line" > < a name = "l00224" > < / a > < span class = "lineno" > 224< / span >   value ^= value > > 24;< / div >
< div class = "line" > < a name = "l00225" > < / a > < span class = "lineno" > 225< / span >   value += (value < < 3) + (value < < 8); < / div >
< div class = "line" > < a name = "l00226" > < / a > < span class = "lineno" > 226< / span >   value ^= value > > 14;< / div >
< div class = "line" > < a name = "l00227" > < / a > < span class = "lineno" > 227< / span >   value += (value < < 2) + (value < < 4); < / div >
< div class = "line" > < a name = "l00228" > < / a > < span class = "lineno" > 228< / span >   value ^= value > > 28;< / div >
< div class = "line" > < a name = "l00229" > < / a > < span class = "lineno" > 229< / span >   value += (value < < 31);< / div >
< div class = "line" > < a name = "l00230" > < / a > < span class = "lineno" > 230< / span >   < span class = "keywordflow" > return< / span > value;< / div >
< div class = "line" > < a name = "l00231" > < / a > < span class = "lineno" > 231< / span >   }< / div >
< div class = "line" > < a name = "l00232" > < / a > < span class = "lineno" > 232< / span >   < / div >
< div class = "line" > < a name = "l00233" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#ab89995e46facfc1db291ce75658dd0a5" > 233< / a > < / span >   < span class = "keyword" > inline< / span > uint64 < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (uint32 value) {< / div >
< div class = "line" > < a name = "l00234" > < / a > < span class = "lineno" > 234< / span >   uint64 a = value;< / div >
< div class = "line" > < a name = "l00235" > < / a > < span class = "lineno" > 235< / span >   a = (a + 0x7ed55d16) + (a < < 12);< / div >
< div class = "line" > < a name = "l00236" > < / a > < span class = "lineno" > 236< / span >   a = (a ^ 0xc761c23c) ^ (a > > 19);< / div >
< div class = "line" > < a name = "l00237" > < / a > < span class = "lineno" > 237< / span >   a = (a + 0x165667b1) + (a < < 5);< / div >
< div class = "line" > < a name = "l00238" > < / a > < span class = "lineno" > 238< / span >   a = (a + 0xd3a2646c) ^ (a < < 9);< / div >
< div class = "line" > < a name = "l00239" > < / a > < span class = "lineno" > 239< / span >   a = (a + 0xfd7046c5) + (a < < 3);< / div >
< div class = "line" > < a name = "l00240" > < / a > < span class = "lineno" > 240< / span >   a = (a ^ 0xb55a4f09) ^ (a > > 16);< / div >
< div class = "line" > < a name = "l00241" > < / a > < span class = "lineno" > 241< / span >   < span class = "keywordflow" > return< / span > a;< / div >
< div class = "line" > < a name = "l00242" > < / a > < span class = "lineno" > 242< / span >   }< / div >
< div class = "line" > < a name = "l00243" > < / a > < span class = "lineno" > 243< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00244" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#acfc54730764156f1fb717e99b71ba5d4" > 244< / a > < / span >   < span class = "keyword" > inline< / span > uint64 < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (int64 value) { < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (< span class = "keyword" > static_cast< < / span > uint64< span class = "keyword" > > < / span > (value)); }< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00245" > < / a > < span class = "lineno" > 245< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00246" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a65a9c1ccf298ae110decc3b9d285dc16" > 246< / a > < / span >   < span class = "keyword" > inline< / span > uint64 < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (< span class = "keywordtype" > int< / span > value) { < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (< span class = "keyword" > static_cast< < / span > uint32< span class = "keyword" > > < / span > (value)); }< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00247" > < / a > < span class = "lineno" > 247< / span >   < / div >
< div class = "line" > < a name = "l00248" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a3ca754fad158b92d7f678b5d354d8927" > 248< / a > < / span >   < span class = "keyword" > inline< / span > uint64 < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (< span class = "keywordtype" > void< / span > * < span class = "keyword" > const< / span > ptr) {< / div >
< div class = "line" > < a name = "l00249" > < / a > < span class = "lineno" > 249< / span >   < span class = "preprocessor" > #if defined(ARCH_K8) || defined(__powerpc64__) || defined(__aarch64__)< / span > < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00250" > < / a > < span class = "lineno" > 250< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (< span class = "keyword" > reinterpret_cast< < / span > uint64< span class = "keyword" > > < / span > (ptr));< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00251" > < / a > < span class = "lineno" > 251< / span >   < span class = "preprocessor" > #else< / span > < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00252" > < / a > < span class = "lineno" > 252< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (< span class = "keyword" > reinterpret_cast< < / span > uint32< span class = "keyword" > > < / span > (ptr));< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00253" > < / a > < span class = "lineno" > 253< / span >   < span class = "preprocessor" > #endif< / span > < / div >
< div class = "line" > < a name = "l00254" > < / a > < span class = "lineno" > 254< / span >   }< / div >
< div class = "line" > < a name = "l00255" > < / a > < span class = "lineno" > 255< / span >   < / div >
< div class = "line" > < a name = "l00256" > < / a > < span class = "lineno" > 256< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l00257" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#aec42cb0a7c3079eb8f0406914077d633" > 257< / a > < / span >   uint64 < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (< span class = "keyword" > const< / span > std::vector< T*> & ptrs) {< / div >
< div class = "line" > < a name = "l00258" > < / a > < span class = "lineno" > 258< / span >   < span class = "keywordflow" > if< / span > (ptrs.empty()) {< / div >
< div class = "line" > < a name = "l00259" > < / a > < span class = "lineno" > 259< / span >   < span class = "keywordflow" > return< / span > 0;< / div >
< div class = "line" > < a name = "l00260" > < / a > < span class = "lineno" > 260< / span >   } < span class = "keywordflow" > else< / span > < span class = "keywordflow" > if< / span > (ptrs.size() == 1) {< / div >
< div class = "line" > < a name = "l00261" > < / a > < span class = "lineno" > 261< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (ptrs[0]);< / div >
< div class = "line" > < a name = "l00262" > < / a > < span class = "lineno" > 262< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l00263" > < / a > < span class = "lineno" > 263< / span >   uint64 hash = < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (ptrs[0]);< / div >
< div class = "line" > < a name = "l00264" > < / a > < span class = "lineno" > 264< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 1; i < ptrs.size(); ++i) {< / div >
< div class = "line" > < a name = "l00265" > < / a > < span class = "lineno" > 265< / span >   hash = hash * i + < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (ptrs[i]);< / div >
< div class = "line" > < a name = "l00266" > < / a > < span class = "lineno" > 266< / span >   }< / div >
< div class = "line" > < a name = "l00267" > < / a > < span class = "lineno" > 267< / span >   < span class = "keywordflow" > return< / span > hash;< / div >
< div class = "line" > < a name = "l00268" > < / a > < span class = "lineno" > 268< / span >   }< / div >
< div class = "line" > < a name = "l00269" > < / a > < span class = "lineno" > 269< / span >   }< / div >
< div class = "line" > < a name = "l00270" > < / a > < span class = "lineno" > 270< / span >   < / div >
< div class = "line" > < a name = "l00271" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#ac2ba31780fce352d4bba600e6e8eacad" > 271< / a > < / span >   < span class = "keyword" > inline< / span > uint64 < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (< span class = "keyword" > const< / span > std::vector< int64> & ptrs) {< / div >
< div class = "line" > < a name = "l00272" > < / a > < span class = "lineno" > 272< / span >   < span class = "keywordflow" > if< / span > (ptrs.empty()) {< / div >
< div class = "line" > < a name = "l00273" > < / a > < span class = "lineno" > 273< / span >   < span class = "keywordflow" > return< / span > 0;< / div >
< div class = "line" > < a name = "l00274" > < / a > < span class = "lineno" > 274< / span >   } < span class = "keywordflow" > else< / span > < span class = "keywordflow" > if< / span > (ptrs.size() == 1) {< / div >
< div class = "line" > < a name = "l00275" > < / a > < span class = "lineno" > 275< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (ptrs[0]);< / div >
< div class = "line" > < a name = "l00276" > < / a > < span class = "lineno" > 276< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l00277" > < / a > < span class = "lineno" > 277< / span >   uint64 hash = < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (ptrs[0]);< / div >
< div class = "line" > < a name = "l00278" > < / a > < span class = "lineno" > 278< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 1; i < ptrs.size(); ++i) {< / div >
< div class = "line" > < a name = "l00279" > < / a > < span class = "lineno" > 279< / span >   hash = hash * i + < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (ptrs[i]);< / div >
< div class = "line" > < a name = "l00280" > < / a > < span class = "lineno" > 280< / span >   }< / div >
< div class = "line" > < a name = "l00281" > < / a > < span class = "lineno" > 281< / span >   < span class = "keywordflow" > return< / span > hash;< / div >
< div class = "line" > < a name = "l00282" > < / a > < span class = "lineno" > 282< / span >   }< / div >
< div class = "line" > < a name = "l00283" > < / a > < span class = "lineno" > 283< / span >   }< / div >
< div class = "line" > < a name = "l00284" > < / a > < span class = "lineno" > 284< / span >   < / div >
< div class = "line" > < a name = "l00287" > < / a > < span class = "lineno" > 287< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > K, < span class = "keyword" > class< / span > V> < / div >
< div class = "line" > < a name = "l00288" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevImmutableMultiMap.html" > 288< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1RevImmutableMultiMap.html" > RevImmutableMultiMap< / a > {< / div >
< div class = "line" > < a name = "l00289" > < / a > < span class = "lineno" > 289< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00290" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevImmutableMultiMap.html#a3c7e62a9a396c5d8fd2b85b762c2a850" > 290< / a > < / span >   < a class = "code" href = "classoperations__research_1_1RevImmutableMultiMap.html#a3c7e62a9a396c5d8fd2b85b762c2a850" > RevImmutableMultiMap< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keywordtype" > int< / span > initial_size)< / div >
< div class = "line" > < a name = "l00291" > < / a > < span class = "lineno" > 291< / span >   : solver_(solver),< / div >
< div class = "line" > < a name = "l00292" > < / a > < span class = "lineno" > 292< / span >   array_(solver-> UnsafeRevAllocArray(new Cell*[initial_size])),< / div >
< div class = "line" > < a name = "l00293" > < / a > < span class = "lineno" > 293< / span >   size_(initial_size),< / div >
< div class = "line" > < a name = "l00294" > < / a > < span class = "lineno" > 294< / span >   num_items_(0) {< / div >
< div class = "line" > < a name = "l00295" > < / a > < span class = "lineno" > 295< / span >   memset(array_, 0, < span class = "keyword" > sizeof< / span > (*array_) * size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ());< / div >
< div class = "line" > < a name = "l00296" > < / a > < span class = "lineno" > 296< / span >   }< / div >
< div class = "line" > < a name = "l00297" > < / a > < span class = "lineno" > 297< / span >   < / div >
< div class = "line" > < a name = "l00298" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevImmutableMultiMap.html#a6053bb9c0d664074153ddfd9c7cd2598" > 298< / a > < / span >   < a class = "code" href = "classoperations__research_1_1RevImmutableMultiMap.html#a6053bb9c0d664074153ddfd9c7cd2598" > ~RevImmutableMultiMap< / a > () {}< / div >
< div class = "line" > < a name = "l00299" > < / a > < span class = "lineno" > 299< / span >   < / div >
< div class = "line" > < a name = "l00300" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevImmutableMultiMap.html#ab273f390966237d6f5cdb9c45f5361d6" > 300< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1RevImmutableMultiMap.html#ab273f390966237d6f5cdb9c45f5361d6" > num_items< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > num_items_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (); }< / div >
< div class = "line" > < a name = "l00301" > < / a > < span class = "lineno" > 301< / span >   < / div >
< div class = "line" > < a name = "l00303" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevImmutableMultiMap.html#a8f6b848968f58150836b9fba3dea4aef" > 303< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1RevImmutableMultiMap.html#a8f6b848968f58150836b9fba3dea4aef" > ContainsKey< / a > (< span class = "keyword" > const< / span > K& key)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l00304" > < / a > < span class = "lineno" > 304< / span >   uint64 code = < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (key) % size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ();< / div >
< div class = "line" > < a name = "l00305" > < / a > < span class = "lineno" > 305< / span >   Cell* tmp = array_[code];< / div >
< div class = "line" > < a name = "l00306" > < / a > < span class = "lineno" > 306< / span >   < span class = "keywordflow" > while< / span > (tmp) {< / div >
< div class = "line" > < a name = "l00307" > < / a > < span class = "lineno" > 307< / span >   < span class = "keywordflow" > if< / span > (tmp-> key() == key) {< / div >
< div class = "line" > < a name = "l00308" > < / a > < span class = "lineno" > 308< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l00309" > < / a > < span class = "lineno" > 309< / span >   }< / div >
< div class = "line" > < a name = "l00310" > < / a > < span class = "lineno" > 310< / span >   tmp = tmp-> next();< / div >
< div class = "line" > < a name = "l00311" > < / a > < span class = "lineno" > 311< / span >   }< / div >
< div class = "line" > < a name = "l00312" > < / a > < span class = "lineno" > 312< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l00313" > < / a > < span class = "lineno" > 313< / span >   }< / div >
< div class = "line" > < a name = "l00314" > < / a > < span class = "lineno" > 314< / span >   < / div >
< div class = "line" > < a name = "l00318" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevImmutableMultiMap.html#abdfc0716a485fde5b997f58b1c4c822e" > 318< / a > < / span >   < span class = "keyword" > const< / span > V& < a class = "code" href = "classoperations__research_1_1RevImmutableMultiMap.html#abdfc0716a485fde5b997f58b1c4c822e" > FindWithDefault< / a > (< span class = "keyword" > const< / span > K& key, < span class = "keyword" > const< / span > V& default_value)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l00319" > < / a > < span class = "lineno" > 319< / span >   uint64 code = < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (key) % size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ();< / div >
< div class = "line" > < a name = "l00320" > < / a > < span class = "lineno" > 320< / span >   Cell* tmp = array_[code];< / div >
< div class = "line" > < a name = "l00321" > < / a > < span class = "lineno" > 321< / span >   < span class = "keywordflow" > while< / span > (tmp) {< / div >
< div class = "line" > < a name = "l00322" > < / a > < span class = "lineno" > 322< / span >   < span class = "keywordflow" > if< / span > (tmp-> key() == key) {< / div >
< div class = "line" > < a name = "l00323" > < / a > < span class = "lineno" > 323< / span >   < span class = "keywordflow" > return< / span > tmp-> value();< / div >
< div class = "line" > < a name = "l00324" > < / a > < span class = "lineno" > 324< / span >   }< / div >
< div class = "line" > < a name = "l00325" > < / a > < span class = "lineno" > 325< / span >   tmp = tmp-> next();< / div >
< div class = "line" > < a name = "l00326" > < / a > < span class = "lineno" > 326< / span >   }< / div >
< div class = "line" > < a name = "l00327" > < / a > < span class = "lineno" > 327< / span >   < span class = "keywordflow" > return< / span > default_value;< / div >
< div class = "line" > < a name = "l00328" > < / a > < span class = "lineno" > 328< / span >   }< / div >
< div class = "line" > < a name = "l00329" > < / a > < span class = "lineno" > 329< / span >   < / div >
< div class = "line" > < a name = "l00331" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevImmutableMultiMap.html#a0b5c13dc004b78fa86ae2a2e76f25f99" > 331< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevImmutableMultiMap.html#a0b5c13dc004b78fa86ae2a2e76f25f99" > Insert< / a > (< span class = "keyword" > const< / span > K& key, < span class = "keyword" > const< / span > V& value) {< / div >
< div class = "line" > < a name = "l00332" > < / a > < span class = "lineno" > 332< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > position = < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (key) % size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ();< / div >
< div class = "line" > < a name = "l00333" > < / a > < span class = "lineno" > 333< / span >   Cell* < span class = "keyword" > const< / span > cell =< / div >
< div class = "line" > < a name = "l00334" > < / a > < span class = "lineno" > 334< / span >   solver_-> UnsafeRevAlloc(< span class = "keyword" > new< / span > Cell(key, value, array_[position]));< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00335" > < / a > < span class = "lineno" > 335< / span >   solver_-> < a class = "code" href = "classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c" > SaveAndSetValue< / a > (< span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > **< span class = "keyword" > > < / span > (& array_[position]),< / div >
< div class = "line" > < a name = "l00336" > < / a > < span class = "lineno" > 336< / span >   < span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > *< span class = "keyword" > > < / span > (cell));< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00337" > < / a > < span class = "lineno" > 337< / span >   num_items_.< a class = "code" href = "classoperations__research_1_1NumericalRev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b" > Incr< / a > (solver_);< / div >
< div class = "line" > < a name = "l00338" > < / a > < span class = "lineno" > 338< / span >   < span class = "keywordflow" > if< / span > (num_items_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () > 2 * size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ()) {< / div >
< div class = "line" > < a name = "l00339" > < / a > < span class = "lineno" > 339< / span >   Double();< / div >
< div class = "line" > < a name = "l00340" > < / a > < span class = "lineno" > 340< / span >   }< / div >
< div class = "line" > < a name = "l00341" > < / a > < span class = "lineno" > 341< / span >   }< / div >
< div class = "line" > < a name = "l00342" > < / a > < span class = "lineno" > 342< / span >   < / div >
< div class = "line" > < a name = "l00343" > < / a > < span class = "lineno" > 343< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00344" > < / a > < span class = "lineno" > 344< / span >   < span class = "keyword" > class < / span > Cell {< / div >
< div class = "line" > < a name = "l00345" > < / a > < span class = "lineno" > 345< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00346" > < / a > < span class = "lineno" > 346< / span >   Cell(< span class = "keyword" > const< / span > K& key, < span class = "keyword" > const< / span > V& value, Cell* < span class = "keyword" > const< / span > next)< / div >
< div class = "line" > < a name = "l00347" > < / a > < span class = "lineno" > 347< / span >   : key_(key), value_(value), next_(next) {}< / div >
< div class = "line" > < a name = "l00348" > < / a > < span class = "lineno" > 348< / span >   < / div >
< div class = "line" > < a name = "l00349" > < / a > < span class = "lineno" > 349< / span >   < span class = "keywordtype" > void< / span > SetRevNext(Solver* < span class = "keyword" > const< / span > solver, Cell* < span class = "keyword" > const< / span > next) {< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00350" > < / a > < span class = "lineno" > 350< / span >   solver-> SaveAndSetValue(< span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > **< span class = "keyword" > > < / span > (& next_),< / div >
< div class = "line" > < a name = "l00351" > < / a > < span class = "lineno" > 351< / span >   < span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > *< span class = "keyword" > > < / span > (next));< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00352" > < / a > < span class = "lineno" > 352< / span >   }< / div >
< div class = "line" > < a name = "l00353" > < / a > < span class = "lineno" > 353< / span >   < / div >
< div class = "line" > < a name = "l00354" > < / a > < span class = "lineno" > 354< / span >   Cell* next()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > next_; }< / div >
< div class = "line" > < a name = "l00355" > < / a > < span class = "lineno" > 355< / span >   < / div >
< div class = "line" > < a name = "l00356" > < / a > < span class = "lineno" > 356< / span >   < span class = "keyword" > const< / span > K& key()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > key_; }< / div >
< div class = "line" > < a name = "l00357" > < / a > < span class = "lineno" > 357< / span >   < / div >
< div class = "line" > < a name = "l00358" > < / a > < span class = "lineno" > 358< / span >   < span class = "keyword" > const< / span > V& value()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > value_; }< / div >
< div class = "line" > < a name = "l00359" > < / a > < span class = "lineno" > 359< / span >   < / div >
< div class = "line" > < a name = "l00360" > < / a > < span class = "lineno" > 360< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00361" > < / a > < span class = "lineno" > 361< / span >   < span class = "keyword" > const< / span > K key_;< / div >
< div class = "line" > < a name = "l00362" > < / a > < span class = "lineno" > 362< / span >   < span class = "keyword" > const< / span > V value_;< / div >
< div class = "line" > < a name = "l00363" > < / a > < span class = "lineno" > 363< / span >   Cell* next_;< / div >
< div class = "line" > < a name = "l00364" > < / a > < span class = "lineno" > 364< / span >   };< / div >
< div class = "line" > < a name = "l00365" > < / a > < span class = "lineno" > 365< / span >   < / div >
< div class = "line" > < a name = "l00366" > < / a > < span class = "lineno" > 366< / span >   < span class = "keywordtype" > void< / span > Double() {< / div >
< div class = "line" > < a name = "l00367" > < / a > < span class = "lineno" > 367< / span >   Cell** < span class = "keyword" > const< / span > old_cell_array = array_;< / div >
< div class = "line" > < a name = "l00368" > < / a > < span class = "lineno" > 368< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > old_size = size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ();< / div >
< div class = "line" > < a name = "l00369" > < / a > < span class = "lineno" > 369< / span >   size_.< a class = "code" href = "classoperations__research_1_1Rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688" > SetValue< / a > (solver_, size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () * 2);< / div >
< div class = "line" > < a name = "l00370" > < / a > < span class = "lineno" > 370< / span >   solver_-> < a class = "code" href = "classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c" > SaveAndSetValue< / a > (< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00371" > < / a > < span class = "lineno" > 371< / span >   < span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > **< span class = "keyword" > > < / span > (& array_),< / div >
< div class = "line" > < a name = "l00372" > < / a > < span class = "lineno" > 372< / span >   < span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > *< span class = "keyword" > > < / span > (< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00373" > < / a > < span class = "lineno" > 373< / span >   solver_-> UnsafeRevAllocArray(< span class = "keyword" > new< / span > Cell*[size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ()])));< / div >
< div class = "line" > < a name = "l00374" > < / a > < span class = "lineno" > 374< / span >   memset(array_, 0, size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () * < span class = "keyword" > sizeof< / span > (*array_));< / div >
< div class = "line" > < a name = "l00375" > < / a > < span class = "lineno" > 375< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < old_size; ++i) {< / div >
< div class = "line" > < a name = "l00376" > < / a > < span class = "lineno" > 376< / span >   Cell* tmp = old_cell_array[i];< / div >
< div class = "line" > < a name = "l00377" > < / a > < span class = "lineno" > 377< / span >   < span class = "keywordflow" > while< / span > (tmp != < span class = "keyword" > nullptr< / span > ) {< / div >
< div class = "line" > < a name = "l00378" > < / a > < span class = "lineno" > 378< / span >   Cell* < span class = "keyword" > const< / span > to_reinsert = tmp;< / div >
< div class = "line" > < a name = "l00379" > < / a > < span class = "lineno" > 379< / span >   tmp = tmp-> next();< / div >
< div class = "line" > < a name = "l00380" > < / a > < span class = "lineno" > 380< / span >   < span class = "keyword" > const< / span > uint64 new_position = < a class = "code" href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > Hash1< / a > (to_reinsert-> key()) % size_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ();< / div >
< div class = "line" > < a name = "l00381" > < / a > < span class = "lineno" > 381< / span >   to_reinsert-> SetRevNext(solver_, array_[new_position]);< / div >
< div class = "line" > < a name = "l00382" > < / a > < span class = "lineno" > 382< / span >   solver_-> < a class = "code" href = "classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c" > SaveAndSetValue< / a > (< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00383" > < / a > < span class = "lineno" > 383< / span >   < span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > **< span class = "keyword" > > < / span > (& array_[new_position]),< / div >
< div class = "line" > < a name = "l00384" > < / a > < span class = "lineno" > 384< / span >   < span class = "keyword" > reinterpret_cast< < / span > < span class = "keywordtype" > void< / span > *< span class = "keyword" > > < / span > (to_reinsert));< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00385" > < / a > < span class = "lineno" > 385< / span >   }< / div >
< div class = "line" > < a name = "l00386" > < / a > < span class = "lineno" > 386< / span >   }< / div >
< div class = "line" > < a name = "l00387" > < / a > < span class = "lineno" > 387< / span >   }< / div >
< div class = "line" > < a name = "l00388" > < / a > < span class = "lineno" > 388< / span >   < / div >
< div class = "line" > < a name = "l00389" > < / a > < span class = "lineno" > 389< / span >   Solver* < span class = "keyword" > const< / span > solver_;< / div >
< div class = "line" > < a name = "l00390" > < / a > < span class = "lineno" > 390< / span >   Cell** array_;< / div >
< div class = "line" > < a name = "l00391" > < / a > < span class = "lineno" > 391< / span >   NumericalRev< int> size_;< / div >
< div class = "line" > < a name = "l00392" > < / a > < span class = "lineno" > 392< / span >   NumericalRev< int> num_items_;< / div >
< div class = "line" > < a name = "l00393" > < / a > < span class = "lineno" > 393< / span >   };< / div >
< div class = "line" > < a name = "l00394" > < / a > < span class = "lineno" > 394< / span >   < / div >
< div class = "line" > < a name = "l00396" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevSwitch.html" > 396< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1RevSwitch.html" > RevSwitch< / a > {< / div >
< div class = "line" > < a name = "l00397" > < / a > < span class = "lineno" > 397< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00398" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevSwitch.html#a52e986be86c35c4a5fd860e4e9c0f855" > 398< / a > < / span >   < a class = "code" href = "classoperations__research_1_1RevSwitch.html#a52e986be86c35c4a5fd860e4e9c0f855" > RevSwitch< / a > () : value_(false) {}< / div >
< div class = "line" > < a name = "l00399" > < / a > < span class = "lineno" > 399< / span >   < / div >
< div class = "line" > < a name = "l00400" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevSwitch.html#acd90006e99a15f7e9df2aee5cf46549c" > 400< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1RevSwitch.html#acd90006e99a15f7e9df2aee5cf46549c" > Switched< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > value_; }< / div >
< div class = "line" > < a name = "l00401" > < / a > < span class = "lineno" > 401< / span >   < / div >
< div class = "line" > < a name = "l00402" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevSwitch.html#aba56f30d7550dc96d418c689e3ea41f0" > 402< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevSwitch.html#aba56f30d7550dc96d418c689e3ea41f0" > Switch< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver) { solver-> < a class = "code" href = "classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c" > SaveAndSetValue< / a > (& value_, < span class = "keyword" > true< / span > ); }< / div >
< div class = "line" > < a name = "l00403" > < / a > < span class = "lineno" > 403< / span >   < / div >
< div class = "line" > < a name = "l00404" > < / a > < span class = "lineno" > 404< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00405" > < / a > < span class = "lineno" > 405< / span >   < span class = "keywordtype" > bool< / span > value_;< / div >
< div class = "line" > < a name = "l00406" > < / a > < span class = "lineno" > 406< / span >   };< / div >
< div class = "line" > < a name = "l00407" > < / a > < span class = "lineno" > 407< / span >   < / div >
< div class = "line" > < a name = "l00410" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SmallRevBitSet.html" > 410< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1SmallRevBitSet.html" > SmallRevBitSet< / a > {< / div >
< div class = "line" > < a name = "l00411" > < / a > < span class = "lineno" > 411< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00412" > < / a > < span class = "lineno" > 412< / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1SmallRevBitSet.html#ad1cbc5144cff9b937b0913c032ea0e74" > SmallRevBitSet< / a > (int64 size);< / div >
< div class = "line" > < a name = "l00414" > < / a > < span class = "lineno" > 414< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SmallRevBitSet.html#a8a09db9a3d94ac8093cbceb39accac5f" > SetToOne< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, int64 pos);< / div >
< div class = "line" > < a name = "l00416" > < / a > < span class = "lineno" > 416< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SmallRevBitSet.html#a10f96ee4f96f0d767b98ad59ede66e37" > SetToZero< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, int64 pos);< / div >
< div class = "line" > < a name = "l00418" > < / a > < span class = "lineno" > 418< / span >   int64 < a class = "code" href = "classoperations__research_1_1SmallRevBitSet.html#adbdb4f27d7b7ebf378af2ce76cb615f9" > Cardinality< / a > () < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00420" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SmallRevBitSet.html#ad175c4019a4a927bec26eb8cd819d81e" > 420< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1SmallRevBitSet.html#ad175c4019a4a927bec26eb8cd819d81e" > IsCardinalityZero< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > bits_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () == GG_ULONGLONG(0); }< / div >
< div class = "line" > < a name = "l00422" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SmallRevBitSet.html#a16202f709ab06d78dcae8db3ff21fd9c" > 422< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1SmallRevBitSet.html#a16202f709ab06d78dcae8db3ff21fd9c" > IsCardinalityOne< / a > ()< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l00423" > < / a > < span class = "lineno" > 423< / span >   < span class = "keywordflow" > return< / span > (bits_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () != 0) & & !(bits_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () & (bits_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () - 1));< / div >
< div class = "line" > < a name = "l00424" > < / a > < span class = "lineno" > 424< / span >   }< / div >
< div class = "line" > < a name = "l00427" > < / a > < span class = "lineno" > 427< / span >   int64 < a class = "code" href = "classoperations__research_1_1SmallRevBitSet.html#aa7415b405bbfd5c693b10931c389aad2" > GetFirstOne< / a > () < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00428" > < / a > < span class = "lineno" > 428< / span >   < / div >
< div class = "line" > < a name = "l00429" > < / a > < span class = "lineno" > 429< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00430" > < / a > < span class = "lineno" > 430< / span >   < a class = "code" href = "classoperations__research_1_1Rev.html" > Rev< uint64> < / a > bits_;< / div >
< div class = "line" > < a name = "l00431" > < / a > < span class = "lineno" > 431< / span >   };< / div >
< div class = "line" > < a name = "l00432" > < / a > < span class = "lineno" > 432< / span >   < / div >
< div class = "line" > < a name = "l00435" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevBitSet.html" > 435< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html" > RevBitSet< / a > {< / div >
< div class = "line" > < a name = "l00436" > < / a > < span class = "lineno" > 436< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00437" > < / a > < span class = "lineno" > 437< / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#ac02009e235ac35f3dbda071730157539" > RevBitSet< / a > (int64 size);< / div >
< div class = "line" > < a name = "l00438" > < / a > < span class = "lineno" > 438< / span >   < a class = "code" href = "classoperations__research_1_1RevBitSet.html#add39d7a314f959b1de71df09c5e862bb" > ~RevBitSet< / a > ();< / div >
< div class = "line" > < a name = "l00439" > < / a > < span class = "lineno" > 439< / span >   < / div >
< div class = "line" > < a name = "l00441" > < / a > < span class = "lineno" > 441< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#a6b7de376f6c7a3dab60c670f0324148c" > SetToOne< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, int64 index);< / div >
< div class = "line" > < a name = "l00443" > < / a > < span class = "lineno" > 443< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#af01b564d198a62cfbd499b92aa493630" > SetToZero< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, int64 index);< / div >
< div class = "line" > < a name = "l00445" > < / a > < span class = "lineno" > 445< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#a61b1becfb2c5c31b8a09a277d74e4aa4" > IsSet< / a > (int64 index) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00447" > < / a > < span class = "lineno" > 447< / span >   int64 < a class = "code" href = "classoperations__research_1_1RevBitSet.html#adbdb4f27d7b7ebf378af2ce76cb615f9" > Cardinality< / a > () < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00449" > < / a > < span class = "lineno" > 449< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#ad175c4019a4a927bec26eb8cd819d81e" > IsCardinalityZero< / a > () < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00451" > < / a > < span class = "lineno" > 451< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#a16202f709ab06d78dcae8db3ff21fd9c" > IsCardinalityOne< / a > () < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00454" > < / a > < span class = "lineno" > 454< / span >   int64 < a class = "code" href = "classoperations__research_1_1RevBitSet.html#aa3150023fc25266b318a154bcc8f1d86" > GetFirstBit< / a > (< span class = "keywordtype" > int< / span > start) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00456" > < / a > < span class = "lineno" > 456< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#ac4f70832be8ef45fb84c8170f17cc187" > ClearAll< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver);< / div >
< div class = "line" > < a name = "l00457" > < / a > < span class = "lineno" > 457< / span >   < / div >
< div class = "line" > < a name = "l00458" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevBitSet.html#ac9da3e5301f8c4c0ed8a261d0a0b2cbd" > 458< / a > < / span >   < span class = "keyword" > friend< / span > < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1RevBitMatrix.html" > RevBitMatrix< / a > ;< / div >
< div class = "line" > < a name = "l00459" > < / a > < span class = "lineno" > 459< / span >   < / div >
< div class = "line" > < a name = "l00460" > < / a > < span class = "lineno" > 460< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00462" > < / a > < span class = "lineno" > 462< / span >   < span class = "keywordtype" > void< / span > Save(< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keywordtype" > int< / span > offset);< / div >
< div class = "line" > < a name = "l00463" > < / a > < span class = "lineno" > 463< / span >   < span class = "keyword" > const< / span > int64 size_;< / div >
< div class = "line" > < a name = "l00464" > < / a > < span class = "lineno" > 464< / span >   < span class = "keyword" > const< / span > int64 length_;< / div >
< div class = "line" > < a name = "l00465" > < / a > < span class = "lineno" > 465< / span >   uint64* bits_;< / div >
< div class = "line" > < a name = "l00466" > < / a > < span class = "lineno" > 466< / span >   uint64* stamps_;< / div >
< div class = "line" > < a name = "l00467" > < / a > < span class = "lineno" > 467< / span >   };< / div >
< div class = "line" > < a name = "l00468" > < / a > < span class = "lineno" > 468< / span >   < / div >
< div class = "line" > < a name = "l00470" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevBitMatrix.html" > 470< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1RevBitMatrix.html" > RevBitMatrix< / a > : < span class = "keyword" > private< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html" > RevBitSet< / a > {< / div >
< div class = "line" > < a name = "l00471" > < / a > < span class = "lineno" > 471< / span >   < span class = "keyword" > public< / span > :< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00472" > < / a > < span class = "lineno" > 472< / span >   < a class = "code" href = "classoperations__research_1_1RevBitSet.html#ac9da3e5301f8c4c0ed8a261d0a0b2cbd" > RevBitMatrix< / a > (int64 rows, int64 columns);< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00473" > < / a > < span class = "lineno" > 473< / span >   < a class = "code" href = "classoperations__research_1_1RevBitMatrix.html#a1c9efd24f68d098eedb9c6ae3fdd25c4" > ~RevBitMatrix< / a > ();< / div >
< div class = "line" > < a name = "l00474" > < / a > < span class = "lineno" > 474< / span >   < / div >
< div class = "line" > < a name = "l00476" > < / a > < span class = "lineno" > 476< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevBitMatrix.html#a63a067fb0685fdcdebca1872310ee08b" > SetToOne< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, int64 row, int64 column);< / div >
< div class = "line" > < a name = "l00478" > < / a > < span class = "lineno" > 478< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevBitMatrix.html#ac9a7485f2cd7c88fe11360a1411516b3" > SetToZero< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, int64 row, int64 column);< / div >
< div class = "line" > < a name = "l00480" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevBitMatrix.html#a0bb9da6620214b68c1f9bdf92e07acb8" > 480< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1RevBitMatrix.html#a0bb9da6620214b68c1f9bdf92e07acb8" > IsSet< / a > (int64 row, int64 column)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l00481" > < / a > < span class = "lineno" > 481< / span >   DCHECK_GE(row, 0);< / div >
< div class = "line" > < a name = "l00482" > < / a > < span class = "lineno" > 482< / span >   DCHECK_LT(row, rows_);< / div >
< div class = "line" > < a name = "l00483" > < / a > < span class = "lineno" > 483< / span >   DCHECK_GE(column, 0);< / div >
< div class = "line" > < a name = "l00484" > < / a > < span class = "lineno" > 484< / span >   DCHECK_LT(column, columns_);< / div >
< div class = "line" > < a name = "l00485" > < / a > < span class = "lineno" > 485< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#a61b1becfb2c5c31b8a09a277d74e4aa4" > RevBitSet::IsSet< / a > (row * columns_ + column);< / div >
< div class = "line" > < a name = "l00486" > < / a > < span class = "lineno" > 486< / span >   }< / div >
< div class = "line" > < a name = "l00488" > < / a > < span class = "lineno" > 488< / span >   int64 < a class = "code" href = "classoperations__research_1_1RevBitSet.html#adbdb4f27d7b7ebf378af2ce76cb615f9" > Cardinality< / a > (< span class = "keywordtype" > int< / span > row) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00490" > < / a > < span class = "lineno" > 490< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#ad175c4019a4a927bec26eb8cd819d81e" > IsCardinalityZero< / a > (< span class = "keywordtype" > int< / span > row) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00492" > < / a > < span class = "lineno" > 492< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1RevBitSet.html#a16202f709ab06d78dcae8db3ff21fd9c" > IsCardinalityOne< / a > (< span class = "keywordtype" > int< / span > row) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00495" > < / a > < span class = "lineno" > 495< / span >   int64 < a class = "code" href = "classoperations__research_1_1RevBitMatrix.html#a182f97b966e14b0ba4898bfa5a820f46" > GetFirstBit< / a > (< span class = "keywordtype" > int< / span > row, < span class = "keywordtype" > int< / span > start) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l00497" > < / a > < span class = "lineno" > 497< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevBitMatrix.html#ac4f70832be8ef45fb84c8170f17cc187" > ClearAll< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver);< / div >
< div class = "line" > < a name = "l00498" > < / a > < span class = "lineno" > 498< / span >   < / div >
< div class = "line" > < a name = "l00499" > < / a > < span class = "lineno" > 499< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00500" > < / a > < span class = "lineno" > 500< / span >   < span class = "keyword" > const< / span > int64 rows_;< / div >
< div class = "line" > < a name = "l00501" > < / a > < span class = "lineno" > 501< / span >   < span class = "keyword" > const< / span > int64 columns_;< / div >
< div class = "line" > < a name = "l00502" > < / a > < span class = "lineno" > 502< / span >   };< / div >
< div class = "line" > < a name = "l00503" > < / a > < span class = "lineno" > 503< / span >   < / div >
< div class = "line" > < a name = "l00509" > < / a > < span class = "lineno" > 509< / span >   < / div >
< div class = "line" > < a name = "l00511" > < / a > < span class = "lineno" > 511< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l00512" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod0.html" > 512< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1CallMethod0.html" > CallMethod0< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > {< / div >
< div class = "line" > < a name = "l00513" > < / a > < span class = "lineno" > 513< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00514" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod0.html#a7b6140d03824eabe8579c6f72d8bd725" > 514< / a > < / span >   < a class = "code" href = "classoperations__research_1_1CallMethod0.html#a7b6140d03824eabe8579c6f72d8bd725" > CallMethod0< / a > (T* < span class = "keyword" > const< / span > ct, < span class = "keywordtype" > void< / span > (T::*method)(), < span class = "keyword" > const< / span > std::string& name)< / div >
< div class = "line" > < a name = "l00515" > < / a > < span class = "lineno" > 515< / span >   : constraint_(ct), method_(method), name_(name) {}< / div >
< div class = "line" > < a name = "l00516" > < / a > < span class = "lineno" > 516< / span >   < / div >
< div class = "line" > < a name = "l00517" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod0.html#a27e4f9bb590aef0900a373cfe7f34615" > 517< / a > < / span >   < a class = "code" href = "classoperations__research_1_1CallMethod0.html#a27e4f9bb590aef0900a373cfe7f34615" > ~CallMethod0< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00518" > < / a > < span class = "lineno" > 518< / span >   < / div >
< div class = "line" > < a name = "l00519" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod0.html#ac863f0fdd6a476ca003c99f58f14e623" > 519< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1CallMethod0.html#ac863f0fdd6a476ca003c99f58f14e623" > Run< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s)< span class = "keyword" > override < / span > { (constraint_-> *method_)(); }< / div >
< div class = "line" > < a name = "l00520" > < / a > < span class = "lineno" > 520< / span >   < / div >
< div class = "line" > < a name = "l00521" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod0.html#aed804747c45a7e1caf81461f9e45dd91" > 521< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1CallMethod0.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00522" > < / a > < span class = "lineno" > 522< / span >   < span class = "keywordflow" > return< / span > < span class = "stringliteral" > " CallMethod_" < / span > + name_ + < span class = "stringliteral" > " (" < / span > + constraint_-> DebugString() + < span class = "stringliteral" > " )" < / span > ;< / div >
< div class = "line" > < a name = "l00523" > < / a > < span class = "lineno" > 523< / span >   }< / div >
< div class = "line" > < a name = "l00524" > < / a > < span class = "lineno" > 524< / span >   < / div >
< div class = "line" > < a name = "l00525" > < / a > < span class = "lineno" > 525< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00526" > < / a > < span class = "lineno" > 526< / span >   T* < span class = "keyword" > const< / span > constraint_;< / div >
< div class = "line" > < a name = "l00527" > < / a > < span class = "lineno" > 527< / span >   void (T::*< span class = "keyword" > const< / span > method_)();< / div >
< div class = "line" > < a name = "l00528" > < / a > < span class = "lineno" > 528< / span >   < span class = "keyword" > const< / span > std::string name_;< / div >
< div class = "line" > < a name = "l00529" > < / a > < span class = "lineno" > 529< / span >   };< / div >
< div class = "line" > < a name = "l00530" > < / a > < span class = "lineno" > 530< / span >   < / div >
< div class = "line" > < a name = "l00531" > < / a > < span class = "lineno" > 531< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l00532" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a3ea6af6581e6922832918c97753146a7" > 532< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < a class = "code" href = "namespaceoperations__research.html#a3ea6af6581e6922832918c97753146a7" > MakeConstraintDemon0< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, T* < span class = "keyword" > const< / span > ct, < span class = "keywordtype" > void< / span > (T::*method)(),< / div >
< div class = "line" > < a name = "l00533" > < / a > < span class = "lineno" > 533< / span >   < span class = "keyword" > const< / span > std::string& name) {< / div >
< div class = "line" > < a name = "l00534" > < / a > < span class = "lineno" > 534< / span >   < span class = "keywordflow" > return< / span > s-> < a class = "code" href = "classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" > RevAlloc< / a > (< span class = "keyword" > new< / span > < a class = "code" href = "classoperations__research_1_1CallMethod0.html" > CallMethod0< T> < / a > (ct, method, name));< / div >
< div class = "line" > < a name = "l00535" > < / a > < span class = "lineno" > 535< / span >   }< / div >
< div class = "line" > < a name = "l00536" > < / a > < span class = "lineno" > 536< / span >   < / div >
< div class = "line" > < a name = "l00537" > < / a > < span class = "lineno" > 537< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > P> < / div >
< div class = "line" > < a name = "l00538" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > 538< / a > < / span >   std::string < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (P param) {< / div >
< div class = "line" > < a name = "l00539" > < / a > < span class = "lineno" > 539< / span >   < span class = "keywordflow" > return< / span > absl::StrCat(param);< / div >
< div class = "line" > < a name = "l00540" > < / a > < span class = "lineno" > 540< / span >   }< / div >
< div class = "line" > < a name = "l00541" > < / a > < span class = "lineno" > 541< / span >   < / div >
< div class = "line" > < a name = "l00543" > < / a > < span class = "lineno" > 543< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > P> < / div >
< div class = "line" > < a name = "l00544" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a3c2f93547af434566184b7dee7039c93" > 544< / a > < / span >   std::string < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (P* param) {< / div >
< div class = "line" > < a name = "l00545" > < / a > < span class = "lineno" > 545< / span >   < span class = "keywordflow" > return< / span > param-> DebugString();< / div >
< div class = "line" > < a name = "l00546" > < / a > < span class = "lineno" > 546< / span >   }< / div >
< div class = "line" > < a name = "l00547" > < / a > < span class = "lineno" > 547< / span >   < / div >
< div class = "line" > < a name = "l00549" > < / a > < span class = "lineno" > 549< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P> < / div >
< div class = "line" > < a name = "l00550" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod1.html" > 550< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1CallMethod1.html" > CallMethod1< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > {< / div >
< div class = "line" > < a name = "l00551" > < / a > < span class = "lineno" > 551< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00552" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod1.html#aeec7702079973f2d99063b2ed414aba4" > 552< / a > < / span >   < a class = "code" href = "classoperations__research_1_1CallMethod1.html#aeec7702079973f2d99063b2ed414aba4" > CallMethod1< / a > (T* < span class = "keyword" > const< / span > ct, < span class = "keywordtype" > void< / span > (T::*method)(P), < span class = "keyword" > const< / span > std::string& name,< / div >
< div class = "line" > < a name = "l00553" > < / a > < span class = "lineno" > 553< / span >   P param1)< / div >
< div class = "line" > < a name = "l00554" > < / a > < span class = "lineno" > 554< / span >   : constraint_(ct), method_(method), name_(name), param1_(param1) {}< / div >
< div class = "line" > < a name = "l00555" > < / a > < span class = "lineno" > 555< / span >   < / div >
< div class = "line" > < a name = "l00556" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod1.html#abb048ab554f3f8a361593b483fd4098c" > 556< / a > < / span >   < a class = "code" href = "classoperations__research_1_1CallMethod1.html#abb048ab554f3f8a361593b483fd4098c" > ~CallMethod1< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00557" > < / a > < span class = "lineno" > 557< / span >   < / div >
< div class = "line" > < a name = "l00558" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod1.html#ac863f0fdd6a476ca003c99f58f14e623" > 558< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1CallMethod1.html#ac863f0fdd6a476ca003c99f58f14e623" > Run< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s)< span class = "keyword" > override < / span > { (constraint_-> *method_)(param1_); }< / div >
< div class = "line" > < a name = "l00559" > < / a > < span class = "lineno" > 559< / span >   < / div >
< div class = "line" > < a name = "l00560" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod1.html#aed804747c45a7e1caf81461f9e45dd91" > 560< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1CallMethod1.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00561" > < / a > < span class = "lineno" > 561< / span >   < span class = "keywordflow" > return< / span > absl::StrCat(< span class = "stringliteral" > " CallMethod_" < / span > , name_, < span class = "stringliteral" > " (" < / span > , constraint_-> DebugString(),< / div >
< div class = "line" > < a name = "l00562" > < / a > < span class = "lineno" > 562< / span >   < span class = "stringliteral" > " , " < / span > , < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (param1_), < span class = "stringliteral" > " )" < / span > );< / div >
< div class = "line" > < a name = "l00563" > < / a > < span class = "lineno" > 563< / span >   }< / div >
< div class = "line" > < a name = "l00564" > < / a > < span class = "lineno" > 564< / span >   < / div >
< div class = "line" > < a name = "l00565" > < / a > < span class = "lineno" > 565< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00566" > < / a > < span class = "lineno" > 566< / span >   T* < span class = "keyword" > const< / span > constraint_;< / div >
< div class = "line" > < a name = "l00567" > < / a > < span class = "lineno" > 567< / span >   void (T::*< span class = "keyword" > const< / span > method_)(P);< / div >
< div class = "line" > < a name = "l00568" > < / a > < span class = "lineno" > 568< / span >   < span class = "keyword" > const< / span > std::string name_;< / div >
< div class = "line" > < a name = "l00569" > < / a > < span class = "lineno" > 569< / span >   P param1_;< / div >
< div class = "line" > < a name = "l00570" > < / a > < span class = "lineno" > 570< / span >   };< / div >
< div class = "line" > < a name = "l00571" > < / a > < span class = "lineno" > 571< / span >   < / div >
< div class = "line" > < a name = "l00572" > < / a > < span class = "lineno" > 572< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P> < / div >
< div class = "line" > < a name = "l00573" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a4fb750da00c784e5ffd1763fd3ce88f7" > 573< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < a class = "code" href = "namespaceoperations__research.html#a4fb750da00c784e5ffd1763fd3ce88f7" > MakeConstraintDemon1< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, T* < span class = "keyword" > const< / span > ct, < span class = "keywordtype" > void< / span > (T::*method)(P),< / div >
< div class = "line" > < a name = "l00574" > < / a > < span class = "lineno" > 574< / span >   < span class = "keyword" > const< / span > std::string& name, P param1) {< / div >
< div class = "line" > < a name = "l00575" > < / a > < span class = "lineno" > 575< / span >   < span class = "keywordflow" > return< / span > s-> < a class = "code" href = "classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" > RevAlloc< / a > (< span class = "keyword" > new< / span > < a class = "code" href = "classoperations__research_1_1CallMethod1.html" > CallMethod1< T, P> < / a > (ct, method, name, param1));< / div >
< div class = "line" > < a name = "l00576" > < / a > < span class = "lineno" > 576< / span >   }< / div >
< div class = "line" > < a name = "l00577" > < / a > < span class = "lineno" > 577< / span >   < / div >
< div class = "line" > < a name = "l00579" > < / a > < span class = "lineno" > 579< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P, < span class = "keyword" > class< / span > Q> < / div >
< div class = "line" > < a name = "l00580" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod2.html" > 580< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1CallMethod2.html" > CallMethod2< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > {< / div >
< div class = "line" > < a name = "l00581" > < / a > < span class = "lineno" > 581< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00582" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod2.html#a86921989576185a2ad25d64983e120a0" > 582< / a > < / span >   < a class = "code" href = "classoperations__research_1_1CallMethod2.html#a86921989576185a2ad25d64983e120a0" > CallMethod2< / a > (T* < span class = "keyword" > const< / span > ct, < span class = "keywordtype" > void< / span > (T::*method)(P, Q), < span class = "keyword" > const< / span > std::string& name,< / div >
< div class = "line" > < a name = "l00583" > < / a > < span class = "lineno" > 583< / span >   P param1, Q param2)< / div >
< div class = "line" > < a name = "l00584" > < / a > < span class = "lineno" > 584< / span >   : constraint_(ct),< / div >
< div class = "line" > < a name = "l00585" > < / a > < span class = "lineno" > 585< / span >   method_(method),< / div >
< div class = "line" > < a name = "l00586" > < / a > < span class = "lineno" > 586< / span >   name_(name),< / div >
< div class = "line" > < a name = "l00587" > < / a > < span class = "lineno" > 587< / span >   param1_(param1),< / div >
< div class = "line" > < a name = "l00588" > < / a > < span class = "lineno" > 588< / span >   param2_(param2) {}< / div >
< div class = "line" > < a name = "l00589" > < / a > < span class = "lineno" > 589< / span >   < / div >
< div class = "line" > < a name = "l00590" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod2.html#ac2fbc05e88a31bf2a1770247af178418" > 590< / a > < / span >   < a class = "code" href = "classoperations__research_1_1CallMethod2.html#ac2fbc05e88a31bf2a1770247af178418" > ~CallMethod2< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00591" > < / a > < span class = "lineno" > 591< / span >   < / div >
< div class = "line" > < a name = "l00592" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod2.html#ac863f0fdd6a476ca003c99f58f14e623" > 592< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1CallMethod2.html#ac863f0fdd6a476ca003c99f58f14e623" > Run< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s)< span class = "keyword" > override < / span > {< / div >
< div class = "line" > < a name = "l00593" > < / a > < span class = "lineno" > 593< / span >   (constraint_-> *method_)(param1_, param2_);< / div >
< div class = "line" > < a name = "l00594" > < / a > < span class = "lineno" > 594< / span >   }< / div >
< div class = "line" > < a name = "l00595" > < / a > < span class = "lineno" > 595< / span >   < / div >
< div class = "line" > < a name = "l00596" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod2.html#aed804747c45a7e1caf81461f9e45dd91" > 596< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1CallMethod2.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00597" > < / a > < span class = "lineno" > 597< / span >   < span class = "keywordflow" > return< / span > absl::StrCat(absl::StrCat(< span class = "stringliteral" > " CallMethod_" < / span > , name_),< / div >
< div class = "line" > < a name = "l00598" > < / a > < span class = "lineno" > 598< / span >   absl::StrCat(< span class = "stringliteral" > " (" < / span > , constraint_-> DebugString()),< / div >
< div class = "line" > < a name = "l00599" > < / a > < span class = "lineno" > 599< / span >   absl::StrCat(< span class = "stringliteral" > " , " < / span > , < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (param1_)),< / div >
< div class = "line" > < a name = "l00600" > < / a > < span class = "lineno" > 600< / span >   absl::StrCat(< span class = "stringliteral" > " , " < / span > , < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (param2_), < span class = "stringliteral" > " )" < / span > ));< / div >
< div class = "line" > < a name = "l00601" > < / a > < span class = "lineno" > 601< / span >   }< / div >
< div class = "line" > < a name = "l00602" > < / a > < span class = "lineno" > 602< / span >   < / div >
< div class = "line" > < a name = "l00603" > < / a > < span class = "lineno" > 603< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00604" > < / a > < span class = "lineno" > 604< / span >   T* < span class = "keyword" > const< / span > constraint_;< / div >
< div class = "line" > < a name = "l00605" > < / a > < span class = "lineno" > 605< / span >   void (T::*< span class = "keyword" > const< / span > method_)(P, Q);< / div >
< div class = "line" > < a name = "l00606" > < / a > < span class = "lineno" > 606< / span >   < span class = "keyword" > const< / span > std::string name_;< / div >
< div class = "line" > < a name = "l00607" > < / a > < span class = "lineno" > 607< / span >   P param1_;< / div >
< div class = "line" > < a name = "l00608" > < / a > < span class = "lineno" > 608< / span >   Q param2_;< / div >
< div class = "line" > < a name = "l00609" > < / a > < span class = "lineno" > 609< / span >   };< / div >
< div class = "line" > < a name = "l00610" > < / a > < span class = "lineno" > 610< / span >   < / div >
< div class = "line" > < a name = "l00611" > < / a > < span class = "lineno" > 611< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P, < span class = "keyword" > class< / span > Q> < / div >
< div class = "line" > < a name = "l00612" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a4da629cafe75f958924e1684ac2b0eff" > 612< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < a class = "code" href = "namespaceoperations__research.html#a4da629cafe75f958924e1684ac2b0eff" > MakeConstraintDemon2< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, T* < span class = "keyword" > const< / span > ct,< / div >
< div class = "line" > < a name = "l00613" > < / a > < span class = "lineno" > 613< / span >   < span class = "keywordtype" > void< / span > (T::*method)(P, Q), < span class = "keyword" > const< / span > std::string& name,< / div >
< div class = "line" > < a name = "l00614" > < / a > < span class = "lineno" > 614< / span >   P param1, Q param2) {< / div >
< div class = "line" > < a name = "l00615" > < / a > < span class = "lineno" > 615< / span >   < span class = "keywordflow" > return< / span > s-> < a class = "code" href = "classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" > RevAlloc< / a > (< / div >
< div class = "line" > < a name = "l00616" > < / a > < span class = "lineno" > 616< / span >   < span class = "keyword" > new< / span > < a class = "code" href = "classoperations__research_1_1CallMethod2.html" > CallMethod2< T, P, Q> < / a > (ct, method, name, param1, param2));< / div >
< div class = "line" > < a name = "l00617" > < / a > < span class = "lineno" > 617< / span >   }< / div >
< div class = "line" > < a name = "l00619" > < / a > < span class = "lineno" > 619< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P, < span class = "keyword" > class< / span > Q, < span class = "keyword" > class< / span > R> < / div >
< div class = "line" > < a name = "l00620" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod3.html" > 620< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1CallMethod3.html" > CallMethod3< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > {< / div >
< div class = "line" > < a name = "l00621" > < / a > < span class = "lineno" > 621< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00622" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod3.html#a7faffef6c714afe185ea30a930bb6ff6" > 622< / a > < / span >   < a class = "code" href = "classoperations__research_1_1CallMethod3.html#a7faffef6c714afe185ea30a930bb6ff6" > CallMethod3< / a > (T* < span class = "keyword" > const< / span > ct, < span class = "keywordtype" > void< / span > (T::*method)(P, Q, R), < span class = "keyword" > const< / span > std::string& name,< / div >
< div class = "line" > < a name = "l00623" > < / a > < span class = "lineno" > 623< / span >   P param1, Q param2, R param3)< / div >
< div class = "line" > < a name = "l00624" > < / a > < span class = "lineno" > 624< / span >   : constraint_(ct),< / div >
< div class = "line" > < a name = "l00625" > < / a > < span class = "lineno" > 625< / span >   method_(method),< / div >
< div class = "line" > < a name = "l00626" > < / a > < span class = "lineno" > 626< / span >   name_(name),< / div >
< div class = "line" > < a name = "l00627" > < / a > < span class = "lineno" > 627< / span >   param1_(param1),< / div >
< div class = "line" > < a name = "l00628" > < / a > < span class = "lineno" > 628< / span >   param2_(param2),< / div >
< div class = "line" > < a name = "l00629" > < / a > < span class = "lineno" > 629< / span >   param3_(param3) {}< / div >
< div class = "line" > < a name = "l00630" > < / a > < span class = "lineno" > 630< / span >   < / div >
< div class = "line" > < a name = "l00631" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod3.html#a7d00aec69640287b4cab7b6006796450" > 631< / a > < / span >   < a class = "code" href = "classoperations__research_1_1CallMethod3.html#a7d00aec69640287b4cab7b6006796450" > ~CallMethod3< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00632" > < / a > < span class = "lineno" > 632< / span >   < / div >
< div class = "line" > < a name = "l00633" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod3.html#ac863f0fdd6a476ca003c99f58f14e623" > 633< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1CallMethod3.html#ac863f0fdd6a476ca003c99f58f14e623" > Run< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s)< span class = "keyword" > override < / span > {< / div >
< div class = "line" > < a name = "l00634" > < / a > < span class = "lineno" > 634< / span >   (constraint_-> *method_)(param1_, param2_, param3_);< / div >
< div class = "line" > < a name = "l00635" > < / a > < span class = "lineno" > 635< / span >   }< / div >
< div class = "line" > < a name = "l00636" > < / a > < span class = "lineno" > 636< / span >   < / div >
< div class = "line" > < a name = "l00637" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1CallMethod3.html#aed804747c45a7e1caf81461f9e45dd91" > 637< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1CallMethod3.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00638" > < / a > < span class = "lineno" > 638< / span >   < span class = "keywordflow" > return< / span > absl::StrCat(absl::StrCat(< span class = "stringliteral" > " CallMethod_" < / span > , name_),< / div >
< div class = "line" > < a name = "l00639" > < / a > < span class = "lineno" > 639< / span >   absl::StrCat(< span class = "stringliteral" > " (" < / span > , constraint_-> DebugString()),< / div >
< div class = "line" > < a name = "l00640" > < / a > < span class = "lineno" > 640< / span >   absl::StrCat(< span class = "stringliteral" > " , " < / span > , < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (param1_)),< / div >
< div class = "line" > < a name = "l00641" > < / a > < span class = "lineno" > 641< / span >   absl::StrCat(< span class = "stringliteral" > " , " < / span > , < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (param2_)),< / div >
< div class = "line" > < a name = "l00642" > < / a > < span class = "lineno" > 642< / span >   absl::StrCat(< span class = "stringliteral" > " , " < / span > , < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (param3_), < span class = "stringliteral" > " )" < / span > ));< / div >
< div class = "line" > < a name = "l00643" > < / a > < span class = "lineno" > 643< / span >   }< / div >
< div class = "line" > < a name = "l00644" > < / a > < span class = "lineno" > 644< / span >   < / div >
< div class = "line" > < a name = "l00645" > < / a > < span class = "lineno" > 645< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00646" > < / a > < span class = "lineno" > 646< / span >   T* < span class = "keyword" > const< / span > constraint_;< / div >
< div class = "line" > < a name = "l00647" > < / a > < span class = "lineno" > 647< / span >   void (T::*< span class = "keyword" > const< / span > method_)(P, Q, R);< / div >
< div class = "line" > < a name = "l00648" > < / a > < span class = "lineno" > 648< / span >   < span class = "keyword" > const< / span > std::string name_;< / div >
< div class = "line" > < a name = "l00649" > < / a > < span class = "lineno" > 649< / span >   P param1_;< / div >
< div class = "line" > < a name = "l00650" > < / a > < span class = "lineno" > 650< / span >   Q param2_;< / div >
< div class = "line" > < a name = "l00651" > < / a > < span class = "lineno" > 651< / span >   R param3_;< / div >
< div class = "line" > < a name = "l00652" > < / a > < span class = "lineno" > 652< / span >   };< / div >
< div class = "line" > < a name = "l00653" > < / a > < span class = "lineno" > 653< / span >   < / div >
< div class = "line" > < a name = "l00654" > < / a > < span class = "lineno" > 654< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P, < span class = "keyword" > class< / span > Q, < span class = "keyword" > class< / span > R> < / div >
< div class = "line" > < a name = "l00655" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#abdca98f14c02e004ab5e19d2c3985667" > 655< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < a class = "code" href = "namespaceoperations__research.html#abdca98f14c02e004ab5e19d2c3985667" > MakeConstraintDemon3< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, T* < span class = "keyword" > const< / span > ct,< / div >
< div class = "line" > < a name = "l00656" > < / a > < span class = "lineno" > 656< / span >   < span class = "keywordtype" > void< / span > (T::*method)(P, Q, R), < span class = "keyword" > const< / span > std::string& name,< / div >
< div class = "line" > < a name = "l00657" > < / a > < span class = "lineno" > 657< / span >   P param1, Q param2, R param3) {< / div >
< div class = "line" > < a name = "l00658" > < / a > < span class = "lineno" > 658< / span >   < span class = "keywordflow" > return< / span > s-> < a class = "code" href = "classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" > RevAlloc< / a > (< / div >
< div class = "line" > < a name = "l00659" > < / a > < span class = "lineno" > 659< / span >   < span class = "keyword" > new< / span > < a class = "code" href = "classoperations__research_1_1CallMethod3.html" > CallMethod3< T, P, Q, R> < / a > (ct, method, name, param1, param2, param3));< / div >
< div class = "line" > < a name = "l00660" > < / a > < span class = "lineno" > 660< / span >   }< / div >
< div class = "line" > < a name = "l00662" > < / a > < span class = "lineno" > 662< / span >   < / div >
< div class = "line" > < a name = "l00667" > < / a > < span class = "lineno" > 667< / span >   < / div >
< div class = "line" > < a name = "l00669" > < / a > < span class = "lineno" > 669< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l00670" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod0.html" > 670< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod0.html" > DelayedCallMethod0< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > {< / div >
< div class = "line" > < a name = "l00671" > < / a > < span class = "lineno" > 671< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00672" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod0.html#aec224aa9286a227b83c6867011006249" > 672< / a > < / span >   < a class = "code" href = "classoperations__research_1_1DelayedCallMethod0.html#aec224aa9286a227b83c6867011006249" > DelayedCallMethod0< / a > (T* < span class = "keyword" > const< / span > ct, < span class = "keywordtype" > void< / span > (T::*method)(), < span class = "keyword" > const< / span > std::string& name)< / div >
< div class = "line" > < a name = "l00673" > < / a > < span class = "lineno" > 673< / span >   : constraint_(ct), method_(method), name_(name) {}< / div >
< div class = "line" > < a name = "l00674" > < / a > < span class = "lineno" > 674< / span >   < / div >
< div class = "line" > < a name = "l00675" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod0.html#abd9bafdfee91dc487e75378f8c6cbaa7" > 675< / a > < / span >   < a class = "code" href = "classoperations__research_1_1DelayedCallMethod0.html#abd9bafdfee91dc487e75378f8c6cbaa7" > ~DelayedCallMethod0< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00676" > < / a > < span class = "lineno" > 676< / span >   < / div >
< div class = "line" > < a name = "l00677" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod0.html#ac863f0fdd6a476ca003c99f58f14e623" > 677< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod0.html#ac863f0fdd6a476ca003c99f58f14e623" > Run< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s)< span class = "keyword" > override < / span > { (constraint_-> *method_)(); }< / div >
< div class = "line" > < a name = "l00678" > < / a > < span class = "lineno" > 678< / span >   < / div >
< div class = "line" > < a name = "l00679" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod0.html#a0a34701cff1b1ac2fabd11e27c7cebc9" > 679< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7" > Solver::DemonPriority< / a > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod0.html#a0a34701cff1b1ac2fabd11e27c7cebc9" > priority< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00680" > < / a > < span class = "lineno" > 680< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068" > Solver::DELAYED_PRIORITY< / a > ;< / div >
< div class = "line" > < a name = "l00681" > < / a > < span class = "lineno" > 681< / span >   }< / div >
< div class = "line" > < a name = "l00682" > < / a > < span class = "lineno" > 682< / span >   < / div >
< div class = "line" > < a name = "l00683" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod0.html#aed804747c45a7e1caf81461f9e45dd91" > 683< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1DelayedCallMethod0.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00684" > < / a > < span class = "lineno" > 684< / span >   < span class = "keywordflow" > return< / span > < span class = "stringliteral" > " DelayedCallMethod_" < / span > + name_ + < span class = "stringliteral" > " (" < / span > + constraint_-> DebugString() +< / div >
< div class = "line" > < a name = "l00685" > < / a > < span class = "lineno" > 685< / span >   < span class = "stringliteral" > " )" < / span > ;< / div >
< div class = "line" > < a name = "l00686" > < / a > < span class = "lineno" > 686< / span >   }< / div >
< div class = "line" > < a name = "l00687" > < / a > < span class = "lineno" > 687< / span >   < / div >
< div class = "line" > < a name = "l00688" > < / a > < span class = "lineno" > 688< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00689" > < / a > < span class = "lineno" > 689< / span >   T* < span class = "keyword" > const< / span > constraint_;< / div >
< div class = "line" > < a name = "l00690" > < / a > < span class = "lineno" > 690< / span >   void (T::*< span class = "keyword" > const< / span > method_)();< / div >
< div class = "line" > < a name = "l00691" > < / a > < span class = "lineno" > 691< / span >   < span class = "keyword" > const< / span > std::string name_;< / div >
< div class = "line" > < a name = "l00692" > < / a > < span class = "lineno" > 692< / span >   };< / div >
< div class = "line" > < a name = "l00693" > < / a > < span class = "lineno" > 693< / span >   < / div >
< div class = "line" > < a name = "l00694" > < / a > < span class = "lineno" > 694< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l00695" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a82110ba1f45aa29ffc933102880dbd82" > 695< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < a class = "code" href = "namespaceoperations__research.html#a82110ba1f45aa29ffc933102880dbd82" > MakeDelayedConstraintDemon0< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, T* < span class = "keyword" > const< / span > ct,< / div >
< div class = "line" > < a name = "l00696" > < / a > < span class = "lineno" > 696< / span >   < span class = "keywordtype" > void< / span > (T::*method)(),< / div >
< div class = "line" > < a name = "l00697" > < / a > < span class = "lineno" > 697< / span >   < span class = "keyword" > const< / span > std::string& name) {< / div >
< div class = "line" > < a name = "l00698" > < / a > < span class = "lineno" > 698< / span >   < span class = "keywordflow" > return< / span > s-> < a class = "code" href = "classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" > RevAlloc< / a > (< span class = "keyword" > new< / span > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod0.html" > DelayedCallMethod0< T> < / a > (ct, method, name));< / div >
< div class = "line" > < a name = "l00699" > < / a > < span class = "lineno" > 699< / span >   }< / div >
< div class = "line" > < a name = "l00700" > < / a > < span class = "lineno" > 700< / span >   < / div >
< div class = "line" > < a name = "l00702" > < / a > < span class = "lineno" > 702< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P> < / div >
< div class = "line" > < a name = "l00703" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod1.html" > 703< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod1.html" > DelayedCallMethod1< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > {< / div >
< div class = "line" > < a name = "l00704" > < / a > < span class = "lineno" > 704< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00705" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod1.html#a977ffeeceec82ed0c880ae3249caebeb" > 705< / a > < / span >   < a class = "code" href = "classoperations__research_1_1DelayedCallMethod1.html#a977ffeeceec82ed0c880ae3249caebeb" > DelayedCallMethod1< / a > (T* < span class = "keyword" > const< / span > ct, < span class = "keywordtype" > void< / span > (T::*method)(P), < span class = "keyword" > const< / span > std::string& name,< / div >
< div class = "line" > < a name = "l00706" > < / a > < span class = "lineno" > 706< / span >   P param1)< / div >
< div class = "line" > < a name = "l00707" > < / a > < span class = "lineno" > 707< / span >   : constraint_(ct), method_(method), name_(name), param1_(param1) {}< / div >
< div class = "line" > < a name = "l00708" > < / a > < span class = "lineno" > 708< / span >   < / div >
< div class = "line" > < a name = "l00709" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod1.html#afa281aea428f9c42e09515bda6a918e5" > 709< / a > < / span >   < a class = "code" href = "classoperations__research_1_1DelayedCallMethod1.html#afa281aea428f9c42e09515bda6a918e5" > ~DelayedCallMethod1< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00710" > < / a > < span class = "lineno" > 710< / span >   < / div >
< div class = "line" > < a name = "l00711" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod1.html#ac863f0fdd6a476ca003c99f58f14e623" > 711< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod1.html#ac863f0fdd6a476ca003c99f58f14e623" > Run< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s)< span class = "keyword" > override < / span > { (constraint_-> *method_)(param1_); }< / div >
< div class = "line" > < a name = "l00712" > < / a > < span class = "lineno" > 712< / span >   < / div >
< div class = "line" > < a name = "l00713" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod1.html#a0a34701cff1b1ac2fabd11e27c7cebc9" > 713< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7" > Solver::DemonPriority< / a > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod1.html#a0a34701cff1b1ac2fabd11e27c7cebc9" > priority< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00714" > < / a > < span class = "lineno" > 714< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068" > Solver::DELAYED_PRIORITY< / a > ;< / div >
< div class = "line" > < a name = "l00715" > < / a > < span class = "lineno" > 715< / span >   }< / div >
< div class = "line" > < a name = "l00716" > < / a > < span class = "lineno" > 716< / span >   < / div >
< div class = "line" > < a name = "l00717" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod1.html#aed804747c45a7e1caf81461f9e45dd91" > 717< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1DelayedCallMethod1.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00718" > < / a > < span class = "lineno" > 718< / span >   < span class = "keywordflow" > return< / span > absl::StrCat(< span class = "stringliteral" > " DelayedCallMethod_" < / span > , name_, < span class = "stringliteral" > " (" < / span > ,< / div >
< div class = "line" > < a name = "l00719" > < / a > < span class = "lineno" > 719< / span >   constraint_-> DebugString(), < span class = "stringliteral" > " , " < / span > ,< / div >
< div class = "line" > < a name = "l00720" > < / a > < span class = "lineno" > 720< / span >   < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (param1_), < span class = "stringliteral" > " )" < / span > );< / div >
< div class = "line" > < a name = "l00721" > < / a > < span class = "lineno" > 721< / span >   }< / div >
< div class = "line" > < a name = "l00722" > < / a > < span class = "lineno" > 722< / span >   < / div >
< div class = "line" > < a name = "l00723" > < / a > < span class = "lineno" > 723< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00724" > < / a > < span class = "lineno" > 724< / span >   T* < span class = "keyword" > const< / span > constraint_;< / div >
< div class = "line" > < a name = "l00725" > < / a > < span class = "lineno" > 725< / span >   void (T::*< span class = "keyword" > const< / span > method_)(P);< / div >
< div class = "line" > < a name = "l00726" > < / a > < span class = "lineno" > 726< / span >   < span class = "keyword" > const< / span > std::string name_;< / div >
< div class = "line" > < a name = "l00727" > < / a > < span class = "lineno" > 727< / span >   P param1_;< / div >
< div class = "line" > < a name = "l00728" > < / a > < span class = "lineno" > 728< / span >   };< / div >
< div class = "line" > < a name = "l00729" > < / a > < span class = "lineno" > 729< / span >   < / div >
< div class = "line" > < a name = "l00730" > < / a > < span class = "lineno" > 730< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P> < / div >
< div class = "line" > < a name = "l00731" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a11f4a7dbafd8e00a36b892a82e44445f" > 731< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < a class = "code" href = "namespaceoperations__research.html#a11f4a7dbafd8e00a36b892a82e44445f" > MakeDelayedConstraintDemon1< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, T* < span class = "keyword" > const< / span > ct,< / div >
< div class = "line" > < a name = "l00732" > < / a > < span class = "lineno" > 732< / span >   < span class = "keywordtype" > void< / span > (T::*method)(P),< / div >
< div class = "line" > < a name = "l00733" > < / a > < span class = "lineno" > 733< / span >   < span class = "keyword" > const< / span > std::string& name, P param1) {< / div >
< div class = "line" > < a name = "l00734" > < / a > < span class = "lineno" > 734< / span >   < span class = "keywordflow" > return< / span > s-> < a class = "code" href = "classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" > RevAlloc< / a > (< span class = "keyword" > new< / span > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod1.html" > DelayedCallMethod1< T, P> < / a > (ct, method, name, param1));< / div >
< div class = "line" > < a name = "l00735" > < / a > < span class = "lineno" > 735< / span >   }< / div >
< div class = "line" > < a name = "l00736" > < / a > < span class = "lineno" > 736< / span >   < / div >
< div class = "line" > < a name = "l00738" > < / a > < span class = "lineno" > 738< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P, < span class = "keyword" > class< / span > Q> < / div >
< div class = "line" > < a name = "l00739" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod2.html" > 739< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod2.html" > DelayedCallMethod2< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > {< / div >
< div class = "line" > < a name = "l00740" > < / a > < span class = "lineno" > 740< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00741" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod2.html#a49265dec10e3d62758187d11a022df4c" > 741< / a > < / span >   < a class = "code" href = "classoperations__research_1_1DelayedCallMethod2.html#a49265dec10e3d62758187d11a022df4c" > DelayedCallMethod2< / a > (T* < span class = "keyword" > const< / span > ct, < span class = "keywordtype" > void< / span > (T::*method)(P, Q),< / div >
< div class = "line" > < a name = "l00742" > < / a > < span class = "lineno" > 742< / span >   < span class = "keyword" > const< / span > std::string& name, P param1, Q param2)< / div >
< div class = "line" > < a name = "l00743" > < / a > < span class = "lineno" > 743< / span >   : constraint_(ct),< / div >
< div class = "line" > < a name = "l00744" > < / a > < span class = "lineno" > 744< / span >   method_(method),< / div >
< div class = "line" > < a name = "l00745" > < / a > < span class = "lineno" > 745< / span >   name_(name),< / div >
< div class = "line" > < a name = "l00746" > < / a > < span class = "lineno" > 746< / span >   param1_(param1),< / div >
< div class = "line" > < a name = "l00747" > < / a > < span class = "lineno" > 747< / span >   param2_(param2) {}< / div >
< div class = "line" > < a name = "l00748" > < / a > < span class = "lineno" > 748< / span >   < / div >
< div class = "line" > < a name = "l00749" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod2.html#a48ef3b8afff6d3904fcbe52d8c65ccb8" > 749< / a > < / span >   < a class = "code" href = "classoperations__research_1_1DelayedCallMethod2.html#a48ef3b8afff6d3904fcbe52d8c65ccb8" > ~DelayedCallMethod2< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00750" > < / a > < span class = "lineno" > 750< / span >   < / div >
< div class = "line" > < a name = "l00751" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod2.html#ac863f0fdd6a476ca003c99f58f14e623" > 751< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod2.html#ac863f0fdd6a476ca003c99f58f14e623" > Run< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s)< span class = "keyword" > override < / span > {< / div >
< div class = "line" > < a name = "l00752" > < / a > < span class = "lineno" > 752< / span >   (constraint_-> *method_)(param1_, param2_);< / div >
< div class = "line" > < a name = "l00753" > < / a > < span class = "lineno" > 753< / span >   }< / div >
< div class = "line" > < a name = "l00754" > < / a > < span class = "lineno" > 754< / span >   < / div >
< div class = "line" > < a name = "l00755" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod2.html#a0a34701cff1b1ac2fabd11e27c7cebc9" > 755< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7" > Solver::DemonPriority< / a > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod2.html#a0a34701cff1b1ac2fabd11e27c7cebc9" > priority< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00756" > < / a > < span class = "lineno" > 756< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068" > Solver::DELAYED_PRIORITY< / a > ;< / div >
< div class = "line" > < a name = "l00757" > < / a > < span class = "lineno" > 757< / span >   }< / div >
< div class = "line" > < a name = "l00758" > < / a > < span class = "lineno" > 758< / span >   < / div >
< div class = "line" > < a name = "l00759" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1DelayedCallMethod2.html#aed804747c45a7e1caf81461f9e45dd91" > 759< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1DelayedCallMethod2.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l00760" > < / a > < span class = "lineno" > 760< / span >   < span class = "keywordflow" > return< / span > absl::StrCat(absl::StrCat(< span class = "stringliteral" > " DelayedCallMethod_" < / span > , name_),< / div >
< div class = "line" > < a name = "l00761" > < / a > < span class = "lineno" > 761< / span >   absl::StrCat(< span class = "stringliteral" > " (" < / span > , constraint_-> DebugString()),< / div >
< div class = "line" > < a name = "l00762" > < / a > < span class = "lineno" > 762< / span >   absl::StrCat(< span class = "stringliteral" > " , " < / span > , < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (param1_)),< / div >
< div class = "line" > < a name = "l00763" > < / a > < span class = "lineno" > 763< / span >   absl::StrCat(< span class = "stringliteral" > " , " < / span > , < a class = "code" href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > ParameterDebugString< / a > (param2_), < span class = "stringliteral" > " )" < / span > ));< / div >
< div class = "line" > < a name = "l00764" > < / a > < span class = "lineno" > 764< / span >   }< / div >
< div class = "line" > < a name = "l00765" > < / a > < span class = "lineno" > 765< / span >   < / div >
< div class = "line" > < a name = "l00766" > < / a > < span class = "lineno" > 766< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00767" > < / a > < span class = "lineno" > 767< / span >   T* < span class = "keyword" > const< / span > constraint_;< / div >
< div class = "line" > < a name = "l00768" > < / a > < span class = "lineno" > 768< / span >   void (T::*< span class = "keyword" > const< / span > method_)(P, Q);< / div >
< div class = "line" > < a name = "l00769" > < / a > < span class = "lineno" > 769< / span >   < span class = "keyword" > const< / span > std::string name_;< / div >
< div class = "line" > < a name = "l00770" > < / a > < span class = "lineno" > 770< / span >   P param1_;< / div >
< div class = "line" > < a name = "l00771" > < / a > < span class = "lineno" > 771< / span >   Q param2_;< / div >
< div class = "line" > < a name = "l00772" > < / a > < span class = "lineno" > 772< / span >   };< / div >
< div class = "line" > < a name = "l00773" > < / a > < span class = "lineno" > 773< / span >   < / div >
< div class = "line" > < a name = "l00774" > < / a > < span class = "lineno" > 774< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > P, < span class = "keyword" > class< / span > Q> < / div >
< div class = "line" > < a name = "l00775" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a29b8113bf656aa61493c9459508ed953" > 775< / a > < / span >   < a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < a class = "code" href = "namespaceoperations__research.html#a29b8113bf656aa61493c9459508ed953" > MakeDelayedConstraintDemon2< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, T* < span class = "keyword" > const< / span > ct,< / div >
< div class = "line" > < a name = "l00776" > < / a > < span class = "lineno" > 776< / span >   < span class = "keywordtype" > void< / span > (T::*method)(P, Q),< / div >
< div class = "line" > < a name = "l00777" > < / a > < span class = "lineno" > 777< / span >   < span class = "keyword" > const< / span > std::string& name, P param1,< / div >
< div class = "line" > < a name = "l00778" > < / a > < span class = "lineno" > 778< / span >   Q param2) {< / div >
< div class = "line" > < a name = "l00779" > < / a > < span class = "lineno" > 779< / span >   < span class = "keywordflow" > return< / span > s-> < a class = "code" href = "classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" > RevAlloc< / a > (< / div >
< div class = "line" > < a name = "l00780" > < / a > < span class = "lineno" > 780< / span >   < span class = "keyword" > new< / span > < a class = "code" href = "classoperations__research_1_1DelayedCallMethod2.html" > DelayedCallMethod2< T, P, Q> < / a > (ct, method, name, param1, param2));< / div >
< div class = "line" > < a name = "l00781" > < / a > < span class = "lineno" > 781< / span >   }< / div >
< div class = "line" > < a name = "l00783" > < / a > < span class = "lineno" > 783< / span >   < / div >
< div class = "line" > < a name = "l00784" > < / a > < span class = "lineno" > 784< / span >   < span class = "preprocessor" > #endif // !defined(SWIG)< / span > < / div >
< div class = "line" > < a name = "l00785" > < / a > < span class = "lineno" > 785< / span >   < / div >
< div class = "line" > < a name = "l00803" > < / a > < span class = "lineno" > 803< / span >   < span class = "comment" > // TODO(user): rename Start to Synchronize ?< / span > < / div >
< div class = "line" > < a name = "l00804" > < / a > < span class = "lineno" > 804< / span >   < span class = "comment" > // TODO(user): decouple the iterating from the defining of a neighbor.< / span > < / div >
< div class = "line" > < a name = "l00805" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchOperator.html" > 805< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html" > LocalSearchOperator< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1BaseObject.html" > BaseObject< / a > {< / div >
< div class = "line" > < a name = "l00806" > < / a > < span class = "lineno" > 806< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00807" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchOperator.html#aabe1b807361b63e2f00ba8256542a818" > 807< / a > < / span >   < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html#aabe1b807361b63e2f00ba8256542a818" > LocalSearchOperator< / a > () {}< / div >
< div class = "line" > < a name = "l00808" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchOperator.html#af48018bea65b9825579c53e834c8131c" > 808< / a > < / span >   < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html#af48018bea65b9825579c53e834c8131c" > ~LocalSearchOperator< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00809" > < / a > < span class = "lineno" > 809< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html#a9bd1712271364632b22009ef10eb2172" > MakeNextNeighbor< / a > (< a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta, < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * deltadelta) = 0;< / div >
< div class = "line" > < a name = "l00810" > < / a > < span class = "lineno" > 810< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html#ae8505ab0739cf0b585de5844f7a6703c" > Start< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * assignment) = 0;< / div >
< div class = "line" > < a name = "l00811" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchOperator.html#a4c4ba0ffe635d14b93794268bd8e5995" > 811< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html#a4c4ba0ffe635d14b93794268bd8e5995" > Reset< / a > () {}< / div >
< div class = "line" > < a name = "l00812" > < / a > < span class = "lineno" > 812< / span >   < span class = "preprocessor" > #ifndef SWIG< / span > < / div >
< div class = "line" > < a name = "l00813" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchOperator.html#a2030c5ed835cf4196e8cab0033a6d7bd" > 813< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html" > LocalSearchOperator< / a > * < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html#a2030c5ed835cf4196e8cab0033a6d7bd" > Self< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > this< / span > ; }< / div >
< div class = "line" > < a name = "l00814" > < / a > < span class = "lineno" > 814< / span >   < span class = "preprocessor" > #endif // SWIG< / span > < / div >
< div class = "line" > < a name = "l00815" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchOperator.html#a1b0063f805d92ed061848616d08f4664" > 815< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html#a1b0063f805d92ed061848616d08f4664" > HasFragments< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ; }< / div >
< div class = "line" > < a name = "l00816" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8" > 816< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8" > HoldsDelta< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ; }< / div >
< div class = "line" > < a name = "l00817" > < / a > < span class = "lineno" > 817< / span >   };< / div >
< div class = "line" > < a name = "l00818" > < / a > < span class = "lineno" > 818< / span >   < / div >
< div class = "line" > < a name = "l00820" > < / a > < span class = "lineno" > 820< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > V, < span class = "keyword" > class< / span > Val, < span class = "keyword" > class< / span > Handler> < / div >
< div class = "line" > < a name = "l00821" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html" > 821< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html" > VarLocalSearchOperator< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html" > LocalSearchOperator< / a > {< / div >
< div class = "line" > < a name = "l00822" > < / a > < span class = "lineno" > 822< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00823" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#acd9deaa1cb8f53d22e39a1f58b478739" > 823< / a > < / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#acd9deaa1cb8f53d22e39a1f58b478739" > VarLocalSearchOperator< / a > () : < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > (), < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#ade0f309c001b408cf7fe2a5b3c672640" > was_activated_< / a > (), < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a96d44fa3defc89fe5e0fc0eafaf32714" > cleared_< / a > (true) {}< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00824" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#aad621560f01a4aed04f01cc6d97e897f" > 824< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aad621560f01a4aed04f01cc6d97e897f" > VarLocalSearchOperator< / a > (Handler var_handler)< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00825" > < / a > < span class = "lineno" > 825< / span >   : < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > (),< / div >
< div class = "line" > < a name = "l00826" > < / a > < span class = "lineno" > 826< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#ade0f309c001b408cf7fe2a5b3c672640" > was_activated_< / a > (),< / div >
< div class = "line" > < a name = "l00827" > < / a > < span class = "lineno" > 827< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a96d44fa3defc89fe5e0fc0eafaf32714" > cleared_< / a > (true),< / div >
< div class = "line" > < a name = "l00828" > < / a > < span class = "lineno" > 828< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > var_handler_< / a > (var_handler) {}< / div >
< div class = "line" > < a name = "l00829" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#ad48fcef57a4aa0b002e92ec27510dec3" > 829< / a > < / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#ad48fcef57a4aa0b002e92ec27510dec3" > ~VarLocalSearchOperator< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l00830" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a35de616bef50b1661e3133761f7260e1" > 830< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a35de616bef50b1661e3133761f7260e1" > HoldsDelta< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ; }< / div >
< div class = "line" > < a name = "l00833" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586" > 833< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586" > Start< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * assignment)< span class = "keyword" > override < / span > {< / div >
< div class = "line" > < a name = "l00834" > < / a > < span class = "lineno" > 834< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > size = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ();< / div >
< div class = "line" > < a name = "l00835" > < / a > < span class = "lineno" > 835< / span >   CHECK_LE(size, assignment-> < a class = "code" href = "classoperations__research_1_1Assignment.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ())< / div >
< div class = "line" > < a name = "l00836" > < / a > < span class = "lineno" > 836< / span >   < < < span class = "stringliteral" > " Assignment contains fewer variables than operator" < / span > ;< / div >
< div class = "line" > < a name = "l00837" > < / a > < span class = "lineno" > 837< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < size; ++i) {< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00838" > < / a > < span class = "lineno" > 838< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > .Set(i, < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > var_handler_< / a > .ValueFromAssignment(*assignment, < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1" > vars_< / a > [i],< / div >
< div class = "line" > < a name = "l00839" > < / a > < span class = "lineno" > 839< / span >   i, & < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > values_< / a > [i]));< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00840" > < / a > < span class = "lineno" > 840< / span >   }< / div >
< div class = "line" > < a name = "l00841" > < / a > < span class = "lineno" > 841< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a68dd19d6f0517e2bfb128f87fbad4fea" > prev_values_< / a > = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a0aeeba03eeb9514e2946c44c733e994a" > old_values_< / a > ;< / div >
< div class = "line" > < a name = "l00842" > < / a > < span class = "lineno" > 842< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a0aeeba03eeb9514e2946c44c733e994a" > old_values_< / a > = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > values_< / a > ;< / div >
< div class = "line" > < a name = "l00843" > < / a > < span class = "lineno" > 843< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#ade0f309c001b408cf7fe2a5b3c672640" > was_activated_< / a > .SetContentFromBitsetOfSameSize(< a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > );< / div >
< div class = "line" > < a name = "l00844" > < / a > < span class = "lineno" > 844< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aae6d852f10b483ddfa68658e43130028" > OnStart< / a > ();< / div >
< div class = "line" > < a name = "l00845" > < / a > < span class = "lineno" > 845< / span >   }< / div >
< div class = "line" > < a name = "l00846" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa21d5f9b4adc94167e3a466095d82fd5" > 846< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa21d5f9b4adc94167e3a466095d82fd5" > IsIncremental< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ; }< / div >
< div class = "line" > < a name = "l00847" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a24926108b770033792d015cb86aeffb3" > 847< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1" > vars_< / a > .size(); }< / div >
< div class = "line" > < a name = "l00850" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0" > 850< / a > < / span >   < span class = "keyword" > const< / span > Val& < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0" > Value< / a > (int64 index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l00851" > < / a > < span class = "lineno" > 851< / span >   DCHECK_LT(index, < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1" > vars_< / a > .size());< / div >
< div class = "line" > < a name = "l00852" > < / a > < span class = "lineno" > 852< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > values_< / a > [index];< / div >
< div class = "line" > < a name = "l00853" > < / a > < span class = "lineno" > 853< / span >   }< / div >
< div class = "line" > < a name = "l00855" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8beb998a68abceb71f87d3bc8a35bd78" > 855< / a > < / span >   V* < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8beb998a68abceb71f87d3bc8a35bd78" > Var< / a > (int64 index)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1" > vars_< / a > [index]; }< / div >
< div class = "line" > < a name = "l00856" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a18eb329b669c6a2e4e2431ea950b52fe" > 856< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a18eb329b669c6a2e4e2431ea950b52fe" > SkipUnchanged< / a > (< span class = "keywordtype" > int< / span > index)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ; }< / div >
< div class = "line" > < a name = "l00857" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#af0cd6b9a608c61a52933fd53d53873af" > 857< / a > < / span >   < span class = "keyword" > const< / span > Val& < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#af0cd6b9a608c61a52933fd53d53873af" > OldValue< / a > (int64 index)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a0aeeba03eeb9514e2946c44c733e994a" > old_values_< / a > [index]; }< / div >
< div class = "line" > < a name = "l00858" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#af5f56c8c139f332cacfbd598c269887a" > 858< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#af5f56c8c139f332cacfbd598c269887a" > SetValue< / a > (int64 index, < span class = "keyword" > const< / span > Val& value) {< / div >
< div class = "line" > < a name = "l00859" > < / a > < span class = "lineno" > 859< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > values_< / a > [index] = value;< / div >
< div class = "line" > < a name = "l00860" > < / a > < span class = "lineno" > 860< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7d4345afe8b6013c483417a074add896" > MarkChange< / a > (index);< / div >
< div class = "line" > < a name = "l00861" > < / a > < span class = "lineno" > 861< / span >   }< / div >
< div class = "line" > < a name = "l00862" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#aff9b327f2a97858ac30a718bba4029c0" > 862< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aff9b327f2a97858ac30a718bba4029c0" > Activated< / a > (int64 index)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > [index]; }< / div >
< div class = "line" > < a name = "l00863" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#aebf766478091209b6170b5de179f9067" > 863< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aebf766478091209b6170b5de179f9067" > Activate< / a > (int64 index) {< / div >
< div class = "line" > < a name = "l00864" > < / a > < span class = "lineno" > 864< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > .Set(index);< / div >
< div class = "line" > < a name = "l00865" > < / a > < span class = "lineno" > 865< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7d4345afe8b6013c483417a074add896" > MarkChange< / a > (index);< / div >
< div class = "line" > < a name = "l00866" > < / a > < span class = "lineno" > 866< / span >   }< / div >
< div class = "line" > < a name = "l00867" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#abcdbe360c416a4cbb906188a13860d7f" > 867< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#abcdbe360c416a4cbb906188a13860d7f" > Deactivate< / a > (int64 index) {< / div >
< div class = "line" > < a name = "l00868" > < / a > < span class = "lineno" > 868< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > .Clear(index);< / div >
< div class = "line" > < a name = "l00869" > < / a > < span class = "lineno" > 869< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7d4345afe8b6013c483417a074add896" > MarkChange< / a > (index);< / div >
< div class = "line" > < a name = "l00870" > < / a > < span class = "lineno" > 870< / span >   }< / div >
< div class = "line" > < a name = "l00871" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#aabafb6d8996f5101db26b30efff406b0" > 871< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aabafb6d8996f5101db26b30efff406b0" > ApplyChanges< / a > (< a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta, < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * deltadelta)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l00872" > < / a > < span class = "lineno" > 872< / span >   < span class = "keywordflow" > if< / span > (< a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa21d5f9b4adc94167e3a466095d82fd5" > IsIncremental< / a > () & & !< a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a96d44fa3defc89fe5e0fc0eafaf32714" > cleared_< / a > ) {< / div >
< div class = "line" > < a name = "l00873" > < / a > < span class = "lineno" > 873< / span >   < span class = "keywordflow" > for< / span > (< span class = "keyword" > const< / span > int64 index : < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a6525132991e9140755b271a1cf43fee7" > delta_changes_< / a > .PositionsSetAtLeastOnce()) {< / div >
< div class = "line" > < a name = "l00874" > < / a > < span class = "lineno" > 874< / span >   V* var = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8beb998a68abceb71f87d3bc8a35bd78" > Var< / a > (index);< / div >
< div class = "line" > < a name = "l00875" > < / a > < span class = "lineno" > 875< / span >   < span class = "keyword" > const< / span > Val& value = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0" > Value< / a > (index);< / div >
< div class = "line" > < a name = "l00876" > < / a > < span class = "lineno" > 876< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > bool< / span > activated = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > [index];< / div >
< div class = "line" > < a name = "l00877" > < / a > < span class = "lineno" > 877< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > var_handler_< / a > .AddToAssignment(var, value, activated, < span class = "keyword" > nullptr< / span > , index,< / div >
< div class = "line" > < a name = "l00878" > < / a > < span class = "lineno" > 878< / span >   deltadelta);< / div >
< div class = "line" > < a name = "l00879" > < / a > < span class = "lineno" > 879< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > var_handler_< / a > .AddToAssignment(var, value, activated,< / div >
< div class = "line" > < a name = "l00880" > < / a > < span class = "lineno" > 880< / span >   & < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7b62af3db29eeb312e3cb06f7bb331ce" > assignment_indices_< / a > , index, delta);< / div >
< div class = "line" > < a name = "l00881" > < / a > < span class = "lineno" > 881< / span >   }< / div >
< div class = "line" > < a name = "l00882" > < / a > < span class = "lineno" > 882< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l00883" > < / a > < span class = "lineno" > 883< / span >   delta-> < a class = "code" href = "classoperations__research_1_1Assignment.html#aa71d36872f416feaa853788a7a7a7ef8" > Clear< / a > ();< / div >
< div class = "line" > < a name = "l00884" > < / a > < span class = "lineno" > 884< / span >   < span class = "keywordflow" > for< / span > (< span class = "keyword" > const< / span > int64 index : < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8f74f53b5802db835de7f925ffd7b105" > changes_< / a > .PositionsSetAtLeastOnce()) {< / div >
< div class = "line" > < a name = "l00885" > < / a > < span class = "lineno" > 885< / span >   < span class = "keyword" > const< / span > Val& value = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0" > Value< / a > (index);< / div >
< div class = "line" > < a name = "l00886" > < / a > < span class = "lineno" > 886< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > bool< / span > activated = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > [index];< / div >
< div class = "line" > < a name = "l00887" > < / a > < span class = "lineno" > 887< / span >   < span class = "keywordflow" > if< / span > (!activated || value != < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#af0cd6b9a608c61a52933fd53d53873af" > OldValue< / a > (index) || !< a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a18eb329b669c6a2e4e2431ea950b52fe" > SkipUnchanged< / a > (index)) {< / div >
< div class = "line" > < a name = "l00888" > < / a > < span class = "lineno" > 888< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > var_handler_< / a > .AddToAssignment(< a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8beb998a68abceb71f87d3bc8a35bd78" > Var< / a > (index), value, < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > [index],< / div >
< div class = "line" > < a name = "l00889" > < / a > < span class = "lineno" > 889< / span >   & < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7b62af3db29eeb312e3cb06f7bb331ce" > assignment_indices_< / a > , index, delta);< / div >
< div class = "line" > < a name = "l00890" > < / a > < span class = "lineno" > 890< / span >   }< / div >
< div class = "line" > < a name = "l00891" > < / a > < span class = "lineno" > 891< / span >   }< / div >
< div class = "line" > < a name = "l00892" > < / a > < span class = "lineno" > 892< / span >   }< / div >
< div class = "line" > < a name = "l00893" > < / a > < span class = "lineno" > 893< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l00894" > < / a > < span class = "lineno" > 894< / span >   }< / div >
< div class = "line" > < a name = "l00895" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a06eb05df61a9b9fce744928947f43d89" > 895< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a06eb05df61a9b9fce744928947f43d89" > RevertChanges< / a > (< span class = "keywordtype" > bool< / span > incremental) {< / div >
< div class = "line" > < a name = "l00896" > < / a > < span class = "lineno" > 896< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a96d44fa3defc89fe5e0fc0eafaf32714" > cleared_< / a > = < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l00897" > < / a > < span class = "lineno" > 897< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a6525132991e9140755b271a1cf43fee7" > delta_changes_< / a > .SparseClearAll();< / div >
< div class = "line" > < a name = "l00898" > < / a > < span class = "lineno" > 898< / span >   < span class = "keywordflow" > if< / span > (incremental & & < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa21d5f9b4adc94167e3a466095d82fd5" > IsIncremental< / a > ()) < span class = "keywordflow" > return< / span > ;< / div >
< div class = "line" > < a name = "l00899" > < / a > < span class = "lineno" > 899< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a96d44fa3defc89fe5e0fc0eafaf32714" > cleared_< / a > = < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l00900" > < / a > < span class = "lineno" > 900< / span >   < span class = "keywordflow" > for< / span > (< span class = "keyword" > const< / span > int64 index : < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8f74f53b5802db835de7f925ffd7b105" > changes_< / a > .PositionsSetAtLeastOnce()) {< / div >
< div class = "line" > < a name = "l00901" > < / a > < span class = "lineno" > 901< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > values_< / a > [index] = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a0aeeba03eeb9514e2946c44c733e994a" > old_values_< / a > [index];< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00902" > < / a > < span class = "lineno" > 902< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > var_handler_< / a > .OnRevertChanges(index, < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > values_< / a > [index]);< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00903" > < / a > < span class = "lineno" > 903< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > .CopyBucket(< a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#ade0f309c001b408cf7fe2a5b3c672640" > was_activated_< / a > , index);< / div >
< div class = "line" > < a name = "l00904" > < / a > < span class = "lineno" > 904< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7b62af3db29eeb312e3cb06f7bb331ce" > assignment_indices_< / a > [index] = -1;< / div >
< div class = "line" > < a name = "l00905" > < / a > < span class = "lineno" > 905< / span >   }< / div >
< div class = "line" > < a name = "l00906" > < / a > < span class = "lineno" > 906< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8f74f53b5802db835de7f925ffd7b105" > changes_< / a > .SparseClearAll();< / div >
< div class = "line" > < a name = "l00907" > < / a > < span class = "lineno" > 907< / span >   }< / div >
< div class = "line" > < a name = "l00908" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#ae2af73491ab2aa6804b443d442026a5e" > 908< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#ae2af73491ab2aa6804b443d442026a5e" > AddVars< / a > (< span class = "keyword" > const< / span > std::vector< V*> & vars) {< / div >
< div class = "line" > < a name = "l00909" > < / a > < span class = "lineno" > 909< / span >   < span class = "keywordflow" > if< / span > (!vars.empty()) {< / div >
< div class = "line" > < a name = "l00910" > < / a > < span class = "lineno" > 910< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1" > vars_< / a > .insert(< a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1" > vars_< / a > .end(), vars.begin(), vars.end());< / div >
< div class = "line" > < a name = "l00911" > < / a > < span class = "lineno" > 911< / span >   < span class = "keyword" > const< / span > int64 size = < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ();< / div >
< div class = "line" > < a name = "l00912" > < / a > < span class = "lineno" > 912< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > values_< / a > .resize(size);< / div >
< div class = "line" > < a name = "l00913" > < / a > < span class = "lineno" > 913< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a0aeeba03eeb9514e2946c44c733e994a" > old_values_< / a > .resize(size);< / div >
< div class = "line" > < a name = "l00914" > < / a > < span class = "lineno" > 914< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a68dd19d6f0517e2bfb128f87fbad4fea" > prev_values_< / a > .resize(size);< / div >
< div class = "line" > < a name = "l00915" > < / a > < span class = "lineno" > 915< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7b62af3db29eeb312e3cb06f7bb331ce" > assignment_indices_< / a > .resize(size, -1);< / div >
< div class = "line" > < a name = "l00916" > < / a > < span class = "lineno" > 916< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > .Resize(size);< / div >
< div class = "line" > < a name = "l00917" > < / a > < span class = "lineno" > 917< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#ade0f309c001b408cf7fe2a5b3c672640" > was_activated_< / a > .Resize(size);< / div >
< div class = "line" > < a name = "l00918" > < / a > < span class = "lineno" > 918< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8f74f53b5802db835de7f925ffd7b105" > changes_< / a > .ClearAndResize(size);< / div >
< div class = "line" > < a name = "l00919" > < / a > < span class = "lineno" > 919< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a6525132991e9140755b271a1cf43fee7" > delta_changes_< / a > .ClearAndResize(size);< / div >
< div class = "line" > < a name = "l00920" > < / a > < span class = "lineno" > 920< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > var_handler_< / a > .OnAddVars();< / div >
< div class = "line" > < a name = "l00921" > < / a > < span class = "lineno" > 921< / span >   }< / div >
< div class = "line" > < a name = "l00922" > < / a > < span class = "lineno" > 922< / span >   }< / div >
< div class = "line" > < a name = "l00923" > < / a > < span class = "lineno" > 923< / span >   < / div >
< div class = "line" > < a name = "l00927" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#aae6d852f10b483ddfa68658e43130028" > 927< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aae6d852f10b483ddfa68658e43130028" > OnStart< / a > () {}< / div >
< div class = "line" > < a name = "l00928" > < / a > < span class = "lineno" > 928< / span >   < / div >
< div class = "line" > < a name = "l00931" > < / a > < span class = "lineno" > 931< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l00932" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7d4345afe8b6013c483417a074add896" > 932< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7d4345afe8b6013c483417a074add896" > MarkChange< / a > (int64 index) {< / div >
< div class = "line" > < a name = "l00933" > < / a > < span class = "lineno" > 933< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a6525132991e9140755b271a1cf43fee7" > delta_changes_< / a > .Set(index);< / div >
< div class = "line" > < a name = "l00934" > < / a > < span class = "lineno" > 934< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8f74f53b5802db835de7f925ffd7b105" > changes_< / a > .Set(index);< / div >
< div class = "line" > < a name = "l00935" > < / a > < span class = "lineno" > 935< / span >   }< / div >
< div class = "line" > < a name = "l00936" > < / a > < span class = "lineno" > 936< / span >   < / div >
< div class = "line" > < a name = "l00937" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1" > 937< / a > < / span >   std::vector< V*> < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1" > vars_< / a > ;< / div >
< div class = "line" > < a name = "l00938" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > 938< / a > < / span >   std::vector< Val> < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > values_< / a > ;< / div >
< div class = "line" > < a name = "l00939" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a0aeeba03eeb9514e2946c44c733e994a" > 939< / a > < / span >   std::vector< Val> < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a0aeeba03eeb9514e2946c44c733e994a" > old_values_< / a > ;< / div >
< div class = "line" > < a name = "l00940" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a68dd19d6f0517e2bfb128f87fbad4fea" > 940< / a > < / span >   std::vector< Val> < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a68dd19d6f0517e2bfb128f87fbad4fea" > prev_values_< / a > ;< / div >
< div class = "line" > < a name = "l00941" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7b62af3db29eeb312e3cb06f7bb331ce" > 941< / a > < / span >   < span class = "keyword" > mutable< / span > std::vector< int> < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7b62af3db29eeb312e3cb06f7bb331ce" > assignment_indices_< / a > ;< / div >
< div class = "line" > < a name = "l00942" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > 942< / a > < / span >   Bitset64< > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > activated_< / a > ;< / div >
< div class = "line" > < a name = "l00943" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#ade0f309c001b408cf7fe2a5b3c672640" > 943< / a > < / span >   Bitset64< > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#ade0f309c001b408cf7fe2a5b3c672640" > was_activated_< / a > ;< / div >
< div class = "line" > < a name = "l00944" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8f74f53b5802db835de7f925ffd7b105" > 944< / a > < / span >   SparseBitset< > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8f74f53b5802db835de7f925ffd7b105" > changes_< / a > ;< / div >
< div class = "line" > < a name = "l00945" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a6525132991e9140755b271a1cf43fee7" > 945< / a > < / span >   SparseBitset< > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a6525132991e9140755b271a1cf43fee7" > delta_changes_< / a > ;< / div >
< div class = "line" > < a name = "l00946" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#a96d44fa3defc89fe5e0fc0eafaf32714" > 946< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a96d44fa3defc89fe5e0fc0eafaf32714" > cleared_< / a > ;< / div >
< div class = "line" > < a name = "l00947" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > 947< / a > < / span >   Handler < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > var_handler_< / a > ;< / div >
< div class = "line" > < a name = "l00948" > < / a > < span class = "lineno" > 948< / span >   };< / div >
< div class = "line" > < a name = "l00949" > < / a > < span class = "lineno" > 949< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00951" > < / a > < span class = "lineno" > 951< / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html" > IntVarLocalSearchOperator< / a > ;< / div >
< div class = "line" > < a name = "l00952" > < / a > < span class = "lineno" > 952< / span >   < / div >
< div class = "line" > < a name = "l00953" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchHandler.html" > 953< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html" > IntVarLocalSearchHandler< / a > {< / div >
< div class = "line" > < a name = "l00954" > < / a > < span class = "lineno" > 954< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l00955" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#aa13961bacce6e6f3501e633462882070" > 955< / a > < / span >   < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#aa13961bacce6e6f3501e633462882070" > IntVarLocalSearchHandler< / a > () : op_(nullptr) {}< / div >
< div class = "line" > < a name = "l00956" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ac2e895b6e77d8a09a52210eca1de3ee6" > 956< / a > < / span >   < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ac2e895b6e77d8a09a52210eca1de3ee6" > IntVarLocalSearchHandler< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html" > IntVarLocalSearchHandler< / a > & other)< / div >
< div class = "line" > < a name = "l00957" > < / a > < span class = "lineno" > 957< / span >   : op_(other.op_) {}< / div >
< div class = "line" > < a name = "l00958" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ad20b69bddb1430dd0e5fbd5c92d339a0" > 958< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ad20b69bddb1430dd0e5fbd5c92d339a0" > IntVarLocalSearchHandler< / a > (< a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html" > IntVarLocalSearchOperator< / a > * op) : op_(op) {}< / div >
< div class = "line" > < a name = "l00959" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#aea490de1b21312306e2045627bca3a52" > 959< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#aea490de1b21312306e2045627bca3a52" > AddToAssignment< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * var, int64 value, < span class = "keywordtype" > bool< / span > active,< / div >
< div class = "line" > < a name = "l00960" > < / a > < span class = "lineno" > 960< / span >   std::vector< int> * assignment_indices, int64 index,< / div >
< div class = "line" > < a name = "l00961" > < / a > < span class = "lineno" > 961< / span >   < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * assignment)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l00962" > < / a > < span class = "lineno" > 962< / span >   < a class = "code" href = "classoperations__research_1_1AssignmentContainer.html" > Assignment::IntContainer< / a > * < span class = "keyword" > const< / span > container =< / div >
< div class = "line" > < a name = "l00963" > < / a > < span class = "lineno" > 963< / span >   assignment-> < a class = "code" href = "classoperations__research_1_1Assignment.html#a11963e86e6bc074096264e96ccd5c755" > MutableIntVarContainer< / a > ();< / div >
< div class = "line" > < a name = "l00964" > < / a > < span class = "lineno" > 964< / span >   < a class = "code" href = "classoperations__research_1_1IntVarElement.html" > IntVarElement< / a > * element = < span class = "keyword" > nullptr< / span > ;< / div >
< div class = "line" > < a name = "l00965" > < / a > < span class = "lineno" > 965< / span >   < span class = "keywordflow" > if< / span > (assignment_indices != < span class = "keyword" > nullptr< / span > ) {< / div >
< div class = "line" > < a name = "l00966" > < / a > < span class = "lineno" > 966< / span >   < span class = "keywordflow" > if< / span > ((*assignment_indices)[index] == -1) {< / div >
< div class = "line" > < a name = "l00967" > < / a > < span class = "lineno" > 967< / span >   (*assignment_indices)[index] = container-> < a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ();< / div >
< div class = "line" > < a name = "l00968" > < / a > < span class = "lineno" > 968< / span >   element = assignment-> < a class = "code" href = "classoperations__research_1_1Assignment.html#ae7e79ac5cad1bf2d1960f5f3c18bc575" > FastAdd< / a > (var);< / div >
< div class = "line" > < a name = "l00969" > < / a > < span class = "lineno" > 969< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l00970" > < / a > < span class = "lineno" > 970< / span >   element = container-> < a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a2155d56276e438298f2bd34505ec3dc6" > MutableElement< / a > ((*assignment_indices)[index]);< / div >
< div class = "line" > < a name = "l00971" > < / a > < span class = "lineno" > 971< / span >   }< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00972" > < / a > < span class = "lineno" > 972< / span >   } < span class = "keywordflow" > else< / span > {< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00973" > < / a > < span class = "lineno" > 973< / span >   element = assignment-> < a class = "code" href = "classoperations__research_1_1Assignment.html#ae7e79ac5cad1bf2d1960f5f3c18bc575" > FastAdd< / a > (var);< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l00974" > < / a > < span class = "lineno" > 974< / span >   }< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l00975" > < / a > < span class = "lineno" > 975< / span >   < span class = "keywordflow" > if< / span > (active) {< / div >
< div class = "line" > < a name = "l00976" > < / a > < span class = "lineno" > 976< / span >   element-> < a class = "code" href = "classoperations__research_1_1IntVarElement.html#ace66161c2f260353b4f03ef33455cd2f" > SetValue< / a > (value);< / div >
< div class = "line" > < a name = "l00977" > < / a > < span class = "lineno" > 977< / span >   element-> < a class = "code" href = "classoperations__research_1_1AssignmentElement.html#ae8753efaeea05f65094a4875a694a368" > Activate< / a > ();< / div >
< div class = "line" > < a name = "l00978" > < / a > < span class = "lineno" > 978< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l00979" > < / a > < span class = "lineno" > 979< / span >   element-> < a class = "code" href = "classoperations__research_1_1AssignmentElement.html#a9c9dd3575fbfc59e05ae9ed1c05f8896" > Deactivate< / a > ();< / div >
< div class = "line" > < a name = "l00980" > < / a > < span class = "lineno" > 980< / span >   }< / div >
< div class = "line" > < a name = "l00981" > < / a > < span class = "lineno" > 981< / span >   }< / div >
< div class = "line" > < a name = "l00982" > < / a > < span class = "lineno" > 982< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ace1ea078c1e7bcf68f0011bb0b53d220" > ValueFromAssignment< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > & assignment, < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * var,< / div >
< div class = "line" > < a name = "l00983" > < / a > < span class = "lineno" > 983< / span >   int64 index, int64* value);< / div >
< div class = "line" > < a name = "l00984" > < / a > < span class = "lineno" > 984< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#a90e39cd1015a0b4f34d89a7f38d638ed" > OnRevertChanges< / a > (int64 index, int64 value);< / div >
< div class = "line" > < a name = "l00985" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#a97b236691225d7209706cf03fc455dc9" > 985< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#a97b236691225d7209706cf03fc455dc9" > OnAddVars< / a > () {}< / div >
< div class = "line" > < a name = "l00986" > < / a > < span class = "lineno" > 986< / span >   < / div >
< div class = "line" > < a name = "l00987" > < / a > < span class = "lineno" > 987< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l00988" > < / a > < span class = "lineno" > 988< / span >   < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html" > IntVarLocalSearchOperator< / a > * < span class = "keyword" > const< / span > op_;< / div >
< div class = "line" > < a name = "l00989" > < / a > < span class = "lineno" > 989< / span >   };< / div >
< div class = "line" > < a name = "l00990" > < / a > < span class = "lineno" > 990< / span >   < / div >
< div class = "line" > < a name = "l00996" > < / a > < span class = "lineno" > 996< / span >   < / div >
< div class = "line" > < a name = "l00997" > < / a > < span class = "lineno" > 997< / span >   < span class = "preprocessor" > #ifdef SWIG< / span > < / div >
< div class = "line" > < a name = "l00998" > < / a > < span class = "lineno" > 998< / span >   < span class = "comment" > // TODO(user): find a way to move this code back to the .i file, where it< / span > < / div >
< div class = "line" > < a name = "l01005" > < / a > < span class = "lineno" > 1005< / span >   < span class = "comment" > < / span > < span class = "preprocessor" > #if defined(SWIGPYTHON)< / span > < / div >
< div class = "line" > < a name = "l01006" > < / a > < span class = "lineno" > 1006< / span >   %unignore VarLocalSearchOperator< IntVar, int64,< / div >
< div class = "line" > < a name = "l01007" > < / a > < span class = "lineno" > 1007< / span >   IntVarLocalSearchHandler> ::Size;< / div >
< div class = "line" > < a name = "l01008" > < / a > < span class = "lineno" > 1008< / span >   %unignore VarLocalSearchOperator< IntVar, int64,< / div >
< div class = "line" > < a name = "l01009" > < / a > < span class = "lineno" > 1009< / span >   IntVarLocalSearchHandler> ::Value;< / div >
< div class = "line" > < a name = "l01010" > < / a > < span class = "lineno" > 1010< / span >   %unignore VarLocalSearchOperator< IntVar, int64,< / div >
< div class = "line" > < a name = "l01011" > < / a > < span class = "lineno" > 1011< / span >   IntVarLocalSearchHandler> ::OldValue;< / div >
< div class = "line" > < a name = "l01012" > < / a > < span class = "lineno" > 1012< / span >   %unignore VarLocalSearchOperator< IntVar, int64,< / div >
< div class = "line" > < a name = "l01013" > < / a > < span class = "lineno" > 1013< / span >   IntVarLocalSearchHandler> ::SetValue;< / div >
< div class = "line" > < a name = "l01014" > < / a > < span class = "lineno" > 1014< / span >   %feature(< span class = "stringliteral" > " director" < / span > ) VarLocalSearchOperator< IntVar, int64,< / div >
< div class = "line" > < a name = "l01015" > < / a > < span class = "lineno" > 1015< / span >   IntVarLocalSearchHandler> ::IsIncremental;< / div >
< div class = "line" > < a name = "l01016" > < / a > < span class = "lineno" > 1016< / span >   %feature(" director" ) VarLocalSearchOperator< IntVar, int64,< / div >
< div class = "line" > < a name = "l01017" > < / a > < span class = "lineno" > 1017< / span >   IntVarLocalSearchHandler> ::OnStart;< / div >
< div class = "line" > < a name = "l01018" > < / a > < span class = "lineno" > 1018< / span >   %unignore VarLocalSearchOperator< IntVar, int64,< / div >
< div class = "line" > < a name = "l01019" > < / a > < span class = "lineno" > 1019< / span >   IntVarLocalSearchHandler> ::IsIncremental;< / div >
< div class = "line" > < a name = "l01020" > < / a > < span class = "lineno" > 1020< / span >   %unignore VarLocalSearchOperator< IntVar, int64,< / div >
< div class = "line" > < a name = "l01021" > < / a > < span class = "lineno" > 1021< / span >   IntVarLocalSearchHandler> ::OnStart;< / div >
< div class = "line" > < a name = "l01022" > < / a > < span class = "lineno" > 1022< / span >   < span class = "preprocessor" > #endif // SWIGPYTHON< / span > < / div >
< div class = "line" > < a name = "l01023" > < / a > < span class = "lineno" > 1023< / span >   < / div >
< div class = "line" > < a name = "l01024" > < / a > < span class = "lineno" > 1024< / span >   < span class = "comment" > // clang-format off< / span > < / div >
< div class = "line" > < a name = "l01025" > < / a > < span class = "lineno" > 1025< / span >   %rename(IntVarLocalSearchOperatorTemplate)< / div >
< div class = "line" > < a name = "l01026" > < / a > < span class = "lineno" > 1026< / span >   VarLocalSearchOperator< IntVar, int64, IntVarLocalSearchHandler> ;< / div >
< div class = "line" > < a name = "l01027" > < / a > < span class = "lineno" > 1027< / span >   %< span class = "keyword" > template< / span > (IntVarLocalSearchOperatorTemplate)< / div >
< div class = "line" > < a name = "l01028" > < / a > < span class = "lineno" > 1028< / span >   VarLocalSearchOperator< IntVar, int64, IntVarLocalSearchHandler> ;< / div >
< div class = "line" > < a name = "l01029" > < / a > < span class = "lineno" > 1029< / span >   < span class = "comment" > // clang-format on< / span > < / div >
< div class = "line" > < a name = "l01030" > < / a > < span class = "lineno" > 1030< / span >   < span class = "preprocessor" > #endif // SWIG< / span > < / div >
< div class = "line" > < a name = "l01031" > < / a > < span class = "lineno" > 1031< / span >   < / div >
< div class = "line" > < a name = "l01032" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html" > 1032< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html" > IntVarLocalSearchOperator< / a > < / div >
< div class = "line" > < a name = "l01033" > < / a > < span class = "lineno" > 1033< / span >   : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html" > VarLocalSearchOperator< IntVar, int64, IntVarLocalSearchHandler> < / a > {< / div >
< div class = "line" > < a name = "l01034" > < / a > < span class = "lineno" > 1034< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01035" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#aa9d1112ec8418e1679ae4785c3862ffd" > 1035< / a > < / span >   < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#aa9d1112ec8418e1679ae4785c3862ffd" > IntVarLocalSearchOperator< / a > () : max_inverse_value_(-1) {}< / div >
< div class = "line" > < a name = "l01036" > < / a > < span class = "lineno" > 1036< / span >   < span class = "comment" > // If keep_inverse_values is true, assumes that vars models an injective< / span > < / div >
< div class = "line" > < a name = "l01037" > < / a > < span class = "lineno" > 1037< / span >   < span class = "comment" > // function f with domain [0, vars.size()) in which case the operator will< / span > < / div >
< div class = "line" > < a name = "l01038" > < / a > < span class = "lineno" > 1038< / span >   < span class = "comment" > // maintain the inverse function.< / span > < / div >
< div class = "line" > < a name = "l01039" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#ac8d84ceae8536513503a3132372cca0f" > 1039< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#ac8d84ceae8536513503a3132372cca0f" > IntVarLocalSearchOperator< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars,< / div >
< div class = "line" > < a name = "l01040" > < / a > < span class = "lineno" > 1040< / span >   < span class = "keywordtype" > bool< / span > keep_inverse_values = < span class = "keyword" > false< / span > )< / div >
< div class = "line" > < a name = "l01041" > < / a > < span class = "lineno" > 1041< / span >   : < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html" > VarLocalSearchOperator< / a > < < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > , int64, < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html" > IntVarLocalSearchHandler< / a > > (< / div >
< div class = "line" > < a name = "l01042" > < / a > < span class = "lineno" > 1042< / span >   < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html" > IntVarLocalSearchHandler< / a > (this)),< / div >
< div class = "line" > < a name = "l01043" > < / a > < span class = "lineno" > 1043< / span >   max_inverse_value_(keep_inverse_values ? vars.size() - 1 : -1) {< / div >
< div class = "line" > < a name = "l01044" > < / a > < span class = "lineno" > 1044< / span >   AddVars(vars);< / div >
< div class = "line" > < a name = "l01045" > < / a > < span class = "lineno" > 1045< / span >   < span class = "keywordflow" > if< / span > (keep_inverse_values) {< / div >
< div class = "line" > < a name = "l01046" > < / a > < span class = "lineno" > 1046< / span >   int64 max_value = -1;< / div >
< div class = "line" > < a name = "l01047" > < / a > < span class = "lineno" > 1047< / span >   < span class = "keywordflow" > for< / span > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var : vars) {< / div >
< div class = "line" > < a name = "l01048" > < / a > < span class = "lineno" > 1048< / span >   max_value = std::max(max_value, var-> Max());< / div >
< div class = "line" > < a name = "l01049" > < / a > < span class = "lineno" > 1049< / span >   }< / div >
< div class = "line" > < a name = "l01050" > < / a > < span class = "lineno" > 1050< / span >   inverse_values_.resize(max_value + 1, -1);< / div >
< div class = "line" > < a name = "l01051" > < / a > < span class = "lineno" > 1051< / span >   old_inverse_values_.resize(max_value + 1, -1);< / div >
< div class = "line" > < a name = "l01052" > < / a > < span class = "lineno" > 1052< / span >   }< / div >
< div class = "line" > < a name = "l01053" > < / a > < span class = "lineno" > 1053< / span >   }< / div >
< div class = "line" > < a name = "l01054" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a6c3af3418997de51df855f6321d299f1" > 1054< / a > < / span >   < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a6c3af3418997de51df855f6321d299f1" > ~IntVarLocalSearchOperator< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l01061" > < / a > < span class = "lineno" > 1061< / span >   < span class = "keywordtype" > bool< / span > MakeNextNeighbor(< a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta, < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * deltadelta) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01062" > < / a > < span class = "lineno" > 1062< / span >   < / div >
< div class = "line" > < a name = "l01063" > < / a > < span class = "lineno" > 1063< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l01064" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a3441b36fa04791719efbfae2faca30a0" > 1064< / a > < / span >   < span class = "keyword" > friend< / span > < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a3441b36fa04791719efbfae2faca30a0" > IntVarLocalSearchHandler< / a > ;< / div >
< div class = "line" > < a name = "l01065" > < / a > < span class = "lineno" > 1065< / span >   < / div >
< div class = "line" > < a name = "l01068" > < / a > < span class = "lineno" > 1068< / span >   < span class = "comment" > // TODO(user): make it pure virtual, implies porting all apps overriding< / span > < / div >
< div class = "line" > < a name = "l01070" > < / a > < span class = "lineno" > 1070< / span >   < span class = "comment" > < / span > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > MakeOneNeighbor();< / div >
< div class = "line" > < a name = "l01071" > < / a > < span class = "lineno" > 1071< / span >   < / div >
< div class = "line" > < a name = "l01072" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#aa4cbeb0a6b5484ff3d4dae2d87ead489" > 1072< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#aa4cbeb0a6b5484ff3d4dae2d87ead489" > IsInverseValue< / a > (int64 index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01073" > < / a > < span class = "lineno" > 1073< / span >   DCHECK_GE(index, 0);< / div >
< div class = "line" > < a name = "l01074" > < / a > < span class = "lineno" > 1074< / span >   < span class = "keywordflow" > return< / span > index < = max_inverse_value_;< / div >
< div class = "line" > < a name = "l01075" > < / a > < span class = "lineno" > 1075< / span >   }< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l01076" > < / a > < span class = "lineno" > 1076< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l01077" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a104b124a8b90a018a1583aa5f46081d9" > 1077< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a104b124a8b90a018a1583aa5f46081d9" > InverseValue< / a > (int64 index)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > inverse_values_[index]; }< / div >
< div class = "line" > < a name = "l01078" > < / a > < span class = "lineno" > 1078< / span >   < / div >
< div class = "line" > < a name = "l01079" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#ad462943207eb6d9ff00258445fb9e9dc" > 1079< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#ad462943207eb6d9ff00258445fb9e9dc" > OldInverseValue< / a > (int64 index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01080" > < / a > < span class = "lineno" > 1080< / span >   < span class = "keywordflow" > return< / span > old_inverse_values_[index];< / div >
< div class = "line" > < a name = "l01081" > < / a > < span class = "lineno" > 1081< / span >   }< / div >
< div class = "line" > < a name = "l01082" > < / a > < span class = "lineno" > 1082< / span >   < / div >
< div class = "line" > < a name = "l01083" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a31d7dd39e21aad23250613bb884d0d2b" > 1083< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a31d7dd39e21aad23250613bb884d0d2b" > SetInverseValue< / a > (int64 index, int64 value) {< / div >
< div class = "line" > < a name = "l01084" > < / a > < span class = "lineno" > 1084< / span >   inverse_values_[index] = value;< / div >
< div class = "line" > < a name = "l01085" > < / a > < span class = "lineno" > 1085< / span >   }< / div >
< div class = "line" > < a name = "l01086" > < / a > < span class = "lineno" > 1086< / span >   < / div >
< div class = "line" > < a name = "l01087" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a21cd5f9a362cd868371a6015c30874b7" > 1087< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a21cd5f9a362cd868371a6015c30874b7" > SetOldInverseValue< / a > (int64 index, int64 value) {< / div >
< div class = "line" > < a name = "l01088" > < / a > < span class = "lineno" > 1088< / span >   old_inverse_values_[index] = value;< / div >
< div class = "line" > < a name = "l01089" > < / a > < span class = "lineno" > 1089< / span >   }< / div >
< div class = "line" > < a name = "l01090" > < / a > < span class = "lineno" > 1090< / span >   < / div >
< div class = "line" > < a name = "l01091" > < / a > < span class = "lineno" > 1091< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01092" > < / a > < span class = "lineno" > 1092< / span >   < span class = "keyword" > const< / span > int64 max_inverse_value_;< / div >
< div class = "line" > < a name = "l01093" > < / a > < span class = "lineno" > 1093< / span >   std::vector< int64> old_inverse_values_;< / div >
< div class = "line" > < a name = "l01094" > < / a > < span class = "lineno" > 1094< / span >   std::vector< int64> inverse_values_;< / div >
< div class = "line" > < a name = "l01095" > < / a > < span class = "lineno" > 1095< / span >   };< / div >
< div class = "line" > < a name = "l01096" > < / a > < span class = "lineno" > 1096< / span >   < / div >
< div class = "line" > < a name = "l01097" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ace1ea078c1e7bcf68f0011bb0b53d220" > 1097< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ace1ea078c1e7bcf68f0011bb0b53d220" > IntVarLocalSearchHandler::ValueFromAssignment< / a > (< / div >
< div class = "line" > < a name = "l01098" > < / a > < span class = "lineno" > 1098< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > & assignment, < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * var, int64 index, int64* value) {< / div >
< div class = "line" > < a name = "l01099" > < / a > < span class = "lineno" > 1099< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1AssignmentContainer.html" > Assignment::IntContainer< / a > & container = assignment.< a class = "code" href = "classoperations__research_1_1Assignment.html#a1f16f5a2e5767013b620efd255fb35ea" > IntVarContainer< / a > ();< / div >
< div class = "line" > < a name = "l01100" > < / a > < span class = "lineno" > 1100< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1IntVarElement.html" > IntVarElement< / a > * element = & (container.< a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27" > Element< / a > (index));< / div >
< div class = "line" > < a name = "l01101" > < / a > < span class = "lineno" > 1101< / span >   < span class = "keywordflow" > if< / span > (element-> < a class = "code" href = "classoperations__research_1_1IntVarElement.html#a8052ccc3aba839f3befd553cc05b85a0" > Var< / a > () != var) {< / div >
< div class = "line" > < a name = "l01102" > < / a > < span class = "lineno" > 1102< / span >   CHECK(container.< a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a4beccbd8819d830e06223550b8ca6d10" > Contains< / a > (var))< / div >
< div class = "line" > < a name = "l01103" > < / a > < span class = "lineno" > 1103< / span >   < < < span class = "stringliteral" > " Assignment does not contain operator variable " < / span > < < var;< / div >
< div class = "line" > < a name = "l01104" > < / a > < span class = "lineno" > 1104< / span >   element = & (container.< a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27" > Element< / a > (var));< / div >
< div class = "line" > < a name = "l01105" > < / a > < span class = "lineno" > 1105< / span >   }< / div >
< div class = "line" > < a name = "l01106" > < / a > < span class = "lineno" > 1106< / span >   *value = element-> < a class = "code" href = "classoperations__research_1_1IntVarElement.html#aeabf4572ab5bf48ec3e07660c9587385" > Value< / a > ();< / div >
< div class = "line" > < a name = "l01107" > < / a > < span class = "lineno" > 1107< / span >   < span class = "keywordflow" > if< / span > (op_-> < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#aa4cbeb0a6b5484ff3d4dae2d87ead489" > IsInverseValue< / a > (index)) {< / div >
< div class = "line" > < a name = "l01108" > < / a > < span class = "lineno" > 1108< / span >   op_-> < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a31d7dd39e21aad23250613bb884d0d2b" > SetInverseValue< / a > (*value, index);< / div >
< div class = "line" > < a name = "l01109" > < / a > < span class = "lineno" > 1109< / span >   op_-> < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a21cd5f9a362cd868371a6015c30874b7" > SetOldInverseValue< / a > (*value, index);< / div >
< div class = "line" > < a name = "l01110" > < / a > < span class = "lineno" > 1110< / span >   }< / div >
< div class = "line" > < a name = "l01111" > < / a > < span class = "lineno" > 1111< / span >   < span class = "keywordflow" > return< / span > element-> < a class = "code" href = "classoperations__research_1_1AssignmentElement.html#ae79195ce9bb522329dfaedaba78bd4e2" > Activated< / a > ();< / div >
< div class = "line" > < a name = "l01112" > < / a > < span class = "lineno" > 1112< / span >   }< / div >
< div class = "line" > < a name = "l01113" > < / a > < span class = "lineno" > 1113< / span >   < / div >
< div class = "line" > < a name = "l01114" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#a90e39cd1015a0b4f34d89a7f38d638ed" > 1114< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchHandler.html#a90e39cd1015a0b4f34d89a7f38d638ed" > IntVarLocalSearchHandler::OnRevertChanges< / a > (int64 index,< / div >
< div class = "line" > < a name = "l01115" > < / a > < span class = "lineno" > 1115< / span >   int64 value) {< / div >
< div class = "line" > < a name = "l01116" > < / a > < span class = "lineno" > 1116< / span >   < span class = "keywordflow" > if< / span > (op_-> < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#aa4cbeb0a6b5484ff3d4dae2d87ead489" > IsInverseValue< / a > (index)) {< / div >
< div class = "line" > < a name = "l01117" > < / a > < span class = "lineno" > 1117< / span >   op_-> < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a31d7dd39e21aad23250613bb884d0d2b" > SetInverseValue< / a > (value, index);< / div >
< div class = "line" > < a name = "l01118" > < / a > < span class = "lineno" > 1118< / span >   }< / div >
< div class = "line" > < a name = "l01119" > < / a > < span class = "lineno" > 1119< / span >   }< / div >
< div class = "line" > < a name = "l01120" > < / a > < span class = "lineno" > 1120< / span >   < / div >
< div class = "line" > < a name = "l01122" > < / a > < span class = "lineno" > 1122< / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html" > SequenceVarLocalSearchOperator< / a > ;< / div >
< div class = "line" > < a name = "l01123" > < / a > < span class = "lineno" > 1123< / span >   < / div >
< div class = "line" > < a name = "l01124" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html" > 1124< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html" > SequenceVarLocalSearchHandler< / a > {< / div >
< div class = "line" > < a name = "l01125" > < / a > < span class = "lineno" > 1125< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01126" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a313406fc0b0f1f176d75edbde9899961" > 1126< / a > < / span >   < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a313406fc0b0f1f176d75edbde9899961" > SequenceVarLocalSearchHandler< / a > () : op_(nullptr) {}< / div >
< div class = "line" > < a name = "l01127" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a25604d83014cbeac92c0ca5d21e9f621" > 1127< / a > < / span >   < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a25604d83014cbeac92c0ca5d21e9f621" > SequenceVarLocalSearchHandler< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html" > SequenceVarLocalSearchHandler< / a > & other)< / div >
< div class = "line" > < a name = "l01128" > < / a > < span class = "lineno" > 1128< / span >   : op_(other.op_) {}< / div >
< div class = "line" > < a name = "l01129" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a4314d5003c94cf5333271a1f2703b7ed" > 1129< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a4314d5003c94cf5333271a1f2703b7ed" > SequenceVarLocalSearchHandler< / a > (< a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html" > SequenceVarLocalSearchOperator< / a > * op)< / div >
< div class = "line" > < a name = "l01130" > < / a > < span class = "lineno" > 1130< / span >   : op_(op) {}< / div >
< div class = "line" > < a name = "l01131" > < / a > < span class = "lineno" > 1131< / span >   < span class = "keywordtype" > void< / span > AddToAssignment(< a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * var, < span class = "keyword" > const< / span > std::vector< int> & value,< / div >
< div class = "line" > < a name = "l01132" > < / a > < span class = "lineno" > 1132< / span >   < span class = "keywordtype" > bool< / span > active, std::vector< int> * assignment_indices,< / div >
< div class = "line" > < a name = "l01133" > < / a > < span class = "lineno" > 1133< / span >   int64 index, < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * assignment) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l01134" > < / a > < span class = "lineno" > 1134< / span >   < span class = "keywordtype" > bool< / span > ValueFromAssignment(< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > & assignment, < a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * var,< / div >
< div class = "line" > < a name = "l01135" > < / a > < span class = "lineno" > 1135< / span >   int64 index, std::vector< int> * value);< / div >
< div class = "line" > < a name = "l01136" > < / a > < span class = "lineno" > 1136< / span >   < span class = "keywordtype" > void< / span > OnRevertChanges(int64 index, < span class = "keyword" > const< / span > std::vector< int> & value);< / div >
< div class = "line" > < a name = "l01137" > < / a > < span class = "lineno" > 1137< / span >   < span class = "keywordtype" > void< / span > OnAddVars();< / div >
< div class = "line" > < a name = "l01138" > < / a > < span class = "lineno" > 1138< / span >   < / div >
< div class = "line" > < a name = "l01139" > < / a > < span class = "lineno" > 1139< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01140" > < / a > < span class = "lineno" > 1140< / span >   < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html" > SequenceVarLocalSearchOperator< / a > * < span class = "keyword" > const< / span > op_;< / div >
< div class = "line" > < a name = "l01141" > < / a > < span class = "lineno" > 1141< / span >   };< / div >
< div class = "line" > < a name = "l01142" > < / a > < span class = "lineno" > 1142< / span >   < / div >
< div class = "line" > < a name = "l01143" > < / a > < span class = "lineno" > 1143< / span >   < span class = "preprocessor" > #ifdef SWIG< / span > < / div >
< div class = "line" > < a name = "l01144" > < / a > < span class = "lineno" > 1144< / span >   < span class = "comment" > // TODO(user): find a way to move this code back to the .i file, where it< / span > < / div >
< div class = "line" > < a name = "l01149" > < / a > < span class = "lineno" > 1149< / span >   < span class = "comment" > < / span > < span class = "comment" > // clang-format off< / span > < / div >
< div class = "line" > < a name = "l01150" > < / a > < span class = "lineno" > 1150< / span >   %rename(< a class = "code" href = "namespaceoperations__research.html#ad502b08bb4d69dfbaf025415310b8da8" > SequenceVarLocalSearchOperatorTemplate< / a > ) VarLocalSearchOperator< < / div >
< div class = "line" > < a name = "l01151" > < / a > < span class = "lineno" > 1151< / span >   SequenceVar, std::vector< int> , SequenceVarLocalSearchHandler> ;< / div >
< div class = "line" > < a name = "l01152" > < / a > < span class = "lineno" > 1152< / span >   %< span class = "keyword" > template< / span > (< a class = "code" href = "namespaceoperations__research.html#ad502b08bb4d69dfbaf025415310b8da8" > SequenceVarLocalSearchOperatorTemplate< / a > ) VarLocalSearchOperator< < / div >
< div class = "line" > < a name = "l01153" > < / a > < span class = "lineno" > 1153< / span >   SequenceVar, std::vector< int> , SequenceVarLocalSearchHandler> ;< / div >
< div class = "line" > < a name = "l01154" > < / a > < span class = "lineno" > 1154< / span >   < span class = "comment" > // clang-format on< / span > < / div >
< div class = "line" > < a name = "l01155" > < / a > < span class = "lineno" > 1155< / span >   < span class = "preprocessor" > #endif< / span > < / div >
< div class = "line" > < a name = "l01156" > < / a > < span class = "lineno" > 1156< / span >   < / div >
< div class = "line" > < a name = "l01157" > < / a > < span class = "lineno" > 1157< / span >   < span class = "keyword" > typedef< / span > VarLocalSearchOperator< SequenceVar, std::vector< int> ,< / div >
< div class = "line" > < a name = "l01158" > < / a > < span class = "lineno" > 1158< / span >   SequenceVarLocalSearchHandler> < / div >
< div class = "line" > < a name = "l01159" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#ad502b08bb4d69dfbaf025415310b8da8" > 1159< / a > < / span >   < a class = "code" href = "namespaceoperations__research.html#ad502b08bb4d69dfbaf025415310b8da8" > SequenceVarLocalSearchOperatorTemplate< / a > ;< / div >
< div class = "line" > < a name = "l01160" > < / a > < span class = "lineno" > 1160< / span >   < / div >
< div class = "line" > < a name = "l01161" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html" > 1161< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html" > SequenceVarLocalSearchOperator< / a > < / div >
< div class = "line" > < a name = "l01162" > < / a > < span class = "lineno" > 1162< / span >   : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html" > SequenceVarLocalSearchOperatorTemplate< / a > {< / div >
< div class = "line" > < a name = "l01163" > < / a > < span class = "lineno" > 1163< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01164" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#afd2da9c60c12a80c7963535f02e68f7b" > 1164< / a > < / span >   < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#afd2da9c60c12a80c7963535f02e68f7b" > SequenceVarLocalSearchOperator< / a > () {}< / div >
< div class = "line" > < a name = "l01165" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#aa6aa43258bb7c95fb77f569227aee75c" > 1165< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#aa6aa43258bb7c95fb77f569227aee75c" > SequenceVarLocalSearchOperator< / a > (< span class = "keyword" > const< / span > std::vector< SequenceVar*> & vars)< / div >
< div class = "line" > < a name = "l01166" > < / a > < span class = "lineno" > 1166< / span >   : < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html" > SequenceVarLocalSearchOperatorTemplate< / a > (< / div >
< div class = "line" > < a name = "l01167" > < / a > < span class = "lineno" > 1167< / span >   < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html" > SequenceVarLocalSearchHandler< / a > (this)) {< / div >
< div class = "line" > < a name = "l01168" > < / a > < span class = "lineno" > 1168< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#ae2af73491ab2aa6804b443d442026a5e" > AddVars< / a > (vars);< / div >
< div class = "line" > < a name = "l01169" > < / a > < span class = "lineno" > 1169< / span >   }< / div >
< div class = "line" > < a name = "l01170" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a35c529adfbac348d61a48ecd7e06b64d" > 1170< / a > < / span >   < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a35c529adfbac348d61a48ecd7e06b64d" > ~SequenceVarLocalSearchOperator< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l01173" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a0727873c25fc02f0ee53cfd51461cd6e" > 1173< / a > < / span >   < span class = "keyword" > const< / span > std::vector< int> & < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a0727873c25fc02f0ee53cfd51461cd6e" > Sequence< / a > (int64 index)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0" > Value< / a > (index); }< / div >
< div class = "line" > < a name = "l01174" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#af684b5b2c35acb03c22b3a9e76a38315" > 1174< / a > < / span >   < span class = "keyword" > const< / span > std::vector< int> & < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#af684b5b2c35acb03c22b3a9e76a38315" > OldSequence< / a > (int64 index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01175" > < / a > < span class = "lineno" > 1175< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#af0cd6b9a608c61a52933fd53d53873af" > OldValue< / a > (index);< / div >
< div class = "line" > < a name = "l01176" > < / a > < span class = "lineno" > 1176< / span >   }< / div >
< div class = "line" > < a name = "l01177" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#ac6143190808ae1e130d91ade6f81d998" > 1177< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#ac6143190808ae1e130d91ade6f81d998" > SetForwardSequence< / a > (int64 index, < span class = "keyword" > const< / span > std::vector< int> & value) {< / div >
< div class = "line" > < a name = "l01178" > < / a > < span class = "lineno" > 1178< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#af5f56c8c139f332cacfbd598c269887a" > SetValue< / a > (index, value);< / div >
< div class = "line" > < a name = "l01179" > < / a > < span class = "lineno" > 1179< / span >   }< / div >
< div class = "line" > < a name = "l01180" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a961b92f2e04c4add084d339bf13d721c" > 1180< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a961b92f2e04c4add084d339bf13d721c" > SetBackwardSequence< / a > (int64 index, < span class = "keyword" > const< / span > std::vector< int> & value) {< / div >
< div class = "line" > < a name = "l01181" > < / a > < span class = "lineno" > 1181< / span >   < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a9288959c9052582be99babec1f808b6f" > backward_values_< / a > [index] = value;< / div >
< div class = "line" > < a name = "l01182" > < / a > < span class = "lineno" > 1182< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a7d4345afe8b6013c483417a074add896" > MarkChange< / a > (index);< / div >
< div class = "line" > < a name = "l01183" > < / a > < span class = "lineno" > 1183< / span >   }< / div >
< div class = "line" > < a name = "l01184" > < / a > < span class = "lineno" > 1184< / span >   < / div >
< div class = "line" > < a name = "l01185" > < / a > < span class = "lineno" > 1185< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l01186" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#ab80b964f556e6175e70741b63de9f94e" > 1186< / a > < / span >   < span class = "keyword" > friend< / span > < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html" > SequenceVarLocalSearchHandler< / a > ;< / div >
< div class = "line" > < a name = "l01187" > < / a > < span class = "lineno" > 1187< / span >   < / div >
< div class = "line" > < a name = "l01188" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a9288959c9052582be99babec1f808b6f" > 1188< / a > < / span >   std::vector< std::vector< int> > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a9288959c9052582be99babec1f808b6f" > backward_values_< / a > ;< / div >
< div class = "line" > < a name = "l01189" > < / a > < span class = "lineno" > 1189< / span >   };< / div >
< div class = "line" > < a name = "l01190" > < / a > < span class = "lineno" > 1190< / span >   < / div >
< div class = "line" > < a name = "l01191" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#ac6d5de79258efe091b780b51ed3e79de" > 1191< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#ac6d5de79258efe091b780b51ed3e79de" > SequenceVarLocalSearchHandler::AddToAssignment< / a > (< / div >
< div class = "line" > < a name = "l01192" > < / a > < span class = "lineno" > 1192< / span >   < a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * var, < span class = "keyword" > const< / span > std::vector< int> & value, < span class = "keywordtype" > bool< / span > active,< / div >
< div class = "line" > < a name = "l01193" > < / a > < span class = "lineno" > 1193< / span >   std::vector< int> * assignment_indices, int64 index,< / div >
< div class = "line" > < a name = "l01194" > < / a > < span class = "lineno" > 1194< / span >   < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * assignment)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01195" > < / a > < span class = "lineno" > 1195< / span >   < a class = "code" href = "classoperations__research_1_1AssignmentContainer.html" > Assignment::SequenceContainer< / a > * < span class = "keyword" > const< / span > container =< / div >
< div class = "line" > < a name = "l01196" > < / a > < span class = "lineno" > 1196< / span >   assignment-> < a class = "code" href = "classoperations__research_1_1Assignment.html#a8caeb4b2a0a6e058a74274fc4896c402" > MutableSequenceVarContainer< / a > ();< / div >
< div class = "line" > < a name = "l01197" > < / a > < span class = "lineno" > 1197< / span >   < a class = "code" href = "classoperations__research_1_1SequenceVarElement.html" > SequenceVarElement< / a > * element = < span class = "keyword" > nullptr< / span > ;< / div >
< div class = "line" > < a name = "l01198" > < / a > < span class = "lineno" > 1198< / span >   < span class = "keywordflow" > if< / span > (assignment_indices != < span class = "keyword" > nullptr< / span > ) {< / div >
< div class = "line" > < a name = "l01199" > < / a > < span class = "lineno" > 1199< / span >   < span class = "keywordflow" > if< / span > ((*assignment_indices)[index] == -1) {< / div >
< div class = "line" > < a name = "l01200" > < / a > < span class = "lineno" > 1200< / span >   (*assignment_indices)[index] = container-> < a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ();< / div >
< div class = "line" > < a name = "l01201" > < / a > < span class = "lineno" > 1201< / span >   element = assignment-> < a class = "code" href = "classoperations__research_1_1Assignment.html#ae7e79ac5cad1bf2d1960f5f3c18bc575" > FastAdd< / a > (var);< / div >
< div class = "line" > < a name = "l01202" > < / a > < span class = "lineno" > 1202< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l01203" > < / a > < span class = "lineno" > 1203< / span >   element = container-> < a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a2155d56276e438298f2bd34505ec3dc6" > MutableElement< / a > ((*assignment_indices)[index]);< / div >
< div class = "line" > < a name = "l01204" > < / a > < span class = "lineno" > 1204< / span >   }< / div >
< div class = "line" > < a name = "l01205" > < / a > < span class = "lineno" > 1205< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l01206" > < / a > < span class = "lineno" > 1206< / span >   element = assignment-> < a class = "code" href = "classoperations__research_1_1Assignment.html#ae7e79ac5cad1bf2d1960f5f3c18bc575" > FastAdd< / a > (var);< / div >
< div class = "line" > < a name = "l01207" > < / a > < span class = "lineno" > 1207< / span >   }< / div >
< div class = "line" > < a name = "l01208" > < / a > < span class = "lineno" > 1208< / span >   < span class = "keywordflow" > if< / span > (active) {< / div >
< div class = "line" > < a name = "l01209" > < / a > < span class = "lineno" > 1209< / span >   element-> < a class = "code" href = "classoperations__research_1_1SequenceVarElement.html#abd09fe08f368306c986382df61a20c73" > SetForwardSequence< / a > (value);< / div >
< div class = "line" > < a name = "l01210" > < / a > < span class = "lineno" > 1210< / span >   element-> < a class = "code" href = "classoperations__research_1_1SequenceVarElement.html#a448be08e73b90cd86345acc79613a051" > SetBackwardSequence< / a > (op_-> < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a9288959c9052582be99babec1f808b6f" > backward_values_< / a > [index]);< / div >
< div class = "line" > < a name = "l01211" > < / a > < span class = "lineno" > 1211< / span >   element-> < a class = "code" href = "classoperations__research_1_1AssignmentElement.html#ae8753efaeea05f65094a4875a694a368" > Activate< / a > ();< / div >
< div class = "line" > < a name = "l01212" > < / a > < span class = "lineno" > 1212< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l01213" > < / a > < span class = "lineno" > 1213< / span >   element-> < a class = "code" href = "classoperations__research_1_1AssignmentElement.html#a9c9dd3575fbfc59e05ae9ed1c05f8896" > Deactivate< / a > ();< / div >
< div class = "line" > < a name = "l01214" > < / a > < span class = "lineno" > 1214< / span >   }< / div >
< div class = "line" > < a name = "l01215" > < / a > < span class = "lineno" > 1215< / span >   }< / div >
< div class = "line" > < a name = "l01216" > < / a > < span class = "lineno" > 1216< / span >   < / div >
< div class = "line" > < a name = "l01217" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a435bcee164693eb36224c1a35c0dcf0a" > 1217< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a435bcee164693eb36224c1a35c0dcf0a" > SequenceVarLocalSearchHandler::ValueFromAssignment< / a > (< / div >
< div class = "line" > < a name = "l01218" > < / a > < span class = "lineno" > 1218< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > & assignment, < a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * var, int64 index,< / div >
< div class = "line" > < a name = "l01219" > < / a > < span class = "lineno" > 1219< / span >   std::vector< int> * value) {< / div >
< div class = "line" > < a name = "l01220" > < / a > < span class = "lineno" > 1220< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1AssignmentContainer.html" > Assignment::SequenceContainer< / a > & container =< / div >
< div class = "line" > < a name = "l01221" > < / a > < span class = "lineno" > 1221< / span >   assignment.< a class = "code" href = "classoperations__research_1_1Assignment.html#a30d2df8ab5db405440580f7db5ee4aaa" > SequenceVarContainer< / a > ();< / div >
< div class = "line" > < a name = "l01222" > < / a > < span class = "lineno" > 1222< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarElement.html" > SequenceVarElement< / a > * element = & (container.< a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27" > Element< / a > (index));< / div >
< div class = "line" > < a name = "l01223" > < / a > < span class = "lineno" > 1223< / span >   < span class = "keywordflow" > if< / span > (element-> < a class = "code" href = "classoperations__research_1_1SequenceVarElement.html#a8cbdc12db98f8b18b519e06b5c687bc4" > Var< / a > () != var) {< / div >
< div class = "line" > < a name = "l01224" > < / a > < span class = "lineno" > 1224< / span >   CHECK(container.< a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a4beccbd8819d830e06223550b8ca6d10" > Contains< / a > (var))< / div >
< div class = "line" > < a name = "l01225" > < / a > < span class = "lineno" > 1225< / span >   < < < span class = "stringliteral" > " Assignment does not contain operator variable " < / span > < < var;< / div >
< div class = "line" > < a name = "l01226" > < / a > < span class = "lineno" > 1226< / span >   element = & (container.< a class = "code" href = "classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27" > Element< / a > (var));< / div >
< div class = "line" > < a name = "l01227" > < / a > < span class = "lineno" > 1227< / span >   }< / div >
< div class = "line" > < a name = "l01228" > < / a > < span class = "lineno" > 1228< / span >   < span class = "keyword" > const< / span > std::vector< int> & element_value = element-> < a class = "code" href = "classoperations__research_1_1SequenceVarElement.html#ae34cdbb92170829390f602d2466c6b29" > ForwardSequence< / a > ();< / div >
< div class = "line" > < a name = "l01229" > < / a > < span class = "lineno" > 1229< / span >   CHECK_GE(var-> < a class = "code" href = "classoperations__research_1_1SequenceVar.html#a53616c71ad0a199caa949b8e32679b59" > size< / a > (), element_value.size());< / div >
< div class = "line" > < a name = "l01230" > < / a > < span class = "lineno" > 1230< / span >   op_-> < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a9288959c9052582be99babec1f808b6f" > backward_values_< / a > [index].clear();< / div >
< div class = "line" > < a name = "l01231" > < / a > < span class = "lineno" > 1231< / span >   *value = element_value;< / div >
< div class = "line" > < a name = "l01232" > < / a > < span class = "lineno" > 1232< / span >   < span class = "keywordflow" > return< / span > element-> < a class = "code" href = "classoperations__research_1_1AssignmentElement.html#ae79195ce9bb522329dfaedaba78bd4e2" > Activated< / a > ();< / div >
< div class = "line" > < a name = "l01233" > < / a > < span class = "lineno" > 1233< / span >   }< / div >
< div class = "line" > < a name = "l01234" > < / a > < span class = "lineno" > 1234< / span >   < / div >
< div class = "line" > < a name = "l01235" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a516173faa748216e7d06f5f7eb452dbb" > 1235< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a516173faa748216e7d06f5f7eb452dbb" > SequenceVarLocalSearchHandler::OnRevertChanges< / a > (< / div >
< div class = "line" > < a name = "l01236" > < / a > < span class = "lineno" > 1236< / span >   int64 index, < span class = "keyword" > const< / span > std::vector< int> & value) {< / div >
< div class = "line" > < a name = "l01237" > < / a > < span class = "lineno" > 1237< / span >   op_-> < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a9288959c9052582be99babec1f808b6f" > backward_values_< / a > [index].clear();< / div >
< div class = "line" > < a name = "l01238" > < / a > < span class = "lineno" > 1238< / span >   }< / div >
< div class = "line" > < a name = "l01239" > < / a > < span class = "lineno" > 1239< / span >   < / div >
< div class = "line" > < a name = "l01240" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a97b236691225d7209706cf03fc455dc9" > 1240< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a97b236691225d7209706cf03fc455dc9" > SequenceVarLocalSearchHandler::OnAddVars< / a > () {< / div >
< div class = "line" > < a name = "l01241" > < / a > < span class = "lineno" > 1241< / span >   op_-> < a class = "code" href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a9288959c9052582be99babec1f808b6f" > backward_values_< / a > .resize(op_-> < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ());< / div >
< div class = "line" > < a name = "l01242" > < / a > < span class = "lineno" > 1242< / span >   }< / div >
< div class = "line" > < a name = "l01243" > < / a > < span class = "lineno" > 1243< / span >   < / div >
< div class = "line" > < a name = "l01271" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BaseLns.html" > 1271< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1BaseLns.html" > BaseLns< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html" > IntVarLocalSearchOperator< / a > {< / div >
< div class = "line" > < a name = "l01272" > < / a > < span class = "lineno" > 1272< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01273" > < / a > < span class = "lineno" > 1273< / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1BaseLns.html#a840517015168011f69e29024a6427c59" > BaseLns< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars);< / div >
< div class = "line" > < a name = "l01274" > < / a > < span class = "lineno" > 1274< / span >   < a class = "code" href = "classoperations__research_1_1BaseLns.html#a4b7841840aa1d1db5969b556993c4701" > ~BaseLns< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01275" > < / a > < span class = "lineno" > 1275< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BaseLns.html#a5a42e7c67118018a6e391f4ec6661f74" > InitFragments< / a > ();< / div >
< div class = "line" > < a name = "l01276" > < / a > < span class = "lineno" > 1276< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1BaseLns.html#a3de0e8f828ff8c805575512db8e89c75" > NextFragment< / a > () = 0;< / div >
< div class = "line" > < a name = "l01277" > < / a > < span class = "lineno" > 1277< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BaseLns.html#a76f3a89c46806c6aa038669246ccb66b" > AppendToFragment< / a > (< span class = "keywordtype" > int< / span > index);< / div >
< div class = "line" > < a name = "l01278" > < / a > < span class = "lineno" > 1278< / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1BaseLns.html#a93c1603a882c8cf59cc93822caf83caa" > FragmentSize< / a > () < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l01279" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BaseLns.html#a4c069642a869d9055609c7eac7078f8c" > 1279< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1BaseLns.html#a4c069642a869d9055609c7eac7078f8c" > HasFragments< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ; }< / div >
< div class = "line" > < a name = "l01280" > < / a > < span class = "lineno" > 1280< / span >   < / div >
< div class = "line" > < a name = "l01281" > < / a > < span class = "lineno" > 1281< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l01283" > < / a > < span class = "lineno" > 1283< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1BaseLns.html#ad14cde260686e5b4174e691675df3139" > MakeOneNeighbor< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01284" > < / a > < span class = "lineno" > 1284< / span >   < / div >
< div class = "line" > < a name = "l01285" > < / a > < span class = "lineno" > 1285< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01287" > < / a > < span class = "lineno" > 1287< / span >   < span class = "keywordtype" > void< / span > OnStart() < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01288" > < / a > < span class = "lineno" > 1288< / span >   std::vector< int> fragment_;< / div >
< div class = "line" > < a name = "l01289" > < / a > < span class = "lineno" > 1289< / span >   };< / div >
< div class = "line" > < a name = "l01290" > < / a > < span class = "lineno" > 1290< / span >   < / div >
< div class = "line" > < a name = "l01295" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ChangeValue.html" > 1295< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1ChangeValue.html" > ChangeValue< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html" > IntVarLocalSearchOperator< / a > {< / div >
< div class = "line" > < a name = "l01296" > < / a > < span class = "lineno" > 1296< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01297" > < / a > < span class = "lineno" > 1297< / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1ChangeValue.html#a24154d3958d686ddef877d6511dbf002" > ChangeValue< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars);< / div >
< div class = "line" > < a name = "l01298" > < / a > < span class = "lineno" > 1298< / span >   < a class = "code" href = "classoperations__research_1_1ChangeValue.html#a65938f69ea3057a0c2cada291b8c6bce" > ~ChangeValue< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01299" > < / a > < span class = "lineno" > 1299< / span >   < span class = "keyword" > virtual< / span > int64 < a class = "code" href = "classoperations__research_1_1ChangeValue.html#a8f2f83ea0ee3b4bc3ed98fcb0a1d8f94" > ModifyValue< / a > (int64 index, int64 value) = 0;< / div >
< div class = "line" > < a name = "l01300" > < / a > < span class = "lineno" > 1300< / span >   < / div >
< div class = "line" > < a name = "l01301" > < / a > < span class = "lineno" > 1301< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l01303" > < / a > < span class = "lineno" > 1303< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1ChangeValue.html#ad14cde260686e5b4174e691675df3139" > MakeOneNeighbor< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01304" > < / a > < span class = "lineno" > 1304< / span >   < / div >
< div class = "line" > < a name = "l01305" > < / a > < span class = "lineno" > 1305< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01306" > < / a > < span class = "lineno" > 1306< / span >   < span class = "keywordtype" > void< / span > OnStart() < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01307" > < / a > < span class = "lineno" > 1307< / span >   < / div >
< div class = "line" > < a name = "l01308" > < / a > < span class = "lineno" > 1308< / span >   < span class = "keywordtype" > int< / span > index_;< / div >
< div class = "line" > < a name = "l01309" > < / a > < span class = "lineno" > 1309< / span >   };< / div >
< div class = "line" > < a name = "l01310" > < / a > < span class = "lineno" > 1310< / span >   < / div >
< div class = "line" > < a name = "l01324" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html" > 1324< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html" > PathOperator< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html" > IntVarLocalSearchOperator< / a > {< / div >
< div class = "line" > < a name = "l01325" > < / a > < span class = "lineno" > 1325< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01339" > < / a > < span class = "lineno" > 1339< / span >   < a class = "code" href = "classoperations__research_1_1PathOperator.html#afc24b579153470eea18c3404a3092b5c" > PathOperator< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & next_vars,< / div >
< div class = "line" > < a name = "l01340" > < / a > < span class = "lineno" > 1340< / span >   < span class = "keyword" > const< / span > std::vector< IntVar*> & path_vars, < span class = "keywordtype" > int< / span > number_of_base_nodes,< / div >
< div class = "line" > < a name = "l01341" > < / a > < span class = "lineno" > 1341< / span >   < span class = "keywordtype" > bool< / span > skip_locally_optimal_paths, < span class = "keywordtype" > bool< / span > accept_path_end_base,< / div >
< div class = "line" > < a name = "l01342" > < / a > < span class = "lineno" > 1342< / span >   std::function< < span class = "keywordtype" > int< / span > (int64)> start_empty_path_class);< / div >
< div class = "line" > < a name = "l01343" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a71db241bc64be612a4080eb897d97d1b" > 1343< / a > < / span >   < a class = "code" href = "classoperations__research_1_1PathOperator.html#a71db241bc64be612a4080eb897d97d1b" > ~PathOperator< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l01344" > < / a > < span class = "lineno" > 1344< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a10ae14d6daad9088377260420952f814" > MakeNeighbor< / a > () = 0;< / div >
< div class = "line" > < a name = "l01345" > < / a > < span class = "lineno" > 1345< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#af82f4acaed7bb39d568e689a9caa63d5" > Reset< / a > () < span class = "keyword" > override< / span > ;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l01346" > < / a > < span class = "lineno" > 1346< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l01347" > < / a > < span class = "lineno" > 1347< / span >   < span class = "comment" > // TODO(user): Make the following methods protected.< / span > < / div >
< div class = "line" > < a name = "l01348" > < / a > < span class = "lineno" > 1348< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#aa8d4a4b8ea73184cedcc0be51f6a3921" > SkipUnchanged< / a > (< span class = "keywordtype" > int< / span > index) < span class = "keyword" > const override< / span > ;< / div >
< div class = "line" > < a name = "l01349" > < / a > < span class = "lineno" > 1349< / span >   < / div >
< div class = "line" > < a name = "l01351" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#aa8f198c7897dd232096df08f2123582a" > 1351< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#aa8f198c7897dd232096df08f2123582a" > Next< / a > (int64 node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01352" > < / a > < span class = "lineno" > 1352< / span >   DCHECK(!< a class = "code" href = "classoperations__research_1_1PathOperator.html#a255540efe5286aa6e55bf46894cc10f5" > IsPathEnd< / a > (node));< / div >
< div class = "line" > < a name = "l01353" > < / a > < span class = "lineno" > 1353< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0" > Value< / a > (node);< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l01354" > < / a > < span class = "lineno" > 1354< / span >   }< / div >
< div class = "line" > < a name = "l01355" > < / a > < span class = "lineno" > 1355< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l01357" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#aa0decf38e47940df0bf389bd3e8ba173" > 1357< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#aa0decf38e47940df0bf389bd3e8ba173" > Prev< / a > (int64 node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01358" > < / a > < span class = "lineno" > 1358< / span >   DCHECK(!< a class = "code" href = "classoperations__research_1_1PathOperator.html#abb722ca1750c9814d2d2fc5c9c2f1a11" > IsPathStart< / a > (node));< / div >
< div class = "line" > < a name = "l01359" > < / a > < span class = "lineno" > 1359< / span >   DCHECK_EQ(< a class = "code" href = "classoperations__research_1_1PathOperator.html#aa8f198c7897dd232096df08f2123582a" > Next< / a > (< a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a104b124a8b90a018a1583aa5f46081d9" > InverseValue< / a > (node)), node);< / div >
< div class = "line" > < a name = "l01360" > < / a > < span class = "lineno" > 1360< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a104b124a8b90a018a1583aa5f46081d9" > InverseValue< / a > (node);< / div >
< div class = "line" > < a name = "l01361" > < / a > < span class = "lineno" > 1361< / span >   }< / div >
< div class = "line" > < a name = "l01362" > < / a > < span class = "lineno" > 1362< / span >   < / div >
< div class = "line" > < a name = "l01365" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#ae507915e833da66ed7371b87f6fc61ff" > 1365< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#ae507915e833da66ed7371b87f6fc61ff" > Path< / a > (int64 node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01366" > < / a > < span class = "lineno" > 1366< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#ae56132578e8bc7a7eca4af4fd24fa966" > ignore_path_vars_< / a > ? 0LL : < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0" > Value< / a > (node + < a class = "code" href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > number_of_nexts_< / a > );< / div >
< div class = "line" > < a name = "l01367" > < / a > < span class = "lineno" > 1367< / span >   }< / div >
< div class = "line" > < a name = "l01368" > < / a > < span class = "lineno" > 1368< / span >   < / div >
< div class = "line" > < a name = "l01370" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a208d45797eebd7cad439cc43b049103d" > 1370< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a208d45797eebd7cad439cc43b049103d" > number_of_nexts< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > number_of_nexts_< / a > ; }< / div >
< div class = "line" > < a name = "l01371" > < / a > < span class = "lineno" > 1371< / span >   < / div >
< div class = "line" > < a name = "l01372" > < / a > < span class = "lineno" > 1372< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l01374" > < / a > < span class = "lineno" > 1374< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#ad14cde260686e5b4174e691675df3139" > MakeOneNeighbor< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01378" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a1223e0b8dbca7cd9c296fc4de65080b2" > 1378< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a1223e0b8dbca7cd9c296fc4de65080b2" > OnNodeInitialization< / a > () {}< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l01379" > < / a > < span class = "lineno" > 1379< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l01381" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b" > 1381< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b" > BaseNode< / a > (< span class = "keywordtype" > int< / span > i)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > base_nodes_[i]; }< / div >
< div class = "line" > < a name = "l01383" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a752100eca408efb4a9392f16f21f9cf7" > 1383< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a752100eca408efb4a9392f16f21f9cf7" > BaseAlternative< / a > (< span class = "keywordtype" > int< / span > i)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > base_alternatives_[i]; }< / div >
< div class = "line" > < a name = "l01385" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a088d80df6df63def37e43b73dc9b1d80" > 1385< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#a088d80df6df63def37e43b73dc9b1d80" > BaseAlternativeNode< / a > (< span class = "keywordtype" > int< / span > i)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01386" > < / a > < span class = "lineno" > 1386< / span >   < span class = "keywordflow" > if< / span > (!< a class = "code" href = "classoperations__research_1_1PathOperator.html#a3062cf7eeb53d8cc4cc02e3359d27531" > ConsiderAlternatives< / a > (i)) < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b" > BaseNode< / a > (i);< / div >
< div class = "line" > < a name = "l01387" > < / a > < span class = "lineno" > 1387< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > alternative_index = alternative_index_[< a class = "code" href = "classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b" > BaseNode< / a > (i)];< / div >
< div class = "line" > < a name = "l01388" > < / a > < span class = "lineno" > 1388< / span >   < span class = "keywordflow" > return< / span > alternative_index > = 0< / div >
< div class = "line" > < a name = "l01389" > < / a > < span class = "lineno" > 1389< / span >   ? alternative_sets_[alternative_index][base_alternatives_[i]]< / div >
< div class = "line" > < a name = "l01390" > < / a > < span class = "lineno" > 1390< / span >   : < a class = "code" href = "classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b" > BaseNode< / a > (i);< / div >
< div class = "line" > < a name = "l01391" > < / a > < span class = "lineno" > 1391< / span >   }< / div >
< div class = "line" > < a name = "l01393" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a5bc40a93b9ba709cfb3ca78cea7435e1" > 1393< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a5bc40a93b9ba709cfb3ca78cea7435e1" > BaseSiblingAlternative< / a > (< span class = "keywordtype" > int< / span > i)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01394" > < / a > < span class = "lineno" > 1394< / span >   < span class = "keywordflow" > return< / span > base_sibling_alternatives_[i];< / div >
< div class = "line" > < a name = "l01395" > < / a > < span class = "lineno" > 1395< / span >   }< / div >
< div class = "line" > < a name = "l01397" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#ac41fc10e374ef9221ffca09da9e1c981" > 1397< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#ac41fc10e374ef9221ffca09da9e1c981" > BaseSiblingAlternativeNode< / a > (< span class = "keywordtype" > int< / span > i)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01398" > < / a > < span class = "lineno" > 1398< / span >   < span class = "keywordflow" > if< / span > (!< a class = "code" href = "classoperations__research_1_1PathOperator.html#a3062cf7eeb53d8cc4cc02e3359d27531" > ConsiderAlternatives< / a > (i)) < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b" > BaseNode< / a > (i);< / div >
< div class = "line" > < a name = "l01399" > < / a > < span class = "lineno" > 1399< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > sibling_alternative_index =< / div >
< div class = "line" > < a name = "l01400" > < / a > < span class = "lineno" > 1400< / span >   < a class = "code" href = "classoperations__research_1_1PathOperator.html#ac9d41c75de01039a11af9b5d3cecc37f" > GetSiblingAlternativeIndex< / a > (< a class = "code" href = "classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b" > BaseNode< / a > (i));< / div >
< div class = "line" > < a name = "l01401" > < / a > < span class = "lineno" > 1401< / span >   < span class = "keywordflow" > return< / span > sibling_alternative_index > = 0< / div >
< div class = "line" > < a name = "l01402" > < / a > < span class = "lineno" > 1402< / span >   ? alternative_sets_[sibling_alternative_index]< / div >
< div class = "line" > < a name = "l01403" > < / a > < span class = "lineno" > 1403< / span >   [base_sibling_alternatives_[i]]< / div >
< div class = "line" > < a name = "l01404" > < / a > < span class = "lineno" > 1404< / span >   : < a class = "code" href = "classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b" > BaseNode< / a > (i);< / div >
< div class = "line" > < a name = "l01405" > < / a > < span class = "lineno" > 1405< / span >   }< / div >
< div class = "line" > < a name = "l01407" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#aa4e3bf1bd6d335ad6be0b0d100e3bd6a" > 1407< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#aa4e3bf1bd6d335ad6be0b0d100e3bd6a" > StartNode< / a > (< span class = "keywordtype" > int< / span > i)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > path_starts_[base_paths_[i]]; }< / div >
< div class = "line" > < a name = "l01409" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a61caffe27afd7d6e0c94f1907f1b3b53" > 1409< / a > < / span >   < span class = "keyword" > const< / span > std::vector< int64> & < a class = "code" href = "classoperations__research_1_1PathOperator.html#a61caffe27afd7d6e0c94f1907f1b3b53" > path_starts< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > path_starts_; }< / div >
< div class = "line" > < a name = "l01411" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a11b8ad366b686132736854e7029e7bff" > 1411< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a11b8ad366b686132736854e7029e7bff" > PathClass< / a > (< span class = "keywordtype" > int< / span > i)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01412" > < / a > < span class = "lineno" > 1412< / span >   < span class = "keywordflow" > return< / span > start_empty_path_class_ != < span class = "keyword" > nullptr< / span > < / div >
< div class = "line" > < a name = "l01413" > < / a > < span class = "lineno" > 1413< / span >   ? start_empty_path_class_(< a class = "code" href = "classoperations__research_1_1PathOperator.html#aa4e3bf1bd6d335ad6be0b0d100e3bd6a" > StartNode< / a > (i))< / div >
< div class = "line" > < a name = "l01414" > < / a > < span class = "lineno" > 1414< / span >   : < a class = "code" href = "classoperations__research_1_1PathOperator.html#aa4e3bf1bd6d335ad6be0b0d100e3bd6a" > StartNode< / a > (i);< / div >
< div class = "line" > < a name = "l01415" > < / a > < span class = "lineno" > 1415< / span >   }< / div >
< div class = "line" > < a name = "l01416" > < / a > < span class = "lineno" > 1416< / span >   < / div >
< div class = "line" > < a name = "l01423" > < / a > < span class = "lineno" > 1423< / span >   < span class = "comment" > // TODO(user): remove this when automatic detection of such cases in done.< / span > < / div >
< div class = "line" > < a name = "l01424" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a38b76e1e3a147226d4981b05e4ec2c55" > 1424< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a38b76e1e3a147226d4981b05e4ec2c55" > RestartAtPathStartOnSynchronize< / a > () { < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ; }< / div >
< div class = "line" > < a name = "l01428" > < / a > < span class = "lineno" > 1428< / span >   < span class = "comment" > // TODO(user): ideally this should be OnSamePath(int64 node1, int64 node2);< / span > < / div >
< div class = "line" > < a name = "l01430" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#adb210d557c5ff1bc78ae493364868bb5" > 1430< / a > < / span >   < span class = "comment" > < / span > < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#adb210d557c5ff1bc78ae493364868bb5" > OnSamePathAsPreviousBase< / a > (int64 base_index) { < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ; }< / div >
< div class = "line" > < a name = "l01436" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#ac7ffd8565f01cb9eb72fcc94204327a2" > 1436< / a > < / span >   < span class = "keyword" > virtual< / span > int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#ac7ffd8565f01cb9eb72fcc94204327a2" > GetBaseNodeRestartPosition< / a > (< span class = "keywordtype" > int< / span > base_index) {< / div >
< div class = "line" > < a name = "l01437" > < / a > < span class = "lineno" > 1437< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#aa4e3bf1bd6d335ad6be0b0d100e3bd6a" > StartNode< / a > (base_index);< / div >
< div class = "line" > < a name = "l01438" > < / a > < span class = "lineno" > 1438< / span >   }< / div >
< div class = "line" > < a name = "l01441" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a2c928a4ff549033f6b44e423ec61b0d5" > 1441< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a2c928a4ff549033f6b44e423ec61b0d5" > SetNextBaseToIncrement< / a > (int64 base_index) {< / div >
< div class = "line" > < a name = "l01442" > < / a > < span class = "lineno" > 1442< / span >   < a class = "code" href = "classoperations__research_1_1PathOperator.html#ac4e410910ad9361ed46221ecc6f0aa9b" > next_base_to_increment_< / a > = base_index;< / div >
< div class = "line" > < a name = "l01443" > < / a > < span class = "lineno" > 1443< / span >   }< / div >
< div class = "line" > < a name = "l01446" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a3062cf7eeb53d8cc4cc02e3359d27531" > 1446< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a3062cf7eeb53d8cc4cc02e3359d27531" > ConsiderAlternatives< / a > (int64 base_index)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ; }< / div >
< div class = "line" > < a name = "l01447" > < / a > < span class = "lineno" > 1447< / span >   < / div >
< div class = "line" > < a name = "l01448" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a6e645c04c651a5cd0c5b1474c503713c" > 1448< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#a6e645c04c651a5cd0c5b1474c503713c" > OldNext< / a > (int64 node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01449" > < / a > < span class = "lineno" > 1449< / span >   DCHECK(!< a class = "code" href = "classoperations__research_1_1PathOperator.html#a255540efe5286aa6e55bf46894cc10f5" > IsPathEnd< / a > (node));< / div >
< div class = "line" > < a name = "l01450" > < / a > < span class = "lineno" > 1450< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#af0cd6b9a608c61a52933fd53d53873af" > OldValue< / a > (node);< / div >
< div class = "line" > < a name = "l01451" > < / a > < span class = "lineno" > 1451< / span >   }< / div >
< div class = "line" > < a name = "l01452" > < / a > < span class = "lineno" > 1452< / span >   < / div >
< div class = "line" > < a name = "l01453" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#ae73fcc01833bc6a858e474320d37293f" > 1453< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#ae73fcc01833bc6a858e474320d37293f" > OldPrev< / a > (int64 node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01454" > < / a > < span class = "lineno" > 1454< / span >   DCHECK(!< a class = "code" href = "classoperations__research_1_1PathOperator.html#abb722ca1750c9814d2d2fc5c9c2f1a11" > IsPathStart< / a > (node));< / div >
< div class = "line" > < a name = "l01455" > < / a > < span class = "lineno" > 1455< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#ad462943207eb6d9ff00258445fb9e9dc" > OldInverseValue< / a > (node);< / div >
< div class = "line" > < a name = "l01456" > < / a > < span class = "lineno" > 1456< / span >   }< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l01457" > < / a > < span class = "lineno" > 1457< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l01458" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a3979c66b95f3836e8257f41924952a8c" > 1458< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#a3979c66b95f3836e8257f41924952a8c" > OldPath< / a > (int64 node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01459" > < / a > < span class = "lineno" > 1459< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#ae56132578e8bc7a7eca4af4fd24fa966" > ignore_path_vars_< / a > ? 0LL : < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#af0cd6b9a608c61a52933fd53d53873af" > OldValue< / a > (node + < a class = "code" href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > number_of_nexts_< / a > );< / div >
< div class = "line" > < a name = "l01460" > < / a > < span class = "lineno" > 1460< / span >   }< / div >
< div class = "line" > < a name = "l01461" > < / a > < span class = "lineno" > 1461< / span >   < / div >
< div class = "line" > < a name = "l01464" > < / a > < span class = "lineno" > 1464< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#afce7de594ac758357d23d1e4b087ebf0" > MoveChain< / a > (int64 before_chain, int64 chain_end, int64 destination);< / div >
< div class = "line" > < a name = "l01465" > < / a > < span class = "lineno" > 1465< / span >   < / div >
< div class = "line" > < a name = "l01468" > < / a > < span class = "lineno" > 1468< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a62997309da1aeeee36192ffa09700eec" > ReverseChain< / a > (int64 before_chain, int64 after_chain, int64* chain_last);< / div >
< div class = "line" > < a name = "l01469" > < / a > < span class = "lineno" > 1469< / span >   < / div >
< div class = "line" > < a name = "l01471" > < / a > < span class = "lineno" > 1471< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a8b1a0ecf6778a8018576d94b3c73930b" > MakeActive< / a > (int64 node, int64 destination);< / div >
< div class = "line" > < a name = "l01474" > < / a > < span class = "lineno" > 1474< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#adfe2c499f99ed814dbdd8e75db63ae3e" > MakeChainInactive< / a > (int64 before_chain, int64 chain_end);< / div >
< div class = "line" > < a name = "l01476" > < / a > < span class = "lineno" > 1476< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a111c4d7dd49f12c67d97d16e9c473c79" > SwapActiveAndInactive< / a > (int64 active, int64 inactive);< / div >
< div class = "line" > < a name = "l01477" > < / a > < span class = "lineno" > 1477< / span >   < / div >
< div class = "line" > < a name = "l01479" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a75322f62fb4d3c731035035f7d6aa3a4" > 1479< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a75322f62fb4d3c731035035f7d6aa3a4" > SetNext< / a > (int64 from, int64 to, int64 path) {< / div >
< div class = "line" > < a name = "l01480" > < / a > < span class = "lineno" > 1480< / span >   DCHECK_LT(from, < a class = "code" href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > number_of_nexts_< / a > );< / div >
< div class = "line" > < a name = "l01481" > < / a > < span class = "lineno" > 1481< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#af5f56c8c139f332cacfbd598c269887a" > SetValue< / a > (from, to);< / div >
< div class = "line" > < a name = "l01482" > < / a > < span class = "lineno" > 1482< / span >   < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a31d7dd39e21aad23250613bb884d0d2b" > SetInverseValue< / a > (to, from);< / div >
< div class = "line" > < a name = "l01483" > < / a > < span class = "lineno" > 1483< / span >   < span class = "keywordflow" > if< / span > (!< a class = "code" href = "classoperations__research_1_1PathOperator.html#ae56132578e8bc7a7eca4af4fd24fa966" > ignore_path_vars_< / a > ) {< / div >
< div class = "line" > < a name = "l01484" > < / a > < span class = "lineno" > 1484< / span >   DCHECK_LT(from + < a class = "code" href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > number_of_nexts_< / a > , < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ());< / div >
< div class = "line" > < a name = "l01485" > < / a > < span class = "lineno" > 1485< / span >   < a class = "code" href = "classoperations__research_1_1VarLocalSearchOperator.html#af5f56c8c139f332cacfbd598c269887a" > SetValue< / a > (from + < a class = "code" href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > number_of_nexts_< / a > , path);< / div >
< div class = "line" > < a name = "l01486" > < / a > < span class = "lineno" > 1486< / span >   }< / div >
< div class = "line" > < a name = "l01487" > < / a > < span class = "lineno" > 1487< / span >   }< / div >
< div class = "line" > < a name = "l01488" > < / a > < span class = "lineno" > 1488< / span >   < / div >
< div class = "line" > < a name = "l01491" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a255540efe5286aa6e55bf46894cc10f5" > 1491< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a255540efe5286aa6e55bf46894cc10f5" > IsPathEnd< / a > (int64 node)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > node > = < a class = "code" href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > number_of_nexts_< / a > ; }< / div >
< div class = "line" > < a name = "l01492" > < / a > < span class = "lineno" > 1492< / span >   < / div >
< div class = "line" > < a name = "l01494" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#abb722ca1750c9814d2d2fc5c9c2f1a11" > 1494< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#abb722ca1750c9814d2d2fc5c9c2f1a11" > IsPathStart< / a > (int64 node)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchOperator.html#ad462943207eb6d9ff00258445fb9e9dc" > OldInverseValue< / a > (node) == -1; }< / div >
< div class = "line" > < a name = "l01495" > < / a > < span class = "lineno" > 1495< / span >   < / div >
< div class = "line" > < a name = "l01497" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a15db4ae271ce553727a298dd0dbba5e7" > 1497< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a15db4ae271ce553727a298dd0dbba5e7" > IsInactive< / a > (int64 node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01498" > < / a > < span class = "lineno" > 1498< / span >   < span class = "keywordflow" > return< / span > !< a class = "code" href = "classoperations__research_1_1PathOperator.html#a255540efe5286aa6e55bf46894cc10f5" > IsPathEnd< / a > (node) & & inactives_[node];< / div >
< div class = "line" > < a name = "l01499" > < / a > < span class = "lineno" > 1499< / span >   }< / div >
< div class = "line" > < a name = "l01500" > < / a > < span class = "lineno" > 1500< / span >   < / div >
< div class = "line" > < a name = "l01503" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#ae1c162cfc11069e25becbd53cdce7def" > 1503< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#ae1c162cfc11069e25becbd53cdce7def" > InitPosition< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ; }< / div >
< div class = "line" > < a name = "l01507" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#ab661b8d8259dac8444804d91809fbb0a" > 1507< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#ab661b8d8259dac8444804d91809fbb0a" > ResetPosition< / a > () { just_started_ = < span class = "keyword" > true< / span > ; }< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l01508" > < / a > < span class = "lineno" > 1508< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l01512" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a9ffdefbb2872bb54b8370ee590576812" > 1512< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a9ffdefbb2872bb54b8370ee590576812" > AddAlternativeSet< / a > (< span class = "keyword" > const< / span > std::vector< int64> & alternative_set) {< / div >
< div class = "line" > < a name = "l01513" > < / a > < span class = "lineno" > 1513< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > alternative = alternative_sets_.size();< / div >
< div class = "line" > < a name = "l01514" > < / a > < span class = "lineno" > 1514< / span >   < span class = "keywordflow" > for< / span > (int64 node : alternative_set) {< / div >
< div class = "line" > < a name = "l01515" > < / a > < span class = "lineno" > 1515< / span >   DCHECK_EQ(-1, alternative_index_[node]);< / div >
< div class = "line" > < a name = "l01516" > < / a > < span class = "lineno" > 1516< / span >   alternative_index_[node] = alternative;< / div >
< div class = "line" > < a name = "l01517" > < / a > < span class = "lineno" > 1517< / span >   }< / div >
< div class = "line" > < a name = "l01518" > < / a > < span class = "lineno" > 1518< / span >   alternative_sets_.push_back(alternative_set);< / div >
< div class = "line" > < a name = "l01519" > < / a > < span class = "lineno" > 1519< / span >   sibling_alternative_.push_back(-1);< / div >
< div class = "line" > < a name = "l01520" > < / a > < span class = "lineno" > 1520< / span >   < span class = "keywordflow" > return< / span > alternative;< / div >
< div class = "line" > < a name = "l01521" > < / a > < span class = "lineno" > 1521< / span >   }< / div >
< div class = "line" > < a name = "l01522" > < / a > < span class = "lineno" > 1522< / span >   < span class = "preprocessor" > #ifndef SWIG< / span > < / div >
< div class = "line" > < a name = "l01523" > < / a > < span class = "lineno" > 1523< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#a7e42ba88a40563030fe775d5eaec8d55" > AddPairAlternativeSets< / a > (< / div >
< div class = "line" > < a name = "l01526" > < / a > < span class = "lineno" > 1526< / span >   < span class = "keyword" > const< / span > std::vector< std::pair< std::vector< int64> , std::vector< int64> > > & < / div >
< div class = "line" > < a name = "l01527" > < / a > < span class = "lineno" > 1527< / span >   pair_alternative_sets) {< / div >
< div class = "line" > < a name = "l01528" > < / a > < span class = "lineno" > 1528< / span >   < span class = "keywordflow" > for< / span > (< span class = "keyword" > const< / span > < span class = "keyword" > auto< / span > & pair_alternative_set : pair_alternative_sets) {< / div >
< div class = "line" > < a name = "l01529" > < / a > < span class = "lineno" > 1529< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > alternative = < a class = "code" href = "classoperations__research_1_1PathOperator.html#a9ffdefbb2872bb54b8370ee590576812" > AddAlternativeSet< / a > (pair_alternative_set.first);< / div >
< div class = "line" > < a name = "l01530" > < / a > < span class = "lineno" > 1530< / span >   sibling_alternative_.back() = alternative + 1;< / div >
< div class = "line" > < a name = "l01531" > < / a > < span class = "lineno" > 1531< / span >   < a class = "code" href = "classoperations__research_1_1PathOperator.html#a9ffdefbb2872bb54b8370ee590576812" > AddAlternativeSet< / a > (pair_alternative_set.second);< / div >
< div class = "line" > < a name = "l01532" > < / a > < span class = "lineno" > 1532< / span >   }< / div >
< div class = "line" > < a name = "l01533" > < / a > < span class = "lineno" > 1533< / span >   }< / div >
< div class = "line" > < a name = "l01534" > < / a > < span class = "lineno" > 1534< / span >   < span class = "preprocessor" > #endif // SWIG< / span > < / div >
< div class = "line" > < a name = "l01535" > < / a > < span class = "lineno" > 1535< / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#af3824a2c47ee3213ab462c66b2acb161" > GetActiveInAlternativeSet< / a > (< span class = "keywordtype" > int< / span > alternative_index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01537" > < / a > < span class = "lineno" > 1537< / span >   < span class = "keywordflow" > return< / span > alternative_index > = 0< / div >
< div class = "line" > < a name = "l01538" > < / a > < span class = "lineno" > 1538< / span >   ? active_in_alternative_set_[alternative_index]< / div >
< div class = "line" > < a name = "l01539" > < / a > < span class = "lineno" > 1539< / span >   : -1;< / div >
< div class = "line" > < a name = "l01540" > < / a > < span class = "lineno" > 1540< / span >   }< / div >
< div class = "line" > < a name = "l01542" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#aa3e073f632d3f5b7b7b0fb39380c49c6" > 1542< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#aa3e073f632d3f5b7b7b0fb39380c49c6" > GetActiveAlternativeNode< / a > (< span class = "keywordtype" > int< / span > node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01543" > < / a > < span class = "lineno" > 1543< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#af3824a2c47ee3213ab462c66b2acb161" > GetActiveInAlternativeSet< / a > (alternative_index_[node]);< / div >
< div class = "line" > < a name = "l01544" > < / a > < span class = "lineno" > 1544< / span >   }< / div >
< div class = "line" > < a name = "l01546" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#ac9d41c75de01039a11af9b5d3cecc37f" > 1546< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#ac9d41c75de01039a11af9b5d3cecc37f" > GetSiblingAlternativeIndex< / a > (< span class = "keywordtype" > int< / span > node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01547" > < / a > < span class = "lineno" > 1547< / span >   < span class = "keywordflow" > if< / span > (node > = alternative_index_.size()) < span class = "keywordflow" > return< / span > -1;< / div >
< div class = "line" > < a name = "l01548" > < / a > < span class = "lineno" > 1548< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > alternative = alternative_index_[node];< / div >
< div class = "line" > < a name = "l01549" > < / a > < span class = "lineno" > 1549< / span >   < span class = "keywordflow" > return< / span > alternative > = 0 ? sibling_alternative_[alternative] : -1;< / div >
< div class = "line" > < a name = "l01550" > < / a > < span class = "lineno" > 1550< / span >   }< / div >
< div class = "line" > < a name = "l01553" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#afbc9a4bbd3bc555e76767ca83d77749c" > 1553< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1PathOperator.html#afbc9a4bbd3bc555e76767ca83d77749c" > GetActiveAlternativeSibling< / a > (< span class = "keywordtype" > int< / span > node)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01554" > < / a > < span class = "lineno" > 1554< / span >   < span class = "keywordflow" > if< / span > (node > = alternative_index_.size()) < span class = "keywordflow" > return< / span > -1;< / div >
< div class = "line" > < a name = "l01555" > < / a > < span class = "lineno" > 1555< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > alternative = alternative_index_[node];< / div >
< div class = "line" > < a name = "l01556" > < / a > < span class = "lineno" > 1556< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > sibling_alternative =< / div >
< div class = "line" > < a name = "l01557" > < / a > < span class = "lineno" > 1557< / span >   alternative > = 0 ? sibling_alternative_[alternative] : -1;< / div >
< div class = "line" > < a name = "l01558" > < / a > < span class = "lineno" > 1558< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#af3824a2c47ee3213ab462c66b2acb161" > GetActiveInAlternativeSet< / a > (sibling_alternative);< / div >
< div class = "line" > < a name = "l01559" > < / a > < span class = "lineno" > 1559< / span >   }< / div >
< div class = "line" > < a name = "l01562" > < / a > < span class = "lineno" > 1562< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#aea53f675489ce7c73044deb01a9f3f18" > CheckChainValidity< / a > (int64 before_chain, int64 chain_end,< / div >
< div class = "line" > < a name = "l01563" > < / a > < span class = "lineno" > 1563< / span >   int64 exclude) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l01564" > < / a > < span class = "lineno" > 1564< / span >   < / div >
< div class = "line" > < a name = "l01565" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > 1565< / a > < / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > number_of_nexts_< / a > ;< / div >
< div class = "line" > < a name = "l01566" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#ae56132578e8bc7a7eca4af4fd24fa966" > 1566< / a > < / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#ae56132578e8bc7a7eca4af4fd24fa966" > ignore_path_vars_< / a > ;< / div >
< div class = "line" > < a name = "l01567" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#ac4e410910ad9361ed46221ecc6f0aa9b" > 1567< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#ac4e410910ad9361ed46221ecc6f0aa9b" > next_base_to_increment_< / a > ;< / div >
< div class = "line" > < a name = "l01568" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#afd4107d44c9d70962fa429ecd6cc8312" > 1568< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1PathOperator.html#afd4107d44c9d70962fa429ecd6cc8312" > num_paths_< / a > = 0;< / div >
< div class = "line" > < a name = "l01569" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PathOperator.html#a3d38b45f5f2c2c53a8ab77643839b080" > 1569< / a > < / span >   std::vector< int64> < a class = "code" href = "classoperations__research_1_1PathOperator.html#a3d38b45f5f2c2c53a8ab77643839b080" > start_to_path_< / a > ;< / div >
< div class = "line" > < a name = "l01570" > < / a > < span class = "lineno" > 1570< / span >   < / div >
< div class = "line" > < a name = "l01571" > < / a > < span class = "lineno" > 1571< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01572" > < / a > < span class = "lineno" > 1572< / span >   < span class = "keywordtype" > void< / span > OnStart() < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01574" > < / a > < span class = "lineno" > 1574< / span >   < span class = "keywordtype" > bool< / span > OnSamePath(int64 node1, int64 node2) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l01575" > < / a > < span class = "lineno" > 1575< / span >   < / div >
< div class = "line" > < a name = "l01576" > < / a > < span class = "lineno" > 1576< / span >   < span class = "keywordtype" > bool< / span > CheckEnds()< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01577" > < / a > < span class = "lineno" > 1577< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > base_node_size = base_nodes_.size();< / div >
< div class = "line" > < a name = "l01578" > < / a > < span class = "lineno" > 1578< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = base_node_size - 1; i > = 0; --i) {< / div >
< div class = "line" > < a name = "l01579" > < / a > < span class = "lineno" > 1579< / span >   < span class = "keywordflow" > if< / span > (base_nodes_[i] != end_nodes_[i]) {< / div >
< div class = "line" > < a name = "l01580" > < / a > < span class = "lineno" > 1580< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l01581" > < / a > < span class = "lineno" > 1581< / span >   }< / div >
< div class = "line" > < a name = "l01582" > < / a > < span class = "lineno" > 1582< / span >   }< / div >
< div class = "line" > < a name = "l01583" > < / a > < span class = "lineno" > 1583< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l01584" > < / a > < span class = "lineno" > 1584< / span >   }< / div >
< div class = "line" > < a name = "l01585" > < / a > < span class = "lineno" > 1585< / span >   < span class = "keywordtype" > bool< / span > IncrementPosition();< / div >
< div class = "line" > < a name = "l01586" > < / a > < span class = "lineno" > 1586< / span >   < span class = "keywordtype" > void< / span > InitializePathStarts();< / div >
< div class = "line" > < a name = "l01587" > < / a > < span class = "lineno" > 1587< / span >   < span class = "keywordtype" > void< / span > InitializeInactives();< / div >
< div class = "line" > < a name = "l01588" > < / a > < span class = "lineno" > 1588< / span >   < span class = "keywordtype" > void< / span > InitializeBaseNodes();< / div >
< div class = "line" > < a name = "l01589" > < / a > < span class = "lineno" > 1589< / span >   < span class = "keywordtype" > void< / span > InitializeAlternatives();< / div >
< div class = "line" > < a name = "l01590" > < / a > < span class = "lineno" > 1590< / span >   < span class = "keywordtype" > void< / span > Synchronize();< / div >
< div class = "line" > < a name = "l01591" > < / a > < span class = "lineno" > 1591< / span >   < / div >
< div class = "line" > < a name = "l01592" > < / a > < span class = "lineno" > 1592< / span >   std::vector< int> base_nodes_;< / div >
< div class = "line" > < a name = "l01593" > < / a > < span class = "lineno" > 1593< / span >   std::vector< int> base_alternatives_;< / div >
< div class = "line" > < a name = "l01594" > < / a > < span class = "lineno" > 1594< / span >   std::vector< int> base_sibling_alternatives_;< / div >
< div class = "line" > < a name = "l01595" > < / a > < span class = "lineno" > 1595< / span >   std::vector< int> end_nodes_;< / div >
< div class = "line" > < a name = "l01596" > < / a > < span class = "lineno" > 1596< / span >   std::vector< int> base_paths_;< / div >
< div class = "line" > < a name = "l01597" > < / a > < span class = "lineno" > 1597< / span >   std::vector< int64> path_starts_;< / div >
< div class = "line" > < a name = "l01598" > < / a > < span class = "lineno" > 1598< / span >   std::vector< bool> inactives_;< / div >
< div class = "line" > < a name = "l01599" > < / a > < span class = "lineno" > 1599< / span >   < span class = "keywordtype" > bool< / span > just_started_;< / div >
< div class = "line" > < a name = "l01600" > < / a > < span class = "lineno" > 1600< / span >   < span class = "keywordtype" > bool< / span > first_start_;< / div >
< div class = "line" > < a name = "l01601" > < / a > < span class = "lineno" > 1601< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > bool< / span > accept_path_end_base_;< / div >
< div class = "line" > < a name = "l01602" > < / a > < span class = "lineno" > 1602< / span >   std::function< int(int64)> start_empty_path_class_;< / div >
< div class = "line" > < a name = "l01603" > < / a > < span class = "lineno" > 1603< / span >   < span class = "keywordtype" > bool< / span > skip_locally_optimal_paths_;< / div >
< div class = "line" > < a name = "l01604" > < / a > < span class = "lineno" > 1604< / span >   < span class = "keywordtype" > bool< / span > optimal_paths_enabled_;< / div >
< div class = "line" > < a name = "l01605" > < / a > < span class = "lineno" > 1605< / span >   std::vector< int> path_basis_;< / div >
< div class = "line" > < a name = "l01606" > < / a > < span class = "lineno" > 1606< / span >   std::vector< bool> optimal_paths_;< / div >
< div class = "line" > < a name = "l01608" > < / a > < span class = "lineno" > 1608< / span >   < span class = "preprocessor" > #ifndef SWIG< / span > < / div >
< div class = "line" > < a name = "l01609" > < / a > < span class = "lineno" > 1609< / span >   std::vector< std::vector< int64> > alternative_sets_;< / div >
< div class = "line" > < a name = "l01610" > < / a > < span class = "lineno" > 1610< / span >   < span class = "preprocessor" > #endif // SWIG< / span > < / div >
< div class = "line" > < a name = "l01611" > < / a > < span class = "lineno" > 1611< / span >   std::vector< int> alternative_index_;< / div >
< div class = "line" > < a name = "l01612" > < / a > < span class = "lineno" > 1612< / span >   std::vector< int64> active_in_alternative_set_;< / div >
< div class = "line" > < a name = "l01613" > < / a > < span class = "lineno" > 1613< / span >   std::vector< int> sibling_alternative_;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l01614" > < / a > < span class = "lineno" > 1614< / span >   };< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l01615" > < / a > < span class = "lineno" > 1615< / span >   < / div >
< div class = "line" > < a name = "l01617" > < / a > < span class = "lineno" > 1617< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l01618" > < / a > < span class = "lineno" > 1618< / span >   LocalSearchOperator* < a class = "code" href = "namespaceoperations__research.html#a85ea0ef5b46465c3793333ce9821f15f" > MakeLocalSearchOperator< / a > (< / div >
< div class = "line" > < a name = "l01619" > < / a > < span class = "lineno" > 1619< / span >   Solver* solver, < span class = "keyword" > const< / span > std::vector< IntVar*> & vars,< / div >
< div class = "line" > < a name = "l01620" > < / a > < span class = "lineno" > 1620< / span >   < span class = "keyword" > const< / span > std::vector< IntVar*> & secondary_vars,< / div >
< div class = "line" > < a name = "l01621" > < / a > < span class = "lineno" > 1621< / span >   std::function< < span class = "keywordtype" > int< / span > (int64)> start_empty_path_class);< / div >
< div class = "line" > < a name = "l01622" > < / a > < span class = "lineno" > 1622< / span >   < / div >
< div class = "line" > < a name = "l01625" > < / a > < span class = "lineno" > 1625< / span >   < span class = "keyword" > class < / span > TwoOpt;< / div >
< div class = "line" > < a name = "l01626" > < / a > < span class = "lineno" > 1626< / span >   < span class = "keyword" > class < / span > Relocate;< / div >
< div class = "line" > < a name = "l01627" > < / a > < span class = "lineno" > 1627< / span >   < span class = "keyword" > class < / span > Exchange;< / div >
< div class = "line" > < a name = "l01628" > < / a > < span class = "lineno" > 1628< / span >   < span class = "keyword" > class < / span > Cross;< / div >
< div class = "line" > < a name = "l01629" > < / a > < span class = "lineno" > 1629< / span >   < span class = "keyword" > class < / span > MakeActiveOperator;< / div >
< div class = "line" > < a name = "l01630" > < / a > < span class = "lineno" > 1630< / span >   < span class = "keyword" > class < / span > MakeInactiveOperator;< / div >
< div class = "line" > < a name = "l01631" > < / a > < span class = "lineno" > 1631< / span >   < span class = "keyword" > class < / span > MakeChainInactiveOperator;< / div >
< div class = "line" > < a name = "l01632" > < / a > < span class = "lineno" > 1632< / span >   < span class = "keyword" > class < / span > SwapActiveOperator;< / div >
< div class = "line" > < a name = "l01633" > < / a > < span class = "lineno" > 1633< / span >   < span class = "keyword" > class < / span > ExtendedSwapActiveOperator;< / div >
< div class = "line" > < a name = "l01634" > < / a > < span class = "lineno" > 1634< / span >   < span class = "keyword" > class < / span > MakeActiveAndRelocate;< / div >
< div class = "line" > < a name = "l01635" > < / a > < span class = "lineno" > 1635< / span >   < span class = "keyword" > class < / span > RelocateAndMakeActiveOperator;< / div >
< div class = "line" > < a name = "l01636" > < / a > < span class = "lineno" > 1636< / span >   < span class = "keyword" > class < / span > RelocateAndMakeInactiveOperator;< / div >
< div class = "line" > < a name = "l01637" > < / a > < span class = "lineno" > 1637< / span >   < / div >
< div class = "line" > < a name = "l01638" > < / a > < span class = "lineno" > 1638< / span >   < span class = "preprocessor" > #if !defined(SWIG)< / span > < / div >
< div class = "line" > < a name = "l01639" > < / a > < span class = "lineno" > 1639< / span >   < span class = "comment" > // A LocalSearchState is a container for variables with bounds that can be< / span > < / div >
< div class = "line" > < a name = "l01640" > < / a > < span class = "lineno" > 1640< / span >   < span class = "comment" > // relaxed and tightened, saved and restored. It represents the solution state< / span > < / div >
< div class = "line" > < a name = "l01641" > < / a > < span class = "lineno" > 1641< / span >   < span class = "comment" > // of a local search engine, and allows it to go from solution to solution by< / span > < / div >
< div class = "line" > < a name = "l01642" > < / a > < span class = "lineno" > 1642< / span >   < span class = "comment" > // relaxing some variables to form a new subproblem, then tightening those< / span > < / div >
< div class = "line" > < a name = "l01643" > < / a > < span class = "lineno" > 1643< / span >   < span class = "comment" > // variables to move to a new solution representation. That state may be saved< / span > < / div >
< div class = "line" > < a name = "l01644" > < / a > < span class = "lineno" > 1644< / span >   < span class = "comment" > // to an internal copy, or reverted to the last saved internal copy.< / span > < / div >
< div class = "line" > < a name = "l01645" > < / a > < span class = "lineno" > 1645< / span >   < span class = "comment" > // Relaxing a variable returns its bounds to their initial state.< / span > < / div >
< div class = "line" > < a name = "l01646" > < / a > < span class = "lineno" > 1646< / span >   < span class = "comment" > // Tightening a variable' s bounds may make its min larger than its max,< / span > < / div >
< div class = "line" > < a name = "l01647" > < / a > < span class = "lineno" > 1647< / span >   < span class = "comment" > // in that case, the tightening function will return false, and the state will< / span > < / div >
< div class = "line" > < a name = "l01648" > < / a > < span class = "lineno" > 1648< / span >   < span class = "comment" > // be marked as invalid. No other operations than Revert() can be called on an< / span > < / div >
< div class = "line" > < a name = "l01649" > < / a > < span class = "lineno" > 1649< / span >   < span class = "comment" > // invalid state: in particular, an invalid state cannot be saved.< / span > < / div >
< div class = "line" > < a name = "l01650" > < / a > < span class = "lineno" > 1650< / span >   < span class = "keyword" > class < / span > LocalSearchVariable;< / div >
< div class = "line" > < a name = "l01651" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchState.html" > 1651< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1LocalSearchState.html" > LocalSearchState< / a > {< / div >
< div class = "line" > < a name = "l01652" > < / a > < span class = "lineno" > 1652< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01653" > < / a > < span class = "lineno" > 1653< / span >   < a class = "code" href = "classoperations__research_1_1LocalSearchVariable.html" > LocalSearchVariable< / a > < a class = "code" href = "classoperations__research_1_1LocalSearchState.html#a88160424ed9e9ed9b891fafd45ec0218" > AddVariable< / a > (int64 initial_min, int64 initial_max);< / div >
< div class = "line" > < a name = "l01654" > < / a > < span class = "lineno" > 1654< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchState.html#aca6f43ce4724910499fa7cadb5caa01f" > Commit< / a > ();< / div >
< div class = "line" > < a name = "l01655" > < / a > < span class = "lineno" > 1655< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchState.html#ad415204991d6155dd37e84f3a306ccca" > Revert< / a > ();< / div >
< div class = "line" > < a name = "l01656" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchState.html#a1e53a18fec3e806c796aecc60bb1cefe" > 1656< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchState.html#a1e53a18fec3e806c796aecc60bb1cefe" > StateIsValid< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > state_is_valid_; }< / div >
< div class = "line" > < a name = "l01657" > < / a > < span class = "lineno" > 1657< / span >   < / div >
< div class = "line" > < a name = "l01658" > < / a > < span class = "lineno" > 1658< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01659" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchState.html#a8f5c510ca9b60acf27d2cd564c723ff7" > 1659< / a > < / span >   < span class = "keyword" > friend< / span > < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1LocalSearchVariable.html" > LocalSearchVariable< / a > ;< / div >
< div class = "line" > < a name = "l01660" > < / a > < span class = "lineno" > 1660< / span >   < / div >
< div class = "line" > < a name = "l01661" > < / a > < span class = "lineno" > 1661< / span >   < span class = "keyword" > struct < / span > Bounds {< / div >
< div class = "line" > < a name = "l01662" > < / a > < span class = "lineno" > 1662< / span >   int64 min;< / div >
< div class = "line" > < a name = "l01663" > < / a > < span class = "lineno" > 1663< / span >   int64 max;< / div >
< div class = "line" > < a name = "l01664" > < / a > < span class = "lineno" > 1664< / span >   };< / div >
< div class = "line" > < a name = "l01665" > < / a > < span class = "lineno" > 1665< / span >   < / div >
< div class = "line" > < a name = "l01666" > < / a > < span class = "lineno" > 1666< / span >   < span class = "keywordtype" > void< / span > RelaxVariableBounds(< span class = "keywordtype" > int< / span > variable_index);< / div >
< div class = "line" > < a name = "l01667" > < / a > < span class = "lineno" > 1667< / span >   < span class = "keywordtype" > bool< / span > TightenVariableMin(< span class = "keywordtype" > int< / span > variable_index, int64 value);< / div >
< div class = "line" > < a name = "l01668" > < / a > < span class = "lineno" > 1668< / span >   < span class = "keywordtype" > bool< / span > TightenVariableMax(< span class = "keywordtype" > int< / span > variable_index, int64 value);< / div >
< div class = "line" > < a name = "l01669" > < / a > < span class = "lineno" > 1669< / span >   int64 VariableMin(< span class = "keywordtype" > int< / span > variable_index) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l01670" > < / a > < span class = "lineno" > 1670< / span >   int64 VariableMax(< span class = "keywordtype" > int< / span > variable_index) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l01671" > < / a > < span class = "lineno" > 1671< / span >   < / div >
< div class = "line" > < a name = "l01672" > < / a > < span class = "lineno" > 1672< / span >   std::vector< Bounds> initial_variable_bounds_;< / div >
< div class = "line" > < a name = "l01673" > < / a > < span class = "lineno" > 1673< / span >   std::vector< Bounds> variable_bounds_;< / div >
< div class = "line" > < a name = "l01674" > < / a > < span class = "lineno" > 1674< / span >   std::vector< std::pair< Bounds, int> > saved_variable_bounds_trail_;< / div >
< div class = "line" > < a name = "l01675" > < / a > < span class = "lineno" > 1675< / span >   std::vector< bool> variable_is_relaxed_;< / div >
< div class = "line" > < a name = "l01676" > < / a > < span class = "lineno" > 1676< / span >   < span class = "keywordtype" > bool< / span > state_is_valid_ = < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l01677" > < / a > < span class = "lineno" > 1677< / span >   };< / div >
< div class = "line" > < a name = "l01678" > < / a > < span class = "lineno" > 1678< / span >   < / div >
< div class = "line" > < a name = "l01679" > < / a > < span class = "lineno" > 1679< / span >   < span class = "comment" > // A LocalSearchVariable can only be created by a LocalSearchState, then it is< / span > < / div >
< div class = "line" > < a name = "l01680" > < / a > < span class = "lineno" > 1680< / span >   < span class = "comment" > // meant to be passed by copy. If at some point the duplication of< / span > < / div >
< div class = "line" > < a name = "l01681" > < / a > < span class = "lineno" > 1681< / span >   < span class = "comment" > // LocalSearchState pointers is too expensive, we could switch to index only,< / span > < / div >
< div class = "line" > < a name = "l01682" > < / a > < span class = "lineno" > 1682< / span >   < span class = "comment" > // and the user would have to know the relevant state. The present setup allows< / span > < / div >
< div class = "line" > < a name = "l01683" > < / a > < span class = "lineno" > 1683< / span >   < span class = "comment" > // to ensure that variable users will not misuse the state.< / span > < / div >
< div class = "line" > < a name = "l01684" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchVariable.html" > 1684< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1LocalSearchVariable.html" > LocalSearchVariable< / a > {< / div >
< div class = "line" > < a name = "l01685" > < / a > < span class = "lineno" > 1685< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01686" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchVariable.html#a53e9735282c0bf0769962bd1b6a643bc" > 1686< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1LocalSearchVariable.html#a53e9735282c0bf0769962bd1b6a643bc" > Min< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > state_-> VariableMin(variable_index_); }< / div >
< div class = "line" > < a name = "l01687" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchVariable.html#a5fa627799e723b650fe562b05e1fef5f" > 1687< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1LocalSearchVariable.html#a5fa627799e723b650fe562b05e1fef5f" > Max< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > state_-> VariableMax(variable_index_); }< / div >
< div class = "line" > < a name = "l01688" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchVariable.html#acc0e6d3b25abe493558bb4268a8dcff4" > 1688< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchVariable.html#acc0e6d3b25abe493558bb4268a8dcff4" > SetMin< / a > (int64 new_min) {< / div >
< div class = "line" > < a name = "l01689" > < / a > < span class = "lineno" > 1689< / span >   < span class = "keywordflow" > return< / span > state_-> TightenVariableMin(variable_index_, new_min);< / div >
< div class = "line" > < a name = "l01690" > < / a > < span class = "lineno" > 1690< / span >   }< / div >
< div class = "line" > < a name = "l01691" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchVariable.html#a81a5fd8e696cd98bcbe29d1831655782" > 1691< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchVariable.html#a81a5fd8e696cd98bcbe29d1831655782" > SetMax< / a > (int64 new_max) {< / div >
< div class = "line" > < a name = "l01692" > < / a > < span class = "lineno" > 1692< / span >   < span class = "keywordflow" > return< / span > state_-> TightenVariableMax(variable_index_, new_max);< / div >
< div class = "line" > < a name = "l01693" > < / a > < span class = "lineno" > 1693< / span >   }< / div >
< div class = "line" > < a name = "l01694" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchVariable.html#ae52e3ea7ba54fa164737b531605b3802" > 1694< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchVariable.html#ae52e3ea7ba54fa164737b531605b3802" > Relax< / a > () { state_-> RelaxVariableBounds(variable_index_); }< / div >
< div class = "line" > < a name = "l01695" > < / a > < span class = "lineno" > 1695< / span >   < / div >
< div class = "line" > < a name = "l01696" > < / a > < span class = "lineno" > 1696< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01697" > < / a > < span class = "lineno" > 1697< / span >   < span class = "comment" > // Only LocalSearchState can construct LocalSearchVariables.< / span > < / div >
< div class = "line" > < a name = "l01698" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchVariable.html#aff1f964f65624725a91c1536c7af0320" > 1698< / a > < / span >   < span class = "keyword" > friend< / span > < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1LocalSearchState.html" > LocalSearchState< / a > ;< / div >
< div class = "line" > < a name = "l01699" > < / a > < span class = "lineno" > 1699< / span >   < / div >
< div class = "line" > < a name = "l01700" > < / a > < span class = "lineno" > 1700< / span >   < a class = "code" href = "classoperations__research_1_1LocalSearchVariable.html" > LocalSearchVariable< / a > (< a class = "code" href = "classoperations__research_1_1LocalSearchState.html" > LocalSearchState< / a > * state, < span class = "keywordtype" > int< / span > variable_index)< / div >
< div class = "line" > < a name = "l01701" > < / a > < span class = "lineno" > 1701< / span >   : state_(state), variable_index_(variable_index) {}< / div >
< div class = "line" > < a name = "l01702" > < / a > < span class = "lineno" > 1702< / span >   < / div >
< div class = "line" > < a name = "l01703" > < / a > < span class = "lineno" > 1703< / span >   < a class = "code" href = "classoperations__research_1_1LocalSearchState.html" > LocalSearchState< / a > * < span class = "keyword" > const< / span > state_;< / div >
< div class = "line" > < a name = "l01704" > < / a > < span class = "lineno" > 1704< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > variable_index_;< / div >
< div class = "line" > < a name = "l01705" > < / a > < span class = "lineno" > 1705< / span >   };< / div >
< div class = "line" > < a name = "l01706" > < / a > < span class = "lineno" > 1706< / span >   < span class = "preprocessor" > #endif // !defined(SWIG)< / span > < / div >
< div class = "line" > < a name = "l01707" > < / a > < span class = "lineno" > 1707< / span >   < / div >
< div class = "line" > < a name = "l01724" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilter.html" > 1724< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html" > LocalSearchFilter< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1BaseObject.html" > BaseObject< / a > {< / div >
< div class = "line" > < a name = "l01725" > < / a > < span class = "lineno" > 1725< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01728" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilter.html#a683280a81651f9073086324eb6d0cee9" > 1728< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html#a683280a81651f9073086324eb6d0cee9" > Relax< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta, < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * deltadelta) {}< / div >
< div class = "line" > < a name = "l01729" > < / a > < span class = "lineno" > 1729< / span >   < / div >
< div class = "line" > < a name = "l01739" > < / a > < span class = "lineno" > 1739< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html#a1eebe2111d0d0d63bc00b6fd5927b616" > Accept< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta, < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * deltadelta,< / div >
< div class = "line" > < a name = "l01740" > < / a > < span class = "lineno" > 1740< / span >   int64 objective_min, int64 objective_max) = 0;< / div >
< div class = "line" > < a name = "l01741" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilter.html#aa21d5f9b4adc94167e3a466095d82fd5" > 1741< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html#aa21d5f9b4adc94167e3a466095d82fd5" > IsIncremental< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ; }< / div >
< div class = "line" > < a name = "l01742" > < / a > < span class = "lineno" > 1742< / span >   < / div >
< div class = "line" > < a name = "l01748" > < / a > < span class = "lineno" > 1748< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html#a014f20f582a46468dff392fcf77aa55c" > Synchronize< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * assignment,< / div >
< div class = "line" > < a name = "l01749" > < / a > < span class = "lineno" > 1749< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta) = 0;< / div >
< div class = "line" > < a name = "l01751" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilter.html#abd469dc354c620c06a2f7b45df1abc39" > 1751< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html#abd469dc354c620c06a2f7b45df1abc39" > Revert< / a > () {}< / div >
< div class = "line" > < a name = "l01752" > < / a > < span class = "lineno" > 1752< / span >   < / div >
< div class = "line" > < a name = "l01754" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilter.html#a14786ee7098dc88e3eefc6f0a2c9411e" > 1754< / a > < / span >   < span class = "keyword" > virtual< / span > int64 < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html#a14786ee7098dc88e3eefc6f0a2c9411e" > GetSynchronizedObjectiveValue< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > 0LL; }< / div >
< div class = "line" > < a name = "l01756" > < / a > < span class = "lineno" > 1756< / span >   < span class = "comment" > // If the last Accept() call returned false, returns an undefined value.< / span > < / div >
< div class = "line" > < a name = "l01757" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilter.html#ae5d81865846ca6be009b31a1c59f2165" > 1757< / a > < / span >   < span class = "keyword" > virtual< / span > int64 < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html#ae5d81865846ca6be009b31a1c59f2165" > GetAcceptedObjectiveValue< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > 0LL; }< / div >
< div class = "line" > < a name = "l01758" > < / a > < span class = "lineno" > 1758< / span >   };< / div >
< div class = "line" > < a name = "l01759" > < / a > < span class = "lineno" > 1759< / span >   < / div >
< div class = "line" > < a name = "l01760" > < / a > < span class = "lineno" > 1760< / span >   < span class = "preprocessor" > #if !defined(SWIG)< / span > < / div >
< div class = "line" > < a name = "l01761" > < / a > < span class = "lineno" > 1761< / span >   < span class = "keyword" > class < / span > LocalSearchFilterManager : < span class = "keyword" > public< / span > LocalSearchFilter {< / div >
< div class = "line" > < a name = "l01765" > < / a > < span class = "lineno" > 1765< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01766" > < / a > < span class = "lineno" > 1766< / span >   < a class = "code" href = "classoperations__research_1_1LocalSearchFilterManager.html#a752bbb483eb18915e04d655b27794672" > LocalSearchFilterManager< / a > (Solver* < span class = "keyword" > const< / span > solver,< / div >
< div class = "line" > < a name = "l01767" > < / a > < span class = "lineno" > 1767< / span >   < span class = "keyword" > const< / span > std::vector< LocalSearchFilter*> & filters);< / div >
< div class = "line" > < a name = "l01768" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilterManager.html#aed804747c45a7e1caf81461f9e45dd91" > 1768< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1LocalSearchFilterManager.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l01769" > < / a > < span class = "lineno" > 1769< / span >   < span class = "keywordflow" > return< / span > < span class = "stringliteral" > " LocalSearchFilterManager" < / span > ;< / div >
< div class = "line" > < a name = "l01770" > < / a > < span class = "lineno" > 1770< / span >   }< / div >
< div class = "line" > < a name = "l01771" > < / a > < span class = "lineno" > 1771< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilterManager.html#a04f26b7c2a54ee541d1b4587d9e7ce0d" > Relax< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta, < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * deltadelta) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01772" > < / a > < span class = "lineno" > 1772< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilterManager.html#a08fb84b8b2eed337c28aee4e71d48eeb" > Revert< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01775" > < / a > < span class = "lineno" > 1775< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilterManager.html#a511cf14b54c83cffc0a673985db90643" > Accept< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta, < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * deltadelta,< / div >
< div class = "line" > < a name = "l01776" > < / a > < span class = "lineno" > 1776< / span >   int64 objective_min, int64 objective_max) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01778" > < / a > < span class = "lineno" > 1778< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilterManager.html#a625550edd889d6c9a3b73db329d52a72" > Synchronize< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * assignment,< / div >
< div class = "line" > < a name = "l01779" > < / a > < span class = "lineno" > 1779< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01780" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilterManager.html#a25270065fa93c847ef996f6ed937e175" > 1780< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilterManager.html#a25270065fa93c847ef996f6ed937e175" > IsIncremental< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > is_incremental_; }< / div >
< div class = "line" > < a name = "l01781" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilterManager.html#a42a9a358f47fdd86829e3a51636d9333" > 1781< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1LocalSearchFilterManager.html#a42a9a358f47fdd86829e3a51636d9333" > GetSynchronizedObjectiveValue< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l01782" > < / a > < span class = "lineno" > 1782< / span >   < span class = "keywordflow" > return< / span > synchronized_value_;< / div >
< div class = "line" > < a name = "l01783" > < / a > < span class = "lineno" > 1783< / span >   }< / div >
< div class = "line" > < a name = "l01784" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchFilterManager.html#ab4ef2ddbcbe244071c1e4adf2f5a8029" > 1784< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1LocalSearchFilterManager.html#ab4ef2ddbcbe244071c1e4adf2f5a8029" > GetAcceptedObjectiveValue< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > accepted_value_; }< / div >
< div class = "line" > < a name = "l01785" > < / a > < span class = "lineno" > 1785< / span >   < / div >
< div class = "line" > < a name = "l01786" > < / a > < span class = "lineno" > 1786< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01787" > < / a > < span class = "lineno" > 1787< / span >   < a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver_;< / div >
< div class = "line" > < a name = "l01788" > < / a > < span class = "lineno" > 1788< / span >   std::vector< LocalSearchFilter*> filters_;< / div >
< div class = "line" > < a name = "l01789" > < / a > < span class = "lineno" > 1789< / span >   < span class = "keywordtype" > bool< / span > is_incremental_;< / div >
< div class = "line" > < a name = "l01790" > < / a > < span class = "lineno" > 1790< / span >   int64 synchronized_value_;< / div >
< div class = "line" > < a name = "l01791" > < / a > < span class = "lineno" > 1791< / span >   int64 accepted_value_;< / div >
< div class = "line" > < a name = "l01792" > < / a > < span class = "lineno" > 1792< / span >   };< / div >
< div class = "line" > < a name = "l01793" > < / a > < span class = "lineno" > 1793< / span >   < span class = "preprocessor" > #endif< / span > < / div >
< div class = "line" > < a name = "l01794" > < / a > < span class = "lineno" > 1794< / span >   < / div >
< div class = "line" > < a name = "l01795" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchFilter.html" > 1795< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html" > IntVarLocalSearchFilter< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html" > LocalSearchFilter< / a > {< / div >
< div class = "line" > < a name = "l01796" > < / a > < span class = "lineno" > 1796< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01797" > < / a > < span class = "lineno" > 1797< / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a8db9c655c030223da3b1071e9469e441" > IntVarLocalSearchFilter< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars);< / div >
< div class = "line" > < a name = "l01798" > < / a > < span class = "lineno" > 1798< / span >   < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a32d7d75eadfb9b0f532f9bed4d864274" > ~IntVarLocalSearchFilter< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01801" > < / a > < span class = "lineno" > 1801< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a625550edd889d6c9a3b73db329d52a72" > Synchronize< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * assignment,< / div >
< div class = "line" > < a name = "l01802" > < / a > < span class = "lineno" > 1802< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01803" > < / a > < span class = "lineno" > 1803< / span >   < / div >
< div class = "line" > < a name = "l01804" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a1907b3ee12b9e6e2bfc69e1a69b5baf0" > 1804< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a1907b3ee12b9e6e2bfc69e1a69b5baf0" > FindIndex< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64* index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01805" > < / a > < span class = "lineno" > 1805< / span >   DCHECK(index != < span class = "keyword" > nullptr< / span > );< / div >
< div class = "line" > < a name = "l01806" > < / a > < span class = "lineno" > 1806< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > var_index = var-> < a class = "code" href = "classoperations__research_1_1IntVar.html#acca41811e8aaab0112b987749c0ecb93" > index< / a > ();< / div >
< div class = "line" > < a name = "l01807" > < / a > < span class = "lineno" > 1807< / span >   *index = (var_index < var_index_to_index_.size())< / div >
< div class = "line" > < a name = "l01808" > < / a > < span class = "lineno" > 1808< / span >   ? var_index_to_index_[var_index]< / div >
< div class = "line" > < a name = "l01809" > < / a > < span class = "lineno" > 1809< / span >   : kUnassigned;< / div >
< div class = "line" > < a name = "l01810" > < / a > < span class = "lineno" > 1810< / span >   < span class = "keywordflow" > return< / span > *index != kUnassigned;< / div >
< div class = "line" > < a name = "l01811" > < / a > < span class = "lineno" > 1811< / span >   }< / div >
< div class = "line" > < a name = "l01812" > < / a > < span class = "lineno" > 1812< / span >   < / div >
< div class = "line" > < a name = "l01814" > < / a > < span class = "lineno" > 1814< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#ad0c622b7f274388822c9f35659a56542" > AddVars< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars);< / div >
< div class = "line" > < a name = "l01815" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a24926108b770033792d015cb86aeffb3" > 1815< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > vars_.size(); }< / div >
< div class = "line" > < a name = "l01816" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#abbab4c9580ab21b8dbd7af67ab35f393" > 1816< / a > < / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#abbab4c9580ab21b8dbd7af67ab35f393" > Var< / a > (< span class = "keywordtype" > int< / span > index)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > vars_[index]; }< / div >
< div class = "line" > < a name = "l01817" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#acc37407ddda743886d3cb40298914f0d" > 1817< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#acc37407ddda743886d3cb40298914f0d" > Value< / a > (< span class = "keywordtype" > int< / span > index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l01818" > < / a > < span class = "lineno" > 1818< / span >   DCHECK(< a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#af295b14439014798b1fd34faffd3b5e7" > IsVarSynced< / a > (index));< / div >
< div class = "line" > < a name = "l01819" > < / a > < span class = "lineno" > 1819< / span >   < span class = "keywordflow" > return< / span > values_[index];< / div >
< div class = "line" > < a name = "l01820" > < / a > < span class = "lineno" > 1820< / span >   }< / div >
< div class = "line" > < a name = "l01821" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#af295b14439014798b1fd34faffd3b5e7" > 1821< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#af295b14439014798b1fd34faffd3b5e7" > IsVarSynced< / a > (< span class = "keywordtype" > int< / span > index)< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > var_synced_[index]; }< / div >
< div class = "line" > < a name = "l01822" > < / a > < span class = "lineno" > 1822< / span >   < / div >
< div class = "line" > < a name = "l01823" > < / a > < span class = "lineno" > 1823< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l01824" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a0aee6f5d9448e52ed735f92e581f2a3f" > 1824< / a > < / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a0aee6f5d9448e52ed735f92e581f2a3f" > OnSynchronize< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta) {}< / div >
< div class = "line" > < a name = "l01825" > < / a > < span class = "lineno" > 1825< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a07e7b2863d0982b2eb610f2d31171b4d" > SynchronizeOnAssignment< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * assignment);< / div >
< div class = "line" > < a name = "l01826" > < / a > < span class = "lineno" > 1826< / span >   < / div >
< div class = "line" > < a name = "l01827" > < / a > < span class = "lineno" > 1827< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01828" > < / a > < span class = "lineno" > 1828< / span >   std::vector< IntVar*> vars_;< / div >
< div class = "line" > < a name = "l01829" > < / a > < span class = "lineno" > 1829< / span >   std::vector< int64> values_;< / div >
< div class = "line" > < a name = "l01830" > < / a > < span class = "lineno" > 1830< / span >   std::vector< bool> var_synced_;< / div >
< div class = "line" > < a name = "l01831" > < / a > < span class = "lineno" > 1831< / span >   std::vector< int> var_index_to_index_;< / div >
< div class = "line" > < a name = "l01832" > < / a > < span class = "lineno" > 1832< / span >   < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > kUnassigned;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l01833" > < / a > < span class = "lineno" > 1833< / span >   };< / div >
< div class = "line" > < a name = "l01834" > < / a > < span class = "lineno" > 1834< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l01835" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PropagationMonitor.html" > 1835< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html" > PropagationMonitor< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1SearchMonitor.html" > SearchMonitor< / a > {< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l01836" > < / a > < span class = "lineno" > 1836< / span >   < span class = "keyword" > public< / span > :< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l01837" > < / a > < span class = "lineno" > 1837< / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ad83eb86dff9433744b15cce5787f9518" > PropagationMonitor< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864" > solver< / a > );< / div >
< div class = "line" > < a name = "l01838" > < / a > < span class = "lineno" > 1838< / span >   < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a1db7423d2ebb38c7e3d387ce91d39cae" > ~PropagationMonitor< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01839" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1PropagationMonitor.html#aed804747c45a7e1caf81461f9e45dd91" > 1839< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > < span class = "stringliteral" > " PropagationMonitor" < / span > ; }< / div >
< div class = "line" > < a name = "l01840" > < / a > < span class = "lineno" > 1840< / span >   < / div >
< div class = "line" > < a name = "l01842" > < / a > < span class = "lineno" > 1842< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ab52ff1d356b9ca17d86884720fd9f08f" > BeginConstraintInitialPropagation< / a > (< / div >
< div class = "line" > < a name = "l01843" > < / a > < span class = "lineno" > 1843< / span >   < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > constraint) = 0;< / div >
< div class = "line" > < a name = "l01844" > < / a > < span class = "lineno" > 1844< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a2ba65f329138882aa7a56a8815fe2238" > EndConstraintInitialPropagation< / a > (< / div >
< div class = "line" > < a name = "l01845" > < / a > < span class = "lineno" > 1845< / span >   < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > constraint) = 0;< / div >
< div class = "line" > < a name = "l01846" > < / a > < span class = "lineno" > 1846< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a8f8d2ca3d9f0e871b9770007e7389d3e" > BeginNestedConstraintInitialPropagation< / a > (< / div >
< div class = "line" > < a name = "l01847" > < / a > < span class = "lineno" > 1847< / span >   < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > parent, < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > nested) = 0;< / div >
< div class = "line" > < a name = "l01848" > < / a > < span class = "lineno" > 1848< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a999c625dc76dfd7f967b8975ae965df8" > EndNestedConstraintInitialPropagation< / a > (< / div >
< div class = "line" > < a name = "l01849" > < / a > < span class = "lineno" > 1849< / span >   < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > parent, < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > nested) = 0;< / div >
< div class = "line" > < a name = "l01850" > < / a > < span class = "lineno" > 1850< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#aced81fe18add9aa052c40a148b6bb79d" > RegisterDemon< / a > (< a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < span class = "keyword" > const< / span > demon) = 0;< / div >
< div class = "line" > < a name = "l01851" > < / a > < span class = "lineno" > 1851< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a6e0692306656dae6639fbc6dd001400d" > BeginDemonRun< / a > (< a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < span class = "keyword" > const< / span > demon) = 0;< / div >
< div class = "line" > < a name = "l01852" > < / a > < span class = "lineno" > 1852< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#acd79a3f4a6c95f0acecac5bc8420bd37" > EndDemonRun< / a > (< a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * < span class = "keyword" > const< / span > demon) = 0;< / div >
< div class = "line" > < a name = "l01853" > < / a > < span class = "lineno" > 1853< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#aa77ef61dbcadb2bd07159e46dd7555a6" > StartProcessingIntegerVariable< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var) = 0;< / div >
< div class = "line" > < a name = "l01854" > < / a > < span class = "lineno" > 1854< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ad8c078366ae8c668ccaa369f2f539a08" > EndProcessingIntegerVariable< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var) = 0;< / div >
< div class = "line" > < a name = "l01855" > < / a > < span class = "lineno" > 1855< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a70c1ff674f3da38bc07626c496f34af9" > PushContext< / a > (< span class = "keyword" > const< / span > std::string& context) = 0;< / div >
< div class = "line" > < a name = "l01856" > < / a > < span class = "lineno" > 1856< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ad8c2cfa3b6981f66705a3309edc2521c" > PopContext< / a > () = 0;< / div >
< div class = "line" > < a name = "l01858" > < / a > < span class = "lineno" > 1858< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ae7c8c23ec45eba3a79aac5855c50abb5" > SetMin< / a > (< a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr, int64 new_min) = 0;< / div >
< div class = "line" > < a name = "l01859" > < / a > < span class = "lineno" > 1859< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ab8ed2ab487fb741c6b16e56f9b2366a7" > SetMax< / a > (< a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr, int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01860" > < / a > < span class = "lineno" > 1860< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a9d45fd5e85e1163227c887c8c31a952b" > SetRange< / a > (< a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr, int64 new_min, int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01862" > < / a > < span class = "lineno" > 1862< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ae7c8c23ec45eba3a79aac5855c50abb5" > SetMin< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 new_min) = 0;< / div >
< div class = "line" > < a name = "l01863" > < / a > < span class = "lineno" > 1863< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ab8ed2ab487fb741c6b16e56f9b2366a7" > SetMax< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01864" > < / a > < span class = "lineno" > 1864< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a9d45fd5e85e1163227c887c8c31a952b" > SetRange< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 new_min, int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01865" > < / a > < span class = "lineno" > 1865< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a4da354d2a2be5f59f86989fb2f12b387" > RemoveValue< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value) = 0;< / div >
< div class = "line" > < a name = "l01866" > < / a > < span class = "lineno" > 1866< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a89466464156a79137613fd23ce224fb3" > SetValue< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value) = 0;< / div >
< div class = "line" > < a name = "l01867" > < / a > < span class = "lineno" > 1867< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a7c8dcc8e0aeb903477ebdd3f2ecd6ed2" > RemoveInterval< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 imin, int64 imax) = 0;< / div >
< div class = "line" > < a name = "l01868" > < / a > < span class = "lineno" > 1868< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a3119f68c1afc9c7260f5bfc9197565c4" > SetValues< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var,< / div >
< div class = "line" > < a name = "l01869" > < / a > < span class = "lineno" > 1869< / span >   < span class = "keyword" > const< / span > std::vector< int64> & values) = 0;< / div >
< div class = "line" > < a name = "l01870" > < / a > < span class = "lineno" > 1870< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a7de0ef55201c1fd80ff988a533ed4094" > RemoveValues< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var,< / div >
< div class = "line" > < a name = "l01871" > < / a > < span class = "lineno" > 1871< / span >   < span class = "keyword" > const< / span > std::vector< int64> & values) = 0;< / div >
< div class = "line" > < a name = "l01873" > < / a > < span class = "lineno" > 1873< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a842f32a0bbfc971fc66fcd369670f23c" > SetStartMin< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, int64 new_min) = 0;< / div >
< div class = "line" > < a name = "l01874" > < / a > < span class = "lineno" > 1874< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ac106cfd79f1bb991a7778a31bd3f4217" > SetStartMax< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01875" > < / a > < span class = "lineno" > 1875< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a8aa43c7f42405e3d49b0cd3764eb6f11" > SetStartRange< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, int64 new_min,< / div >
< div class = "line" > < a name = "l01876" > < / a > < span class = "lineno" > 1876< / span >   int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01877" > < / a > < span class = "lineno" > 1877< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a140876cd76c306a6c9dcd1c4b8b30cfc" > SetEndMin< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, int64 new_min) = 0;< / div >
< div class = "line" > < a name = "l01878" > < / a > < span class = "lineno" > 1878< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a4f57599e6105b17036cefa8a84a164fd" > SetEndMax< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01879" > < / a > < span class = "lineno" > 1879< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#afa403c15d19d9dbce596fde6056b6b23" > SetEndRange< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, int64 new_min,< / div >
< div class = "line" > < a name = "l01880" > < / a > < span class = "lineno" > 1880< / span >   int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01881" > < / a > < span class = "lineno" > 1881< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ab7f2ab18c499c4221377089c421d0390" > SetDurationMin< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, int64 new_min) = 0;< / div >
< div class = "line" > < a name = "l01882" > < / a > < span class = "lineno" > 1882< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ae26dfd011491bccef90546bb225fca55" > SetDurationMax< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01883" > < / a > < span class = "lineno" > 1883< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#ab34ca3550d919f196a8bc47f60bf00c8" > SetDurationRange< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, int64 new_min,< / div >
< div class = "line" > < a name = "l01884" > < / a > < span class = "lineno" > 1884< / span >   int64 new_max) = 0;< / div >
< div class = "line" > < a name = "l01885" > < / a > < span class = "lineno" > 1885< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#aa3e9be9f07862e3f2704cb028866ab81" > SetPerformed< / a > (< a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var, < span class = "keywordtype" > bool< / span > value) = 0;< / div >
< div class = "line" > < a name = "l01887" > < / a > < span class = "lineno" > 1887< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#af5aaffbf16ee150934ca1d7feddffdf7" > RankFirst< / a > (< a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * < span class = "keyword" > const< / span > var, < span class = "keywordtype" > int< / span > index) = 0;< / div >
< div class = "line" > < a name = "l01888" > < / a > < span class = "lineno" > 1888< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a670d62cb4741bc10b2332a8a67fd3f5a" > RankNotFirst< / a > (< a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * < span class = "keyword" > const< / span > var, < span class = "keywordtype" > int< / span > index) = 0;< / div >
< div class = "line" > < a name = "l01889" > < / a > < span class = "lineno" > 1889< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a133d6644c8ea52f45e657b4c268e0cbf" > RankLast< / a > (< a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * < span class = "keyword" > const< / span > var, < span class = "keywordtype" > int< / span > index) = 0;< / div >
< div class = "line" > < a name = "l01890" > < / a > < span class = "lineno" > 1890< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a6467f671a40283eed2a71c51741d93b8" > RankNotLast< / a > (< a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * < span class = "keyword" > const< / span > var, < span class = "keywordtype" > int< / span > index) = 0;< / div >
< div class = "line" > < a name = "l01891" > < / a > < span class = "lineno" > 1891< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a6e8312c7b6a02f813e345b99f98a8458" > RankSequence< / a > (< a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * < span class = "keyword" > const< / span > var,< / div >
< div class = "line" > < a name = "l01892" > < / a > < span class = "lineno" > 1892< / span >   < span class = "keyword" > const< / span > std::vector< int> & rank_first,< / div >
< div class = "line" > < a name = "l01893" > < / a > < span class = "lineno" > 1893< / span >   < span class = "keyword" > const< / span > std::vector< int> & rank_last,< / div >
< div class = "line" > < a name = "l01894" > < / a > < span class = "lineno" > 1894< / span >   < span class = "keyword" > const< / span > std::vector< int> & unperformed) = 0;< / div >
< div class = "line" > < a name = "l01896" > < / a > < span class = "lineno" > 1896< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1PropagationMonitor.html#a127c860aa3b5024666f308c553edf2a5" > Install< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01897" > < / a > < span class = "lineno" > 1897< / span >   };< / div >
< div class = "line" > < a name = "l01898" > < / a > < span class = "lineno" > 1898< / span >   < / div >
< div class = "line" > < a name = "l01899" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchMonitor.html" > 1899< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html" > LocalSearchMonitor< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1SearchMonitor.html" > SearchMonitor< / a > {< / div >
< div class = "line" > < a name = "l01900" > < / a > < span class = "lineno" > 1900< / span >   < span class = "comment" > // TODO(user): Add monitoring of local search filters.< / span > < / div >
< div class = "line" > < a name = "l01901" > < / a > < span class = "lineno" > 1901< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01902" > < / a > < span class = "lineno" > 1902< / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#acdce7f3ee437589e2a3741e55c29fcda" > LocalSearchMonitor< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864" > solver< / a > );< / div >
< div class = "line" > < a name = "l01903" > < / a > < span class = "lineno" > 1903< / span >   < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#af8f03375e391cf5057c6d7a5962e0436" > ~LocalSearchMonitor< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01904" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1LocalSearchMonitor.html#aed804747c45a7e1caf81461f9e45dd91" > 1904< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > < span class = "stringliteral" > " LocalSearchMonitor" < / span > ; }< / div >
< div class = "line" > < a name = "l01905" > < / a > < span class = "lineno" > 1905< / span >   < / div >
< div class = "line" > < a name = "l01907" > < / a > < span class = "lineno" > 1907< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#a35b82cf962b8485dfef3772acac93985" > BeginOperatorStart< / a > () = 0;< / div >
< div class = "line" > < a name = "l01908" > < / a > < span class = "lineno" > 1908< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#a19a62cbe5ebefaa2729f76d22b7d809f" > EndOperatorStart< / a > () = 0;< / div >
< div class = "line" > < a name = "l01909" > < / a > < span class = "lineno" > 1909< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#a1b4ca6b8001752831ccac4e35478456c" > BeginMakeNextNeighbor< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html" > LocalSearchOperator< / a > * op) = 0;< / div >
< div class = "line" > < a name = "l01910" > < / a > < span class = "lineno" > 1910< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#a0ee5f26ca61781ca148050d4c849a59a" > EndMakeNextNeighbor< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html" > LocalSearchOperator< / a > * op,< / div >
< div class = "line" > < a name = "l01911" > < / a > < span class = "lineno" > 1911< / span >   < span class = "keywordtype" > bool< / span > neighbor_found, < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * delta,< / div >
< div class = "line" > < a name = "l01912" > < / a > < span class = "lineno" > 1912< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Assignment.html" > Assignment< / a > * deltadelta) = 0;< / div >
< div class = "line" > < a name = "l01913" > < / a > < span class = "lineno" > 1913< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#a9bff5a3752886dfc07cdb1a013703229" > BeginFilterNeighbor< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html" > LocalSearchOperator< / a > * op) = 0;< / div >
< div class = "line" > < a name = "l01914" > < / a > < span class = "lineno" > 1914< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#acf88f5c01754112f318c5e3e09e3df28" > EndFilterNeighbor< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html" > LocalSearchOperator< / a > * op,< / div >
< div class = "line" > < a name = "l01915" > < / a > < span class = "lineno" > 1915< / span >   < span class = "keywordtype" > bool< / span > neighbor_found) = 0;< / div >
< div class = "line" > < a name = "l01916" > < / a > < span class = "lineno" > 1916< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#aa4c2b5fb22216b02024b4e6f42603483" > BeginAcceptNeighbor< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html" > LocalSearchOperator< / a > * op) = 0;< / div >
< div class = "line" > < a name = "l01917" > < / a > < span class = "lineno" > 1917< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#a16b6aa7d88fa401005be90a804a7ab10" > EndAcceptNeighbor< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchOperator.html" > LocalSearchOperator< / a > * op,< / div >
< div class = "line" > < a name = "l01918" > < / a > < span class = "lineno" > 1918< / span >   < span class = "keywordtype" > bool< / span > neighbor_found) = 0;< / div >
< div class = "line" > < a name = "l01919" > < / a > < span class = "lineno" > 1919< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#aa80c2b78ad60b5811b9fdeb8fab32c71" > BeginFiltering< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html" > LocalSearchFilter< / a > * filter) = 0;< / div >
< div class = "line" > < a name = "l01920" > < / a > < span class = "lineno" > 1920< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#a70a6f04e20d3aca67f5463c3b12498dc" > EndFiltering< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchFilter.html" > LocalSearchFilter< / a > * filter, < span class = "keywordtype" > bool< / span > reject) = 0;< / div >
< div class = "line" > < a name = "l01921" > < / a > < span class = "lineno" > 1921< / span >   < / div >
< div class = "line" > < a name = "l01923" > < / a > < span class = "lineno" > 1923< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1LocalSearchMonitor.html#a127c860aa3b5024666f308c553edf2a5" > Install< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01924" > < / a > < span class = "lineno" > 1924< / span >   };< / div >
< div class = "line" > < a name = "l01925" > < / a > < span class = "lineno" > 1925< / span >   < / div >
< div class = "line" > < a name = "l01926" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html" > 1926< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html" > BooleanVar< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > {< / div >
< div class = "line" > < a name = "l01927" > < / a > < span class = "lineno" > 1927< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01928" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#a970f18a42acc024041506587b8f79e74" > 1928< / a > < / span >   < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a970f18a42acc024041506587b8f79e74" > kUnboundBooleanVarValue< / a > ;< / div >
< div class = "line" > < a name = "l01929" > < / a > < span class = "lineno" > 1929< / span >   < / div >
< div class = "line" > < a name = "l01930" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#aeded50edd859a889ba764147084fc516" > 1930< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#aeded50edd859a889ba764147084fc516" > BooleanVar< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, < span class = "keyword" > const< / span > std::string& < a class = "code" href = "classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e" > name< / a > = < span class = "stringliteral" > " " < / span > )< / div >
< div class = "line" > < a name = "l01931" > < / a > < span class = "lineno" > 1931< / span >   : < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > (s, < a class = "code" href = "classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e" > name< / a > ), < a class = "code" href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > value_< / a > (< a class = "code" href = "classoperations__research_1_1BooleanVar.html#a970f18a42acc024041506587b8f79e74" > kUnboundBooleanVarValue< / a > ) {}< / div >
< div class = "line" > < a name = "l01932" > < / a > < span class = "lineno" > 1932< / span >   < / div >
< div class = "line" > < a name = "l01933" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#aff6bd70a429314a0d34cfc87cd6adeea" > 1933< / a > < / span >   < a class = "code" href = "classoperations__research_1_1BooleanVar.html#aff6bd70a429314a0d34cfc87cd6adeea" > ~BooleanVar< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l01934" > < / a > < span class = "lineno" > 1934< / span >   < / div >
< div class = "line" > < a name = "l01935" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#a94c48877d8d1cf2b90701343c4660112" > 1935< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a94c48877d8d1cf2b90701343c4660112" > Min< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > (< a class = "code" href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > value_< / a > == 1); }< / div >
< div class = "line" > < a name = "l01936" > < / a > < span class = "lineno" > 1936< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#ada4fcd5422c5fca5f165fc108b9613d9" > SetMin< / a > (int64 m) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01937" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#aef31aec3dd445e21c9c17af4e907ea54" > 1937< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1BooleanVar.html#aef31aec3dd445e21c9c17af4e907ea54" > Max< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > (< a class = "code" href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > value_< / a > != 0); }< / div >
< div class = "line" > < a name = "l01938" > < / a > < span class = "lineno" > 1938< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a317c32d3abd0b61376e319d1597ba2fa" > SetMax< / a > (int64 m) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01939" > < / a > < span class = "lineno" > 1939< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a982fd365b4c61107855a3319e0991f21" > SetRange< / a > (int64 mi, int64 ma) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01940" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#a303c8b67c301d6d436bd06e50d41cd6b" > 1940< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a303c8b67c301d6d436bd06e50d41cd6b" > Bound< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > (< a class = "code" href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > value_< / a > != < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a970f18a42acc024041506587b8f79e74" > kUnboundBooleanVarValue< / a > ); }< / div >
< div class = "line" > < a name = "l01941" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#a5cf17bb88d2b4437d87345b1597e48eb" > 1941< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a5cf17bb88d2b4437d87345b1597e48eb" > Value< / a > ()< span class = "keyword" > const override < / span > {< / div >
< div class = "line" > < a name = "l01942" > < / a > < span class = "lineno" > 1942< / span >   CHECK_NE(< a class = "code" href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > value_< / a > , < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a970f18a42acc024041506587b8f79e74" > kUnboundBooleanVarValue< / a > ) < < < span class = "stringliteral" > " variable is not bound" < / span > ;< / div >
< div class = "line" > < a name = "l01943" > < / a > < span class = "lineno" > 1943< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > value_< / a > ;< / div >
< div class = "line" > < a name = "l01944" > < / a > < span class = "lineno" > 1944< / span >   }< / div >
< div class = "line" > < a name = "l01945" > < / a > < span class = "lineno" > 1945< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#ab5cdbd28861473d6d91fca5daf897c25" > RemoveValue< / a > (int64 v) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01946" > < / a > < span class = "lineno" > 1946< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a1b78055ab0a6c85164f57e4268965eda" > RemoveInterval< / a > (int64 l, int64 u) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01947" > < / a > < span class = "lineno" > 1947< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a36e70c572bdec688f16496ea06c39ee5" > WhenBound< / a > (< a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * d) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01948" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#a4aa5eab0485ae0ec6eac0a81e5d5b9bd" > 1948< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a4aa5eab0485ae0ec6eac0a81e5d5b9bd" > WhenRange< / a > (< a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * d)< span class = "keyword" > override < / span > { < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a36e70c572bdec688f16496ea06c39ee5" > WhenBound< / a > (d); }< / div >
< div class = "line" > < a name = "l01949" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#a5d794218448e5119fe2034719dc55c6f" > 1949< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a5d794218448e5119fe2034719dc55c6f" > WhenDomain< / a > (< a class = "code" href = "classoperations__research_1_1Demon.html" > Demon< / a > * d)< span class = "keyword" > override < / span > { < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a36e70c572bdec688f16496ea06c39ee5" > WhenBound< / a > (d); }< / div >
< div class = "line" > < a name = "l01950" > < / a > < span class = "lineno" > 1950< / span >   uint64 < a class = "code" href = "classoperations__research_1_1BooleanVar.html#aefbda701e490cd2b4955c6120c2949a9" > Size< / a > () < span class = "keyword" > const override< / span > ;< / div >
< div class = "line" > < a name = "l01951" > < / a > < span class = "lineno" > 1951< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a494524783057e396790259ea0758a572" > Contains< / a > (int64 v) < span class = "keyword" > const override< / span > ;< / div >
< div class = "line" > < a name = "l01952" > < / a > < span class = "lineno" > 1952< / span >   < a class = "code" href = "classoperations__research_1_1IntVarIterator.html" > IntVarIterator< / a > * < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a20bf9afc3df7e1a1c8484c0e26567fd6" > MakeHoleIterator< / a > (< span class = "keywordtype" > bool< / span > reversible) < span class = "keyword" > const override< / span > ;< / div >
< div class = "line" > < a name = "l01953" > < / a > < span class = "lineno" > 1953< / span >   < a class = "code" href = "classoperations__research_1_1IntVarIterator.html" > IntVarIterator< / a > * < a class = "code" href = "classoperations__research_1_1BooleanVar.html#aee05ad8a7a9613f9282d78f76a28d5d7" > MakeDomainIterator< / a > (< span class = "keywordtype" > bool< / span > reversible) < span class = "keyword" > const override< / span > ;< / div >
< div class = "line" > < a name = "l01954" > < / a > < span class = "lineno" > 1954< / span >   std::string < a class = "code" href = "classoperations__research_1_1BooleanVar.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > () < span class = "keyword" > const override< / span > ;< / div >
< div class = "line" > < a name = "l01955" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#a0572abaa4524f2abfa7634123da83584" > 1955< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a0572abaa4524f2abfa7634123da83584" > VarType< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a00e6c449ab034942ac313f8b48643f4b" > BOOLEAN_VAR< / a > ; }< / div >
< div class = "line" > < a name = "l01956" > < / a > < span class = "lineno" > 1956< / span >   < / div >
< div class = "line" > < a name = "l01957" > < / a > < span class = "lineno" > 1957< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < a class = "code" href = "classoperations__research_1_1BooleanVar.html#aa9b39e86814fa1bca1763f65ec02f5cb" > IsEqual< / a > (int64 constant) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01958" > < / a > < span class = "lineno" > 1958< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < a class = "code" href = "classoperations__research_1_1BooleanVar.html#ad87534052c4433fa0227c7b5cd8e3aed" > IsDifferent< / a > (int64 constant) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01959" > < / a > < span class = "lineno" > 1959< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a092b50c7ef16418bc3ccb1e887909ff8" > IsGreaterOrEqual< / a > (int64 constant) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01960" > < / a > < span class = "lineno" > 1960< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a245299f2a8af0c50699884c7af781ab0" > IsLessOrEqual< / a > (int64 constant) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l01961" > < / a > < span class = "lineno" > 1961< / span >   < / div >
< div class = "line" > < a name = "l01962" > < / a > < span class = "lineno" > 1962< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a26084244a10aa8370e8d8a165fd9c80e" > RestoreValue< / a > () = 0;< / div >
< div class = "line" > < a name = "l01963" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#adbfe3c73b9cad61f112ccb082b553c51" > 1963< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1BooleanVar.html#adbfe3c73b9cad61f112ccb082b553c51" > BaseName< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > < span class = "stringliteral" > " BooleanVar" < / span > ; }< / div >
< div class = "line" > < a name = "l01964" > < / a > < span class = "lineno" > 1964< / span >   < / div >
< div class = "line" > < a name = "l01965" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#ad594d94255d119c43ecdd6f0179b73ae" > 1965< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#ad594d94255d119c43ecdd6f0179b73ae" > RawValue< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > value_< / a > ; }< / div >
< div class = "line" > < a name = "l01966" > < / a > < span class = "lineno" > 1966< / span >   < / div >
< div class = "line" > < a name = "l01967" > < / a > < span class = "lineno" > 1967< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l01968" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > 1968< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > value_< / a > ;< / div >
< div class = "line" > < a name = "l01969" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#ad2da2d3058005bae8dcd6bc37fa1244b" > 1969< / a > < / span >   < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html" > SimpleRevFIFO< Demon*> < / a > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#ad2da2d3058005bae8dcd6bc37fa1244b" > bound_demons_< / a > ;< / div >
< div class = "line" > < a name = "l01970" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1BooleanVar.html#a5114f46a021e08dd81c2d7462a8bc735" > 1970< / a > < / span >   < a class = "code" href = "classoperations__research_1_1SimpleRevFIFO.html" > SimpleRevFIFO< Demon*> < / a > < a class = "code" href = "classoperations__research_1_1BooleanVar.html#a5114f46a021e08dd81c2d7462a8bc735" > delayed_bound_demons_< / a > ;< / div >
< div class = "line" > < a name = "l01971" > < / a > < span class = "lineno" > 1971< / span >   };< / div >
< div class = "line" > < a name = "l01972" > < / a > < span class = "lineno" > 1972< / span >   < / div >
< div class = "line" > < a name = "l01973" > < / a > < span class = "lineno" > 1973< / span >   < span class = "keyword" > class < / span > SymmetryManager;< / div >
< div class = "line" > < a name = "l01974" > < / a > < span class = "lineno" > 1974< / span >   < / div >
< div class = "line" > < a name = "l01978" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SymmetryBreaker.html" > 1978< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html" > SymmetryBreaker< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1DecisionVisitor.html" > DecisionVisitor< / a > {< / div >
< div class = "line" > < a name = "l01979" > < / a > < span class = "lineno" > 1979< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l01980" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SymmetryBreaker.html#a6d9f23034ceb39de4907c0c6d85e4b86" > 1980< / a > < / span >   < a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html#a6d9f23034ceb39de4907c0c6d85e4b86" > SymmetryBreaker< / a > ()< / div >
< div class = "line" > < a name = "l01981" > < / a > < span class = "lineno" > 1981< / span >   : symmetry_manager_(nullptr), index_in_symmetry_manager_(-1) {}< / div >
< div class = "line" > < a name = "l01982" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SymmetryBreaker.html#ada76e640c4e2afb8508576e0e937ab6e" > 1982< / a > < / span >   < a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html#ada76e640c4e2afb8508576e0e937ab6e" > ~SymmetryBreaker< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l01983" > < / a > < span class = "lineno" > 1983< / span >   < / div >
< div class = "line" > < a name = "l01984" > < / a > < span class = "lineno" > 1984< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html#a8670c00745de36076d56243cc4ea61c9" > AddIntegerVariableEqualValueClause< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value);< / div >
< div class = "line" > < a name = "l01985" > < / a > < span class = "lineno" > 1985< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html#aa8a5ebe8847527e05d53b0f104b00f9c" > AddIntegerVariableGreaterOrEqualValueClause< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var,< / div >
< div class = "line" > < a name = "l01986" > < / a > < span class = "lineno" > 1986< / span >   int64 value);< / div >
< div class = "line" > < a name = "l01987" > < / a > < span class = "lineno" > 1987< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html#a8b67673be317fa2e6d2edc998e160f65" > AddIntegerVariableLessOrEqualValueClause< / a > (< a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value);< / div >
< div class = "line" > < a name = "l01988" > < / a > < span class = "lineno" > 1988< / span >   < / div >
< div class = "line" > < a name = "l01989" > < / a > < span class = "lineno" > 1989< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l01990" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SymmetryBreaker.html#aa126bb367514a24cbd6e0b2c48fda9ee" > 1990< / a > < / span >   < span class = "keyword" > friend< / span > < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html#aa126bb367514a24cbd6e0b2c48fda9ee" > SymmetryManager< / a > ;< / div >
< div class = "line" > < a name = "l01991" > < / a > < span class = "lineno" > 1991< / span >   < span class = "keywordtype" > void< / span > set_symmetry_manager_and_index(< a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html#aa126bb367514a24cbd6e0b2c48fda9ee" > SymmetryManager< / a > * manager, < span class = "keywordtype" > int< / span > index) {< / div >
< div class = "line" > < a name = "l01992" > < / a > < span class = "lineno" > 1992< / span >   CHECK(symmetry_manager_ == < span class = "keyword" > nullptr< / span > );< / div >
< div class = "line" > < a name = "l01993" > < / a > < span class = "lineno" > 1993< / span >   CHECK_EQ(-1, index_in_symmetry_manager_);< / div >
< div class = "line" > < a name = "l01994" > < / a > < span class = "lineno" > 1994< / span >   symmetry_manager_ = manager;< / div >
< div class = "line" > < a name = "l01995" > < / a > < span class = "lineno" > 1995< / span >   index_in_symmetry_manager_ = index;< / div >
< div class = "line" > < a name = "l01996" > < / a > < span class = "lineno" > 1996< / span >   }< / div >
< div class = "line" > < a name = "l01997" > < / a > < span class = "lineno" > 1997< / span >   < a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html#aa126bb367514a24cbd6e0b2c48fda9ee" > SymmetryManager< / a > * symmetry_manager()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > symmetry_manager_; }< / div >
< div class = "line" > < a name = "l01998" > < / a > < span class = "lineno" > 1998< / span >   < span class = "keywordtype" > int< / span > index_in_symmetry_manager()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > index_in_symmetry_manager_; }< / div >
< div class = "line" > < a name = "l01999" > < / a > < span class = "lineno" > 1999< / span >   < / div >
< div class = "line" > < a name = "l02000" > < / a > < span class = "lineno" > 2000< / span >   < a class = "code" href = "classoperations__research_1_1SymmetryBreaker.html#aa126bb367514a24cbd6e0b2c48fda9ee" > SymmetryManager< / a > * symmetry_manager_;< / div >
< div class = "line" > < a name = "l02002" > < / a > < span class = "lineno" > 2002< / span >   < span class = "keywordtype" > int< / span > index_in_symmetry_manager_;< / div >
< div class = "line" > < a name = "l02003" > < / a > < span class = "lineno" > 2003< / span >   };< / div >
< div class = "line" > < a name = "l02004" > < / a > < span class = "lineno" > 2004< / span >   < / div >
< div class = "line" > < a name = "l02007" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1SearchLog.html" > 2007< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html" > SearchLog< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1SearchMonitor.html" > SearchMonitor< / a > {< / div >
< div class = "line" > < a name = "l02008" > < / a > < span class = "lineno" > 2008< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l02009" > < / a > < span class = "lineno" > 2009< / span >   < a class = "code" href = "classoperations__research_1_1SearchLog.html#abcb5ea97dd20da34d28e62a1ab2fda27" > SearchLog< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > s, < a class = "code" href = "classoperations__research_1_1OptimizeVar.html" > OptimizeVar< / a > * < span class = "keyword" > const< / span > obj, < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var,< / div >
< div class = "line" > < a name = "l02010" > < / a > < span class = "lineno" > 2010< / span >   < span class = "keywordtype" > double< / span > scaling_factor, < span class = "keywordtype" > double< / span > offset,< / div >
< div class = "line" > < a name = "l02011" > < / a > < span class = "lineno" > 2011< / span >   std::function< std::string()> display_callback, < span class = "keywordtype" > int< / span > period);< / div >
< div class = "line" > < a name = "l02012" > < / a > < span class = "lineno" > 2012< / span >   < a class = "code" href = "classoperations__research_1_1SearchLog.html#a6f54fc4f2d59c38d5929533887fa5ddd" > ~SearchLog< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02013" > < / a > < span class = "lineno" > 2013< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#a0c955ff1b2eae2daece0f25f1e57fb16" > EnterSearch< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02014" > < / a > < span class = "lineno" > 2014< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#a4d07aaa3fe401d52e938c2f8f7f2e26f" > ExitSearch< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02015" > < / a > < span class = "lineno" > 2015< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#ab3631067f88ccc24c5db6a8a0dc64e47" > AtSolution< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02016" > < / a > < span class = "lineno" > 2016< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#a00e1c5e76ceb9b425ddea62748673d9b" > BeginFail< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02017" > < / a > < span class = "lineno" > 2017< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#a970b194bb0e12ae42db1f1b3ca7ba43e" > NoMoreSolutions< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02018" > < / a > < span class = "lineno" > 2018< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#afc36af1852ba6e2dbe650aa172e4c680" > AcceptUncheckedNeighbor< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02019" > < / a > < span class = "lineno" > 2019< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#a9af93e0c2f02218bf4e586dda448fabe" > ApplyDecision< / a > (< a class = "code" href = "classoperations__research_1_1Decision.html" > Decision< / a > * < span class = "keyword" > const< / span > decision) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02020" > < / a > < span class = "lineno" > 2020< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#a363e3361f6a6b52343e69cbff81deff5" > RefuteDecision< / a > (< a class = "code" href = "classoperations__research_1_1Decision.html" > Decision< / a > * < span class = "keyword" > const< / span > decision) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02021" > < / a > < span class = "lineno" > 2021< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#ae26cecfdf81054f0b85943d0f9e8b7ac" > OutputDecision< / a > ();< / div >
< div class = "line" > < a name = "l02022" > < / a > < span class = "lineno" > 2022< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#aa776d47ceec0ae7dceb9723a0fc82fb3" > Maintain< / a > ();< / div >
< div class = "line" > < a name = "l02023" > < / a > < span class = "lineno" > 2023< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#a73895ddf1e732b9d3fa365f05977c8a6" > BeginInitialPropagation< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02024" > < / a > < span class = "lineno" > 2024< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#afe2b705fd5af7c1c6812f69e9a9dcdf1" > EndInitialPropagation< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02025" > < / a > < span class = "lineno" > 2025< / span >   std::string < a class = "code" href = "classoperations__research_1_1SearchLog.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > () < span class = "keyword" > const override< / span > ;< / div >
< div class = "line" > < a name = "l02026" > < / a > < span class = "lineno" > 2026< / span >   < / div >
< div class = "line" > < a name = "l02027" > < / a > < span class = "lineno" > 2027< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l02028" > < / a > < span class = "lineno" > 2028< / span >   < span class = "comment" > /* Bottleneck function used for all UI related output. */< / span > < / div >
< div class = "line" > < a name = "l02029" > < / a > < span class = "lineno" > 2029< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1SearchLog.html#a579d10756b6f1f7313b3ff0f27b33876" > OutputLine< / a > (< span class = "keyword" > const< / span > std::string& line);< / div >
< div class = "line" > < a name = "l02030" > < / a > < span class = "lineno" > 2030< / span >   < / div >
< div class = "line" > < a name = "l02031" > < / a > < span class = "lineno" > 2031< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l02032" > < / a > < span class = "lineno" > 2032< / span >   < span class = "keyword" > static< / span > std::string MemoryUsage();< / div >
< div class = "line" > < a name = "l02033" > < / a > < span class = "lineno" > 2033< / span >   < / div >
< div class = "line" > < a name = "l02034" > < / a > < span class = "lineno" > 2034< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > period_;< / div >
< div class = "line" > < a name = "l02035" > < / a > < span class = "lineno" > 2035< / span >   std::unique_ptr< WallTimer> timer_;< / div >
< div class = "line" > < a name = "l02036" > < / a > < span class = "lineno" > 2036< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var_;< / div >
< div class = "line" > < a name = "l02037" > < / a > < span class = "lineno" > 2037< / span >   < a class = "code" href = "classoperations__research_1_1OptimizeVar.html" > OptimizeVar< / a > * < span class = "keyword" > const< / span > obj_;< / div >
< div class = "line" > < a name = "l02038" > < / a > < span class = "lineno" > 2038< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > double< / span > scaling_factor_;< / div >
< div class = "line" > < a name = "l02039" > < / a > < span class = "lineno" > 2039< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > double< / span > offset_;< / div >
< div class = "line" > < a name = "l02040" > < / a > < span class = "lineno" > 2040< / span >   std::function< std::string()> display_callback_;< / div >
< div class = "line" > < a name = "l02041" > < / a > < span class = "lineno" > 2041< / span >   < span class = "keywordtype" > int< / span > nsol_;< / div >
< div class = "line" > < a name = "l02042" > < / a > < span class = "lineno" > 2042< / span >   int64 tick_;< / div >
< div class = "line" > < a name = "l02043" > < / a > < span class = "lineno" > 2043< / span >   int64 objective_min_;< / div >
< div class = "line" > < a name = "l02044" > < / a > < span class = "lineno" > 2044< / span >   int64 objective_max_;< / div >
< div class = "line" > < a name = "l02045" > < / a > < span class = "lineno" > 2045< / span >   < span class = "keywordtype" > int< / span > min_right_depth_;< / div >
< div class = "line" > < a name = "l02046" > < / a > < span class = "lineno" > 2046< / span >   < span class = "keywordtype" > int< / span > max_depth_;< / div >
< div class = "line" > < a name = "l02047" > < / a > < span class = "lineno" > 2047< / span >   < span class = "keywordtype" > int< / span > sliding_min_depth_;< / div >
< div class = "line" > < a name = "l02048" > < / a > < span class = "lineno" > 2048< / span >   < span class = "keywordtype" > int< / span > sliding_max_depth_;< / div >
< div class = "line" > < a name = "l02049" > < / a > < span class = "lineno" > 2049< / span >   };< / div >
< div class = "line" > < a name = "l02050" > < / a > < span class = "lineno" > 2050< / span >   < / div >
< div class = "line" > < a name = "l02055" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html" > 2055< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html" > ModelCache< / a > {< / div >
< div class = "line" > < a name = "l02056" > < / a > < span class = "lineno" > 2056< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l02057" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640" > 2057< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640" > VoidConstraintType< / a > {< / div >
< div class = "line" > < a name = "l02058" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640a350d96d35eeacdf0c2c66a69ae370de3" > 2058< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640a350d96d35eeacdf0c2c66a69ae370de3" > VOID_FALSE_CONSTRAINT< / a > = 0,< / div >
< div class = "line" > < a name = "l02059" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640abb2b7e9646abdb972fafbe90bf19a5ec" > 2059< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640abb2b7e9646abdb972fafbe90bf19a5ec" > VOID_TRUE_CONSTRAINT< / a > ,< / div >
< div class = "line" > < a name = "l02060" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640a11c6746b747caede5558051e9be71506" > 2060< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640a11c6746b747caede5558051e9be71506" > VOID_CONSTRAINT_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02061" > < / a > < span class = "lineno" > 2061< / span >   };< / div >
< div class = "line" > < a name = "l02062" > < / a > < span class = "lineno" > 2062< / span >   < / div >
< div class = "line" > < a name = "l02063" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562" > 2063< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562" > VarConstantConstraintType< / a > {< / div >
< div class = "line" > < a name = "l02064" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562a0b320a3530d1100a39500db43e9f0610" > 2064< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562a0b320a3530d1100a39500db43e9f0610" > VAR_CONSTANT_EQUALITY< / a > = 0,< / div >
< div class = "line" > < a name = "l02065" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562a718e173e0eeb62d78a44b80843fcd211" > 2065< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562a718e173e0eeb62d78a44b80843fcd211" > VAR_CONSTANT_GREATER_OR_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02066" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562ac853b00c21d70db5e1f18dadc77fa083" > 2066< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562ac853b00c21d70db5e1f18dadc77fa083" > VAR_CONSTANT_LESS_OR_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02067" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562a979b0779f36a80f62ac877520de47099" > 2067< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562a979b0779f36a80f62ac877520de47099" > VAR_CONSTANT_NON_EQUALITY< / a > ,< / div >
< div class = "line" > < a name = "l02068" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562aaa84708a3b17d21e2b5d8b7ad6e57ca8" > 2068< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562aaa84708a3b17d21e2b5d8b7ad6e57ca8" > VAR_CONSTANT_CONSTRAINT_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02069" > < / a > < span class = "lineno" > 2069< / span >   };< / div >
< div class = "line" > < a name = "l02070" > < / a > < span class = "lineno" > 2070< / span >   < / div >
< div class = "line" > < a name = "l02071" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864f" > 2071< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864f" > VarConstantConstantConstraintType< / a > {< / div >
< div class = "line" > < a name = "l02072" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864faaf915d4da198c454d55bb3ec6756e9b1" > 2072< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864faaf915d4da198c454d55bb3ec6756e9b1" > VAR_CONSTANT_CONSTANT_BETWEEN< / a > = 0,< / div >
< div class = "line" > < a name = "l02073" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864fa9f313cf455d543ccd36ee2c8bbbb6610" > 2073< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864fa9f313cf455d543ccd36ee2c8bbbb6610" > VAR_CONSTANT_CONSTANT_CONSTRAINT_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02074" > < / a > < span class = "lineno" > 2074< / span >   };< / div >
< div class = "line" > < a name = "l02075" > < / a > < span class = "lineno" > 2075< / span >   < / div >
< div class = "line" > < a name = "l02076" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbb" > 2076< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbb" > ExprExprConstraintType< / a > {< / div >
< div class = "line" > < a name = "l02077" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbbab20099e9309c2b6619ef6c8ec664181a" > 2077< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbbab20099e9309c2b6619ef6c8ec664181a" > EXPR_EXPR_EQUALITY< / a > = 0,< / div >
< div class = "line" > < a name = "l02078" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba00529f006ffc58e55baff50d140fe076" > 2078< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba00529f006ffc58e55baff50d140fe076" > EXPR_EXPR_GREATER< / a > ,< / div >
< div class = "line" > < a name = "l02079" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba7719059f68742eeec43445553767ad62" > 2079< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba7719059f68742eeec43445553767ad62" > EXPR_EXPR_GREATER_OR_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02080" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba11b9278b1a71f063cc20e8bb79846b68" > 2080< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba11b9278b1a71f063cc20e8bb79846b68" > EXPR_EXPR_LESS< / a > ,< / div >
< div class = "line" > < a name = "l02081" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbbaa7718fa06e32e05554d8e0a760e9172b" > 2081< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbbaa7718fa06e32e05554d8e0a760e9172b" > EXPR_EXPR_LESS_OR_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02082" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba73108bc15aaa22c430bba712b73ce920" > 2082< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba73108bc15aaa22c430bba712b73ce920" > EXPR_EXPR_NON_EQUALITY< / a > ,< / div >
< div class = "line" > < a name = "l02083" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba8af11a728083c50e0be546619201563b" > 2083< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba8af11a728083c50e0be546619201563b" > EXPR_EXPR_CONSTRAINT_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02084" > < / a > < span class = "lineno" > 2084< / span >   };< / div >
< div class = "line" > < a name = "l02085" > < / a > < span class = "lineno" > 2085< / span >   < / div >
< div class = "line" > < a name = "l02086" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dc" > 2086< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dc" > ExprExpressionType< / a > {< / div >
< div class = "line" > < a name = "l02087" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dca0f422d5294a543e5a1405e563c1f66f2" > 2087< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dca0f422d5294a543e5a1405e563c1f66f2" > EXPR_OPPOSITE< / a > = 0,< / div >
< div class = "line" > < a name = "l02088" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dca938ad10f0b6ca42fa856e245042ac6df" > 2088< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dca938ad10f0b6ca42fa856e245042ac6df" > EXPR_ABS< / a > ,< / div >
< div class = "line" > < a name = "l02089" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dcaf0a641235b7399f2cda0137af80db8e0" > 2089< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dcaf0a641235b7399f2cda0137af80db8e0" > EXPR_SQUARE< / a > ,< / div >
< div class = "line" > < a name = "l02090" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dca37081d4ec3d290e733b8346bed09bd2f" > 2090< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dca37081d4ec3d290e733b8346bed09bd2f" > EXPR_EXPRESSION_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02091" > < / a > < span class = "lineno" > 2091< / span >   };< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02092" > < / a > < span class = "lineno" > 2092< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02093" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afe" > 2093< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afe" > ExprExprExpressionType< / a > {< / div >
< div class = "line" > < a name = "l02094" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afeaf4e4e8ba0108a0e9abc4fd2732a38a3b" > 2094< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afeaf4e4e8ba0108a0e9abc4fd2732a38a3b" > EXPR_EXPR_DIFFERENCE< / a > = 0,< / div >
< div class = "line" > < a name = "l02095" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea3784ad09f2939fec4b5125c3e3a7ee0a" > 2095< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea3784ad09f2939fec4b5125c3e3a7ee0a" > EXPR_EXPR_PROD< / a > ,< / div >
< div class = "line" > < a name = "l02096" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea7cdf2f8fb26d167603e160773a680805" > 2096< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea7cdf2f8fb26d167603e160773a680805" > EXPR_EXPR_DIV< / a > ,< / div >
< div class = "line" > < a name = "l02097" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea373e953d3799bdcdc112f9b0887ac0df" > 2097< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea373e953d3799bdcdc112f9b0887ac0df" > EXPR_EXPR_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02098" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afeac6a4d05776624b8784e951aa964d00c5" > 2098< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afeac6a4d05776624b8784e951aa964d00c5" > EXPR_EXPR_MIN< / a > ,< / div >
< div class = "line" > < a name = "l02099" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea2a6687577892c792edccf2585adfaa3a" > 2099< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea2a6687577892c792edccf2585adfaa3a" > EXPR_EXPR_SUM< / a > ,< / div >
< div class = "line" > < a name = "l02100" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea73e135b9ac9d3286a0656ef84aa77ca6" > 2100< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea73e135b9ac9d3286a0656ef84aa77ca6" > EXPR_EXPR_IS_LESS< / a > ,< / div >
< div class = "line" > < a name = "l02101" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea822c97af1334ca445a0fd46dfd16c40b" > 2101< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea822c97af1334ca445a0fd46dfd16c40b" > EXPR_EXPR_IS_LESS_OR_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02102" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea03e855b4a1f2095482a88ac03388d5c3" > 2102< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea03e855b4a1f2095482a88ac03388d5c3" > EXPR_EXPR_IS_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02103" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afeaa2b501c71087e59e0dea1906ffaabe63" > 2103< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afeaa2b501c71087e59e0dea1906ffaabe63" > EXPR_EXPR_IS_NOT_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02104" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea4e88d525cd2a35b11b8a16175f6197ab" > 2104< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea4e88d525cd2a35b11b8a16175f6197ab" > EXPR_EXPR_EXPRESSION_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02105" > < / a > < span class = "lineno" > 2105< / span >   };< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02106" > < / a > < span class = "lineno" > 2106< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02107" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44" > 2107< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44" > ExprExprConstantExpressionType< / a > {< / div >
< div class = "line" > < a name = "l02108" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44add01dc8099cbbb28d9aeb816d3345cdf" > 2108< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44add01dc8099cbbb28d9aeb816d3345cdf" > EXPR_EXPR_CONSTANT_CONDITIONAL< / a > = 0,< / div >
< div class = "line" > < a name = "l02109" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44aa77defdbb56236e669f88a18c563aede" > 2109< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44aa77defdbb56236e669f88a18c563aede" > EXPR_EXPR_CONSTANT_EXPRESSION_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02110" > < / a > < span class = "lineno" > 2110< / span >   };< / div >
< div class = "line" > < a name = "l02111" > < / a > < span class = "lineno" > 2111< / span >   < / div >
< div class = "line" > < a name = "l02112" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082c" > 2112< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082c" > ExprConstantExpressionType< / a > {< / div >
< div class = "line" > < a name = "l02113" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082caedb98a92897e798947ee87fd50b1d471" > 2113< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082caedb98a92897e798947ee87fd50b1d471" > EXPR_CONSTANT_DIFFERENCE< / a > = 0,< / div >
< div class = "line" > < a name = "l02114" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082cae140fdbd76e5afbe2595bd13678ba960" > 2114< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082cae140fdbd76e5afbe2595bd13678ba960" > EXPR_CONSTANT_DIVIDE< / a > ,< / div >
< div class = "line" > < a name = "l02115" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca2624a11505d47fde01544da38ecbefce" > 2115< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca2624a11505d47fde01544da38ecbefce" > EXPR_CONSTANT_PROD< / a > ,< / div >
< div class = "line" > < a name = "l02116" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca50c27197e27e7022f450aada9888a9d1" > 2116< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca50c27197e27e7022f450aada9888a9d1" > EXPR_CONSTANT_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02117" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca7e3958cb3825bdf7a05631d79debb738" > 2117< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca7e3958cb3825bdf7a05631d79debb738" > EXPR_CONSTANT_MIN< / a > ,< / div >
< div class = "line" > < a name = "l02118" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082caa6a4fb0890d2f491ba7fa43bc1c9688b" > 2118< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082caa6a4fb0890d2f491ba7fa43bc1c9688b" > EXPR_CONSTANT_SUM< / a > ,< / div >
< div class = "line" > < a name = "l02119" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca32fea4f03bc3f8c30beed8277ad16a5a" > 2119< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca32fea4f03bc3f8c30beed8277ad16a5a" > EXPR_CONSTANT_IS_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02120" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca584d2f751a1fdf032c86f07bcf4e24fe" > 2120< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca584d2f751a1fdf032c86f07bcf4e24fe" > EXPR_CONSTANT_IS_NOT_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02121" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca4c21878ef6b2e734c684a61d084b0d9e" > 2121< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca4c21878ef6b2e734c684a61d084b0d9e" > EXPR_CONSTANT_IS_GREATER_OR_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02122" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca67ead3f8c6b5a40d1a2c3ef5fb63b906" > 2122< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca67ead3f8c6b5a40d1a2c3ef5fb63b906" > EXPR_CONSTANT_IS_LESS_OR_EQUAL< / a > ,< / div >
< div class = "line" > < a name = "l02123" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca2f62b258d5a827bd63f993103ec0bef2" > 2123< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca2f62b258d5a827bd63f993103ec0bef2" > EXPR_CONSTANT_EXPRESSION_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02124" > < / a > < span class = "lineno" > 2124< / span >   };< / div >
< div class = "line" > < a name = "l02125" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24d" > 2125< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24d" > VarConstantConstantExpressionType< / a > {< / div >
< div class = "line" > < a name = "l02126" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24da5b2d69b411d657aa0f232a9062dcc1d0" > 2126< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24da5b2d69b411d657aa0f232a9062dcc1d0" > VAR_CONSTANT_CONSTANT_SEMI_CONTINUOUS< / a > = 0,< / div >
< div class = "line" > < a name = "l02127" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24dabef48216e9d32c891d017570c9e638bc" > 2127< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24dabef48216e9d32c891d017570c9e638bc" > VAR_CONSTANT_CONSTANT_EXPRESSION_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02128" > < / a > < span class = "lineno" > 2128< / span >   };< / div >
< div class = "line" > < a name = "l02129" > < / a > < span class = "lineno" > 2129< / span >   < / div >
< div class = "line" > < a name = "l02130" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1ecc" > 2130< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1ecc" > VarConstantArrayExpressionType< / a > {< / div >
< div class = "line" > < a name = "l02131" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1ecca7c34bf537f4d8178d912769b20d9ab2a" > 2131< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1ecca7c34bf537f4d8178d912769b20d9ab2a" > VAR_CONSTANT_ARRAY_ELEMENT< / a > = 0,< / div >
< div class = "line" > < a name = "l02132" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1eccadab845ec7630675dc953378647cf35c4" > 2132< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1eccadab845ec7630675dc953378647cf35c4" > VAR_CONSTANT_ARRAY_EXPRESSION_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02133" > < / a > < span class = "lineno" > 2133< / span >   };< / div >
< div class = "line" > < a name = "l02134" > < / a > < span class = "lineno" > 2134< / span >   < / div >
< div class = "line" > < a name = "l02135" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddb" > 2135< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddb" > VarArrayConstantArrayExpressionType< / a > {< / div >
< div class = "line" > < a name = "l02136" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddbaba8984d087f1d6b934634e57add0cdae" > 2136< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddbaba8984d087f1d6b934634e57add0cdae" > VAR_ARRAY_CONSTANT_ARRAY_SCAL_PROD< / a > = 0,< / div >
< div class = "line" > < a name = "l02137" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddba8d7d34d71353796802c476ea764ec7c7" > 2137< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddba8d7d34d71353796802c476ea764ec7c7" > VAR_ARRAY_CONSTANT_ARRAY_EXPRESSION_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02138" > < / a > < span class = "lineno" > 2138< / span >   };< / div >
< div class = "line" > < a name = "l02139" > < / a > < span class = "lineno" > 2139< / span >   < / div >
< div class = "line" > < a name = "l02140" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503b" > 2140< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503b" > VarArrayExpressionType< / a > {< / div >
< div class = "line" > < a name = "l02141" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503bac6616064787f06284ea59f017bdd637a" > 2141< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503bac6616064787f06284ea59f017bdd637a" > VAR_ARRAY_MAX< / a > = 0,< / div >
< div class = "line" > < a name = "l02142" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503bab312b39538d98fba96259aad40621005" > 2142< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503bab312b39538d98fba96259aad40621005" > VAR_ARRAY_MIN< / a > ,< / div >
< div class = "line" > < a name = "l02143" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503ba072f2b932666e9bb3957e50c6ca29130" > 2143< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503ba072f2b932666e9bb3957e50c6ca29130" > VAR_ARRAY_SUM< / a > ,< / div >
< div class = "line" > < a name = "l02144" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503ba1ed5c1716b347c08d66af5527123f54e" > 2144< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503ba1ed5c1716b347c08d66af5527123f54e" > VAR_ARRAY_EXPRESSION_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02145" > < / a > < span class = "lineno" > 2145< / span >   };< / div >
< div class = "line" > < a name = "l02146" > < / a > < span class = "lineno" > 2146< / span >   < / div >
< div class = "line" > < a name = "l02147" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476c" > 2147< / a > < / span >   < span class = "keyword" > enum< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476c" > VarArrayConstantExpressionType< / a > {< / div >
< div class = "line" > < a name = "l02148" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476caebf2a4cbf4f2f568990b8fa64d3d006c" > 2148< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476caebf2a4cbf4f2f568990b8fa64d3d006c" > VAR_ARRAY_CONSTANT_INDEX< / a > = 0,< / div >
< div class = "line" > < a name = "l02149" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476ca3ddf574d0de0e5df225a62bc50f2c89f" > 2149< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476ca3ddf574d0de0e5df225a62bc50f2c89f" > VAR_ARRAY_CONSTANT_EXPRESSION_MAX< / a > ,< / div >
< div class = "line" > < a name = "l02150" > < / a > < span class = "lineno" > 2150< / span >   };< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02151" > < / a > < span class = "lineno" > 2151< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02152" > < / a > < span class = "lineno" > 2152< / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#acd88718f3a65aad365c90d239b1a57bb" > ModelCache< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a5f32c22c620c811754ba7b6f977db864" > solver< / a > );< / div >
< div class = "line" > < a name = "l02153" > < / a > < span class = "lineno" > 2153< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#ad83a663fb6c4b4656ce2b46aa5542ea8" > ~ModelCache< / a > ();< / div >
< div class = "line" > < a name = "l02154" > < / a > < span class = "lineno" > 2154< / span >   < / div >
< div class = "line" > < a name = "l02155" > < / a > < span class = "lineno" > 2155< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#aa5b31c976cc6734003d9950e731dfed3" > Clear< / a > () = 0;< / div >
< div class = "line" > < a name = "l02156" > < / a > < span class = "lineno" > 2156< / span >   < / div >
< div class = "line" > < a name = "l02158" > < / a > < span class = "lineno" > 2158< / span >   < / div >
< div class = "line" > < a name = "l02159" > < / a > < span class = "lineno" > 2159< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#aa8aef9ede17d1aabb0981e67ded7023a" > FindVoidConstraint< / a > (< a class = "code" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640" > VoidConstraintType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02160" > < / a > < span class = "lineno" > 2160< / span >   < / div >
< div class = "line" > < a name = "l02161" > < / a > < span class = "lineno" > 2161< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a78f9c320fcfdc3be91db4de41d891deb" > InsertVoidConstraint< / a > (< a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > ct,< / div >
< div class = "line" > < a name = "l02162" > < / a > < span class = "lineno" > 2162< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640" > VoidConstraintType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02163" > < / a > < span class = "lineno" > 2163< / span >   < / div >
< div class = "line" > < a name = "l02165" > < / a > < span class = "lineno" > 2165< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#ad548502b5db15a8a1a42c778091ce5b5" > FindVarConstantConstraint< / a > (< / div >
< div class = "line" > < a name = "l02166" > < / a > < span class = "lineno" > 2166< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value, < a class = "code" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562" > VarConstantConstraintType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02167" > < / a > < span class = "lineno" > 2167< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02168" > < / a > < span class = "lineno" > 2168< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a5a0bfff5b96c417fc2cd9c486bc97c60" > InsertVarConstantConstraint< / a > (< a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > ct,< / div >
< div class = "line" > < a name = "l02169" > < / a > < span class = "lineno" > 2169< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value,< / div >
< div class = "line" > < a name = "l02170" > < / a > < span class = "lineno" > 2170< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562" > VarConstantConstraintType< / a > type) = 0;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02171" > < / a > < span class = "lineno" > 2171< / span >   < / div >
< div class = "line" > < a name = "l02173" > < / a > < span class = "lineno" > 2173< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02174" > < / a > < span class = "lineno" > 2174< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#a93bbe5a60b387e9929fb477ce2fba1b6" > FindVarConstantConstantConstraint< / a > (< / div >
< div class = "line" > < a name = "l02175" > < / a > < span class = "lineno" > 2175< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value1, int64 value2,< / div >
< div class = "line" > < a name = "l02176" > < / a > < span class = "lineno" > 2176< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864f" > VarConstantConstantConstraintType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02177" > < / a > < span class = "lineno" > 2177< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02178" > < / a > < span class = "lineno" > 2178< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a36d5c7ad0a75cbd69f946b916de9c2c2" > InsertVarConstantConstantConstraint< / a > (< / div >
< div class = "line" > < a name = "l02179" > < / a > < span class = "lineno" > 2179< / span >   < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > ct, < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value1, int64 value2,< / div >
< div class = "line" > < a name = "l02180" > < / a > < span class = "lineno" > 2180< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864f" > VarConstantConstantConstraintType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02181" > < / a > < span class = "lineno" > 2181< / span >   < / div >
< div class = "line" > < a name = "l02183" > < / a > < span class = "lineno" > 2183< / span >   < / div >
< div class = "line" > < a name = "l02184" > < / a > < span class = "lineno" > 2184< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#a987edd3387b9dcce349d4990099b8473" > FindExprExprConstraint< / a > (< / div >
< div class = "line" > < a name = "l02185" > < / a > < span class = "lineno" > 2185< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr1, < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr2,< / div >
< div class = "line" > < a name = "l02186" > < / a > < span class = "lineno" > 2186< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbb" > ExprExprConstraintType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02187" > < / a > < span class = "lineno" > 2187< / span >   < / div >
< div class = "line" > < a name = "l02188" > < / a > < span class = "lineno" > 2188< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#afebe362561fbf18889fd8a1b29be1032" > InsertExprExprConstraint< / a > (< a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > ct,< / div >
< div class = "line" > < a name = "l02189" > < / a > < span class = "lineno" > 2189< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr1,< / div >
< div class = "line" > < a name = "l02190" > < / a > < span class = "lineno" > 2190< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr2,< / div >
< div class = "line" > < a name = "l02191" > < / a > < span class = "lineno" > 2191< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbb" > ExprExprConstraintType< / a > type) = 0;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02192" > < / a > < span class = "lineno" > 2192< / span >   < / div >
< div class = "line" > < a name = "l02194" > < / a > < span class = "lineno" > 2194< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02195" > < / a > < span class = "lineno" > 2195< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#a9fe59bad68fe585a96afb59c3b78e237" > FindExprExpression< / a > (< a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr,< / div >
< div class = "line" > < a name = "l02196" > < / a > < span class = "lineno" > 2196< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dc" > ExprExpressionType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02197" > < / a > < span class = "lineno" > 2197< / span >   < / div >
< div class = "line" > < a name = "l02198" > < / a > < span class = "lineno" > 2198< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#afc8017fcd99c86bb7ae2015a208ff800" > InsertExprExpression< / a > (< a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expression,< / div >
< div class = "line" > < a name = "l02199" > < / a > < span class = "lineno" > 2199< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr,< / div >
< div class = "line" > < a name = "l02200" > < / a > < span class = "lineno" > 2200< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dc" > ExprExpressionType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02201" > < / a > < span class = "lineno" > 2201< / span >   < / div >
< div class = "line" > < a name = "l02203" > < / a > < span class = "lineno" > 2203< / span >   < / div >
< div class = "line" > < a name = "l02204" > < / a > < span class = "lineno" > 2204< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#a105e76e7ff211a6d58545e1c2cfe2739" > FindExprConstantExpression< / a > (< / div >
< div class = "line" > < a name = "l02205" > < / a > < span class = "lineno" > 2205< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr, int64 value,< / div >
< div class = "line" > < a name = "l02206" > < / a > < span class = "lineno" > 2206< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082c" > ExprConstantExpressionType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02207" > < / a > < span class = "lineno" > 2207< / span >   < / div >
< div class = "line" > < a name = "l02208" > < / a > < span class = "lineno" > 2208< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a30b66de2cb748b3f64b51da3855cbeac" > InsertExprConstantExpression< / a > (< / div >
< div class = "line" > < a name = "l02209" > < / a > < span class = "lineno" > 2209< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expression, < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > var, int64 value,< / div >
< div class = "line" > < a name = "l02210" > < / a > < span class = "lineno" > 2210< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082c" > ExprConstantExpressionType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02211" > < / a > < span class = "lineno" > 2211< / span >   < / div >
< div class = "line" > < a name = "l02213" > < / a > < span class = "lineno" > 2213< / span >   < / div >
< div class = "line" > < a name = "l02214" > < / a > < span class = "lineno" > 2214< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#addbdeeb24f41eabf6f76a20326935880" > FindExprExprExpression< / a > (< / div >
< div class = "line" > < a name = "l02215" > < / a > < span class = "lineno" > 2215< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > var1, < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > var2,< / div >
< div class = "line" > < a name = "l02216" > < / a > < span class = "lineno" > 2216< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afe" > ExprExprExpressionType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02217" > < / a > < span class = "lineno" > 2217< / span >   < / div >
< div class = "line" > < a name = "l02218" > < / a > < span class = "lineno" > 2218< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a532b0bec45373fd3f093e2212d51cd6f" > InsertExprExprExpression< / a > (< a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expression,< / div >
< div class = "line" > < a name = "l02219" > < / a > < span class = "lineno" > 2219< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > var1,< / div >
< div class = "line" > < a name = "l02220" > < / a > < span class = "lineno" > 2220< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > var2,< / div >
< div class = "line" > < a name = "l02221" > < / a > < span class = "lineno" > 2221< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afe" > ExprExprExpressionType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02222" > < / a > < span class = "lineno" > 2222< / span >   < / div >
< div class = "line" > < a name = "l02224" > < / a > < span class = "lineno" > 2224< / span >   < / div >
< div class = "line" > < a name = "l02225" > < / a > < span class = "lineno" > 2225< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#a056c801705c813aab7ac780abbb1a2c4" > FindExprExprConstantExpression< / a > (< / div >
< div class = "line" > < a name = "l02226" > < / a > < span class = "lineno" > 2226< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > var1, < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > var2, int64 constant,< / div >
< div class = "line" > < a name = "l02227" > < / a > < span class = "lineno" > 2227< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44" > ExprExprConstantExpressionType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02228" > < / a > < span class = "lineno" > 2228< / span >   < / div >
< div class = "line" > < a name = "l02229" > < / a > < span class = "lineno" > 2229< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a87fc5ae7d2a96ccc71334c6a0e16b2b7" > InsertExprExprConstantExpression< / a > (< / div >
< div class = "line" > < a name = "l02230" > < / a > < span class = "lineno" > 2230< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expression, < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > var1, < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > var2,< / div >
< div class = "line" > < a name = "l02231" > < / a > < span class = "lineno" > 2231< / span >   int64 constant, < a class = "code" href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44" > ExprExprConstantExpressionType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02232" > < / a > < span class = "lineno" > 2232< / span >   < / div >
< div class = "line" > < a name = "l02234" > < / a > < span class = "lineno" > 2234< / span >   < / div >
< div class = "line" > < a name = "l02235" > < / a > < span class = "lineno" > 2235< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#aabea7c47076ac263e25acfd6d5398215" > FindVarConstantConstantExpression< / a > (< / div >
< div class = "line" > < a name = "l02236" > < / a > < span class = "lineno" > 2236< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value1, int64 value2,< / div >
< div class = "line" > < a name = "l02237" > < / a > < span class = "lineno" > 2237< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24d" > VarConstantConstantExpressionType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02238" > < / a > < span class = "lineno" > 2238< / span >   < / div >
< div class = "line" > < a name = "l02239" > < / a > < span class = "lineno" > 2239< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#aa85b856a84503016b8a27a6945fc77fc" > InsertVarConstantConstantExpression< / a > (< / div >
< div class = "line" > < a name = "l02240" > < / a > < span class = "lineno" > 2240< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expression, < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, int64 value1, int64 value2,< / div >
< div class = "line" > < a name = "l02241" > < / a > < span class = "lineno" > 2241< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24d" > VarConstantConstantExpressionType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02242" > < / a > < span class = "lineno" > 2242< / span >   < / div >
< div class = "line" > < a name = "l02244" > < / a > < span class = "lineno" > 2244< / span >   < / div >
< div class = "line" > < a name = "l02245" > < / a > < span class = "lineno" > 2245< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#ae07b298414a08283ffd5a3bafc2e5a92" > FindVarConstantArrayExpression< / a > (< / div >
< div class = "line" > < a name = "l02246" > < / a > < span class = "lineno" > 2246< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var, < span class = "keyword" > const< / span > std::vector< int64> & values,< / div >
< div class = "line" > < a name = "l02247" > < / a > < span class = "lineno" > 2247< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1ecc" > VarConstantArrayExpressionType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02248" > < / a > < span class = "lineno" > 2248< / span >   < / div >
< div class = "line" > < a name = "l02249" > < / a > < span class = "lineno" > 2249< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#af03bd07c56216292717c57eab7b5b82f" > InsertVarConstantArrayExpression< / a > (< / div >
< div class = "line" > < a name = "l02250" > < / a > < span class = "lineno" > 2250< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expression, < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > var,< / div >
< div class = "line" > < a name = "l02251" > < / a > < span class = "lineno" > 2251< / span >   < span class = "keyword" > const< / span > std::vector< int64> & values,< / div >
< div class = "line" > < a name = "l02252" > < / a > < span class = "lineno" > 2252< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1ecc" > VarConstantArrayExpressionType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02253" > < / a > < span class = "lineno" > 2253< / span >   < / div >
< div class = "line" > < a name = "l02255" > < / a > < span class = "lineno" > 2255< / span >   < / div >
< div class = "line" > < a name = "l02256" > < / a > < span class = "lineno" > 2256< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#aedf7468f114e41bcae8b69287c1e78b2" > FindVarArrayExpression< / a > (< / div >
< div class = "line" > < a name = "l02257" > < / a > < span class = "lineno" > 2257< / span >   < span class = "keyword" > const< / span > std::vector< IntVar*> & vars, < a class = "code" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503b" > VarArrayExpressionType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02258" > < / a > < span class = "lineno" > 2258< / span >   < / div >
< div class = "line" > < a name = "l02259" > < / a > < span class = "lineno" > 2259< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a8bf2a7f861f717c6c6276601d6edc84d" > InsertVarArrayExpression< / a > (< a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expression,< / div >
< div class = "line" > < a name = "l02260" > < / a > < span class = "lineno" > 2260< / span >   < span class = "keyword" > const< / span > std::vector< IntVar*> & vars,< / div >
< div class = "line" > < a name = "l02261" > < / a > < span class = "lineno" > 2261< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503b" > VarArrayExpressionType< / a > type) = 0;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02262" > < / a > < span class = "lineno" > 2262< / span >   < / div >
< div class = "line" > < a name = "l02264" > < / a > < span class = "lineno" > 2264< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02265" > < / a > < span class = "lineno" > 2265< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#ab7ebca7834f4b41e1bfd14ba132b7047" > FindVarArrayConstantArrayExpression< / a > (< / div >
< div class = "line" > < a name = "l02266" > < / a > < span class = "lineno" > 2266< / span >   < span class = "keyword" > const< / span > std::vector< IntVar*> & vars, < span class = "keyword" > const< / span > std::vector< int64> & values,< / div >
< div class = "line" > < a name = "l02267" > < / a > < span class = "lineno" > 2267< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddb" > VarArrayConstantArrayExpressionType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02268" > < / a > < span class = "lineno" > 2268< / span >   < / div >
< div class = "line" > < a name = "l02269" > < / a > < span class = "lineno" > 2269< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#aa421f0ee067cc5ff7db9d37a352f8914" > InsertVarArrayConstantArrayExpression< / a > (< / div >
< div class = "line" > < a name = "l02270" > < / a > < span class = "lineno" > 2270< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expression, < span class = "keyword" > const< / span > std::vector< IntVar*> & var,< / div >
< div class = "line" > < a name = "l02271" > < / a > < span class = "lineno" > 2271< / span >   < span class = "keyword" > const< / span > std::vector< int64> & values,< / div >
< div class = "line" > < a name = "l02272" > < / a > < span class = "lineno" > 2272< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddb" > VarArrayConstantArrayExpressionType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02273" > < / a > < span class = "lineno" > 2273< / span >   < / div >
< div class = "line" > < a name = "l02275" > < / a > < span class = "lineno" > 2275< / span >   < / div >
< div class = "line" > < a name = "l02276" > < / a > < span class = "lineno" > 2276< / span >   < span class = "keyword" > virtual< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#af238ed4acee2b41f921470e93a7bc010" > FindVarArrayConstantExpression< / a > (< / div >
< div class = "line" > < a name = "l02277" > < / a > < span class = "lineno" > 2277< / span >   < span class = "keyword" > const< / span > std::vector< IntVar*> & vars, int64 value,< / div >
< div class = "line" > < a name = "l02278" > < / a > < span class = "lineno" > 2278< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476c" > VarArrayConstantExpressionType< / a > type) < span class = "keyword" > const< / span > = 0;< / div >
< div class = "line" > < a name = "l02279" > < / a > < span class = "lineno" > 2279< / span >   < / div >
< div class = "line" > < a name = "l02280" > < / a > < span class = "lineno" > 2280< / span >   < span class = "keyword" > virtual< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelCache.html#a7052db06e52147df4cf973a3d75d50aa" > InsertVarArrayConstantExpression< / a > (< / div >
< div class = "line" > < a name = "l02281" > < / a > < span class = "lineno" > 2281< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expression, < span class = "keyword" > const< / span > std::vector< IntVar*> & var, int64 value,< / div >
< div class = "line" > < a name = "l02282" > < / a > < span class = "lineno" > 2282< / span >   < a class = "code" href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476c" > VarArrayConstantExpressionType< / a > type) = 0;< / div >
< div class = "line" > < a name = "l02283" > < / a > < span class = "lineno" > 2283< / span >   < / div >
< div class = "line" > < a name = "l02284" > < / a > < span class = "lineno" > 2284< / span >   < a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < a class = "code" href = "classoperations__research_1_1ModelCache.html#a5f32c22c620c811754ba7b6f977db864" > solver< / a > () < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02285" > < / a > < span class = "lineno" > 2285< / span >   < / div >
< div class = "line" > < a name = "l02286" > < / a > < span class = "lineno" > 2286< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l02287" > < / a > < span class = "lineno" > 2287< / span >   < a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver_;< / div >
< div class = "line" > < a name = "l02288" > < / a > < span class = "lineno" > 2288< / span >   };< / div >
< div class = "line" > < a name = "l02289" > < / a > < span class = "lineno" > 2289< / span >   < / div >
< div class = "line" > < a name = "l02291" > < / a > < span class = "lineno" > 2291< / span >   < span class = "preprocessor" > #if !defined(SWIG)< / span > < / div >
< div class = "line" > < a name = "l02292" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ArgumentHolder.html" > 2292< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html" > ArgumentHolder< / a > {< / div >
< div class = "line" > < a name = "l02293" > < / a > < span class = "lineno" > 2293< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l02295" > < / a > < span class = "lineno" > 2295< / span >   < span class = "keyword" > const< / span > std::string& < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#ad72c30a24555a3ffb0dba3749dfad22f" > TypeName< / a > () < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02296" > < / a > < span class = "lineno" > 2296< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a5cd41c19cc39011926f928b80cbbed72" > SetTypeName< / a > (< span class = "keyword" > const< / span > std::string& type_name);< / div >
< div class = "line" > < a name = "l02297" > < / a > < span class = "lineno" > 2297< / span >   < / div >
< div class = "line" > < a name = "l02299" > < / a > < span class = "lineno" > 2299< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#ab4113a41c7dc6fc23bdede336faccd54" > SetIntegerArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name, int64 value);< / div >
< div class = "line" > < a name = "l02300" > < / a > < span class = "lineno" > 2300< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a49d298ca856113967a788fd68522d51f" > SetIntegerArrayArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02301" > < / a > < span class = "lineno" > 2301< / span >   < span class = "keyword" > const< / span > std::vector< int64> & values);< / div >
< div class = "line" > < a name = "l02302" > < / a > < span class = "lineno" > 2302< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#adcd51c62ad7767220a2dab2f2363ceea" > SetIntegerMatrixArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02303" > < / a > < span class = "lineno" > 2303< / span >   < span class = "keyword" > const< / span > IntTupleSet& values);< / div >
< div class = "line" > < a name = "l02304" > < / a > < span class = "lineno" > 2304< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a4b2fe4799ef453501f0fce00d59841a7" > SetIntegerExpressionArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02305" > < / a > < span class = "lineno" > 2305< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr);< / div >
< div class = "line" > < a name = "l02306" > < / a > < span class = "lineno" > 2306< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a5e05ed63b54117b3fefe5cf3a4d3f33e" > SetIntegerVariableArrayArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02307" > < / a > < span class = "lineno" > 2307< / span >   < span class = "keyword" > const< / span > std::vector< IntVar*> & vars);< / div >
< div class = "line" > < a name = "l02308" > < / a > < span class = "lineno" > 2308< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#aa99281e27dde55f592e819cb36085ce5" > SetIntervalArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name, < a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > var);< / div >
< div class = "line" > < a name = "l02309" > < / a > < span class = "lineno" > 2309< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#af198f3666509d3e593c724811356a06e" > SetIntervalArrayArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02310" > < / a > < span class = "lineno" > 2310< / span >   < span class = "keyword" > const< / span > std::vector< IntervalVar*> & vars);< / div >
< div class = "line" > < a name = "l02311" > < / a > < span class = "lineno" > 2311< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a42a5aa3f2ee24fc309c210e6dfc2b504" > SetSequenceArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name, < a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * < span class = "keyword" > const< / span > var);< / div >
< div class = "line" > < a name = "l02312" > < / a > < span class = "lineno" > 2312< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a87edff1ae0e772591575ca3f016af246" > SetSequenceArrayArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02313" > < / a > < span class = "lineno" > 2313< / span >   < span class = "keyword" > const< / span > std::vector< SequenceVar*> & vars);< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02314" > < / a > < span class = "lineno" > 2314< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02316" > < / a > < span class = "lineno" > 2316< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#ae23e57e443be817e98c18896384f5f8f" > HasIntegerExpressionArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02317" > < / a > < span class = "lineno" > 2317< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a1741111a88b318c9b9488173a3d4a788" > HasIntegerVariableArrayArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name) < span class = "keyword" > const< / span > ;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02318" > < / a > < span class = "lineno" > 2318< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02320" > < / a > < span class = "lineno" > 2320< / span >   int64 < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a20bd97b94750decd053b6677dc5a86c7" > FindIntegerArgumentWithDefault< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02321" > < / a > < span class = "lineno" > 2321< / span >   int64 def) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02322" > < / a > < span class = "lineno" > 2322< / span >   int64 < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#af558025ad3b271ffb1b538ce5d20f1d6" > FindIntegerArgumentOrDie< / a > (< span class = "keyword" > const< / span > std::string& arg_name) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02323" > < / a > < span class = "lineno" > 2323< / span >   < span class = "keyword" > const< / span > std::vector< int64> & < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a6824a1f9c8084b6803c2e44c328a0aa8" > FindIntegerArrayArgumentOrDie< / a > (< / div >
< div class = "line" > < a name = "l02324" > < / a > < span class = "lineno" > 2324< / span >   < span class = "keyword" > const< / span > std::string& arg_name) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02325" > < / a > < span class = "lineno" > 2325< / span >   < span class = "keyword" > const< / span > IntTupleSet& < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a493b4ae7f0d15ff8bd2e0a266aad3bdb" > FindIntegerMatrixArgumentOrDie< / a > (< / div >
< div class = "line" > < a name = "l02326" > < / a > < span class = "lineno" > 2326< / span >   < span class = "keyword" > const< / span > std::string& arg_name) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02327" > < / a > < span class = "lineno" > 2327< / span >   < / div >
< div class = "line" > < a name = "l02328" > < / a > < span class = "lineno" > 2328< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a7b4113fc166c4b735fb82edafc49ae0a" > FindIntegerExpressionArgumentOrDie< / a > (< / div >
< div class = "line" > < a name = "l02329" > < / a > < span class = "lineno" > 2329< / span >   < span class = "keyword" > const< / span > std::string& arg_name) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02330" > < / a > < span class = "lineno" > 2330< / span >   < span class = "keyword" > const< / span > std::vector< IntVar*> & < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html#a0512eabe3ae0f9370152aa2844377302" > FindIntegerVariableArrayArgumentOrDie< / a > (< / div >
< div class = "line" > < a name = "l02331" > < / a > < span class = "lineno" > 2331< / span >   < span class = "keyword" > const< / span > std::string& arg_name) < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02332" > < / a > < span class = "lineno" > 2332< / span >   < / div >
< div class = "line" > < a name = "l02333" > < / a > < span class = "lineno" > 2333< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l02334" > < / a > < span class = "lineno" > 2334< / span >   std::string type_name_;< / div >
< div class = "line" > < a name = "l02335" > < / a > < span class = "lineno" > 2335< / span >   absl::flat_hash_map< std::string, int64> integer_argument_;< / div >
< div class = "line" > < a name = "l02336" > < / a > < span class = "lineno" > 2336< / span >   absl::flat_hash_map< std::string, std::vector< int64> > integer_array_argument_;< / div >
< div class = "line" > < a name = "l02337" > < / a > < span class = "lineno" > 2337< / span >   absl::flat_hash_map< std::string, IntTupleSet> matrix_argument_;< / div >
< div class = "line" > < a name = "l02338" > < / a > < span class = "lineno" > 2338< / span >   absl::flat_hash_map< std::string, IntExpr*> integer_expression_argument_;< / div >
< div class = "line" > < a name = "l02339" > < / a > < span class = "lineno" > 2339< / span >   absl::flat_hash_map< std::string, IntervalVar*> interval_argument_;< / div >
< div class = "line" > < a name = "l02340" > < / a > < span class = "lineno" > 2340< / span >   absl::flat_hash_map< std::string, SequenceVar*> sequence_argument_;< / div >
< div class = "line" > < a name = "l02341" > < / a > < span class = "lineno" > 2341< / span >   absl::flat_hash_map< std::string, std::vector< IntVar*> > < / div >
< div class = "line" > < a name = "l02342" > < / a > < span class = "lineno" > 2342< / span >   integer_variable_array_argument_;< / div >
< div class = "line" > < a name = "l02343" > < / a > < span class = "lineno" > 2343< / span >   absl::flat_hash_map< std::string, std::vector< IntervalVar*> > < / div >
< div class = "line" > < a name = "l02344" > < / a > < span class = "lineno" > 2344< / span >   interval_array_argument_;< / div >
< div class = "line" > < a name = "l02345" > < / a > < span class = "lineno" > 2345< / span >   absl::flat_hash_map< std::string, std::vector< SequenceVar*> > < / div >
< div class = "line" > < a name = "l02346" > < / a > < span class = "lineno" > 2346< / span >   sequence_array_argument_;< / div >
< div class = "line" > < a name = "l02347" > < / a > < span class = "lineno" > 2347< / span >   };< / div >
< div class = "line" > < a name = "l02348" > < / a > < span class = "lineno" > 2348< / span >   < / div >
< div class = "line" > < a name = "l02350" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ModelParser.html" > 2350< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html" > ModelParser< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1ModelVisitor.html" > ModelVisitor< / a > {< / div >
< div class = "line" > < a name = "l02351" > < / a > < span class = "lineno" > 2351< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l02352" > < / a > < span class = "lineno" > 2352< / span >   < a class = "code" href = "classoperations__research_1_1ModelParser.html#a8a58bcdd2aba971801f05e87d76fa5cb" > ModelParser< / a > ();< / div >
< div class = "line" > < a name = "l02353" > < / a > < span class = "lineno" > 2353< / span >   < / div >
< div class = "line" > < a name = "l02354" > < / a > < span class = "lineno" > 2354< / span >   < a class = "code" href = "classoperations__research_1_1ModelParser.html#aaf6ad14f55e32b0907390fe1086fa2bc" > ~ModelParser< / a > () < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02355" > < / a > < span class = "lineno" > 2355< / span >   < / div >
< div class = "line" > < a name = "l02357" > < / a > < span class = "lineno" > 2357< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#ac96955028ded0054b93b3a62603673fb" > BeginVisitModel< / a > (< span class = "keyword" > const< / span > std::string& solver_name) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02358" > < / a > < span class = "lineno" > 2358< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a93b849189eca7118a5db04c2fe8aa901" > EndVisitModel< / a > (< span class = "keyword" > const< / span > std::string& solver_name) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02359" > < / a > < span class = "lineno" > 2359< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a3f64ad753c103735db788aef651906f1" > BeginVisitConstraint< / a > (< span class = "keyword" > const< / span > std::string& type_name,< / div >
< div class = "line" > < a name = "l02360" > < / a > < span class = "lineno" > 2360< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > constraint) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02361" > < / a > < span class = "lineno" > 2361< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a8ed69e6d44dd4141c434a1784120382f" > EndVisitConstraint< / a > (< span class = "keyword" > const< / span > std::string& type_name,< / div >
< div class = "line" > < a name = "l02362" > < / a > < span class = "lineno" > 2362< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1Constraint.html" > Constraint< / a > * < span class = "keyword" > const< / span > constraint) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02363" > < / a > < span class = "lineno" > 2363< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a3c1880784b2c7a39516d9ec78a3655c9" > BeginVisitIntegerExpression< / a > (< span class = "keyword" > const< / span > std::string& type_name,< / div >
< div class = "line" > < a name = "l02364" > < / a > < span class = "lineno" > 2364< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02365" > < / a > < span class = "lineno" > 2365< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#ad974141af84ca9a2f52c9079d7db3126" > EndVisitIntegerExpression< / a > (< span class = "keyword" > const< / span > std::string& type_name,< / div >
< div class = "line" > < a name = "l02366" > < / a > < span class = "lineno" > 2366< / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > expr) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02367" > < / a > < span class = "lineno" > 2367< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#ab78f332ebaa3c0a6858e063425ad1005" > VisitIntegerVariable< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > variable,< / div >
< div class = "line" > < a name = "l02368" > < / a > < span class = "lineno" > 2368< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > delegate) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02369" > < / a > < span class = "lineno" > 2369< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#ab78f332ebaa3c0a6858e063425ad1005" > VisitIntegerVariable< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > variable,< / div >
< div class = "line" > < a name = "l02370" > < / a > < span class = "lineno" > 2370< / span >   < span class = "keyword" > const< / span > std::string& operation, int64 value,< / div >
< div class = "line" > < a name = "l02371" > < / a > < span class = "lineno" > 2371< / span >   < a class = "code" href = "classoperations__research_1_1IntVar.html" > IntVar< / a > * < span class = "keyword" > const< / span > delegate) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02372" > < / a > < span class = "lineno" > 2372< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a3ad305236a82068e5c6860729570e73f" > VisitIntervalVariable< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > variable,< / div >
< div class = "line" > < a name = "l02373" > < / a > < span class = "lineno" > 2373< / span >   < span class = "keyword" > const< / span > std::string& operation, int64 value,< / div >
< div class = "line" > < a name = "l02374" > < / a > < span class = "lineno" > 2374< / span >   < a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > delegate) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02375" > < / a > < span class = "lineno" > 2375< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a4d2f859ba8744c59922952d1925962b6" > VisitSequenceVariable< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * < span class = "keyword" > const< / span > variable) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02377" > < / a > < span class = "lineno" > 2377< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#acf3b9b49defa1be5d574ff59aa12e36e" > VisitIntegerArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name, int64 value) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02378" > < / a > < span class = "lineno" > 2378< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#aa1998d48caaa0f39dd647267356ffcb9" > VisitIntegerArrayArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02379" > < / a > < span class = "lineno" > 2379< / span >   < span class = "keyword" > const< / span > std::vector< int64> & values) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02380" > < / a > < span class = "lineno" > 2380< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#abb4445bda211f8b4fb7410e1135ea536" > VisitIntegerMatrixArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02381" > < / a > < span class = "lineno" > 2381< / span >   < span class = "keyword" > const< / span > IntTupleSet& values) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02383" > < / a > < span class = "lineno" > 2383< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a49376dec39378f502d09f8f001924f8b" > VisitIntegerExpressionArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02384" > < / a > < span class = "lineno" > 2384< / span >   < a class = "code" href = "classoperations__research_1_1IntExpr.html" > IntExpr< / a > * < span class = "keyword" > const< / span > argument) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02385" > < / a > < span class = "lineno" > 2385< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#ab11bc6e0bd4776a51b50941d9e096ab3" > VisitIntegerVariableArrayArgument< / a > (< / div >
< div class = "line" > < a name = "l02386" > < / a > < span class = "lineno" > 2386< / span >   < span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02387" > < / a > < span class = "lineno" > 2387< / span >   < span class = "keyword" > const< / span > std::vector< IntVar*> & arguments) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02389" > < / a > < span class = "lineno" > 2389< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a80c5c0fd18a686e9aa4f05af4c3faced" > VisitIntervalArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02390" > < / a > < span class = "lineno" > 2390< / span >   < a class = "code" href = "classoperations__research_1_1IntervalVar.html" > IntervalVar< / a > * < span class = "keyword" > const< / span > argument) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02391" > < / a > < span class = "lineno" > 2391< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#ae49f9857049e5ebbb368b49c5a62afea" > VisitIntervalArrayArgument< / a > (< / div >
< div class = "line" > < a name = "l02392" > < / a > < span class = "lineno" > 2392< / span >   < span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02393" > < / a > < span class = "lineno" > 2393< / span >   < span class = "keyword" > const< / span > std::vector< IntervalVar*> & arguments) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02395" > < / a > < span class = "lineno" > 2395< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#aa18425baaba1c8387437547bc265ded0" > VisitSequenceArgument< / a > (< span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02396" > < / a > < span class = "lineno" > 2396< / span >   < a class = "code" href = "classoperations__research_1_1SequenceVar.html" > SequenceVar< / a > * < span class = "keyword" > const< / span > argument) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02397" > < / a > < span class = "lineno" > 2397< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a85fd160bc451ebfff69cfe892dd44b2e" > VisitSequenceArrayArgument< / a > (< / div >
< div class = "line" > < a name = "l02398" > < / a > < span class = "lineno" > 2398< / span >   < span class = "keyword" > const< / span > std::string& arg_name,< / div >
< div class = "line" > < a name = "l02399" > < / a > < span class = "lineno" > 2399< / span >   < span class = "keyword" > const< / span > std::vector< SequenceVar*> & arguments) < span class = "keyword" > override< / span > ;< / div >
< div class = "line" > < a name = "l02400" > < / a > < span class = "lineno" > 2400< / span >   < / div >
< div class = "line" > < a name = "l02401" > < / a > < span class = "lineno" > 2401< / span >   < span class = "keyword" > protected< / span > :< / div >
< div class = "line" > < a name = "l02402" > < / a > < span class = "lineno" > 2402< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#a0e0eee81c1c10f89672e3e41c94939ea" > PushArgumentHolder< / a > ();< / div >
< div class = "line" > < a name = "l02403" > < / a > < span class = "lineno" > 2403< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ModelParser.html#ad8a7ac44f8bfdc52cfd6b237d1a210b7" > PopArgumentHolder< / a > ();< / div >
< div class = "line" > < a name = "l02404" > < / a > < span class = "lineno" > 2404< / span >   < a class = "code" href = "classoperations__research_1_1ArgumentHolder.html" > ArgumentHolder< / a > * < a class = "code" href = "classoperations__research_1_1ModelParser.html#ae8ac172436c62100ddbd16a7422e1501" > Top< / a > () < span class = "keyword" > const< / span > ;< / div >
< div class = "line" > < a name = "l02405" > < / a > < span class = "lineno" > 2405< / span >   < / div >
< div class = "line" > < a name = "l02406" > < / a > < span class = "lineno" > 2406< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l02407" > < / a > < span class = "lineno" > 2407< / span >   std::vector< ArgumentHolder*> holders_;< / div >
< div class = "line" > < a name = "l02408" > < / a > < span class = "lineno" > 2408< / span >   };< / div >
< div class = "line" > < a name = "l02409" > < / a > < span class = "lineno" > 2409< / span >   < / div >
< div class = "line" > < a name = "l02410" > < / a > < span class = "lineno" > 2410< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02411" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ArrayWithOffset.html" > 2411< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1ArrayWithOffset.html" > ArrayWithOffset< / a > : < span class = "keyword" > public< / span > < a class = "code" href = "classoperations__research_1_1BaseObject.html" > BaseObject< / a > {< / div >
< div class = "line" > < a name = "l02412" > < / a > < span class = "lineno" > 2412< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l02413" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ArrayWithOffset.html#a2581e57b1f3dd4d81119bea850bef413" > 2413< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ArrayWithOffset.html#a2581e57b1f3dd4d81119bea850bef413" > ArrayWithOffset< / a > (int64 index_min, int64 index_max)< / div >
< div class = "line" > < a name = "l02414" > < / a > < span class = "lineno" > 2414< / span >   : index_min_(index_min),< / div >
< div class = "line" > < a name = "l02415" > < / a > < span class = "lineno" > 2415< / span >   index_max_(index_max),< / div >
< div class = "line" > < a name = "l02416" > < / a > < span class = "lineno" > 2416< / span >   values_(new T[index_max - index_min + 1]) {< / div >
< div class = "line" > < a name = "l02417" > < / a > < span class = "lineno" > 2417< / span >   DCHECK_LE(index_min, index_max);< / div >
< div class = "line" > < a name = "l02418" > < / a > < span class = "lineno" > 2418< / span >   }< / div >
< div class = "line" > < a name = "l02419" > < / a > < span class = "lineno" > 2419< / span >   < / div >
< div class = "line" > < a name = "l02420" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ArrayWithOffset.html#a88e32439ca2aef1df5d8a59d02dc145c" > 2420< / a > < / span >   < a class = "code" href = "classoperations__research_1_1ArrayWithOffset.html#a88e32439ca2aef1df5d8a59d02dc145c" > ~ArrayWithOffset< / a > ()< span class = "keyword" > override < / span > {}< / div >
< div class = "line" > < a name = "l02421" > < / a > < span class = "lineno" > 2421< / span >   < / div >
< div class = "line" > < a name = "l02422" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ArrayWithOffset.html#a870f2606e0817dca379eefaa666b4f13" > 2422< / a > < / span >   < span class = "keyword" > virtual< / span > T < a class = "code" href = "classoperations__research_1_1ArrayWithOffset.html#a870f2606e0817dca379eefaa666b4f13" > Evaluate< / a > (int64 index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l02423" > < / a > < span class = "lineno" > 2423< / span >   DCHECK_GE(index, index_min_);< / div >
< div class = "line" > < a name = "l02424" > < / a > < span class = "lineno" > 2424< / span >   DCHECK_LE(index, index_max_);< / div >
< div class = "line" > < a name = "l02425" > < / a > < span class = "lineno" > 2425< / span >   < span class = "keywordflow" > return< / span > values_[index - index_min_];< / div >
< div class = "line" > < a name = "l02426" > < / a > < span class = "lineno" > 2426< / span >   }< / div >
< div class = "line" > < a name = "l02427" > < / a > < span class = "lineno" > 2427< / span >   < / div >
< div class = "line" > < a name = "l02428" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ArrayWithOffset.html#a8cddca1e54fd9aba386c53a670a1e382" > 2428< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1ArrayWithOffset.html#a8cddca1e54fd9aba386c53a670a1e382" > SetValue< / a > (int64 index, T value) {< / div >
< div class = "line" > < a name = "l02429" > < / a > < span class = "lineno" > 2429< / span >   DCHECK_GE(index, index_min_);< / div >
< div class = "line" > < a name = "l02430" > < / a > < span class = "lineno" > 2430< / span >   DCHECK_LE(index, index_max_);< / div >
< div class = "line" > < a name = "l02431" > < / a > < span class = "lineno" > 2431< / span >   values_[index - index_min_] = value;< / div >
< div class = "line" > < a name = "l02432" > < / a > < span class = "lineno" > 2432< / span >   }< / div >
< div class = "line" > < a name = "l02433" > < / a > < span class = "lineno" > 2433< / span >   < / div >
< div class = "line" > < a name = "l02434" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1ArrayWithOffset.html#aed804747c45a7e1caf81461f9e45dd91" > 2434< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1ArrayWithOffset.html#aed804747c45a7e1caf81461f9e45dd91" > DebugString< / a > ()< span class = "keyword" > const override < / span > { < span class = "keywordflow" > return< / span > < span class = "stringliteral" > " ArrayWithOffset" < / span > ; }< / div >
< div class = "line" > < a name = "l02435" > < / a > < span class = "lineno" > 2435< / span >   < / div >
< div class = "line" > < a name = "l02436" > < / a > < span class = "lineno" > 2436< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l02437" > < / a > < span class = "lineno" > 2437< / span >   < span class = "keyword" > const< / span > int64 index_min_;< / div >
< div class = "line" > < a name = "l02438" > < / a > < span class = "lineno" > 2438< / span >   < span class = "keyword" > const< / span > int64 index_max_;< / div >
< div class = "line" > < a name = "l02439" > < / a > < span class = "lineno" > 2439< / span >   std::unique_ptr< T[]> values_;< / div >
< div class = "line" > < a name = "l02440" > < / a > < span class = "lineno" > 2440< / span >   };< / div >
< div class = "line" > < a name = "l02441" > < / a > < span class = "lineno" > 2441< / span >   < span class = "preprocessor" > #endif // SWIG< / span > < / div >
< div class = "line" > < a name = "l02442" > < / a > < span class = "lineno" > 2442< / span >   < / div >
< div class = "line" > < a name = "l02447" > < / a > < span class = "lineno" > 2447< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T, < span class = "keyword" > class< / span > C> < / div >
< div class = "line" > < a name = "l02448" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevGrowingArray.html" > 2448< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1RevGrowingArray.html" > RevGrowingArray< / a > {< / div >
< div class = "line" > < a name = "l02449" > < / a > < span class = "lineno" > 2449< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l02450" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevGrowingArray.html#ae0029296b3e2fa4db916aa44120d4916" > 2450< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1RevGrowingArray.html#ae0029296b3e2fa4db916aa44120d4916" > RevGrowingArray< / a > (int64 block_size)< / div >
< div class = "line" > < a name = "l02451" > < / a > < span class = "lineno" > 2451< / span >   : block_size_(block_size), block_offset_(0) {< / div >
< div class = "line" > < a name = "l02452" > < / a > < span class = "lineno" > 2452< / span >   CHECK_GT(block_size, 0);< / div >
< div class = "line" > < a name = "l02453" > < / a > < span class = "lineno" > 2453< / span >   }< / div >
< div class = "line" > < a name = "l02454" > < / a > < span class = "lineno" > 2454< / span >   < / div >
< div class = "line" > < a name = "l02455" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevGrowingArray.html#ab75ed69877226a6c1c51af3babe02b94" > 2455< / a > < / span >   < a class = "code" href = "classoperations__research_1_1RevGrowingArray.html#ab75ed69877226a6c1c51af3babe02b94" > ~RevGrowingArray< / a > () {< / div >
< div class = "line" > < a name = "l02456" > < / a > < span class = "lineno" > 2456< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < elements_.size(); ++i) {< / div >
< div class = "line" > < a name = "l02457" > < / a > < span class = "lineno" > 2457< / span >   < span class = "keyword" > delete< / span > [] elements_[i];< / div >
< div class = "line" > < a name = "l02458" > < / a > < span class = "lineno" > 2458< / span >   }< / div >
< div class = "line" > < a name = "l02459" > < / a > < span class = "lineno" > 2459< / span >   }< / div >
< div class = "line" > < a name = "l02460" > < / a > < span class = "lineno" > 2460< / span >   < / div >
< div class = "line" > < a name = "l02461" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevGrowingArray.html#a34cf2377c5f844fb774ff490259f935d" > 2461< / a > < / span >   T < a class = "code" href = "classoperations__research_1_1RevGrowingArray.html#a34cf2377c5f844fb774ff490259f935d" > At< / a > (int64 index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l02462" > < / a > < span class = "lineno" > 2462< / span >   < span class = "keyword" > const< / span > int64 block_index = ComputeBlockIndex(index);< / div >
< div class = "line" > < a name = "l02463" > < / a > < span class = "lineno" > 2463< / span >   < span class = "keyword" > const< / span > int64 relative_index = block_index - block_offset_;< / div >
< div class = "line" > < a name = "l02464" > < / a > < span class = "lineno" > 2464< / span >   < span class = "keywordflow" > if< / span > (relative_index < 0 || relative_index > = elements_.size()) {< / div >
< div class = "line" > < a name = "l02465" > < / a > < span class = "lineno" > 2465< / span >   < span class = "keywordflow" > return< / span > T();< / div >
< div class = "line" > < a name = "l02466" > < / a > < span class = "lineno" > 2466< / span >   }< / div >
< div class = "line" > < a name = "l02467" > < / a > < span class = "lineno" > 2467< / span >   < span class = "keyword" > const< / span > T* block = elements_[relative_index];< / div >
< div class = "line" > < a name = "l02468" > < / a > < span class = "lineno" > 2468< / span >   < span class = "keywordflow" > return< / span > block != < span class = "keyword" > nullptr< / span > ? block[index - block_index * block_size_] : T();< / div >
< div class = "line" > < a name = "l02469" > < / a > < span class = "lineno" > 2469< / span >   }< / div >
< div class = "line" > < a name = "l02470" > < / a > < span class = "lineno" > 2470< / span >   < / div >
< div class = "line" > < a name = "l02471" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevGrowingArray.html#a934a61e5cce7cdb174f519d2965b9ee7" > 2471< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevGrowingArray.html#a934a61e5cce7cdb174f519d2965b9ee7" > RevInsert< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, int64 index, T value) {< / div >
< div class = "line" > < a name = "l02472" > < / a > < span class = "lineno" > 2472< / span >   < span class = "keyword" > const< / span > int64 block_index = ComputeBlockIndex(index);< / div >
< div class = "line" > < a name = "l02473" > < / a > < span class = "lineno" > 2473< / span >   T* < span class = "keyword" > const< / span > block = GetOrCreateBlock(block_index);< / div >
< div class = "line" > < a name = "l02474" > < / a > < span class = "lineno" > 2474< / span >   < span class = "keyword" > const< / span > int64 residual = index - block_index * block_size_;< / div >
< div class = "line" > < a name = "l02475" > < / a > < span class = "lineno" > 2475< / span >   solver-> < a class = "code" href = "classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c" > SaveAndSetValue< / a > (< span class = "keyword" > reinterpret_cast< < / span > C*< span class = "keyword" > > < / span > (& block[residual]),< / div >
< div class = "line" > < a name = "l02476" > < / a > < span class = "lineno" > 2476< / span >   < span class = "keyword" > reinterpret_cast< < / span > C< span class = "keyword" > > < / span > (value));< / div >
< div class = "line" > < a name = "l02477" > < / a > < span class = "lineno" > 2477< / span >   }< / div >
< div class = "line" > < a name = "l02478" > < / a > < span class = "lineno" > 2478< / span >   < / div >
< div class = "line" > < a name = "l02479" > < / a > < span class = "lineno" > 2479< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l02480" > < / a > < span class = "lineno" > 2480< / span >   T* NewBlock()< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l02481" > < / a > < span class = "lineno" > 2481< / span >   T* < span class = "keyword" > const< / span > result = < span class = "keyword" > new< / span > T[block_size_];< / div >
< div class = "line" > < a name = "l02482" > < / a > < span class = "lineno" > 2482< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < block_size_; ++i) {< / div >
< div class = "line" > < a name = "l02483" > < / a > < span class = "lineno" > 2483< / span >   result[i] = T();< / div >
< div class = "line" > < a name = "l02484" > < / a > < span class = "lineno" > 2484< / span >   }< / div >
< div class = "line" > < a name = "l02485" > < / a > < span class = "lineno" > 2485< / span >   < span class = "keywordflow" > return< / span > result;< / div >
< div class = "line" > < a name = "l02486" > < / a > < span class = "lineno" > 2486< / span >   }< / div >
< div class = "line" > < a name = "l02487" > < / a > < span class = "lineno" > 2487< / span >   < / div >
< div class = "line" > < a name = "l02488" > < / a > < span class = "lineno" > 2488< / span >   T* GetOrCreateBlock(< span class = "keywordtype" > int< / span > block_index) {< / div >
< div class = "line" > < a name = "l02489" > < / a > < span class = "lineno" > 2489< / span >   < span class = "keywordflow" > if< / span > (elements_.size() == 0) {< / div >
< div class = "line" > < a name = "l02490" > < / a > < span class = "lineno" > 2490< / span >   block_offset_ = block_index;< / div >
< div class = "line" > < a name = "l02491" > < / a > < span class = "lineno" > 2491< / span >   GrowUp(block_index);< / div >
< div class = "line" > < a name = "l02492" > < / a > < span class = "lineno" > 2492< / span >   } < span class = "keywordflow" > else< / span > < span class = "keywordflow" > if< / span > (block_index < block_offset_) {< / div >
< div class = "line" > < a name = "l02493" > < / a > < span class = "lineno" > 2493< / span >   GrowDown(block_index);< / div >
< div class = "line" > < a name = "l02494" > < / a > < span class = "lineno" > 2494< / span >   } < span class = "keywordflow" > else< / span > < span class = "keywordflow" > if< / span > (block_index - block_offset_ > = elements_.size()) {< / div >
< div class = "line" > < a name = "l02495" > < / a > < span class = "lineno" > 2495< / span >   GrowUp(block_index);< / div >
< div class = "line" > < a name = "l02496" > < / a > < span class = "lineno" > 2496< / span >   }< / div >
< div class = "line" > < a name = "l02497" > < / a > < span class = "lineno" > 2497< / span >   T* block = elements_[block_index - block_offset_];< / div >
< div class = "line" > < a name = "l02498" > < / a > < span class = "lineno" > 2498< / span >   < span class = "keywordflow" > if< / span > (block == < span class = "keyword" > nullptr< / span > ) {< / div >
< div class = "line" > < a name = "l02499" > < / a > < span class = "lineno" > 2499< / span >   block = NewBlock();< / div >
< div class = "line" > < a name = "l02500" > < / a > < span class = "lineno" > 2500< / span >   elements_[block_index - block_offset_] = block;< / div >
< div class = "line" > < a name = "l02501" > < / a > < span class = "lineno" > 2501< / span >   }< / div >
< div class = "line" > < a name = "l02502" > < / a > < span class = "lineno" > 2502< / span >   < span class = "keywordflow" > return< / span > block;< / div >
< div class = "line" > < a name = "l02503" > < / a > < span class = "lineno" > 2503< / span >   }< / div >
< div class = "line" > < a name = "l02504" > < / a > < span class = "lineno" > 2504< / span >   < / div >
< div class = "line" > < a name = "l02505" > < / a > < span class = "lineno" > 2505< / span >   int64 ComputeBlockIndex(int64 value)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l02506" > < / a > < span class = "lineno" > 2506< / span >   < span class = "keywordflow" > return< / span > value > = 0 ? value / block_size_< / div >
< div class = "line" > < a name = "l02507" > < / a > < span class = "lineno" > 2507< / span >   : (value - block_size_ + 1) / block_size_;< / div >
< div class = "line" > < a name = "l02508" > < / a > < span class = "lineno" > 2508< / span >   }< / div >
< div class = "line" > < a name = "l02509" > < / a > < span class = "lineno" > 2509< / span >   < / div >
< div class = "line" > < a name = "l02510" > < / a > < span class = "lineno" > 2510< / span >   < span class = "keywordtype" > void< / span > GrowUp(int64 block_index) {< / div >
< div class = "line" > < a name = "l02511" > < / a > < span class = "lineno" > 2511< / span >   elements_.resize(block_index - block_offset_ + 1);< / div >
< div class = "line" > < a name = "l02512" > < / a > < span class = "lineno" > 2512< / span >   }< / div >
< div class = "line" > < a name = "l02513" > < / a > < span class = "lineno" > 2513< / span >   < / div >
< div class = "line" > < a name = "l02514" > < / a > < span class = "lineno" > 2514< / span >   < span class = "keywordtype" > void< / span > GrowDown(int64 block_index) {< / div >
< div class = "line" > < a name = "l02515" > < / a > < span class = "lineno" > 2515< / span >   < span class = "keyword" > const< / span > int64 delta = block_offset_ - block_index;< / div >
< div class = "line" > < a name = "l02516" > < / a > < span class = "lineno" > 2516< / span >   block_offset_ = block_index;< / div >
< div class = "line" > < a name = "l02517" > < / a > < span class = "lineno" > 2517< / span >   DCHECK_GT(delta, 0);< / div >
< div class = "line" > < a name = "l02518" > < / a > < span class = "lineno" > 2518< / span >   elements_.insert(elements_.begin(), delta, < span class = "keyword" > nullptr< / span > );< / div >
< div class = "line" > < a name = "l02519" > < / a > < span class = "lineno" > 2519< / span >   }< / div >
< div class = "line" > < a name = "l02520" > < / a > < span class = "lineno" > 2520< / span >   < / div >
< div class = "line" > < a name = "l02521" > < / a > < span class = "lineno" > 2521< / span >   < span class = "keyword" > const< / span > int64 block_size_;< / div >
< div class = "line" > < a name = "l02522" > < / a > < span class = "lineno" > 2522< / span >   std::vector< T*> elements_;< / div >
< div class = "line" > < a name = "l02523" > < / a > < span class = "lineno" > 2523< / span >   < span class = "keywordtype" > int< / span > block_offset_;< / div >
< div class = "line" > < a name = "l02524" > < / a > < span class = "lineno" > 2524< / span >   };< / div >
< div class = "line" > < a name = "l02525" > < / a > < span class = "lineno" > 2525< / span >   < / div >
< div class = "line" > < a name = "l02530" > < / a > < span class = "lineno" > 2530< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02531" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html" > 2531< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html" > RevIntSet< / a > {< / div >
< div class = "line" > < a name = "l02532" > < / a > < span class = "lineno" > 2532< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l02533" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a80e27b06bc8fb598c0530075a005d3c0" > 2533< / a > < / span >   < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a80e27b06bc8fb598c0530075a005d3c0" > kNoInserted< / a > = -1;< / div >
< div class = "line" > < a name = "l02534" > < / a > < span class = "lineno" > 2534< / span >   < / div >
< div class = "line" > < a name = "l02536" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a23bf807dec205b7965271a2980ba7aa1" > 2536< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a23bf807dec205b7965271a2980ba7aa1" > RevIntSet< / a > (< span class = "keywordtype" > int< / span > capacity)< / div >
< div class = "line" > < a name = "l02537" > < / a > < span class = "lineno" > 2537< / span >   : elements_(new T[capacity]),< / div >
< div class = "line" > < a name = "l02538" > < / a > < span class = "lineno" > 2538< / span >   num_elements_(0),< / div >
< div class = "line" > < a name = "l02539" > < / a > < span class = "lineno" > 2539< / span >   capacity_(capacity),< / div >
< div class = "line" > < a name = "l02540" > < / a > < span class = "lineno" > 2540< / span >   position_(new int[capacity]),< / div >
< div class = "line" > < a name = "l02541" > < / a > < span class = "lineno" > 2541< / span >   delete_position_(true) {< / div >
< div class = "line" > < a name = "l02542" > < / a > < span class = "lineno" > 2542< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < capacity; ++i) {< / div >
< div class = "line" > < a name = "l02543" > < / a > < span class = "lineno" > 2543< / span >   position_[i] = < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a80e27b06bc8fb598c0530075a005d3c0" > kNoInserted< / a > ;< / div >
< div class = "line" > < a name = "l02544" > < / a > < span class = "lineno" > 2544< / span >   }< / div >
< div class = "line" > < a name = "l02545" > < / a > < span class = "lineno" > 2545< / span >   }< / div >
< div class = "line" > < a name = "l02546" > < / a > < span class = "lineno" > 2546< / span >   < / div >
< div class = "line" > < a name = "l02548" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a9dc6b5dd524a344be68d49dfe713445b" > 2548< / a > < / span >   < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a9dc6b5dd524a344be68d49dfe713445b" > RevIntSet< / a > (< span class = "keywordtype" > int< / span > capacity, < span class = "keywordtype" > int< / span > * shared_positions, < span class = "keywordtype" > int< / span > shared_positions_size)< / div >
< div class = "line" > < a name = "l02549" > < / a > < span class = "lineno" > 2549< / span >   : elements_(new T[capacity]),< / div >
< div class = "line" > < a name = "l02550" > < / a > < span class = "lineno" > 2550< / span >   num_elements_(0),< / div >
< div class = "line" > < a name = "l02551" > < / a > < span class = "lineno" > 2551< / span >   capacity_(capacity),< / div >
< div class = "line" > < a name = "l02552" > < / a > < span class = "lineno" > 2552< / span >   position_(shared_positions),< / div >
< div class = "line" > < a name = "l02553" > < / a > < span class = "lineno" > 2553< / span >   delete_position_(false) {< / div >
< div class = "line" > < a name = "l02554" > < / a > < span class = "lineno" > 2554< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < shared_positions_size; ++i) {< / div >
< div class = "line" > < a name = "l02555" > < / a > < span class = "lineno" > 2555< / span >   position_[i] = < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a80e27b06bc8fb598c0530075a005d3c0" > kNoInserted< / a > ;< / div >
< div class = "line" > < a name = "l02556" > < / a > < span class = "lineno" > 2556< / span >   }< / div >
< div class = "line" > < a name = "l02557" > < / a > < span class = "lineno" > 2557< / span >   }< / div >
< div class = "line" > < a name = "l02558" > < / a > < span class = "lineno" > 2558< / span >   < / div >
< div class = "line" > < a name = "l02559" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a843688384c304891f0a00b0336ac9823" > 2559< / a > < / span >   < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a843688384c304891f0a00b0336ac9823" > ~RevIntSet< / a > () {< / div >
< div class = "line" > < a name = "l02560" > < / a > < span class = "lineno" > 2560< / span >   < span class = "keywordflow" > if< / span > (delete_position_) {< / div >
< div class = "line" > < a name = "l02561" > < / a > < span class = "lineno" > 2561< / span >   < span class = "keyword" > delete< / span > [] position_;< / div >
< div class = "line" > < a name = "l02562" > < / a > < span class = "lineno" > 2562< / span >   }< / div >
< div class = "line" > < a name = "l02563" > < / a > < span class = "lineno" > 2563< / span >   }< / div >
< div class = "line" > < a name = "l02564" > < / a > < span class = "lineno" > 2564< / span >   < / div >
< div class = "line" > < a name = "l02565" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a24926108b770033792d015cb86aeffb3" > 2565< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (); }< / div >
< div class = "line" > < a name = "l02566" > < / a > < span class = "lineno" > 2566< / span >   < / div >
< div class = "line" > < a name = "l02567" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#ae37167b9b5134bd482bc4e21d77b3f4b" > 2567< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#ae37167b9b5134bd482bc4e21d77b3f4b" > Capacity< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > capacity_; }< / div >
< div class = "line" > < a name = "l02568" > < / a > < span class = "lineno" > 2568< / span >   < / div >
< div class = "line" > < a name = "l02569" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a6b01bbd962186b2a530cb1ab6855b833" > 2569< / a > < / span >   T < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a6b01bbd962186b2a530cb1ab6855b833" > Element< / a > (< span class = "keywordtype" > int< / span > i)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l02570" > < / a > < span class = "lineno" > 2570< / span >   DCHECK_GE(i, 0);< / div >
< div class = "line" > < a name = "l02571" > < / a > < span class = "lineno" > 2571< / span >   DCHECK_LT(i, num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ());< / div >
< div class = "line" > < a name = "l02572" > < / a > < span class = "lineno" > 2572< / span >   < span class = "keywordflow" > return< / span > elements_[i];< / div >
< div class = "line" > < a name = "l02573" > < / a > < span class = "lineno" > 2573< / span >   }< / div >
< div class = "line" > < a name = "l02574" > < / a > < span class = "lineno" > 2574< / span >   < / div >
< div class = "line" > < a name = "l02575" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a34d8dff251306e611f6393c007372233" > 2575< / a > < / span >   T < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a34d8dff251306e611f6393c007372233" > RemovedElement< / a > (< span class = "keywordtype" > int< / span > i)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l02576" > < / a > < span class = "lineno" > 2576< / span >   DCHECK_GE(i, 0);< / div >
< div class = "line" > < a name = "l02577" > < / a > < span class = "lineno" > 2577< / span >   DCHECK_LT(i + num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (), capacity_);< / div >
< div class = "line" > < a name = "l02578" > < / a > < span class = "lineno" > 2578< / span >   < span class = "keywordflow" > return< / span > elements_[i + num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ()];< / div >
< div class = "line" > < a name = "l02579" > < / a > < span class = "lineno" > 2579< / span >   }< / div >
< div class = "line" > < a name = "l02580" > < / a > < span class = "lineno" > 2580< / span >   < / div >
< div class = "line" > < a name = "l02581" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a09b435e833bb97525ef2e54735f632ea" > 2581< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a09b435e833bb97525ef2e54735f632ea" > Insert< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keyword" > const< / span > T& elt) {< / div >
< div class = "line" > < a name = "l02582" > < / a > < span class = "lineno" > 2582< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > position = num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ();< / div >
< div class = "line" > < a name = "l02583" > < / a > < span class = "lineno" > 2583< / span >   DCHECK_LT(position, capacity_); < / div >
< div class = "line" > < a name = "l02584" > < / a > < span class = "lineno" > 2584< / span >   DCHECK(NotAlreadyInserted(elt));< / div >
< div class = "line" > < a name = "l02585" > < / a > < span class = "lineno" > 2585< / span >   elements_[position] = elt;< / div >
< div class = "line" > < a name = "l02586" > < / a > < span class = "lineno" > 2586< / span >   position_[elt] = position;< / div >
< div class = "line" > < a name = "l02587" > < / a > < span class = "lineno" > 2587< / span >   num_elements_.< a class = "code" href = "classoperations__research_1_1NumericalRev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b" > Incr< / a > (solver);< / div >
< div class = "line" > < a name = "l02588" > < / a > < span class = "lineno" > 2588< / span >   }< / div >
< div class = "line" > < a name = "l02589" > < / a > < span class = "lineno" > 2589< / span >   < / div >
< div class = "line" > < a name = "l02590" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#ace705075d1b47c62aa622a912c14626c" > 2590< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#ace705075d1b47c62aa622a912c14626c" > Remove< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keyword" > const< / span > T& value_index) {< / div >
< div class = "line" > < a name = "l02591" > < / a > < span class = "lineno" > 2591< / span >   num_elements_.< a class = "code" href = "classoperations__research_1_1NumericalRev.html#a83c8a2812799fd87becd114374fb1d36" > Decr< / a > (solver);< / div >
< div class = "line" > < a name = "l02592" > < / a > < span class = "lineno" > 2592< / span >   SwapTo(value_index, num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ());< / div >
< div class = "line" > < a name = "l02593" > < / a > < span class = "lineno" > 2593< / span >   }< / div >
< div class = "line" > < a name = "l02594" > < / a > < span class = "lineno" > 2594< / span >   < / div >
< div class = "line" > < a name = "l02595" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#ab57ce8f50aeb2f7e4171b04ca42fd447" > 2595< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#ab57ce8f50aeb2f7e4171b04ca42fd447" > Restore< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keyword" > const< / span > T& value_index) {< / div >
< div class = "line" > < a name = "l02596" > < / a > < span class = "lineno" > 2596< / span >   SwapTo(value_index, num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ());< / div >
< div class = "line" > < a name = "l02597" > < / a > < span class = "lineno" > 2597< / span >   num_elements_.< a class = "code" href = "classoperations__research_1_1NumericalRev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b" > Incr< / a > (solver);< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02598" > < / a > < span class = "lineno" > 2598< / span >   }< / div >
< div class = "line" > < a name = "l02599" > < / a > < span class = "lineno" > 2599< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02600" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#ae44fff9ea13a57991eb263fc98f526ab" > 2600< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#ae44fff9ea13a57991eb263fc98f526ab" > Clear< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver) { num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688" > SetValue< / a > (solver, 0); }< / div >
< div class = "line" > < a name = "l02601" > < / a > < span class = "lineno" > 2601< / span >   < / div >
< div class = "line" > < a name = "l02603" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a1bb214e54841e1ad694628030c30504f" > 2603< / a > < / span >   < span class = "keyword" > typedef< / span > < span class = "keyword" > const< / span > T* < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a1bb214e54841e1ad694628030c30504f" > const_iterator< / a > ;< / div >
< div class = "line" > < a name = "l02604" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#a29305669b60ca1680752e2fc3592ba99" > 2604< / a > < / span >   < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a1bb214e54841e1ad694628030c30504f" > const_iterator< / a > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a29305669b60ca1680752e2fc3592ba99" > begin< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > elements_.get(); }< / div >
< div class = "line" > < a name = "l02605" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevIntSet.html#accf9a4bd0c34d4a5f6a7dab66ea10cdc" > 2605< / a > < / span >   < a class = "code" href = "classoperations__research_1_1RevIntSet.html#a1bb214e54841e1ad694628030c30504f" > const_iterator< / a > < a class = "code" href = "classoperations__research_1_1RevIntSet.html#accf9a4bd0c34d4a5f6a7dab66ea10cdc" > end< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > elements_.get() + num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (); }< / div >
< div class = "line" > < a name = "l02606" > < / a > < span class = "lineno" > 2606< / span >   < / div >
< div class = "line" > < a name = "l02607" > < / a > < span class = "lineno" > 2607< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l02609" > < / a > < span class = "lineno" > 2609< / span >   < span class = "keywordtype" > bool< / span > NotAlreadyInserted(< span class = "keyword" > const< / span > T& elt) {< / div >
< div class = "line" > < a name = "l02610" > < / a > < span class = "lineno" > 2610< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < num_elements_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (); ++i) {< / div >
< div class = "line" > < a name = "l02611" > < / a > < span class = "lineno" > 2611< / span >   < span class = "keywordflow" > if< / span > (elt == elements_[i]) {< / div >
< div class = "line" > < a name = "l02612" > < / a > < span class = "lineno" > 2612< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02613" > < / a > < span class = "lineno" > 2613< / span >   }< / div >
< div class = "line" > < a name = "l02614" > < / a > < span class = "lineno" > 2614< / span >   }< / div >
< div class = "line" > < a name = "l02615" > < / a > < span class = "lineno" > 2615< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02616" > < / a > < span class = "lineno" > 2616< / span >   }< / div >
< div class = "line" > < a name = "l02617" > < / a > < span class = "lineno" > 2617< / span >   < / div >
< div class = "line" > < a name = "l02618" > < / a > < span class = "lineno" > 2618< / span >   < span class = "keywordtype" > void< / span > SwapTo(T value_index, < span class = "keywordtype" > int< / span > next_position) {< / div >
< div class = "line" > < a name = "l02619" > < / a > < span class = "lineno" > 2619< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > current_position = position_[value_index];< / div >
< div class = "line" > < a name = "l02620" > < / a > < span class = "lineno" > 2620< / span >   < span class = "keywordflow" > if< / span > (current_position != next_position) {< / div >
< div class = "line" > < a name = "l02621" > < / a > < span class = "lineno" > 2621< / span >   < span class = "keyword" > const< / span > T next_value_index = elements_[next_position];< / div >
< div class = "line" > < a name = "l02622" > < / a > < span class = "lineno" > 2622< / span >   elements_[current_position] = next_value_index;< / div >
< div class = "line" > < a name = "l02623" > < / a > < span class = "lineno" > 2623< / span >   elements_[next_position] = value_index;< / div >
< div class = "line" > < a name = "l02624" > < / a > < span class = "lineno" > 2624< / span >   position_[value_index] = next_position;< / div >
< div class = "line" > < a name = "l02625" > < / a > < span class = "lineno" > 2625< / span >   position_[next_value_index] = current_position;< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02626" > < / a > < span class = "lineno" > 2626< / span >   }< / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02627" > < / a > < span class = "lineno" > 2627< / span >   }< / div >
< div class = "line" > < a name = "l02628" > < / a > < span class = "lineno" > 2628< / span >   < / div >
< div class = "line" > < a name = "l02630" > < / a > < span class = "lineno" > 2630< / span >   std::unique_ptr< T[]> elements_;< / div >
< div class = "line" > < a name = "l02632" > < / a > < span class = "lineno" > 2632< / span >   NumericalRev< int> num_elements_;< / div >
< div class = "line" > < a name = "l02634" > < / a > < span class = "lineno" > 2634< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > capacity_;< / div >
< div class = "line" > < a name = "l02636" > < / a > < span class = "lineno" > 2636< / span >   < span class = "keywordtype" > int< / span > * position_;< / div >
< div class = "line" > < a name = "l02638" > < / a > < span class = "lineno" > 2638< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > bool< / span > delete_position_;< / div >
< div class = "line" > < a name = "l02639" > < / a > < span class = "lineno" > 2639< / span >   };< / div >
< div class = "line" > < a name = "l02640" > < / a > < span class = "lineno" > 2640< / span >   < / div >
< div class = "line" > < a name = "l02642" > < / a > < span class = "lineno" > 2642< / span >   < / div >
< div class = "line" > < a name = "l02643" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html" > 2643< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html" > RevPartialSequence< / a > {< / div >
< div class = "line" > < a name = "l02644" > < / a > < span class = "lineno" > 2644< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l02645" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#ae94f333127d093281b44be431c78162c" > 2645< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#ae94f333127d093281b44be431c78162c" > RevPartialSequence< / a > (< span class = "keyword" > const< / span > std::vector< int> & items)< / div >
< div class = "line" > < a name = "l02646" > < / a > < span class = "lineno" > 2646< / span >   : elements_(items),< / div >
< div class = "line" > < a name = "l02647" > < / a > < span class = "lineno" > 2647< / span >   first_ranked_(0),< / div >
< div class = "line" > < a name = "l02648" > < / a > < span class = "lineno" > 2648< / span >   last_ranked_(items.size() - 1),< / div >
< div class = "line" > < a name = "l02649" > < / a > < span class = "lineno" > 2649< / span >   size_(items.size()),< / div >
< div class = "line" > < a name = "l02650" > < / a > < span class = "lineno" > 2650< / span >   position_(new int[size_]) {< / div >
< div class = "line" > < a name = "l02651" > < / a > < span class = "lineno" > 2651< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < size_; ++i) {< / div >
< div class = "line" > < a name = "l02652" > < / a > < span class = "lineno" > 2652< / span >   elements_[i] = items[i];< / div >
< div class = "line" > < a name = "l02653" > < / a > < span class = "lineno" > 2653< / span >   position_[i] = i;< / div >
< div class = "line" > < a name = "l02654" > < / a > < span class = "lineno" > 2654< / span >   }< / div >
< div class = "line" > < a name = "l02655" > < / a > < span class = "lineno" > 2655< / span >   }< / div >
< div class = "line" > < a name = "l02656" > < / a > < span class = "lineno" > 2656< / span >   < / div >
< div class = "line" > < a name = "l02657" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#a388bf17b12a3231df6f1c5c2ce2aba7d" > 2657< / a > < / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#a388bf17b12a3231df6f1c5c2ce2aba7d" > RevPartialSequence< / a > (< span class = "keywordtype" > int< / span > size)< / div >
< div class = "line" > < a name = "l02658" > < / a > < span class = "lineno" > 2658< / span >   : elements_(size),< / div >
< div class = "line" > < a name = "l02659" > < / a > < span class = "lineno" > 2659< / span >   first_ranked_(0),< / div >
< div class = "line" > < a name = "l02660" > < / a > < span class = "lineno" > 2660< / span >   last_ranked_(size - 1),< / div >
< div class = "line" > < a name = "l02661" > < / a > < span class = "lineno" > 2661< / span >   size_(size),< / div >
< div class = "line" > < a name = "l02662" > < / a > < span class = "lineno" > 2662< / span >   position_(new int[size_]) {< / div >
< div class = "line" > < a name = "l02663" > < / a > < span class = "lineno" > 2663< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < size_; ++i) {< / div >
< div class = "line" > < a name = "l02664" > < / a > < span class = "lineno" > 2664< / span >   elements_[i] = i;< / div >
< div class = "line" > < a name = "l02665" > < / a > < span class = "lineno" > 2665< / span >   position_[i] = i;< / div >
< div class = "line" > < a name = "l02666" > < / a > < span class = "lineno" > 2666< / span >   }< / div >
< div class = "line" > < a name = "l02667" > < / a > < span class = "lineno" > 2667< / span >   }< / div >
< div class = "line" > < a name = "l02668" > < / a > < span class = "lineno" > 2668< / span >   < / div >
< div class = "line" > < a name = "l02669" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#a952da5a13f656543b8fc2dd0ada0ca3f" > 2669< / a > < / span >   < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#a952da5a13f656543b8fc2dd0ada0ca3f" > ~RevPartialSequence< / a > () {}< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02670" > < / a > < span class = "lineno" > 2670< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02671" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#a4bb9c257807ee5c22729df7e1b008571" > 2671< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#a4bb9c257807ee5c22729df7e1b008571" > NumFirstRanked< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > first_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (); }< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02672" > < / a > < span class = "lineno" > 2672< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02673" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#a26a014b275560d5f40a7fed763efc5b3" > 2673< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#a26a014b275560d5f40a7fed763efc5b3" > NumLastRanked< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > size_ - 1 - last_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (); }< / div >
< div class = "line" > < a name = "l02674" > < / a > < span class = "lineno" > 2674< / span >   < / div >
< div class = "line" > < a name = "l02675" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#a24926108b770033792d015cb86aeffb3" > 2675< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#a24926108b770033792d015cb86aeffb3" > Size< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > size_; }< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02676" > < / a > < span class = "lineno" > 2676< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02677" > < / a > < span class = "lineno" > 2677< / span >   < span class = "preprocessor" > #if !defined(SWIG)< / span > < / div >
< div class = "line" > < a name = "l02678" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#ae105423091c231e0fd3ba3288c11d725" > 2678< / a > < / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > & < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#ae105423091c231e0fd3ba3288c11d725" > operator[]< / a > (< span class = "keywordtype" > int< / span > index)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l02679" > < / a > < span class = "lineno" > 2679< / span >   DCHECK_GE(index, 0);< / div >
< div class = "line" > < a name = "l02680" > < / a > < span class = "lineno" > 2680< / span >   DCHECK_LT(index, size_);< / div >
< div class = "line" > < a name = "l02681" > < / a > < span class = "lineno" > 2681< / span >   < span class = "keywordflow" > return< / span > elements_[index];< / div >
< div class = "line" > < a name = "l02682" > < / a > < span class = "lineno" > 2682< / span >   }< / div >
< div class = "line" > < a name = "l02683" > < / a > < span class = "lineno" > 2683< / span >   < span class = "preprocessor" > #endif< / span > < / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02684" > < / a > < span class = "lineno" > 2684< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02685" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#aae1ff1f02500de1b7cf8042c10a5a36d" > 2685< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#aae1ff1f02500de1b7cf8042c10a5a36d" > RankFirst< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keywordtype" > int< / span > elt) {< / div >
< div class = "line" > < a name = "l02686" > < / a > < span class = "lineno" > 2686< / span >   DCHECK_LE(first_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (), last_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ());< / div >
< div class = "line" > < a name = "l02687" > < / a > < span class = "lineno" > 2687< / span >   SwapTo(elt, first_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ());< / div >
< div class = "line" > < a name = "l02688" > < / a > < span class = "lineno" > 2688< / span >   first_ranked_.< a class = "code" href = "classoperations__research_1_1NumericalRev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b" > Incr< / a > (solver);< / div >
< div class = "line" > < a name = "l02689" > < / a > < span class = "lineno" > 2689< / span >   }< / div >
< div class = "line" > < a name = "l02690" > < / a > < span class = "lineno" > 2690< / span >   < / div >
< div class = "line" > < a name = "l02691" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#a7a0cad593e63d53f505bb7da17fcd1d4" > 2691< / a > < / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#a7a0cad593e63d53f505bb7da17fcd1d4" > RankLast< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keywordtype" > int< / span > elt) {< / div >
< div class = "line" > < a name = "l02692" > < / a > < span class = "lineno" > 2692< / span >   DCHECK_LE(first_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (), last_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ());< / div >
< div class = "line" > < a name = "l02693" > < / a > < span class = "lineno" > 2693< / span >   SwapTo(elt, last_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ());< / div >
< div class = "line" > < a name = "l02694" > < / a > < span class = "lineno" > 2694< / span >   last_ranked_.< a class = "code" href = "classoperations__research_1_1NumericalRev.html#a83c8a2812799fd87becd114374fb1d36" > Decr< / a > (solver);< / div >
< div class = "line" > < a name = "l02695" > < / a > < span class = "lineno" > 2695< / span >   }< / div >
< div class = "line" > < a name = "l02696" > < / a > < span class = "lineno" > 2696< / span >   < / div >
< div class = "line" > < a name = "l02697" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#a7515e88d1faa654d75c89b0abdc67133" > 2697< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#a7515e88d1faa654d75c89b0abdc67133" > IsRanked< / a > (< span class = "keywordtype" > int< / span > elt)< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l02698" > < / a > < span class = "lineno" > 2698< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > position = position_[elt];< / div >
< div class = "line" > < a name = "l02699" > < / a > < span class = "lineno" > 2699< / span >   < span class = "keywordflow" > return< / span > (position < first_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () ||< / div >
< div class = "line" > < a name = "l02700" > < / a > < span class = "lineno" > 2700< / span >   position > last_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ());< / div >
< div class = "line" > < a name = "l02701" > < / a > < span class = "lineno" > 2701< / span >   }< / div >
< div class = "line" > < a name = "l02702" > < / a > < span class = "lineno" > 2702< / span >   < / div >
< div class = "line" > < a name = "l02703" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1RevPartialSequence.html#a764be64f3029f8b8e23511061d8de355" > 2703< / a > < / span >   std::string < a class = "code" href = "classoperations__research_1_1RevPartialSequence.html#a764be64f3029f8b8e23511061d8de355" > DebugString< / a > ()< span class = "keyword" > const < / span > {< / div >
< div class = "line" > < a name = "l02704" > < / a > < span class = "lineno" > 2704< / span >   std::string result = < span class = "stringliteral" > " [" < / span > ;< / div >
< div class = "line" > < a name = "l02705" > < / a > < span class = "lineno" > 2705< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < first_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (); ++i) {< / div >
< div class = "line" > < a name = "l02706" > < / a > < span class = "lineno" > 2706< / span >   absl::StrAppend(& result, elements_[i]);< / div >
< div class = "line" > < a name = "l02707" > < / a > < span class = "lineno" > 2707< / span >   < span class = "keywordflow" > if< / span > (i != first_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () - 1) {< / div >
< div class = "line" > < a name = "l02708" > < / a > < span class = "lineno" > 2708< / span >   result.append(< span class = "stringliteral" > " -" < / span > );< / div >
< div class = "line" > < a name = "l02709" > < / a > < span class = "lineno" > 2709< / span >   }< / div >
< div class = "line" > < a name = "l02710" > < / a > < span class = "lineno" > 2710< / span >   }< / div >
< div class = "line" > < a name = "l02711" > < / a > < span class = "lineno" > 2711< / span >   result.append(< span class = "stringliteral" > " |" < / span > );< / div >
< div class = "line" > < a name = "l02712" > < / a > < span class = "lineno" > 2712< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = first_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (); i < = last_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > (); ++i) {< / div >
< div class = "line" > < a name = "l02713" > < / a > < span class = "lineno" > 2713< / span >   absl::StrAppend(& result, elements_[i]);< / div >
< div class = "line" > < a name = "l02714" > < / a > < span class = "lineno" > 2714< / span >   < span class = "keywordflow" > if< / span > (i != last_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > ()) {< / div >
< div class = "line" > < a name = "l02715" > < / a > < span class = "lineno" > 2715< / span >   result.append(< span class = "stringliteral" > " -" < / span > );< / div >
< div class = "line" > < a name = "l02716" > < / a > < span class = "lineno" > 2716< / span >   }< / div >
< div class = "line" > < a name = "l02717" > < / a > < span class = "lineno" > 2717< / span >   }< / div >
< div class = "line" > < a name = "l02718" > < / a > < span class = "lineno" > 2718< / span >   result.append(< span class = "stringliteral" > " |" < / span > );< / div >
< div class = "line" > < a name = "l02719" > < / a > < span class = "lineno" > 2719< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = last_ranked_.< a class = "code" href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > Value< / a > () + 1; i < size_; ++i) {< / div >
< div class = "line" > < a name = "l02720" > < / a > < span class = "lineno" > 2720< / span >   absl::StrAppend(& result, elements_[i]);< / div >
< div class = "line" > < a name = "l02721" > < / a > < span class = "lineno" > 2721< / span >   < span class = "keywordflow" > if< / span > (i != size_ - 1) {< / div >
< div class = "line" > < a name = "l02722" > < / a > < span class = "lineno" > 2722< / span >   result.append(< span class = "stringliteral" > " -" < / span > );< / div >
< div class = "line" > < a name = "l02723" > < / a > < span class = "lineno" > 2723< / span >   }< / div >
< div class = "line" > < a name = "l02724" > < / a > < span class = "lineno" > 2724< / span >   }< / div >
< div class = "line" > < a name = "l02725" > < / a > < span class = "lineno" > 2725< / span >   result.append(< span class = "stringliteral" > " ]" < / span > );< / div >
< div class = "line" > < a name = "l02726" > < / a > < span class = "lineno" > 2726< / span >   < span class = "keywordflow" > return< / span > result;< / div >
< div class = "line" > < a name = "l02727" > < / a > < span class = "lineno" > 2727< / span >   }< / div >
< div class = "line" > < a name = "l02728" > < / a > < span class = "lineno" > 2728< / span >   < / div >
< div class = "line" > < a name = "l02729" > < / a > < span class = "lineno" > 2729< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l02730" > < / a > < span class = "lineno" > 2730< / span >   < span class = "keywordtype" > void< / span > SwapTo(< span class = "keywordtype" > int< / span > elt, < span class = "keywordtype" > int< / span > next_position) {< / div >
< div class = "line" > < a name = "l02731" > < / a > < span class = "lineno" > 2731< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > current_position = position_[elt];< / div >
< div class = "line" > < a name = "l02732" > < / a > < span class = "lineno" > 2732< / span >   < span class = "keywordflow" > if< / span > (current_position != next_position) {< / div >
< div class = "line" > < a name = "l02733" > < / a > < span class = "lineno" > 2733< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > next_elt = elements_[next_position];< / div >
< div class = "line" > < a name = "l02734" > < / a > < span class = "lineno" > 2734< / span >   elements_[current_position] = next_elt;< / div >
< div class = "line" > < a name = "l02735" > < / a > < span class = "lineno" > 2735< / span >   elements_[next_position] = elt;< / div >
< div class = "line" > < a name = "l02736" > < / a > < span class = "lineno" > 2736< / span >   position_[elt] = next_position;< / div >
< div class = "line" > < a name = "l02737" > < / a > < span class = "lineno" > 2737< / span >   position_[next_elt] = current_position;< / div >
< div class = "line" > < a name = "l02738" > < / a > < span class = "lineno" > 2738< / span >   }< / div >
< div class = "line" > < a name = "l02739" > < / a > < span class = "lineno" > 2739< / span >   }< / div >
< div class = "line" > < a name = "l02740" > < / a > < span class = "lineno" > 2740< / span >   < / div >
< div class = "line" > < a name = "l02742" > < / a > < span class = "lineno" > 2742< / span >   std::vector< int> elements_;< / div >
< div class = "line" > < a name = "l02744" > < / a > < span class = "lineno" > 2744< / span >   NumericalRev< int> first_ranked_;< / div >
< div class = "line" > < a name = "l02746" > < / a > < span class = "lineno" > 2746< / span >   NumericalRev< int> last_ranked_;< / div >
< div class = "line" > < a name = "l02748" > < / a > < span class = "lineno" > 2748< / span >   < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > size_;< / div >
< div class = "line" > < a name = "l02750" > < / a > < span class = "lineno" > 2750< / span >   std::unique_ptr< int[]> position_;< / div >
< div class = "line" > < a name = "l02751" > < / a > < span class = "lineno" > 2751< / span >   };< / div >
< div class = "line" > < a name = "l02752" > < / a > < span class = "lineno" > 2752< / span >   < / div >
< div class = "line" > < a name = "l02757" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1UnsortedNullableRevBitset.html" > 2757< / a > < / span >   < span class = "keyword" > class < / span > < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html" > UnsortedNullableRevBitset< / a > {< / div >
< div class = "line" > < a name = "l02758" > < / a > < span class = "lineno" > 2758< / span >   < span class = "keyword" > public< / span > :< / div >
< div class = "line" > < a name = "l02760" > < / a > < span class = "lineno" > 2760< / span >   < span class = "keyword" > explicit< / span > < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ae3e0d47f72e6e07c2332b872b372cd4c" > UnsortedNullableRevBitset< / a > (< span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ab623545d529769c2f4d67651b0de26cb" > bit_size< / a > );< / div >
< div class = "line" > < a name = "l02761" > < / a > < span class = "lineno" > 2761< / span >   < / div >
< div class = "line" > < a name = "l02762" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a76ba13aa9ecbcd8755720533712f4f70" > 2762< / a > < / span >   < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a76ba13aa9ecbcd8755720533712f4f70" > ~UnsortedNullableRevBitset< / a > () {}< / div >
< div class = "line" > < a name = "l02763" > < / a > < span class = "lineno" > 2763< / span >   < / div >
< div class = "line" > < a name = "l02766" > < / a > < span class = "lineno" > 2766< / span >   < span class = "keywordtype" > void< / span > < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#adb9e7eb51aef8d63ea81e193d92c034e" > Init< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keyword" > const< / span > std::vector< uint64> & mask);< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02767" > < / a > < span class = "lineno" > 2767< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02770" > < / a > < span class = "lineno" > 2770< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a3e194990f98b0ed598211613c8e03639" > RevSubtract< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keyword" > const< / span > std::vector< uint64> & mask);< / div >
< div class = "line" > < a name = "l02771" > < / a > < span class = "lineno" > 2771< / span >   < / div >
< div class = "line" > < a name = "l02774" > < / a > < span class = "lineno" > 2774< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a895c2532e70163d81ef29c8198c1c9c3" > RevAnd< / a > (< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver, < span class = "keyword" > const< / span > std::vector< uint64> & mask);< / div >
< div class = "line" > < a name = "l02775" > < / a > < span class = "lineno" > 2775< / span >   < / div >
< div class = "line" > < a name = "l02778" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ae6bce1d393b8e189c1d550ed4f02b07f" > 2778< / a > < / span >   < span class = "keywordtype" > int< / span > < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ae6bce1d393b8e189c1d550ed4f02b07f" > ActiveWordSize< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > active_words_.< a class = "code" href = "classoperations__research_1_1RevIntSet.html#a24926108b770033792d015cb86aeffb3" > Size< / a > (); }< / div >
< div class = "line" > < a name = "l02779" > < / a > < span class = "lineno" > 2779< / span >   < / div >
< div class = "line" > < a name = "l02781" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#abcfbdba215d3b15fbb4b682969943a6e" > 2781< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#abcfbdba215d3b15fbb4b682969943a6e" > Empty< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > active_words_.< a class = "code" href = "classoperations__research_1_1RevIntSet.html#a24926108b770033792d015cb86aeffb3" > Size< / a > () == 0; }< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02782" > < / a > < span class = "lineno" > 2782< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02790" > < / a > < span class = "lineno" > 2790< / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ac3e8d8c29f542b338782d745cb706da8" > Intersects< / a > (< span class = "keyword" > const< / span > std::vector< uint64> & mask, < span class = "keywordtype" > int< / span > * support_index);< / div >
< div class = "line" > < a name = "l02791" > < / a > < span class = "lineno" > 2791< / span >   < / div >
< div class = "line" > < a name = "l02793" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ab623545d529769c2f4d67651b0de26cb" > 2793< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ab623545d529769c2f4d67651b0de26cb" > bit_size< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > bit_size_; }< / div >
< div class = "line" > < a name = "l02795" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a746e04d5a132730494b2bc1832326058" > 2795< / a > < / span >   int64 < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a746e04d5a132730494b2bc1832326058" > word_size< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > word_size_; }< / div >
< div class = "line" > < a name = "l02797" > < / a > < span class = "lineno" > < a class = "line" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ac1cb8e65b730ce99b1d99d5a37f578bd" > 2797< / a > < / span >   < span class = "keyword" > const< / span > < a class = "code" href = "classoperations__research_1_1RevIntSet.html" > RevIntSet< int> < / a > & < a class = "code" href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ac1cb8e65b730ce99b1d99d5a37f578bd" > active_words< / a > ()< span class = "keyword" > const < / span > { < span class = "keywordflow" > return< / span > active_words_; }< / div >
< div class = "line" > < a name = "l02798" > < / a > < span class = "lineno" > 2798< / span >   < / div >
< div class = "line" > < a name = "l02799" > < / a > < span class = "lineno" > 2799< / span >   < span class = "keyword" > private< / span > :< / div >
< div class = "line" > < a name = "l02800" > < / a > < span class = "lineno" > 2800< / span >   < span class = "keywordtype" > void< / span > CleanUpActives(< a class = "code" href = "classoperations__research_1_1Solver.html" > Solver< / a > * < span class = "keyword" > const< / span > solver);< / div >
< div class = "line" > < a name = "l02801" > < / a > < span class = "lineno" > 2801< / span >   < / div >
< div class = "line" > < a name = "l02802" > < / a > < span class = "lineno" > 2802< / span >   < span class = "keyword" > const< / span > int64 bit_size_;< / div >
< div class = "line" > < a name = "l02803" > < / a > < span class = "lineno" > 2803< / span >   < span class = "keyword" > const< / span > int64 word_size_;< / div >
< div class = "line" > < a name = "l02804" > < / a > < span class = "lineno" > 2804< / span >   < a class = "code" href = "classoperations__research_1_1RevArray.html" > RevArray< uint64> < / a > bits_;< / div >
< div class = "line" > < a name = "l02805" > < / a > < span class = "lineno" > 2805< / span >   < a class = "code" href = "classoperations__research_1_1RevIntSet.html" > RevIntSet< int> < / a > active_words_;< / div >
< div class = "line" > < a name = "l02806" > < / a > < span class = "lineno" > 2806< / span >   std::vector< int> to_remove_;< / div >
< div class = "line" > < a name = "l02807" > < / a > < span class = "lineno" > 2807< / span >   };< / div >
< div class = "line" > < a name = "l02808" > < / a > < span class = "lineno" > 2808< / span >   < / div >
< div class = "line" > < a name = "l02809" > < / a > < span class = "lineno" > 2809< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02810" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a12527c82ffc8b31c5d8dc836c366d624" > 2810< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a12527c82ffc8b31c5d8dc836c366d624" > IsArrayConstant< / a > (< span class = "keyword" > const< / span > std::vector< T> & values, < span class = "keyword" > const< / span > T& value) {< / div >
< div class = "line" > < a name = "l02811" > < / a > < span class = "lineno" > 2811< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < values.size(); ++i) {< / div >
< div class = "line" > < a name = "l02812" > < / a > < span class = "lineno" > 2812< / span >   < span class = "keywordflow" > if< / span > (values[i] != value) {< / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02813" > < / a > < span class = "lineno" > 2813< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02814" > < / a > < span class = "lineno" > 2814< / span >   }< / div >
< div class = "line" > < a name = "l02815" > < / a > < span class = "lineno" > 2815< / span >   }< / div >
< div class = "line" > < a name = "l02816" > < / a > < span class = "lineno" > 2816< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02817" > < / a > < span class = "lineno" > 2817< / span >   }< / div >
< div class = "line" > < a name = "l02818" > < / a > < span class = "lineno" > 2818< / span >   < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02819" > < / a > < span class = "lineno" > 2819< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02820" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a3f4525e71a6b05d97c868f0832750a60" > 2820< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a3f4525e71a6b05d97c868f0832750a60" > IsArrayBoolean< / a > (< span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02821" > < / a > < span class = "lineno" > 2821< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < values.size(); ++i) {< / div >
< div class = "line" > < a name = "l02822" > < / a > < span class = "lineno" > 2822< / span >   < span class = "keywordflow" > if< / span > (values[i] != 0 & & values[i] != 1) {< / div >
< div class = "line" > < a name = "l02823" > < / a > < span class = "lineno" > 2823< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02824" > < / a > < span class = "lineno" > 2824< / span >   }< / div >
< div class = "line" > < a name = "l02825" > < / a > < span class = "lineno" > 2825< / span >   }< / div >
< div class = "line" > < a name = "l02826" > < / a > < span class = "lineno" > 2826< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02827" > < / a > < span class = "lineno" > 2827< / span >   }< / div >
< div class = "line" > < a name = "l02828" > < / a > < span class = "lineno" > 2828< / span >   < / div >
< div class = "line" > < a name = "l02829" > < / a > < span class = "lineno" > 2829< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02830" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#ae3e4f71c4c79e0b4ec00c4e715a7c298" > 2830< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#ae3e4f71c4c79e0b4ec00c4e715a7c298" > AreAllOnes< / a > (< span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02831" > < / a > < span class = "lineno" > 2831< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a12527c82ffc8b31c5d8dc836c366d624" > IsArrayConstant< / a > (values, T(1));< / div >
< div class = "line" > < a name = "l02832" > < / a > < span class = "lineno" > 2832< / span >   }< / div >
< div class = "line" > < a name = "l02833" > < / a > < span class = "lineno" > 2833< / span >   < / div >
2019-11-14 13:52:51 -08:00
< div class = "line" > < a name = "l02834" > < / a > < span class = "lineno" > 2834< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
2020-01-27 13:48:26 +01:00
< div class = "line" > < a name = "l02835" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#ab0ae787392a8dd8a499eb55ac0916aa4" > 2835< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#ab0ae787392a8dd8a499eb55ac0916aa4" > AreAllNull< / a > (< span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02836" > < / a > < span class = "lineno" > 2836< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a12527c82ffc8b31c5d8dc836c366d624" > IsArrayConstant< / a > (values, T(0));< / div >
< div class = "line" > < a name = "l02837" > < / a > < span class = "lineno" > 2837< / span >   }< / div >
< div class = "line" > < a name = "l02838" > < / a > < span class = "lineno" > 2838< / span >   < / div >
< div class = "line" > < a name = "l02839" > < / a > < span class = "lineno" > 2839< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02840" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a3aea406979285a28c91fd1ee8115af74" > 2840< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a3aea406979285a28c91fd1ee8115af74" > AreAllGreaterOrEqual< / a > (< span class = "keyword" > const< / span > std::vector< T> & values, < span class = "keyword" > const< / span > T& value) {< / div >
< div class = "line" > < a name = "l02841" > < / a > < span class = "lineno" > 2841< / span >   < span class = "keywordflow" > for< / span > (< span class = "keyword" > const< / span > T& current_value : values) {< / div >
< div class = "line" > < a name = "l02842" > < / a > < span class = "lineno" > 2842< / span >   < span class = "keywordflow" > if< / span > (current_value < value) {< / div >
< div class = "line" > < a name = "l02843" > < / a > < span class = "lineno" > 2843< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02844" > < / a > < span class = "lineno" > 2844< / span >   }< / div >
< div class = "line" > < a name = "l02845" > < / a > < span class = "lineno" > 2845< / span >   }< / div >
< div class = "line" > < a name = "l02846" > < / a > < span class = "lineno" > 2846< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02847" > < / a > < span class = "lineno" > 2847< / span >   }< / div >
< div class = "line" > < a name = "l02848" > < / a > < span class = "lineno" > 2848< / span >   < / div >
< div class = "line" > < a name = "l02849" > < / a > < span class = "lineno" > 2849< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02850" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a15f08cfbb35e2b8b1eb76f79caea924a" > 2850< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a15f08cfbb35e2b8b1eb76f79caea924a" > AreAllLessOrEqual< / a > (< span class = "keyword" > const< / span > std::vector< T> & values, < span class = "keyword" > const< / span > T& value) {< / div >
< div class = "line" > < a name = "l02851" > < / a > < span class = "lineno" > 2851< / span >   < span class = "keywordflow" > for< / span > (< span class = "keyword" > const< / span > T& current_value : values) {< / div >
< div class = "line" > < a name = "l02852" > < / a > < span class = "lineno" > 2852< / span >   < span class = "keywordflow" > if< / span > (current_value > value) {< / div >
< div class = "line" > < a name = "l02853" > < / a > < span class = "lineno" > 2853< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02854" > < / a > < span class = "lineno" > 2854< / span >   }< / div >
< div class = "line" > < a name = "l02855" > < / a > < span class = "lineno" > 2855< / span >   }< / div >
< div class = "line" > < a name = "l02856" > < / a > < span class = "lineno" > 2856< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02857" > < / a > < span class = "lineno" > 2857< / span >   }< / div >
< div class = "line" > < a name = "l02858" > < / a > < span class = "lineno" > 2858< / span >   < / div >
< div class = "line" > < a name = "l02859" > < / a > < span class = "lineno" > 2859< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02860" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#ab62b402f767cda48eb67ef8b50397f8f" > 2860< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#ab62b402f767cda48eb67ef8b50397f8f" > AreAllPositive< / a > (< span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02861" > < / a > < span class = "lineno" > 2861< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a3aea406979285a28c91fd1ee8115af74" > AreAllGreaterOrEqual< / a > (values, T(0));< / div >
< div class = "line" > < a name = "l02862" > < / a > < span class = "lineno" > 2862< / span >   }< / div >
< div class = "line" > < a name = "l02863" > < / a > < span class = "lineno" > 2863< / span >   < / div >
< div class = "line" > < a name = "l02864" > < / a > < span class = "lineno" > 2864< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02865" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a38972723946490ea4df4e34298d8805d" > 2865< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a38972723946490ea4df4e34298d8805d" > AreAllNegative< / a > (< span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02866" > < / a > < span class = "lineno" > 2866< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a15f08cfbb35e2b8b1eb76f79caea924a" > AreAllLessOrEqual< / a > (values, T(0));< / div >
< div class = "line" > < a name = "l02867" > < / a > < span class = "lineno" > 2867< / span >   }< / div >
< div class = "line" > < a name = "l02868" > < / a > < span class = "lineno" > 2868< / span >   < / div >
< div class = "line" > < a name = "l02869" > < / a > < span class = "lineno" > 2869< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02870" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a3de09f9134b976e5ba64751ac0f4440b" > 2870< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a3de09f9134b976e5ba64751ac0f4440b" > AreAllStrictlyPositive< / a > (< span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02871" > < / a > < span class = "lineno" > 2871< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a3aea406979285a28c91fd1ee8115af74" > AreAllGreaterOrEqual< / a > (values, T(1));< / div >
< div class = "line" > < a name = "l02872" > < / a > < span class = "lineno" > 2872< / span >   }< / div >
< div class = "line" > < a name = "l02873" > < / a > < span class = "lineno" > 2873< / span >   < / div >
< div class = "line" > < a name = "l02874" > < / a > < span class = "lineno" > 2874< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02875" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a8351829c324863ddda52e201df4f9f84" > 2875< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a8351829c324863ddda52e201df4f9f84" > AreAllStrictlyNegative< / a > (< span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02876" > < / a > < span class = "lineno" > 2876< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#a15f08cfbb35e2b8b1eb76f79caea924a" > AreAllLessOrEqual< / a > (values, T(-1));< / div >
< div class = "line" > < a name = "l02877" > < / a > < span class = "lineno" > 2877< / span >   }< / div >
< div class = "line" > < a name = "l02878" > < / a > < span class = "lineno" > 2878< / span >   < / div >
< div class = "line" > < a name = "l02879" > < / a > < span class = "lineno" > 2879< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02880" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#aafac7375c23337f25821aa6f86ca627c" > 2880< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#aafac7375c23337f25821aa6f86ca627c" > IsIncreasingContiguous< / a > (< span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02881" > < / a > < span class = "lineno" > 2881< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < values.size() - 1; ++i) {< / div >
< div class = "line" > < a name = "l02882" > < / a > < span class = "lineno" > 2882< / span >   < span class = "keywordflow" > if< / span > (values[i + 1] != values[i] + 1) {< / div >
< div class = "line" > < a name = "l02883" > < / a > < span class = "lineno" > 2883< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02884" > < / a > < span class = "lineno" > 2884< / span >   }< / div >
< div class = "line" > < a name = "l02885" > < / a > < span class = "lineno" > 2885< / span >   }< / div >
< div class = "line" > < a name = "l02886" > < / a > < span class = "lineno" > 2886< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02887" > < / a > < span class = "lineno" > 2887< / span >   }< / div >
< div class = "line" > < a name = "l02888" > < / a > < span class = "lineno" > 2888< / span >   < / div >
< div class = "line" > < a name = "l02889" > < / a > < span class = "lineno" > 2889< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02890" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a3d434774c07815a25ffaa7adb343c19e" > 2890< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a3d434774c07815a25ffaa7adb343c19e" > IsIncreasing< / a > (< span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02891" > < / a > < span class = "lineno" > 2891< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < values.size() - 1; ++i) {< / div >
< div class = "line" > < a name = "l02892" > < / a > < span class = "lineno" > 2892< / span >   < span class = "keywordflow" > if< / span > (values[i + 1] < values[i]) {< / div >
< div class = "line" > < a name = "l02893" > < / a > < span class = "lineno" > 2893< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02894" > < / a > < span class = "lineno" > 2894< / span >   }< / div >
< div class = "line" > < a name = "l02895" > < / a > < span class = "lineno" > 2895< / span >   }< / div >
< div class = "line" > < a name = "l02896" > < / a > < span class = "lineno" > 2896< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02897" > < / a > < span class = "lineno" > 2897< / span >   }< / div >
< div class = "line" > < a name = "l02898" > < / a > < span class = "lineno" > 2898< / span >   < / div >
< div class = "line" > < a name = "l02899" > < / a > < span class = "lineno" > 2899< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02900" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#adf2aea6c68fe502389c9264b971b2f85" > 2900< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#adf2aea6c68fe502389c9264b971b2f85" > IsArrayInRange< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars, T range_min,< / div >
< div class = "line" > < a name = "l02901" > < / a > < span class = "lineno" > 2901< / span >   T range_max) {< / div >
< div class = "line" > < a name = "l02902" > < / a > < span class = "lineno" > 2902< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < vars.size(); ++i) {< / div >
< div class = "line" > < a name = "l02903" > < / a > < span class = "lineno" > 2903< / span >   < span class = "keywordflow" > if< / span > (vars[i]-> Min() < range_min || vars[i]-> Max() > range_max) {< / div >
< div class = "line" > < a name = "l02904" > < / a > < span class = "lineno" > 2904< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02905" > < / a > < span class = "lineno" > 2905< / span >   }< / div >
< div class = "line" > < a name = "l02906" > < / a > < span class = "lineno" > 2906< / span >   }< / div >
< div class = "line" > < a name = "l02907" > < / a > < span class = "lineno" > 2907< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02908" > < / a > < span class = "lineno" > 2908< / span >   }< / div >
< div class = "line" > < a name = "l02909" > < / a > < span class = "lineno" > 2909< / span >   < / div >
< div class = "line" > < a name = "l02910" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#ae4c7a8bfc6877606e512d3279549f44d" > 2910< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#ae4c7a8bfc6877606e512d3279549f44d" > AreAllBound< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars) {< / div >
< div class = "line" > < a name = "l02911" > < / a > < span class = "lineno" > 2911< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < vars.size(); ++i) {< / div >
< div class = "line" > < a name = "l02912" > < / a > < span class = "lineno" > 2912< / span >   < span class = "keywordflow" > if< / span > (!vars[i]-> Bound()) {< / div >
< div class = "line" > < a name = "l02913" > < / a > < span class = "lineno" > 2913< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02914" > < / a > < span class = "lineno" > 2914< / span >   }< / div >
< div class = "line" > < a name = "l02915" > < / a > < span class = "lineno" > 2915< / span >   }< / div >
< div class = "line" > < a name = "l02916" > < / a > < span class = "lineno" > 2916< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02917" > < / a > < span class = "lineno" > 2917< / span >   }< / div >
< div class = "line" > < a name = "l02918" > < / a > < span class = "lineno" > 2918< / span >   < / div >
< div class = "line" > < a name = "l02919" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a7abde7313cef64d25202a18f07481fc3" > 2919< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a7abde7313cef64d25202a18f07481fc3" > AreAllBooleans< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars) {< / div >
< div class = "line" > < a name = "l02920" > < / a > < span class = "lineno" > 2920< / span >   < span class = "keywordflow" > return< / span > < a class = "code" href = "namespaceoperations__research.html#adf2aea6c68fe502389c9264b971b2f85" > IsArrayInRange< / a > (vars, 0, 1);< / div >
< div class = "line" > < a name = "l02921" > < / a > < span class = "lineno" > 2921< / span >   }< / div >
< div class = "line" > < a name = "l02922" > < / a > < span class = "lineno" > 2922< / span >   < / div >
< div class = "line" > < a name = "l02925" > < / a > < span class = "lineno" > 2925< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > T> < / div >
< div class = "line" > < a name = "l02926" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a54470bffc3ea32cc37d0222e5dbb62a6" > 2926< / a > < / span >   < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a54470bffc3ea32cc37d0222e5dbb62a6" > AreAllBoundOrNull< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars,< / div >
< div class = "line" > < a name = "l02927" > < / a > < span class = "lineno" > 2927< / span >   < span class = "keyword" > const< / span > std::vector< T> & values) {< / div >
< div class = "line" > < a name = "l02928" > < / a > < span class = "lineno" > 2928< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < vars.size(); ++i) {< / div >
< div class = "line" > < a name = "l02929" > < / a > < span class = "lineno" > 2929< / span >   < span class = "keywordflow" > if< / span > (values[i] != 0 & & !vars[i]-> Bound()) {< / div >
< div class = "line" > < a name = "l02930" > < / a > < span class = "lineno" > 2930< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02931" > < / a > < span class = "lineno" > 2931< / span >   }< / div >
< div class = "line" > < a name = "l02932" > < / a > < span class = "lineno" > 2932< / span >   }< / div >
< div class = "line" > < a name = "l02933" > < / a > < span class = "lineno" > 2933< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02934" > < / a > < span class = "lineno" > 2934< / span >   }< / div >
< div class = "line" > < a name = "l02935" > < / a > < span class = "lineno" > 2935< / span >   < / div >
< div class = "line" > < a name = "l02937" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a7028ce8b481be8cb6fca7a6925d41aa7" > 2937< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > bool< / span > < a class = "code" href = "namespaceoperations__research.html#a7028ce8b481be8cb6fca7a6925d41aa7" > AreAllBoundTo< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars, int64 value) {< / div >
< div class = "line" > < a name = "l02938" > < / a > < span class = "lineno" > 2938< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < vars.size(); ++i) {< / div >
< div class = "line" > < a name = "l02939" > < / a > < span class = "lineno" > 2939< / span >   < span class = "keywordflow" > if< / span > (!vars[i]-> Bound() || vars[i]-> Min() != value) {< / div >
< div class = "line" > < a name = "l02940" > < / a > < span class = "lineno" > 2940< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > false< / span > ;< / div >
< div class = "line" > < a name = "l02941" > < / a > < span class = "lineno" > 2941< / span >   }< / div >
< div class = "line" > < a name = "l02942" > < / a > < span class = "lineno" > 2942< / span >   }< / div >
< div class = "line" > < a name = "l02943" > < / a > < span class = "lineno" > 2943< / span >   < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;< / div >
< div class = "line" > < a name = "l02944" > < / a > < span class = "lineno" > 2944< / span >   }< / div >
< div class = "line" > < a name = "l02945" > < / a > < span class = "lineno" > 2945< / span >   < / div >
< div class = "line" > < a name = "l02946" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#abc42d1bcfe023d3ac6f59471b75d853c" > 2946< / a > < / span >   < span class = "keyword" > inline< / span > int64 < a class = "code" href = "namespaceoperations__research.html#abc42d1bcfe023d3ac6f59471b75d853c" > MaxVarArray< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars) {< / div >
< div class = "line" > < a name = "l02947" > < / a > < span class = "lineno" > 2947< / span >   DCHECK(!vars.empty());< / div >
< div class = "line" > < a name = "l02948" > < / a > < span class = "lineno" > 2948< / span >   int64 result = kint64min;< / div >
< div class = "line" > < a name = "l02949" > < / a > < span class = "lineno" > 2949< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < vars.size(); ++i) {< / div >
< div class = "line" > < a name = "l02951" > < / a > < span class = "lineno" > 2951< / span >   result = std::max< int64> (result, vars[i]-> Max());< / div >
< div class = "line" > < a name = "l02952" > < / a > < span class = "lineno" > 2952< / span >   }< / div >
< div class = "line" > < a name = "l02953" > < / a > < span class = "lineno" > 2953< / span >   < span class = "keywordflow" > return< / span > result;< / div >
< div class = "line" > < a name = "l02954" > < / a > < span class = "lineno" > 2954< / span >   }< / div >
< div class = "line" > < a name = "l02955" > < / a > < span class = "lineno" > 2955< / span >   < / div >
< div class = "line" > < a name = "l02956" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a5c1932027ef8bc1689d725a1c597867b" > 2956< / a > < / span >   < span class = "keyword" > inline< / span > int64 < a class = "code" href = "namespaceoperations__research.html#a5c1932027ef8bc1689d725a1c597867b" > MinVarArray< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars) {< / div >
< div class = "line" > < a name = "l02957" > < / a > < span class = "lineno" > 2957< / span >   DCHECK(!vars.empty());< / div >
< div class = "line" > < a name = "l02958" > < / a > < span class = "lineno" > 2958< / span >   int64 result = kint64max;< / div >
< div class = "line" > < a name = "l02959" > < / a > < span class = "lineno" > 2959< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < vars.size(); ++i) {< / div >
< div class = "line" > < a name = "l02961" > < / a > < span class = "lineno" > 2961< / span >   result = std::min< int64> (result, vars[i]-> Min());< / div >
< div class = "line" > < a name = "l02962" > < / a > < span class = "lineno" > 2962< / span >   }< / div >
< div class = "line" > < a name = "l02963" > < / a > < span class = "lineno" > 2963< / span >   < span class = "keywordflow" > return< / span > result;< / div >
< div class = "line" > < a name = "l02964" > < / a > < span class = "lineno" > 2964< / span >   }< / div >
< div class = "line" > < a name = "l02965" > < / a > < span class = "lineno" > 2965< / span >   < / div >
< div class = "line" > < a name = "l02966" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a6662a100d8715747870beb9721bb304b" > 2966< / a > < / span >   < span class = "keyword" > inline< / span > < span class = "keywordtype" > void< / span > < a class = "code" href = "namespaceoperations__research.html#a6662a100d8715747870beb9721bb304b" > FillValues< / a > (< span class = "keyword" > const< / span > std::vector< IntVar*> & vars,< / div >
< div class = "line" > < a name = "l02967" > < / a > < span class = "lineno" > 2967< / span >   std::vector< int64> * < span class = "keyword" > const< / span > values) {< / div >
< div class = "line" > < a name = "l02968" > < / a > < span class = "lineno" > 2968< / span >   values-> clear();< / div >
< div class = "line" > < a name = "l02969" > < / a > < span class = "lineno" > 2969< / span >   values-> resize(vars.size());< / div >
< div class = "line" > < a name = "l02970" > < / a > < span class = "lineno" > 2970< / span >   < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < vars.size(); ++i) {< / div >
< div class = "line" > < a name = "l02971" > < / a > < span class = "lineno" > 2971< / span >   (*values)[i] = vars[i]-> Value();< / div >
< div class = "line" > < a name = "l02972" > < / a > < span class = "lineno" > 2972< / span >   }< / div >
< div class = "line" > < a name = "l02973" > < / a > < span class = "lineno" > 2973< / span >   }< / div >
< div class = "line" > < a name = "l02974" > < / a > < span class = "lineno" > 2974< / span >   < / div >
< div class = "line" > < a name = "l02975" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a60dabfa452b4264887ef76c75edf3765" > 2975< / a > < / span >   < span class = "keyword" > inline< / span > int64 < a class = "code" href = "namespaceoperations__research.html#a60dabfa452b4264887ef76c75edf3765" > PosIntDivUp< / a > (int64 e, int64 v) {< / div >
< div class = "line" > < a name = "l02976" > < / a > < span class = "lineno" > 2976< / span >   DCHECK_GT(v, 0);< / div >
< div class = "line" > < a name = "l02977" > < / a > < span class = "lineno" > 2977< / span >   < span class = "keywordflow" > if< / span > (e > = 0) {< / div >
< div class = "line" > < a name = "l02978" > < / a > < span class = "lineno" > 2978< / span >   < span class = "keywordflow" > return< / span > e % v == 0 ? e / v : e / v + 1;< / div >
< div class = "line" > < a name = "l02979" > < / a > < span class = "lineno" > 2979< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l02980" > < / a > < span class = "lineno" > 2980< / span >   < span class = "keywordflow" > return< / span > e / v;< / div >
< div class = "line" > < a name = "l02981" > < / a > < span class = "lineno" > 2981< / span >   }< / div >
< div class = "line" > < a name = "l02982" > < / a > < span class = "lineno" > 2982< / span >   }< / div >
< div class = "line" > < a name = "l02983" > < / a > < span class = "lineno" > 2983< / span >   < / div >
< div class = "line" > < a name = "l02984" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research.html#a942ba2898a44303790c91e761b8f4630" > 2984< / a > < / span >   < span class = "keyword" > inline< / span > int64 < a class = "code" href = "namespaceoperations__research.html#a942ba2898a44303790c91e761b8f4630" > PosIntDivDown< / a > (int64 e, int64 v) {< / div >
< div class = "line" > < a name = "l02985" > < / a > < span class = "lineno" > 2985< / span >   DCHECK_GT(v, 0);< / div >
< div class = "line" > < a name = "l02986" > < / a > < span class = "lineno" > 2986< / span >   < span class = "keywordflow" > if< / span > (e > = 0) {< / div >
< div class = "line" > < a name = "l02987" > < / a > < span class = "lineno" > 2987< / span >   < span class = "keywordflow" > return< / span > e / v;< / div >
< div class = "line" > < a name = "l02988" > < / a > < span class = "lineno" > 2988< / span >   } < span class = "keywordflow" > else< / span > {< / div >
< div class = "line" > < a name = "l02989" > < / a > < span class = "lineno" > 2989< / span >   < span class = "keywordflow" > return< / span > e % v == 0 ? e / v : e / v - 1;< / div >
< div class = "line" > < a name = "l02990" > < / a > < span class = "lineno" > 2990< / span >   }< / div >
< div class = "line" > < a name = "l02991" > < / a > < span class = "lineno" > 2991< / span >   }< / div >
< div class = "line" > < a name = "l02992" > < / a > < span class = "lineno" > 2992< / span >   < / div >
< div class = "line" > < a name = "l02993" > < / a > < span class = "lineno" > 2993< / span >   std::vector< int64> < a class = "code" href = "namespaceoperations__research.html#aad4e1b406f0e56c83283747b038df88a" > ToInt64Vector< / a > (< span class = "keyword" > const< / span > std::vector< int> & input);< / div >
< div class = "line" > < a name = "l02994" > < / a > < span class = "lineno" > 2994< / span >   } < span class = "comment" > // namespace operations_research< / span > < / div >
< div class = "line" > < a name = "l02995" > < / a > < span class = "lineno" > 2995< / span >   < / div >
< div class = "line" > < a name = "l02996" > < / a > < span class = "lineno" > 2996< / span >   < span class = "preprocessor" > #endif // OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVERI_H_< / span > < / div >
2019-06-13 15:51:12 +02:00
< / div > <!-- fragment --> < / div > <!-- contents -->
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_ac96955028ded0054b93b3a62603673fb" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#ac96955028ded0054b93b3a62603673fb" > operations_research::ModelParser::BeginVisitModel< / a > < / div > < div class = "ttdeci" > void BeginVisitModel(const std::string & solver_name) override< / div > < div class = "ttdoc" > Header/footers.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevSwitch_html_aba56f30d7550dc96d418c689e3ea41f0" > < div class = "ttname" > < a href = "classoperations__research_1_1RevSwitch.html#aba56f30d7550dc96d418c689e3ea41f0" > operations_research::RevSwitch::Switch< / a > < / div > < div class = "ttdeci" > void Switch(Solver *const solver)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00402" > constraint_solveri.h:402< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a8f74f53b5802db835de7f925ffd7b105" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a8f74f53b5802db835de7f925ffd7b105" > operations_research::VarLocalSearchOperator::changes_< / a > < / div > < div class = "ttdeci" > SparseBitset changes_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00944" > constraint_solveri.h:944< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ad548502b5db15a8a1a42c778091ce5b5" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ad548502b5db15a8a1a42c778091ce5b5" > operations_research::ModelCache::FindVarConstantConstraint< / a > < / div > < div class = "ttdeci" > virtual Constraint * FindVarConstantConstraint(IntVar *const var, int64 value, VarConstantConstraintType type) const =0< / div > < div class = "ttdoc" > Var Constant Constraints.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_ab62b402f767cda48eb67ef8b50397f8f" > < div class = "ttname" > < a href = "namespaceoperations__research.html#ab62b402f767cda48eb67ef8b50397f8f" > operations_research::AreAllPositive< / a > < / div > < div class = "ttdeci" > bool AreAllPositive(const std::vector< T > & values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02860" > constraint_solveri.h:2860< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_accb0b4e01f39be7d7d482c4a3797476c" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476c" > operations_research::ModelCache::VarArrayConstantExpressionType< / a > < / div > < div class = "ttdeci" > VarArrayConstantExpressionType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02147" > constraint_solveri.h:2147< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a5c1932027ef8bc1689d725a1c597867b" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a5c1932027ef8bc1689d725a1c597867b" > operations_research::MinVarArray< / a > < / div > < div class = "ttdeci" > int64 MinVarArray(const std::vector< IntVar * > & vars)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02956" > constraint_solveri.h:2956< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_aa9b39e86814fa1bca1763f65ec02f5cb" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#aa9b39e86814fa1bca1763f65ec02f5cb" > operations_research::BooleanVar::IsEqual< / a > < / div > < div class = "ttdeci" > IntVar * IsEqual(int64 constant) override< / div > < div class = "ttdoc" > IsEqual.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_a61b1becfb2c5c31b8a09a277d74e4aa4" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#a61b1becfb2c5c31b8a09a277d74e4aa4" > operations_research::RevBitSet::IsSet< / a > < / div > < div class = "ttdeci" > bool IsSet(int64 index) const< / div > < div class = "ttdoc" > Returns whether the 'index' bit is set.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a20bf9afc3df7e1a1c8484c0e26567fd6" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a20bf9afc3df7e1a1c8484c0e26567fd6" > operations_research::BooleanVar::MakeHoleIterator< / a > < / div > < div class = "ttdeci" > IntVarIterator * MakeHoleIterator(bool reversible) const override< / div > < div class = "ttdoc" > Creates a hole iterator.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a2927789ebec43905a29b90c96ab5b562ac853b00c21d70db5e1f18dadc77fa083" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562ac853b00c21d70db5e1f18dadc77fa083" > operations_research::ModelCache::VAR_CONSTANT_LESS_OR_EQUAL< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_LESS_OR_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02066" > constraint_solveri.h:2066< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a494524783057e396790259ea0758a572" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a494524783057e396790259ea0758a572" > operations_research::BooleanVar::Contains< / a > < / div > < div class = "ttdeci" > bool Contains(int64 v) const override< / div > < div class = "ttdoc" > This method returns whether the value 'v' is in the domain of the variable.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ac4e410910ad9361ed46221ecc6f0aa9b" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ac4e410910ad9361ed46221ecc6f0aa9b" > operations_research::PathOperator::next_base_to_increment_< / a > < / div > < div class = "ttdeci" > int next_base_to_increment_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01567" > constraint_solveri.h:1567< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1Assignment_html_a1f16f5a2e5767013b620efd255fb35ea" > < div class = "ttname" > < a href = "classoperations__research_1_1Assignment.html#a1f16f5a2e5767013b620efd255fb35ea" > operations_research::Assignment::IntVarContainer< / a > < / div > < div class = "ttdeci" > const IntContainer & IntVarContainer() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l05100" > constraint_solver.h:5100< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilterManager_html_a752bbb483eb18915e04d655b27794672" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilterManager.html#a752bbb483eb18915e04d655b27794672" > operations_research::LocalSearchFilterManager::LocalSearchFilterManager< / a > < / div > < div class = "ttdeci" > LocalSearchFilterManager(Solver *const solver, const std::vector< LocalSearchFilter * > & filters)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a5a0bfff5b96c417fc2cd9c486bc97c60" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a5a0bfff5b96c417fc2cd9c486bc97c60" > operations_research::ModelCache::InsertVarConstantConstraint< / a > < / div > < div class = "ttdeci" > virtual void InsertVarConstantConstraint(Constraint *const ct, IntVar *const var, int64 value, VarConstantConstraintType type)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a8aa43c7f42405e3d49b0cd3764eb6f11" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a8aa43c7f42405e3d49b0cd3764eb6f11" > operations_research::PropagationMonitor::SetStartRange< / a > < / div > < div class = "ttdeci" > virtual void SetStartRange(IntervalVar *const var, int64 new_min, int64 new_max)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a94c48877d8d1cf2b90701343c4660112" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a94c48877d8d1cf2b90701343c4660112" > operations_research::BooleanVar::Min< / a > < / div > < div class = "ttdeci" > int64 Min() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01935" > constraint_solveri.h:1935< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchHandler_html_aa13961bacce6e6f3501e633462882070" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchHandler.html#aa13961bacce6e6f3501e633462882070" > operations_research::IntVarLocalSearchHandler::IntVarLocalSearchHandler< / a > < / div > < div class = "ttdeci" > IntVarLocalSearchHandler()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00955" > constraint_solveri.h:955< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_aa4e3bf1bd6d335ad6be0b0d100e3bd6a" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#aa4e3bf1bd6d335ad6be0b0d100e3bd6a" > operations_research::PathOperator::StartNode< / a > < / div > < div class = "ttdeci" > int64 StartNode(int i) const< / div > < div class = "ttdoc" > Returns the start node of the ith base node.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01407" > constraint_solveri.h:1407< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a5f32c22c620c811754ba7b6f977db864" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a5f32c22c620c811754ba7b6f977db864" > operations_research::ModelCache::solver< / a > < / div > < div class = "ttdeci" > Solver * solver() const< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_a70a6f04e20d3aca67f5463c3b12498dc" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#a70a6f04e20d3aca67f5463c3b12498dc" > operations_research::LocalSearchMonitor::EndFiltering< / a > < / div > < div class = "ttdeci" > virtual void EndFiltering(const LocalSearchFilter *filter, bool reject)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a5bc40a93b9ba709cfb3ca78cea7435e1" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a5bc40a93b9ba709cfb3ca78cea7435e1" > operations_research::PathOperator::BaseSiblingAlternative< / a > < / div > < div class = "ttdeci" > int BaseSiblingAlternative(int i) const< / div > < div class = "ttdoc" > Returns the alternative for the sibling of the ith base node.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01393" > constraint_solveri.h:1393< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::PropagationMonitor::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01839" > constraint_solveri.h:1839< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod0_html_a0a34701cff1b1ac2fabd11e27c7cebc9" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod0.html#a0a34701cff1b1ac2fabd11e27c7cebc9" > operations_research::DelayedCallMethod0::priority< / a > < / div > < div class = "ttdeci" > Solver::DemonPriority priority() const override< / div > < div class = "ttdoc" > This method returns the priority of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00679" > constraint_solveri.h:679< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ab34ca3550d919f196a8bc47f60bf00c8" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ab34ca3550d919f196a8bc47f60bf00c8" > operations_research::PropagationMonitor::SetDurationRange< / a > < / div > < div class = "ttdeci" > virtual void SetDurationRange(IntervalVar *const var, int64 new_min, int64 new_max)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SymmetryBreaker_html_ada76e640c4e2afb8508576e0e937ab6e" > < div class = "ttname" > < a href = "classoperations__research_1_1SymmetryBreaker.html#ada76e640c4e2afb8508576e0e937ab6e" > operations_research::SymmetryBreaker::~SymmetryBreaker< / a > < / div > < div class = "ttdeci" > ~SymmetryBreaker() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01982" > constraint_solveri.h:1982< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a8b1a0ecf6778a8018576d94b3c73930b" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a8b1a0ecf6778a8018576d94b3c73930b" > operations_research::PathOperator::MakeActive< / a > < / div > < div class = "ttdeci" > bool MakeActive(int64 node, int64 destination)< / div > < div class = "ttdoc" > Insert the inactive node after destination.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_af5aaffbf16ee150934ca1d7feddffdf7" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#af5aaffbf16ee150934ca1d7feddffdf7" > operations_research::PropagationMonitor::RankFirst< / a > < / div > < div class = "ttdeci" > virtual void RankFirst(SequenceVar *const var, int index)=0< / div > < div class = "ttdoc" > SequenceVar modifiers.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SmallRevBitSet_html_aa7415b405bbfd5c693b10931c389aad2" > < div class = "ttname" > < a href = "classoperations__research_1_1SmallRevBitSet.html#aa7415b405bbfd5c693b10931c389aad2" > operations_research::SmallRevBitSet::GetFirstOne< / a > < / div > < div class = "ttdeci" > int64 GetFirstOne() const< / div > < div class = "ttdoc" > Gets the index of the first bit set starting from 0.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a78f9c320fcfdc3be91db4de41d891deb" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a78f9c320fcfdc3be91db4de41d891deb" > operations_research::ModelCache::InsertVoidConstraint< / a > < / div > < div class = "ttdeci" > virtual void InsertVoidConstraint(Constraint *const ct, VoidConstraintType type)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_afe2b705fd5af7c1c6812f69e9a9dcdf1" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#afe2b705fd5af7c1c6812f69e9a9dcdf1" > operations_research::SearchLog::EndInitialPropagation< / a > < / div > < div class = "ttdeci" > void EndInitialPropagation() override< / div > < div class = "ttdoc" > After the initial propagation.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_a7abde7313cef64d25202a18f07481fc3" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a7abde7313cef64d25202a18f07481fc3" > operations_research::AreAllBooleans< / a > < / div > < div class = "ttdeci" > bool AreAllBooleans(const std::vector< IntVar * > & vars)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02919" > constraint_solveri.h:2919< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevGrowingArray_html" > < div class = "ttname" > < a href = "classoperations__research_1_1RevGrowingArray.html" > operations_research::RevGrowingArray< / a > < / div > < div class = "ttdoc" > This class is a reversible growing array.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02448" > constraint_solveri.h:2448< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_aaf6ad14f55e32b0907390fe1086fa2bc" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#aaf6ad14f55e32b0907390fe1086fa2bc" > operations_research::ModelParser::~ModelParser< / a > < / div > < div class = "ttdeci" > ~ModelParser() override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_aad7695e494039d607c26afb6acd0644a" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a" > operations_research::PathOperator::number_of_nexts_< / a > < / div > < div class = "ttdeci" > const int number_of_nexts_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01565" > constraint_solveri.h:1565< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_a76ba13aa9ecbcd8755720533712f4f70" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a76ba13aa9ecbcd8755720533712f4f70" > operations_research::UnsortedNullableRevBitset::~UnsortedNullableRevBitset< / a > < / div > < div class = "ttdeci" > ~UnsortedNullableRevBitset()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02762" > constraint_solveri.h:2762< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a7e42ba88a40563030fe775d5eaec8d55" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a7e42ba88a40563030fe775d5eaec8d55" > operations_research::PathOperator::AddPairAlternativeSets< / a > < / div > < div class = "ttdeci" > void AddPairAlternativeSets(const std::vector< std::pair< std::vector< int64 > , std::vector< int64 > > > & pair_alternative_sets)< / div > < div class = "ttdoc" > Adds all sets of node alternatives of a vector of alternative pairs.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01525" > constraint_solveri.h:1525< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BaseIntExpr_html_a721f17985ccfb96fcc971ce2e474bbed" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseIntExpr.html#a721f17985ccfb96fcc971ce2e474bbed" > operations_research::BaseIntExpr::CastToVar< / a > < / div > < div class = "ttdeci" > virtual IntVar * CastToVar()< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a105e76e7ff211a6d58545e1c2cfe2739" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a105e76e7ff211a6d58545e1c2cfe2739" > operations_research::ModelCache::FindExprConstantExpression< / a > < / div > < div class = "ttdeci" > virtual IntExpr * FindExprConstantExpression(IntExpr *const expr, int64 value, ExprConstantExpressionType type) const =0< / div > < div class = "ttdoc" > Expr Constant Expressions.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2ae8e4c6f3e5a6d22d24204ec432f57860" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2ae8e4c6f3e5a6d22d24204ec432f57860" > operations_research::OPP_VAR< / a > < / div > < div class = "ttdeci" > @ OPP_VAR< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00131" > constraint_solveri.h:131< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_html_abc8f4bc09139f8f3951cc8280823a0f3" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO.html#abc8f4bc09139f8f3951cc8280823a0f3" > operations_research::SimpleRevFIFO::PushIfNotTop< / a > < / div > < div class = "ttdeci" > void PushIfNotTop(Solver *const s, T val)< / div > < div class = "ttdoc" > Pushes the var on top if is not a duplicate of the current top object.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00190" > constraint_solveri.h:190< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Solver_html_a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068" > < div class = "ttname" > < a href = "classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068" > operations_research::Solver::DELAYED_PRIORITY< / a > < / div > < div class = "ttdeci" > @ DELAYED_PRIORITY< / div > < div class = "ttdoc" > DELAYED_PRIORITY is the lowest priority: Demons will be processed after VAR_PRIORITY and NORMAL_PRIOR...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l00606" > constraint_solver.h:606< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_html_a5b19539e4bfd49ed8a3f8ac982068188" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO.html#a5b19539e4bfd49ed8a3f8ac982068188" > operations_research::SimpleRevFIFO::MutableLast< / a > < / div > < div class = "ttdeci" > T * MutableLast()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00201" > constraint_solveri.h:201< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a5114f46a021e08dd81c2d7462a8bc735" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a5114f46a021e08dd81c2d7462a8bc735" > operations_research::BooleanVar::delayed_bound_demons_< / a > < / div > < div class = "ttdeci" > SimpleRevFIFO< Demon * > delayed_bound_demons_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01970" > constraint_solveri.h:1970< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_acf88f5c01754112f318c5e3e09e3df28" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#acf88f5c01754112f318c5e3e09e3df28" > operations_research::LocalSearchMonitor::EndFilterNeighbor< / a > < / div > < div class = "ttdeci" > virtual void EndFilterNeighbor(const LocalSearchOperator *op, bool neighbor_found)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_acc37407ddda743886d3cb40298914f0d" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#acc37407ddda743886d3cb40298914f0d" > operations_research::IntVarLocalSearchFilter::Value< / a > < / div > < div class = "ttdeci" > int64 Value(int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01817" > constraint_solveri.h:1817< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a2ba65f329138882aa7a56a8815fe2238" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a2ba65f329138882aa7a56a8815fe2238" > operations_research::PropagationMonitor::EndConstraintInitialPropagation< / a > < / div > < div class = "ttdeci" > virtual void EndConstraintInitialPropagation(Constraint *const constraint)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_af198f3666509d3e593c724811356a06e" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#af198f3666509d3e593c724811356a06e" > operations_research::ArgumentHolder::SetIntervalArrayArgument< / a > < / div > < div class = "ttdeci" > void SetIntervalArrayArgument(const std::string & arg_name, const std::vector< IntervalVar * > & vars)< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1BaseObject_html" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseObject.html" > operations_research::BaseObject< / a > < / div > < div class = "ttdoc" > A BaseObject is the root of all reversibly allocated objects.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03104" > constraint_solver.h:3104< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_aa3150023fc25266b318a154bcc8f1d86" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#aa3150023fc25266b318a154bcc8f1d86" > operations_research::RevBitSet::GetFirstBit< / a > < / div > < div class = "ttdeci" > int64 GetFirstBit(int start) const< / div > < div class = "ttdoc" > Gets the index of the first bit set starting from start.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a06eb05df61a9b9fce744928947f43d89" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a06eb05df61a9b9fce744928947f43d89" > operations_research::VarLocalSearchOperator::RevertChanges< / a > < / div > < div class = "ttdeci" > void RevertChanges(bool incremental)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00895" > constraint_solveri.h:895< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_ab57ce8f50aeb2f7e4171b04ca42fd447" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#ab57ce8f50aeb2f7e4171b04ca42fd447" > operations_research::RevIntSet::Restore< / a > < / div > < div class = "ttdeci" > void Restore(Solver *const solver, const T & value_index)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02595" > constraint_solveri.h:2595< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_a0ee5f26ca61781ca148050d4c849a59a" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#a0ee5f26ca61781ca148050d4c849a59a" > operations_research::LocalSearchMonitor::EndMakeNextNeighbor< / a > < / div > < div class = "ttdeci" > virtual void EndMakeNextNeighbor(const LocalSearchOperator *op, bool neighbor_found, const Assignment *delta, const Assignment *deltadelta)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_aae1ff1f02500de1b7cf8042c10a5a36d" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#aae1ff1f02500de1b7cf8042c10a5a36d" > operations_research::RevPartialSequence::RankFirst< / a > < / div > < div class = "ttdeci" > void RankFirst(Solver *const solver, int elt)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02685" > constraint_solveri.h:2685< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a0398df73722b0a777674f8300b61e640abb2b7e9646abdb972fafbe90bf19a5ec" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640abb2b7e9646abdb972fafbe90bf19a5ec" > operations_research::ModelCache::VOID_TRUE_CONSTRAINT< / a > < / div > < div class = "ttdeci" > @ VOID_TRUE_CONSTRAINT< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02059" > constraint_solveri.h:2059< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a59c559422eae2739af255adb6c14cddbaba8984d087f1d6b934634e57add0cdae" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddbaba8984d087f1d6b934634e57add0cdae" > operations_research::ModelCache::VAR_ARRAY_CONSTANT_ARRAY_SCAL_PROD< / a > < / div > < div class = "ttdeci" > @ VAR_ARRAY_CONSTANT_ARRAY_SCAL_PROD< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02136" > constraint_solveri.h:2136< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_aafac7375c23337f25821aa6f86ca627c" > < div class = "ttname" > < a href = "namespaceoperations__research.html#aafac7375c23337f25821aa6f86ca627c" > operations_research::IsIncreasingContiguous< / a > < / div > < div class = "ttdeci" > bool IsIncreasingContiguous(const std::vector< T > & values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02880" > constraint_solveri.h:2880< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1AssignmentContainer_html" > < div class = "ttname" > < a href = "classoperations__research_1_1AssignmentContainer.html" > operations_research::AssignmentContainer< IntVar, IntVarElement > < / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarIterator_html" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarIterator.html" > operations_research::IntVarIterator< / a > < / div > < div class = "ttdoc" > The class Iterator has two direct subclasses.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03866" > constraint_solver.h:3866< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_ac3e8d8c29f542b338782d745cb706da8" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ac3e8d8c29f542b338782d745cb706da8" > operations_research::UnsortedNullableRevBitset::Intersects< / a > < / div > < div class = "ttdeci" > bool Intersects(const std::vector< uint64 > & mask, int *support_index)< / div > < div class = "ttdoc" > This method returns true iff the mask and the active bitset have a non null intersection.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_ac1cb8e65b730ce99b1d99d5a37f578bd" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ac1cb8e65b730ce99b1d99d5a37f578bd" > operations_research::UnsortedNullableRevBitset::active_words< / a > < / div > < div class = "ttdeci" > const RevIntSet< int > & active_words() const< / div > < div class = "ttdoc" > Returns the set of active word indices.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02797" > constraint_solveri.h:2797< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a1741111a88b318c9b9488173a3d4a788" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a1741111a88b318c9b9488173a3d4a788" > operations_research::ArgumentHolder::HasIntegerVariableArrayArgument< / a > < / div > < div class = "ttdeci" > bool HasIntegerVariableArrayArgument(const std::string & arg_name) const< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html" > operations_research::ModelParser< / a > < / div > < div class = "ttdoc" > Model Parser.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02350" > constraint_solveri.h:2350< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod2_html_a49265dec10e3d62758187d11a022df4c" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod2.html#a49265dec10e3d62758187d11a022df4c" > operations_research::DelayedCallMethod2::DelayedCallMethod2< / a > < / div > < div class = "ttdeci" > DelayedCallMethod2(T *const ct, void(T::*method)(P, Q), const std::string & name, P param1, Q param2)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00741" > constraint_solveri.h:741< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_1_1Iterator_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html" > operations_research::SimpleRevFIFO::Iterator< / a > < / div > < div class = "ttdoc" > This iterator is not stable with respect to deletion.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00156" > constraint_solveri.h:156< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html_a31d7dd39e21aad23250613bb884d0d2b" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a31d7dd39e21aad23250613bb884d0d2b" > operations_research::IntVarLocalSearchOperator::SetInverseValue< / a > < / div > < div class = "ttdeci" > void SetInverseValue(int64 index, int64 value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01083" > constraint_solveri.h:1083< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082caa6a4fb0890d2f491ba7fa43bc1c9688b" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082caa6a4fb0890d2f491ba7fa43bc1c9688b" > operations_research::ModelCache::EXPR_CONSTANT_SUM< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_SUM< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02118" > constraint_solveri.h:2118< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afea373e953d3799bdcdc112f9b0887ac0df" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea373e953d3799bdcdc112f9b0887ac0df" > operations_research::ModelCache::EXPR_EXPR_MAX< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02097" > constraint_solveri.h:2097< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_html_adae7d9827dba5077a4e09158d8dbabcc" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO.html#adae7d9827dba5077a4e09158d8dbabcc" > operations_research::SimpleRevFIFO::SimpleRevFIFO< / a > < / div > < div class = "ttdeci" > SimpleRevFIFO()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00175" > constraint_solveri.h:175< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a999c625dc76dfd7f967b8975ae965df8" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a999c625dc76dfd7f967b8975ae965df8" > operations_research::PropagationMonitor::EndNestedConstraintInitialPropagation< / a > < / div > < div class = "ttdeci" > virtual void EndNestedConstraintInitialPropagation(Constraint *const parent, Constraint *const nested)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_acd79a3f4a6c95f0acecac5bc8420bd37" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#acd79a3f4a6c95f0acecac5bc8420bd37" > operations_research::PropagationMonitor::EndDemonRun< / a > < / div > < div class = "ttdeci" > virtual void EndDemonRun(Demon *const demon)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a5d794218448e5119fe2034719dc55c6f" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a5d794218448e5119fe2034719dc55c6f" > operations_research::BooleanVar::WhenDomain< / a > < / div > < div class = "ttdeci" > void WhenDomain(Demon *d) override< / div > < div class = "ttdoc" > This method attaches a demon that will watch any domain modification of the domain of the variable.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01949" > constraint_solveri.h:1949< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchHandler_html_a4314d5003c94cf5333271a1f2703b7ed" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a4314d5003c94cf5333271a1f2703b7ed" > operations_research::SequenceVarLocalSearchHandler::SequenceVarLocalSearchHandler< / a > < / div > < div class = "ttdeci" > SequenceVarLocalSearchHandler(SequenceVarLocalSearchOperator *op)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01129" > constraint_solveri.h:1129< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a8ed69e6d44dd4141c434a1784120382f" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a8ed69e6d44dd4141c434a1784120382f" > operations_research::ModelParser::EndVisitConstraint< / a > < / div > < div class = "ttdeci" > void EndVisitConstraint(const std::string & type_name, const Constraint *const constraint) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082cae140fdbd76e5afbe2595bd13678ba960" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082cae140fdbd76e5afbe2595bd13678ba960" > operations_research::ModelCache::EXPR_CONSTANT_DIVIDE< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_DIVIDE< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02114" > constraint_solveri.h:2114< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html_a104b124a8b90a018a1583aa5f46081d9" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a104b124a8b90a018a1583aa5f46081d9" > operations_research::IntVarLocalSearchOperator::InverseValue< / a > < / div > < div class = "ttdeci" > int64 InverseValue(int64 index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01077" > constraint_solveri.h:1077< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod2_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod2.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::CallMethod2::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00596" > constraint_solveri.h:596< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082ca67ead3f8c6b5a40d1a2c3ef5fb63b906" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca67ead3f8c6b5a40d1a2c3ef5fb63b906" > operations_research::ModelCache::EXPR_CONSTANT_IS_LESS_OR_EQUAL< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_IS_LESS_OR_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02122" > constraint_solveri.h:2122< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_1_1Iterator_html_a4f623cf5dc191f1dc0257dc5701228a3" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a4f623cf5dc191f1dc0257dc5701228a3" > operations_research::SimpleRevFIFO::Iterator::operator*< / a > < / div > < div class = "ttdeci" > T operator*() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00161" > constraint_solveri.h:161< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a23bf807dec205b7965271a2980ba7aa1" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a23bf807dec205b7965271a2980ba7aa1" > operations_research::RevIntSet::RevIntSet< / a > < / div > < div class = "ttdeci" > RevIntSet(int capacity)< / div > < div class = "ttdoc" > Capacity is the fixed size of the set (it cannot grow).< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02536" > constraint_solveri.h:2536< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_addef6c5b905f14668a4a19a3b6cf1eccadab845ec7630675dc953378647cf35c4" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1eccadab845ec7630675dc953378647cf35c4" > operations_research::ModelCache::VAR_CONSTANT_ARRAY_EXPRESSION_MAX< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_ARRAY_EXPRESSION_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02132" > constraint_solveri.h:2132< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ae07b298414a08283ffd5a3bafc2e5a92" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ae07b298414a08283ffd5a3bafc2e5a92" > operations_research::ModelCache::FindVarConstantArrayExpression< / a > < / div > < div class = "ttdeci" > virtual IntExpr * FindVarConstantArrayExpression(IntVar *const var, const std::vector< int64 > & values, VarConstantArrayExpressionType type) const =0< / div > < div class = "ttdoc" > Var Constant Array Expressions.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod2_html" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod2.html" > operations_research::DelayedCallMethod2< / a > < / div > < div class = "ttdoc" > Low-priority demon proxy to a method on the constraint with two arguments.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00739" > constraint_solveri.h:739< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ae56132578e8bc7a7eca4af4fd24fa966" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ae56132578e8bc7a7eca4af4fd24fa966" > operations_research::PathOperator::ignore_path_vars_< / a > < / div > < div class = "ttdeci" > const bool ignore_path_vars_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01566" > constraint_solveri.h:1566< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_a4bb9c257807ee5c22729df7e1b008571" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#a4bb9c257807ee5c22729df7e1b008571" > operations_research::RevPartialSequence::NumFirstRanked< / a > < / div > < div class = "ttdeci" > int NumFirstRanked() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02671" > constraint_solveri.h:2671< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afea4e88d525cd2a35b11b8a16175f6197ab" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea4e88d525cd2a35b11b8a16175f6197ab" > operations_research::ModelCache::EXPR_EXPR_EXPRESSION_MAX< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_EXPRESSION_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02104" > constraint_solveri.h:2104< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchHandler_html_ac2e895b6e77d8a09a52210eca1de3ee6" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ac2e895b6e77d8a09a52210eca1de3ee6" > operations_research::IntVarLocalSearchHandler::IntVarLocalSearchHandler< / a > < / div > < div class = "ttdeci" > IntVarLocalSearchHandler(const IntVarLocalSearchHandler & other)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00956" > constraint_solveri.h:956< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afea7cdf2f8fb26d167603e160773a680805" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea7cdf2f8fb26d167603e160773a680805" > operations_research::ModelCache::EXPR_EXPR_DIV< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_DIV< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02096" > constraint_solveri.h:2096< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilterManager_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilterManager.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::LocalSearchFilterManager::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01768" > constraint_solveri.h:1768< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_aae6d852f10b483ddfa68658e43130028" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#aae6d852f10b483ddfa68658e43130028" > operations_research::VarLocalSearchOperator::OnStart< / a > < / div > < div class = "ttdeci" > virtual void OnStart()< / div > < div class = "ttdoc" > Called by Start() after synchronizing the operator with the current assignment.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00927" > constraint_solveri.h:927< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ab661b8d8259dac8444804d91809fbb0a" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ab661b8d8259dac8444804d91809fbb0a" > operations_research::PathOperator::ResetPosition< / a > < / div > < div class = "ttdeci" > void ResetPosition()< / div > < div class = "ttdoc" > Reset the position of the operator to its position when Start() was last called; this can be used to ...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01507" > constraint_solveri.h:1507< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_aa85b856a84503016b8a27a6945fc77fc" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#aa85b856a84503016b8a27a6945fc77fc" > operations_research::ModelCache::InsertVarConstantConstantExpression< / a > < / div > < div class = "ttdeci" > virtual void InsertVarConstantConstantExpression(IntExpr *const expression, IntVar *const var, int64 value1, int64 value2, VarConstantConstantExpressionType type)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_adbfe3c73b9cad61f112ccb082b553c51" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#adbfe3c73b9cad61f112ccb082b553c51" > operations_research::BooleanVar::BaseName< / a > < / div > < div class = "ttdeci" > std::string BaseName() const override< / div > < div class = "ttdoc" > Returns a base name for automatic naming.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01963" > constraint_solveri.h:1963< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a62cdf71c82db7a35316a145167e8864faaf915d4da198c454d55bb3ec6756e9b1" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864faaf915d4da198c454d55bb3ec6756e9b1" > operations_research::ModelCache::VAR_CONSTANT_CONSTANT_BETWEEN< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_CONSTANT_BETWEEN< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02072" > constraint_solveri.h:2072< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afea3784ad09f2939fec4b5125c3e3a7ee0a" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea3784ad09f2939fec4b5125c3e3a7ee0a" > operations_research::ModelCache::EXPR_EXPR_PROD< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_PROD< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02095" > constraint_solveri.h:2095< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_a9bff5a3752886dfc07cdb1a013703229" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#a9bff5a3752886dfc07cdb1a013703229" > operations_research::LocalSearchMonitor::BeginFilterNeighbor< / a > < / div > < div class = "ttdeci" > virtual void BeginFilterNeighbor(const LocalSearchOperator *op)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a19776f5960140d46380ae9837cf9e6dca0f422d5294a543e5a1405e563c1f66f2" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dca0f422d5294a543e5a1405e563c1f66f2" > operations_research::ModelCache::EXPR_OPPOSITE< / a > < / div > < div class = "ttdeci" > @ EXPR_OPPOSITE< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02087" > constraint_solveri.h:2087< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_a579d10756b6f1f7313b3ff0f27b33876" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#a579d10756b6f1f7313b3ff0f27b33876" > operations_research::SearchLog::OutputLine< / a > < / div > < div class = "ttdeci" > virtual void OutputLine(const std::string & line)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchOperator_html_a9bd1712271364632b22009ef10eb2172" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchOperator.html#a9bd1712271364632b22009ef10eb2172" > operations_research::LocalSearchOperator::MakeNextNeighbor< / a > < / div > < div class = "ttdeci" > virtual bool MakeNextNeighbor(Assignment *delta, Assignment *deltadelta)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod2_html_ac863f0fdd6a476ca003c99f58f14e623" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod2.html#ac863f0fdd6a476ca003c99f58f14e623" > operations_research::DelayedCallMethod2::Run< / a > < / div > < div class = "ttdeci" > void Run(Solver *const s) override< / div > < div class = "ttdoc" > This is the main callback of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00751" > constraint_solveri.h:751< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2a89a5a9b8c00be595eb52b4d464613d30" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a89a5a9b8c00be595eb52b4d464613d30" > operations_research::CST_SUB_VAR< / a > < / div > < div class = "ttdeci" > @ CST_SUB_VAR< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00130" > constraint_solveri.h:130< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilterManager_html_a25270065fa93c847ef996f6ed937e175" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilterManager.html#a25270065fa93c847ef996f6ed937e175" > operations_research::LocalSearchFilterManager::IsIncremental< / a > < / div > < div class = "ttdeci" > bool IsIncremental() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01780" > constraint_solveri.h:1780< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_ae3e0d47f72e6e07c2332b872b372cd4c" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ae3e0d47f72e6e07c2332b872b372cd4c" > operations_research::UnsortedNullableRevBitset::UnsortedNullableRevBitset< / a > < / div > < div class = "ttdeci" > UnsortedNullableRevBitset(int bit_size)< / div > < div class = "ttdoc" > Size is the number of bits to store in the bitset.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1AssignmentContainer_html_a24926108b770033792d015cb86aeffb3" > < div class = "ttname" > < a href = "classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3" > operations_research::AssignmentContainer::Size< / a > < / div > < div class = "ttdeci" > int Size() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04868" > constraint_solver.h:4868< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod3_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod3.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::CallMethod3::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00637" > constraint_solveri.h:637< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html" > operations_research::RevBitSet< / a > < / div > < div class = "ttdoc" > This class represents a reversible bitset.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00435" > constraint_solveri.h:435< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_ae3e4f71c4c79e0b4ec00c4e715a7c298" > < div class = "ttname" > < a href = "namespaceoperations__research.html#ae3e4f71c4c79e0b4ec00c4e715a7c298" > operations_research::AreAllOnes< / a > < / div > < div class = "ttdeci" > bool AreAllOnes(const std::vector< T > & values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02830" > constraint_solveri.h:2830< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a7135085df615773e63a206e65ea21d53" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53" > operations_research::VarLocalSearchOperator::activated_< / a > < / div > < div class = "ttdeci" > Bitset64 activated_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00942" > constraint_solveri.h:942< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a87edff1ae0e772591575ca3f016af246" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a87edff1ae0e772591575ca3f016af246" > operations_research::ArgumentHolder::SetSequenceArrayArgument< / a > < / div > < div class = "ttdeci" > void SetSequenceArrayArgument(const std::string & arg_name, const std::vector< SequenceVar * > & vars)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BaseLns_html_a93c1603a882c8cf59cc93822caf83caa" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseLns.html#a93c1603a882c8cf59cc93822caf83caa" > operations_research::BaseLns::FragmentSize< / a > < / div > < div class = "ttdeci" > int FragmentSize() const< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_ae2af73491ab2aa6804b443d442026a5e" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#ae2af73491ab2aa6804b443d442026a5e" > operations_research::VarLocalSearchOperator::AddVars< / a > < / div > < div class = "ttdeci" > void AddVars(const std::vector< V * > & vars)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00908" > constraint_solveri.h:908< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html_a3441b36fa04791719efbfae2faca30a0" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a3441b36fa04791719efbfae2faca30a0" > operations_research::IntVarLocalSearchOperator::IntVarLocalSearchHandler< / a > < / div > < div class = "ttdeci" > friend class IntVarLocalSearchHandler< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01064" > constraint_solveri.h:1064< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchHandler_html_a97b236691225d7209706cf03fc455dc9" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchHandler.html#a97b236691225d7209706cf03fc455dc9" > operations_research::IntVarLocalSearchHandler::OnAddVars< / a > < / div > < div class = "ttdeci" > void OnAddVars()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00985" > constraint_solveri.h:985< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_aa99281e27dde55f592e819cb36085ce5" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#aa99281e27dde55f592e819cb36085ce5" > operations_research::ArgumentHolder::SetIntervalArgument< / a > < / div > < div class = "ttdeci" > void SetIntervalArgument(const std::string & arg_name, IntervalVar *const var)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_aa1998d48caaa0f39dd647267356ffcb9" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#aa1998d48caaa0f39dd647267356ffcb9" > operations_research::ModelParser::VisitIntegerArrayArgument< / a > < / div > < div class = "ttdeci" > void VisitIntegerArrayArgument(const std::string & arg_name, const std::vector< int64 > & values) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_adb210d557c5ff1bc78ae493364868bb5" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#adb210d557c5ff1bc78ae493364868bb5" > operations_research::PathOperator::OnSamePathAsPreviousBase< / a > < / div > < div class = "ttdeci" > virtual bool OnSamePathAsPreviousBase(int64 base_index)< / div > < div class = "ttdoc" > Returns true if a base node has to be on the same path as the " previous" base node (base node of inde...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01430" > constraint_solveri.h:1430< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a842f32a0bbfc971fc66fcd369670f23c" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a842f32a0bbfc971fc66fcd369670f23c" > operations_research::PropagationMonitor::SetStartMin< / a > < / div > < div class = "ttdeci" > virtual void SetStartMin(IntervalVar *const var, int64 new_min)=0< / div > < div class = "ttdoc" > IntervalVar modifiers.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_a6f54fc4f2d59c38d5929533887fa5ddd" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#a6f54fc4f2d59c38d5929533887fa5ddd" > operations_research::SearchLog::~SearchLog< / a > < / div > < div class = "ttdeci" > ~SearchLog() override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_1_1Iterator_html_a00f008b80917746917b874d00abd02a9" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a00f008b80917746917b874d00abd02a9" > operations_research::SimpleRevFIFO::Iterator::operator++< / a > < / div > < div class = "ttdeci" > void operator++()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00162" > constraint_solveri.h:162< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ab7f2ab18c499c4221377089c421d0390" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ab7f2ab18c499c4221377089c421d0390" > operations_research::PropagationMonitor::SetDurationMin< / a > < / div > < div class = "ttdeci" > virtual void SetDurationMin(IntervalVar *const var, int64 new_min)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ac41fc10e374ef9221ffca09da9e1c981" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ac41fc10e374ef9221ffca09da9e1c981" > operations_research::PathOperator::BaseSiblingAlternativeNode< / a > < / div > < div class = "ttdeci" > int64 BaseSiblingAlternativeNode(int i) const< / div > < div class = "ttdoc" > Returns the alternative node for the sibling of the ith base node.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01397" > constraint_solveri.h:1397< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1NumericalRev_html_ac8beef1ef5cd6ce8bdfb3f48016ff72b" > < div class = "ttname" > < a href = "classoperations__research_1_1NumericalRev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b" > operations_research::NumericalRev::Incr< / a > < / div > < div class = "ttdeci" > void Incr(Solver *const s)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03718" > constraint_solver.h:3718< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BaseLns_html" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseLns.html" > operations_research::BaseLns< / a > < / div > < div class = "ttdoc" > This is the base class for building an Lns operator.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01271" > constraint_solveri.h:1271< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a89d5f8fc282ff8c48a02102a8a5e4bbbab20099e9309c2b6619ef6c8ec664181a" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbbab20099e9309c2b6619ef6c8ec664181a" > operations_research::ModelCache::EXPR_EXPR_EQUALITY< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_EQUALITY< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02077" > constraint_solveri.h:2077< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ChangeValue_html_a65938f69ea3057a0c2cada291b8c6bce" > < div class = "ttname" > < a href = "classoperations__research_1_1ChangeValue.html#a65938f69ea3057a0c2cada291b8c6bce" > operations_research::ChangeValue::~ChangeValue< / a > < / div > < div class = "ttdeci" > ~ChangeValue() override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ab10f10ec98142e6fa7b0da4046473e44add01dc8099cbbb28d9aeb816d3345cdf" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44add01dc8099cbbb28d9aeb816d3345cdf" > operations_research::ModelCache::EXPR_EXPR_CONSTANT_CONDITIONAL< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_CONSTANT_CONDITIONAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02108" > constraint_solveri.h:2108< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_add39d7a314f959b1de71df09c5e862bb" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#add39d7a314f959b1de71df09c5e862bb" > operations_research::RevBitSet::~RevBitSet< / a > < / div > < div class = "ttdeci" > ~RevBitSet()< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BaseLns_html_a840517015168011f69e29024a6427c59" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseLns.html#a840517015168011f69e29024a6427c59" > operations_research::BaseLns::BaseLns< / a > < / div > < div class = "ttdeci" > BaseLns(const std::vector< IntVar * > & vars)< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ae1c162cfc11069e25becbd53cdce7def" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ae1c162cfc11069e25becbd53cdce7def" > operations_research::PathOperator::InitPosition< / a > < / div > < div class = "ttdeci" > virtual bool InitPosition() const< / div > < div class = "ttdoc" > Returns true if the operator needs to restart its initial position at each call to Start()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01503" > constraint_solveri.h:1503< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchHandler_html_a25604d83014cbeac92c0ca5d21e9f621" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a25604d83014cbeac92c0ca5d21e9f621" > operations_research::SequenceVarLocalSearchHandler::SequenceVarLocalSearchHandler< / a > < / div > < div class = "ttdeci" > SequenceVarLocalSearchHandler(const SequenceVarLocalSearchHandler & other)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01127" > constraint_solveri.h:1127< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_af295b14439014798b1fd34faffd3b5e7" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#af295b14439014798b1fd34faffd3b5e7" > operations_research::IntVarLocalSearchFilter::IsVarSynced< / a > < / div > < div class = "ttdeci" > bool IsVarSynced(int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01821" > constraint_solveri.h:1821< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a111c4d7dd49f12c67d97d16e9c473c79" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a111c4d7dd49f12c67d97d16e9c473c79" > operations_research::PathOperator::SwapActiveAndInactive< / a > < / div > < div class = "ttdeci" > bool SwapActiveAndInactive(int64 active, int64 inactive)< / div > < div class = "ttdoc" > Replaces active by inactive in the current path, making active inactive.< / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a8f8d2ca3d9f0e871b9770007e7389d3e" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a8f8d2ca3d9f0e871b9770007e7389d3e" > operations_research::PropagationMonitor::BeginNestedConstraintInitialPropagation< / a > < / div > < div class = "ttdeci" > virtual void BeginNestedConstraintInitialPropagation(Constraint *const parent, Constraint *const nested)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a6e0692306656dae6639fbc6dd001400d" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a6e0692306656dae6639fbc6dd001400d" > operations_research::PropagationMonitor::BeginDemonRun< / a > < / div > < div class = "ttdeci" > virtual void BeginDemonRun(Demon *const demon)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SymmetryBreaker_html_a6d9f23034ceb39de4907c0c6d85e4b86" > < div class = "ttname" > < a href = "classoperations__research_1_1SymmetryBreaker.html#a6d9f23034ceb39de4907c0c6d85e4b86" > operations_research::SymmetryBreaker::SymmetryBreaker< / a > < / div > < div class = "ttdeci" > SymmetryBreaker()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01980" > constraint_solveri.h:1980< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_ae26cecfdf81054f0b85943d0f9e8b7ac" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#ae26cecfdf81054f0b85943d0f9e8b7ac" > operations_research::SearchLog::OutputDecision< / a > < / div > < div class = "ttdeci" > void OutputDecision()< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a532b0bec45373fd3f093e2212d51cd6f" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a532b0bec45373fd3f093e2212d51cd6f" > operations_research::ModelCache::InsertExprExprExpression< / a > < / div > < div class = "ttdeci" > virtual void InsertExprExprExpression(IntExpr *const expression, IntExpr *const var1, IntExpr *const var2, ExprExprExpressionType type)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_a19a62cbe5ebefaa2729f76d22b7d809f" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#a19a62cbe5ebefaa2729f76d22b7d809f" > operations_research::LocalSearchMonitor::EndOperatorStart< / a > < / div > < div class = "ttdeci" > virtual void EndOperatorStart()=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BaseLns_html_ad14cde260686e5b4174e691675df3139" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseLns.html#ad14cde260686e5b4174e691675df3139" > operations_research::BaseLns::MakeOneNeighbor< / a > < / div > < div class = "ttdeci" > bool MakeOneNeighbor() override< / div > < div class = "ttdoc" > This method should not be overridden. Override NextFragment() instead.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ad923ebf6ee257bfa55c4fc34b7b5503ba1ed5c1716b347c08d66af5527123f54e" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503ba1ed5c1716b347c08d66af5527123f54e" > operations_research::ModelCache::VAR_ARRAY_EXPRESSION_MAX< / a > < / div > < div class = "ttdeci" > @ VAR_ARRAY_EXPRESSION_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02144" > constraint_solveri.h:2144< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a092b50c7ef16418bc3ccb1e887909ff8" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a092b50c7ef16418bc3ccb1e887909ff8" > operations_research::BooleanVar::IsGreaterOrEqual< / a > < / div > < div class = "ttdeci" > IntVar * IsGreaterOrEqual(int64 constant) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html_ac8d84ceae8536513503a3132372cca0f" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html#ac8d84ceae8536513503a3132372cca0f" > operations_research::IntVarLocalSearchOperator::IntVarLocalSearchOperator< / a > < / div > < div class = "ttdeci" > IntVarLocalSearchOperator(const std::vector< IntVar * > & vars, bool keep_inverse_values=false)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01039" > constraint_solveri.h:1039< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SmallRevBitSet_html_a8a09db9a3d94ac8093cbceb39accac5f" > < div class = "ttname" > < a href = "classoperations__research_1_1SmallRevBitSet.html#a8a09db9a3d94ac8093cbceb39accac5f" > operations_research::SmallRevBitSet::SetToOne< / a > < / div > < div class = "ttdeci" > void SetToOne(Solver *const solver, int64 pos)< / div > < div class = "ttdoc" > Sets the 'pos' bit.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082ca2f62b258d5a827bd63f993103ec0bef2" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca2f62b258d5a827bd63f993103ec0bef2" > operations_research::ModelCache::EXPR_CONSTANT_EXPRESSION_MAX< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_EXPRESSION_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02123" > constraint_solveri.h:2123< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod2_html_a0a34701cff1b1ac2fabd11e27c7cebc9" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod2.html#a0a34701cff1b1ac2fabd11e27c7cebc9" > operations_research::DelayedCallMethod2::priority< / a > < / div > < div class = "ttdeci" > Solver::DemonPriority priority() const override< / div > < div class = "ttdoc" > This method returns the priority of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00755" > constraint_solveri.h:755< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod1_html_a977ffeeceec82ed0c880ae3249caebeb" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod1.html#a977ffeeceec82ed0c880ae3249caebeb" > operations_research::DelayedCallMethod1::DelayedCallMethod1< / a > < / div > < div class = "ttdeci" > DelayedCallMethod1(T *const ct, void(T::*method)(P), const std::string & name, P param1)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00705" > constraint_solveri.h:705< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ac7ffd8565f01cb9eb72fcc94204327a2" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ac7ffd8565f01cb9eb72fcc94204327a2" > operations_research::PathOperator::GetBaseNodeRestartPosition< / a > < / div > < div class = "ttdeci" > virtual int64 GetBaseNodeRestartPosition(int base_index)< / div > < div class = "ttdoc" > Returns the index of the node to which the base node of index base_index must be set to when it reach...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01436" > constraint_solveri.h:1436< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_af8f03375e391cf5057c6d7a5962e0436" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#af8f03375e391cf5057c6d7a5962e0436" > operations_research::LocalSearchMonitor::~LocalSearchMonitor< / a > < / div > < div class = "ttdeci" > ~LocalSearchMonitor() override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html" > operations_research::SearchLog< / a > < / div > < div class = "ttdoc" > The base class of all search logs that periodically outputs information when the search is running.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02007" > constraint_solveri.h:2007< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a4d2f859ba8744c59922952d1925962b6" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a4d2f859ba8744c59922952d1925962b6" > operations_research::ModelParser::VisitSequenceVariable< / a > < / div > < div class = "ttdeci" > void VisitSequenceVariable(const SequenceVar *const variable) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarElement_html_ace66161c2f260353b4f03ef33455cd2f" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarElement.html#ace66161c2f260353b4f03ef33455cd2f" > operations_research::IntVarElement::SetValue< / a > < / div > < div class = "ttdeci" > void SetValue(int64 v)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04596" > constraint_solver.h:4596< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a7028ce8b481be8cb6fca7a6925d41aa7" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a7028ce8b481be8cb6fca7a6925d41aa7" > operations_research::AreAllBoundTo< / a > < / div > < div class = "ttdeci" > bool AreAllBoundTo(const std::vector< IntVar * > & vars, int64 value)< / div > < div class = "ttdoc" > Returns true if all variables are assigned to 'value'.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02937" > constraint_solveri.h:2937< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_afbc9a4bbd3bc555e76767ca83d77749c" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#afbc9a4bbd3bc555e76767ca83d77749c" > operations_research::PathOperator::GetActiveAlternativeSibling< / a > < / div > < div class = "ttdeci" > int64 GetActiveAlternativeSibling(int node) const< / div > < div class = "ttdoc" > Returns the active node in the alternative set of the sibling of the given node.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01553" > constraint_solveri.h:1553< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_addef6c5b905f14668a4a19a3b6cf1ecca7c34bf537f4d8178d912769b20d9ab2a" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1ecca7c34bf537f4d8178d912769b20d9ab2a" > operations_research::ModelCache::VAR_CONSTANT_ARRAY_ELEMENT< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_ARRAY_ELEMENT< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02131" > constraint_solveri.h:2131< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a5e05ed63b54117b3fefe5cf3a4d3f33e" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a5e05ed63b54117b3fefe5cf3a4d3f33e" > operations_research::ArgumentHolder::SetIntegerVariableArrayArgument< / a > < / div > < div class = "ttdeci" > void SetIntegerVariableArrayArgument(const std::string & arg_name, const std::vector< IntVar * > & vars)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevImmutableMultiMap_html" > < div class = "ttname" > < a href = "classoperations__research_1_1RevImmutableMultiMap.html" > operations_research::RevImmutableMultiMap< / a > < / div > < div class = "ttdoc" > Reversible Immutable MultiMap class.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00288" > constraint_solveri.h:288< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1AssignmentContainer_html_a907ce7f41938cc755b6b1f4a55b5cd27" > < div class = "ttname" > < a href = "classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27" > operations_research::AssignmentContainer::Element< / a > < / div > < div class = "ttdeci" > const E & Element(const V *const var) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04852" > constraint_solver.h:4852< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ad83eb86dff9433744b15cce5787f9518" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ad83eb86dff9433744b15cce5787f9518" > operations_research::PropagationMonitor::PropagationMonitor< / a > < / div > < div class = "ttdeci" > PropagationMonitor(Solver *const solver)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a1db7423d2ebb38c7e3d387ce91d39cae" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a1db7423d2ebb38c7e3d387ce91d39cae" > operations_research::PropagationMonitor::~PropagationMonitor< / a > < / div > < div class = "ttdeci" > ~PropagationMonitor() override< / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2" > operations_research::VarTypes< / a > < / div > < div class = "ttdeci" > VarTypes< / div > < div class = "ttdoc" > This enum is used internally to do dynamic typing on subclasses of integer variables.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00123" > constraint_solveri.h:123< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a4da629cafe75f958924e1684ac2b0eff" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a4da629cafe75f958924e1684ac2b0eff" > operations_research::MakeConstraintDemon2< / a > < / div > < div class = "ttdeci" > Demon * MakeConstraintDemon2(Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string & name, P param1, Q param2)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00612" > constraint_solveri.h:612< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ae7c8c23ec45eba3a79aac5855c50abb5" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ae7c8c23ec45eba3a79aac5855c50abb5" > operations_research::PropagationMonitor::SetMin< / a > < / div > < div class = "ttdeci" > virtual void SetMin(IntExpr *const expr, int64 new_min)=0< / div > < div class = "ttdoc" > IntExpr modifiers.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html_aa4cbeb0a6b5484ff3d4dae2d87ead489" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html#aa4cbeb0a6b5484ff3d4dae2d87ead489" > operations_research::IntVarLocalSearchOperator::IsInverseValue< / a > < / div > < div class = "ttdeci" > bool IsInverseValue(int64 index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01072" > constraint_solveri.h:1072< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_acf3b9b49defa1be5d574ff59aa12e36e" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#acf3b9b49defa1be5d574ff59aa12e36e" > operations_research::ModelParser::VisitIntegerArgument< / a > < / div > < div class = "ttdeci" > void VisitIntegerArgument(const std::string & arg_name, int64 value) override< / div > < div class = "ttdoc" > Integer arguments.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilter_html_a1eebe2111d0d0d63bc00b6fd5927b616" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilter.html#a1eebe2111d0d0d63bc00b6fd5927b616" > operations_research::LocalSearchFilter::Accept< / a > < / div > < div class = "ttdeci" > virtual bool Accept(const Assignment *delta, const Assignment *deltadelta, int64 objective_min, int64 objective_max)=0< / div > < div class = "ttdoc" > Accepts a " delta" given the assignment with which the filter has been synchronized; the delta holds t...< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SmallRevBitSet_html_ad1cbc5144cff9b937b0913c032ea0e74" > < div class = "ttname" > < a href = "classoperations__research_1_1SmallRevBitSet.html#ad1cbc5144cff9b937b0913c032ea0e74" > operations_research::SmallRevBitSet::SmallRevBitSet< / a > < / div > < div class = "ttdeci" > SmallRevBitSet(int64 size)< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchOperator_html_aa6aa43258bb7c95fb77f569227aee75c" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#aa6aa43258bb7c95fb77f569227aee75c" > operations_research::SequenceVarLocalSearchOperator::SequenceVarLocalSearchOperator< / a > < / div > < div class = "ttdeci" > SequenceVarLocalSearchOperator(const std::vector< SequenceVar * > & vars)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01165" > constraint_solveri.h:1165< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a8bf2a7f861f717c6c6276601d6edc84d" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a8bf2a7f861f717c6c6276601d6edc84d" > operations_research::ModelCache::InsertVarArrayExpression< / a > < / div > < div class = "ttdeci" > virtual void InsertVarArrayExpression(IntExpr *const expression, const std::vector< IntVar * > & vars, VarArrayExpressionType type)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a6b01bbd962186b2a530cb1ab6855b833" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a6b01bbd962186b2a530cb1ab6855b833" > operations_research::RevIntSet::Element< / a > < / div > < div class = "ttdeci" > T Element(int i) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02569" > constraint_solveri.h:2569< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a6e645c04c651a5cd0c5b1474c503713c" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a6e645c04c651a5cd0c5b1474c503713c" > operations_research::PathOperator::OldNext< / a > < / div > < div class = "ttdeci" > int64 OldNext(int64 node) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01448" > constraint_solveri.h:1448< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html" > operations_research::PathOperator< / a > < / div > < div class = "ttdoc" > Base class of the local search operators dedicated to path modifications (a path is a set of nodes li...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01324" > constraint_solveri.h:1324< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchVariable_html_a53e9735282c0bf0769962bd1b6a643bc" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchVariable.html#a53e9735282c0bf0769962bd1b6a643bc" > operations_research::LocalSearchVariable::Min< / a > < / div > < div class = "ttdeci" > int64 Min() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01686" > constraint_solveri.h:1686< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BaseLns_html_a4b7841840aa1d1db5969b556993c4701" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseLns.html#a4b7841840aa1d1db5969b556993c4701" > operations_research::BaseLns::~BaseLns< / a > < / div > < div class = "ttdeci" > ~BaseLns() override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_aa8aef9ede17d1aabb0981e67ded7023a" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#aa8aef9ede17d1aabb0981e67ded7023a" > operations_research::ModelCache::FindVoidConstraint< / a > < / div > < div class = "ttdeci" > virtual Constraint * FindVoidConstraint(VoidConstraintType type) const =0< / div > < div class = "ttdoc" > Void constraints.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a0e0eee81c1c10f89672e3e41c94939ea" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a0e0eee81c1c10f89672e3e41c94939ea" > operations_research::ModelParser::PushArgumentHolder< / a > < / div > < div class = "ttdeci" > void PushArgumentHolder()< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html" > < div class = "ttname" > < a href = "namespaceoperations__research.html" > operations_research< / a > < / div > < div class = "ttdoc" > The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l00098" > constraint_solver.h:98< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod1_html_aeec7702079973f2d99063b2ed414aba4" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod1.html#aeec7702079973f2d99063b2ed414aba4" > operations_research::CallMethod1::CallMethod1< / a > < / div > < div class = "ttdeci" > CallMethod1(T *const ct, void(T::*method)(P), const std::string & name, P param1)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00552" > constraint_solveri.h:552< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_addef6c5b905f14668a4a19a3b6cf1ecc" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#addef6c5b905f14668a4a19a3b6cf1ecc" > operations_research::ModelCache::VarConstantArrayExpressionType< / a > < / div > < div class = "ttdeci" > VarConstantArrayExpressionType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02130" > constraint_solveri.h:2130< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_aa21d5f9b4adc94167e3a466095d82fd5" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#aa21d5f9b4adc94167e3a466095d82fd5" > operations_research::VarLocalSearchOperator::IsIncremental< / a > < / div > < div class = "ttdeci" > virtual bool IsIncremental() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00846" > constraint_solveri.h:846< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_ae44fff9ea13a57991eb263fc98f526ab" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#ae44fff9ea13a57991eb263fc98f526ab" > operations_research::RevIntSet::Clear< / a > < / div > < div class = "ttdeci" > void Clear(Solver *const solver)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02600" > constraint_solveri.h:2600< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afe" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afe" > operations_research::ModelCache::ExprExprExpressionType< / a > < / div > < div class = "ttdeci" > ExprExprExpressionType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02093" > constraint_solveri.h:2093< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_afd4107d44c9d70962fa429ecd6cc8312" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#afd4107d44c9d70962fa429ecd6cc8312" > operations_research::PathOperator::num_paths_< / a > < / div > < div class = "ttdeci" > int num_paths_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01568" > constraint_solveri.h:1568< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a15db4ae271ce553727a298dd0dbba5e7" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a15db4ae271ce553727a298dd0dbba5e7" > operations_research::PathOperator::IsInactive< / a > < / div > < div class = "ttdeci" > bool IsInactive(int64 node) const< / div > < div class = "ttdoc" > Returns true if node is inactive.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01497" > constraint_solveri.h:1497< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a60dabfa452b4264887ef76c75edf3765" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a60dabfa452b4264887ef76c75edf3765" > operations_research::PosIntDivUp< / a > < / div > < div class = "ttdeci" > int64 PosIntDivUp(int64 e, int64 v)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02975" > constraint_solveri.h:2975< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_html_ae247d6af463a190ddfc1ee36eee1a880" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO.html#ae247d6af463a190ddfc1ee36eee1a880" > operations_research::SimpleRevFIFO::LastValue< / a > < / div > < div class = "ttdeci" > const T & LastValue() const< / div > < div class = "ttdoc" > Returns the last value in the FIFO.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00204" > constraint_solveri.h:204< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ab10f10ec98142e6fa7b0da4046473e44aa77defdbb56236e669f88a18c563aede" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44aa77defdbb56236e669f88a18c563aede" > operations_research::ModelCache::EXPR_EXPR_CONSTANT_EXPRESSION_MAX< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_CONSTANT_EXPRESSION_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02109" > constraint_solveri.h:2109< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a3aea406979285a28c91fd1ee8115af74" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a3aea406979285a28c91fd1ee8115af74" > operations_research::AreAllGreaterOrEqual< / a > < / div > < div class = "ttdeci" > bool AreAllGreaterOrEqual(const std::vector< T > & values, const T & value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02840" > constraint_solveri.h:2840< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_ab0ae787392a8dd8a499eb55ac0916aa4" > < div class = "ttname" > < a href = "namespaceoperations__research.html#ab0ae787392a8dd8a499eb55ac0916aa4" > operations_research::AreAllNull< / a > < / div > < div class = "ttdeci" > bool AreAllNull(const std::vector< T > & values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02835" > constraint_solveri.h:2835< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a87fc5ae7d2a96ccc71334c6a0e16b2b7" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a87fc5ae7d2a96ccc71334c6a0e16b2b7" > operations_research::ModelCache::InsertExprExprConstantExpression< / a > < / div > < div class = "ttdeci" > virtual void InsertExprExprConstantExpression(IntExpr *const expression, IntExpr *const var1, IntExpr *const var2, int64 constant, ExprExprConstantExpressionType type)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BaseIntExpr_html_ad10ba599bb4d5563b023f6d80363e713" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseIntExpr.html#ad10ba599bb4d5563b023f6d80363e713" > operations_research::BaseIntExpr::~BaseIntExpr< / a > < / div > < div class = "ttdeci" > ~BaseIntExpr() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00112" > constraint_solveri.h:112< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_ab3631067f88ccc24c5db6a8a0dc64e47" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#ab3631067f88ccc24c5db6a8a0dc64e47" > operations_research::SearchLog::AtSolution< / a > < / div > < div class = "ttdeci" > bool AtSolution() override< / div > < div class = "ttdoc" > This method is called when a valid solution is found.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_a764be64f3029f8b8e23511061d8de355" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#a764be64f3029f8b8e23511061d8de355" > operations_research::RevPartialSequence::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02703" > constraint_solveri.h:2703< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchOperator_html_a35c529adfbac348d61a48ecd7e06b64d" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a35c529adfbac348d61a48ecd7e06b64d" > operations_research::SequenceVarLocalSearchOperator::~SequenceVarLocalSearchOperator< / a > < / div > < div class = "ttdeci" > ~SequenceVarLocalSearchOperator() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01170" > constraint_solveri.h:1170< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_aced81fe18add9aa052c40a148b6bb79d" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#aced81fe18add9aa052c40a148b6bb79d" > operations_research::PropagationMonitor::RegisterDemon< / a > < / div > < div class = "ttdeci" > virtual void RegisterDemon(Demon *const demon)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevGrowingArray_html_a34cf2377c5f844fb774ff490259f935d" > < div class = "ttname" > < a href = "classoperations__research_1_1RevGrowingArray.html#a34cf2377c5f844fb774ff490259f935d" > operations_research::RevGrowingArray::At< / a > < / div > < div class = "ttdeci" > T At(int64 index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02461" > constraint_solveri.h:2461< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a62cdf71c82db7a35316a145167e8864fa9f313cf455d543ccd36ee2c8bbbb6610" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864fa9f313cf455d543ccd36ee2c8bbbb6610" > operations_research::ModelCache::VAR_CONSTANT_CONSTANT_CONSTRAINT_MAX< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_CONSTANT_CONSTRAINT_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02073" > constraint_solveri.h:2073< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchVariable_html_acc0e6d3b25abe493558bb4268a8dcff4" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchVariable.html#acc0e6d3b25abe493558bb4268a8dcff4" > operations_research::LocalSearchVariable::SetMin< / a > < / div > < div class = "ttdeci" > bool SetMin(int64 new_min)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01688" > constraint_solveri.h:1688< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2a16071208281c29136c1be022b7d170f0" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a16071208281c29136c1be022b7d170f0" > operations_research::VAR_ADD_CST< / a > < / div > < div class = "ttdeci" > @ VAR_ADD_CST< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00128" > constraint_solveri.h:128< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_ab11bc6e0bd4776a51b50941d9e096ab3" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#ab11bc6e0bd4776a51b50941d9e096ab3" > operations_research::ModelParser::VisitIntegerVariableArrayArgument< / a > < / div > < div class = "ttdeci" > void VisitIntegerVariableArrayArgument(const std::string & arg_name, const std::vector< IntVar * > & arguments) override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchState_html_ad415204991d6155dd37e84f3a306ccca" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchState.html#ad415204991d6155dd37e84f3a306ccca" > operations_research::LocalSearchState::Revert< / a > < / div > < div class = "ttdeci" > void Revert()< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod1_html" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod1.html" > operations_research::CallMethod1< / a > < / div > < div class = "ttdoc" > Demon proxy to a method on the constraint with one argument.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00550" > constraint_solveri.h:550< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a3d38b45f5f2c2c53a8ab77643839b080" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a3d38b45f5f2c2c53a8ab77643839b080" > operations_research::PathOperator::start_to_path_< / a > < / div > < div class = "ttdeci" > std::vector< int64 > start_to_path_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01569" > constraint_solveri.h:1569< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a5cf17bb88d2b4437d87345b1597e48eb" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a5cf17bb88d2b4437d87345b1597e48eb" > operations_research::BooleanVar::Value< / a > < / div > < div class = "ttdeci" > int64 Value() const override< / div > < div class = "ttdoc" > This method returns the value of the variable.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01941" > constraint_solveri.h:1941< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod0_html_abd9bafdfee91dc487e75378f8c6cbaa7" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod0.html#abd9bafdfee91dc487e75378f8c6cbaa7" > operations_research::DelayedCallMethod0::~DelayedCallMethod0< / a > < / div > < div class = "ttdeci" > ~DelayedCallMethod0() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00675" > constraint_solveri.h:675< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a09b435e833bb97525ef2e54735f632ea" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a09b435e833bb97525ef2e54735f632ea" > operations_research::RevIntSet::Insert< / a > < / div > < div class = "ttdeci" > void Insert(Solver *const solver, const T & elt)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02581" > constraint_solveri.h:2581< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a303c8b67c301d6d436bd06e50d41cd6b" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a303c8b67c301d6d436bd06e50d41cd6b" > operations_research::BooleanVar::Bound< / a > < / div > < div class = "ttdeci" > bool Bound() const override< / div > < div class = "ttdoc" > Returns true if the min and the max of the expression are equal.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01940" > constraint_solveri.h:1940< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SymmetryBreaker_html_a8670c00745de36076d56243cc4ea61c9" > < div class = "ttname" > < a href = "classoperations__research_1_1SymmetryBreaker.html#a8670c00745de36076d56243cc4ea61c9" > operations_research::SymmetryBreaker::AddIntegerVariableEqualValueClause< / a > < / div > < div class = "ttdeci" > void AddIntegerVariableEqualValueClause(IntVar *const var, int64 value)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BaseLns_html_a76f3a89c46806c6aa038669246ccb66b" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseLns.html#a76f3a89c46806c6aa038669246ccb66b" > operations_research::BaseLns::AppendToFragment< / a > < / div > < div class = "ttdeci" > void AppendToFragment(int index)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_a00e1c5e76ceb9b425ddea62748673d9b" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#a00e1c5e76ceb9b425ddea62748673d9b" > operations_research::SearchLog::BeginFail< / a > < / div > < div class = "ttdeci" > void BeginFail() override< / div > < div class = "ttdoc" > Just when the failure occurs.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_ac9da3e5301f8c4c0ed8a261d0a0b2cbd" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#ac9da3e5301f8c4c0ed8a261d0a0b2cbd" > operations_research::RevBitSet::RevBitMatrix< / a > < / div > < div class = "ttdeci" > friend class RevBitMatrix< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00458" > constraint_solveri.h:458< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_ad48fcef57a4aa0b002e92ec27510dec3" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#ad48fcef57a4aa0b002e92ec27510dec3" > operations_research::VarLocalSearchOperator::~VarLocalSearchOperator< / a > < / div > < div class = "ttdeci" > ~VarLocalSearchOperator() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00829" > constraint_solveri.h:829< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_1_1Iterator_html_a03cb7eaa663dc83af68bc28a596d09e6" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a03cb7eaa663dc83af68bc28a596d09e6" > operations_research::SimpleRevFIFO::Iterator::ok< / a > < / div > < div class = "ttdeci" > bool ok() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00160" > constraint_solveri.h:160< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod1_html_ac863f0fdd6a476ca003c99f58f14e623" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod1.html#ac863f0fdd6a476ca003c99f58f14e623" > operations_research::CallMethod1::Run< / a > < / div > < div class = "ttdeci" > void Run(Solver *const s) override< / div > < div class = "ttdoc" > This is the main callback of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00558" > constraint_solveri.h:558< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a34d8dff251306e611f6393c007372233" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a34d8dff251306e611f6393c007372233" > operations_research::RevIntSet::RemovedElement< / a > < / div > < div class = "ttdeci" > T RemovedElement(int i) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02575" > constraint_solveri.h:2575< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_a6b7de376f6c7a3dab60c670f0324148c" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#a6b7de376f6c7a3dab60c670f0324148c" > operations_research::RevBitSet::SetToOne< / a > < / div > < div class = "ttdeci" > void SetToOne(Solver *const solver, int64 index)< / div > < div class = "ttdoc" > Sets the 'index' bit.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_ae6bce1d393b8e189c1d550ed4f02b07f" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ae6bce1d393b8e189c1d550ed4f02b07f" > operations_research::UnsortedNullableRevBitset::ActiveWordSize< / a > < / div > < div class = "ttdeci" > int ActiveWordSize() const< / div > < div class = "ttdoc" > This method returns the number of non null 64 bit words in the bitset representation.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02778" > constraint_solveri.h:2778< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_a363e3361f6a6b52343e69cbff81deff5" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#a363e3361f6a6b52343e69cbff81deff5" > operations_research::SearchLog::RefuteDecision< / a > < / div > < div class = "ttdeci" > void RefuteDecision(Decision *const decision) override< / div > < div class = "ttdoc" > Before refuting the decision.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html" > operations_research::VarLocalSearchOperator< / a > < / div > < div class = "ttdoc" > Base operator class for operators manipulating variables.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00821" > constraint_solveri.h:821< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a80e27b06bc8fb598c0530075a005d3c0" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a80e27b06bc8fb598c0530075a005d3c0" > operations_research::RevIntSet::kNoInserted< / a > < / div > < div class = "ttdeci" > static const int kNoInserted< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02533" > constraint_solveri.h:2533< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchOperator_html_af48018bea65b9825579c53e834c8131c" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchOperator.html#af48018bea65b9825579c53e834c8131c" > operations_research::LocalSearchOperator::~LocalSearchOperator< / a > < / div > < div class = "ttdeci" > ~LocalSearchOperator() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00808" > constraint_solveri.h:808< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ae507915e833da66ed7371b87f6fc61ff" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ae507915e833da66ed7371b87f6fc61ff" > operations_research::PathOperator::Path< / a > < / div > < div class = "ttdeci" > int64 Path(int64 node) const< / div > < div class = "ttdoc" > Returns the index of the path to which node belongs in the current delta.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01365" > constraint_solveri.h:1365< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a8d7b37de1f314b5dddb025a11d57e1e0" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0" > operations_research::VarLocalSearchOperator::Value< / a > < / div > < div class = "ttdeci" > const Val & Value(int64 index) const< / div > < div class = "ttdoc" > Returns the value in the current assignment of the variable of given index.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00850" > constraint_solveri.h:850< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html_a6c3af3418997de51df855f6321d299f1" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a6c3af3418997de51df855f6321d299f1" > operations_research::IntVarLocalSearchOperator::~IntVarLocalSearchOperator< / a > < / div > < div class = "ttdeci" > ~IntVarLocalSearchOperator() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01054" > constraint_solveri.h:1054< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ArrayWithOffset_html_a88e32439ca2aef1df5d8a59d02dc145c" > < div class = "ttname" > < a href = "classoperations__research_1_1ArrayWithOffset.html#a88e32439ca2aef1df5d8a59d02dc145c" > operations_research::ArrayWithOffset::~ArrayWithOffset< / a > < / div > < div class = "ttdeci" > ~ArrayWithOffset() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02420" > constraint_solveri.h:2420< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ab52ff1d356b9ca17d86884720fd9f08f" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ab52ff1d356b9ca17d86884720fd9f08f" > operations_research::PropagationMonitor::BeginConstraintInitialPropagation< / a > < / div > < div class = "ttdeci" > virtual void BeginConstraintInitialPropagation(Constraint *const constraint)=0< / div > < div class = "ttdoc" > Propagation events.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitMatrix_html_a1c9efd24f68d098eedb9c6ae3fdd25c4" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitMatrix.html#a1c9efd24f68d098eedb9c6ae3fdd25c4" > operations_research::RevBitMatrix::~RevBitMatrix< / a > < / div > < div class = "ttdeci" > ~RevBitMatrix()< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a89d5f8fc282ff8c48a02102a8a5e4bbb" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbb" > operations_research::ModelCache::ExprExprConstraintType< / a > < / div > < div class = "ttdeci" > ExprExprConstraintType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02076" > constraint_solveri.h:2076< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_ad8a7ac44f8bfdc52cfd6b237d1a210b7" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#ad8a7ac44f8bfdc52cfd6b237d1a210b7" > operations_research::ModelParser::PopArgumentHolder< / a > < / div > < div class = "ttdeci" > void PopArgumentHolder()< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_ac02009e235ac35f3dbda071730157539" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#ac02009e235ac35f3dbda071730157539" > operations_research::RevBitSet::RevBitSet< / a > < / div > < div class = "ttdeci" > RevBitSet(int64 size)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_aa8d4a4b8ea73184cedcc0be51f6a3921" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#aa8d4a4b8ea73184cedcc0be51f6a3921" > operations_research::PathOperator::SkipUnchanged< / a > < / div > < div class = "ttdeci" > bool SkipUnchanged(int index) const override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_accf9a4bd0c34d4a5f6a7dab66ea10cdc" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#accf9a4bd0c34d4a5f6a7dab66ea10cdc" > operations_research::RevIntSet::end< / a > < / div > < div class = "ttdeci" > const_iterator end() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02605" > constraint_solveri.h:2605< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ad923ebf6ee257bfa55c4fc34b7b5503bab312b39538d98fba96259aad40621005" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503bab312b39538d98fba96259aad40621005" > operations_research::ModelCache::VAR_ARRAY_MIN< / a > < / div > < div class = "ttdeci" > @ VAR_ARRAY_MIN< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02142" > constraint_solveri.h:2142< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082ca4c21878ef6b2e734c684a61d084b0d9e" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca4c21878ef6b2e734c684a61d084b0d9e" > operations_research::ModelCache::EXPR_CONSTANT_IS_GREATER_OR_EQUAL< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_IS_GREATER_OR_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02121" > constraint_solveri.h:2121< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_ad594d94255d119c43ecdd6f0179b73ae" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#ad594d94255d119c43ecdd6f0179b73ae" > operations_research::BooleanVar::RawValue< / a > < / div > < div class = "ttdeci" > int RawValue() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01965" > constraint_solveri.h:1965< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SymmetryBreaker_html_aa126bb367514a24cbd6e0b2c48fda9ee" > < div class = "ttname" > < a href = "classoperations__research_1_1SymmetryBreaker.html#aa126bb367514a24cbd6e0b2c48fda9ee" > operations_research::SymmetryBreaker::SymmetryManager< / a > < / div > < div class = "ttdeci" > friend class SymmetryManager< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01990" > constraint_solveri.h:1990< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchOperator_html_a1e1cf9d9c4228f22482c4ee6c58951a8" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8" > operations_research::LocalSearchOperator::HoldsDelta< / a > < / div > < div class = "ttdeci" > virtual bool HoldsDelta() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00816" > constraint_solveri.h:816< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Solver_html_a293233c46e5eaa308f65c7c2350553f7" > < div class = "ttname" > < a href = "classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7" > operations_research::Solver::DemonPriority< / a > < / div > < div class = "ttdeci" > DemonPriority< / div > < div class = "ttdoc" > This enum represents the three possible priorities for a demon in the Solver queue.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l00603" > constraint_solver.h:603< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a5e0c2033f8d819c623e8324bfda2d24d" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24d" > operations_research::ModelCache::VarConstantConstantExpressionType< / a > < / div > < div class = "ttdeci" > VarConstantConstantExpressionType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02125" > constraint_solveri.h:2125< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ad923ebf6ee257bfa55c4fc34b7b5503bac6616064787f06284ea59f017bdd637a" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503bac6616064787f06284ea59f017bdd637a" > operations_research::ModelCache::VAR_ARRAY_MAX< / a > < / div > < div class = "ttdeci" > @ VAR_ARRAY_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02141" > constraint_solveri.h:2141< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_addbdeeb24f41eabf6f76a20326935880" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#addbdeeb24f41eabf6f76a20326935880" > operations_research::ModelCache::FindExprExprExpression< / a > < / div > < div class = "ttdeci" > virtual IntExpr * FindExprExprExpression(IntExpr *const var1, IntExpr *const var2, ExprExprExpressionType type) const =0< / div > < div class = "ttdoc" > Expr Expr Expressions.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVar_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVar.html" > operations_research::SequenceVar< / a > < / div > < div class = "ttdoc" > A sequence variable is a variable whose domain is a set of possible orderings of the interval variabl...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04459" > constraint_solver.h:4459< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_ae49f9857049e5ebbb368b49c5a62afea" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#ae49f9857049e5ebbb368b49c5a62afea" > operations_research::ModelParser::VisitIntervalArrayArgument< / a > < / div > < div class = "ttdeci" > void VisitIntervalArrayArgument(const std::string & arg_name, const std::vector< IntervalVar * > & arguments) override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_a970b194bb0e12ae42db1f1b3ca7ba43e" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#a970b194bb0e12ae42db1f1b3ca7ba43e" > operations_research::SearchLog::NoMoreSolutions< / a > < / div > < div class = "ttdeci" > void NoMoreSolutions() override< / div > < div class = "ttdoc" > When the search tree is finished.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html" > operations_research::IntVarLocalSearchOperator< / a > < / div > < div class = "ttdoc" > Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01032" > constraint_solveri.h:1032< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchHandler_html_a435bcee164693eb36224c1a35c0dcf0a" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a435bcee164693eb36224c1a35c0dcf0a" > operations_research::SequenceVarLocalSearchHandler::ValueFromAssignment< / a > < / div > < div class = "ttdeci" > bool ValueFromAssignment(const Assignment & assignment, SequenceVar *var, int64 index, std::vector< int > *value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01217" > constraint_solveri.h:1217< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_a7a0cad593e63d53f505bb7da17fcd1d4" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#a7a0cad593e63d53f505bb7da17fcd1d4" > operations_research::RevPartialSequence::RankLast< / a > < / div > < div class = "ttdeci" > void RankLast(Solver *const solver, int elt)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02691" > constraint_solveri.h:2691< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod3_html_a7d00aec69640287b4cab7b6006796450" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod3.html#a7d00aec69640287b4cab7b6006796450" > operations_research::CallMethod3::~CallMethod3< / a > < / div > < div class = "ttdeci" > ~CallMethod3() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00631" > constraint_solveri.h:631< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a3c1880784b2c7a39516d9ec78a3655c9" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a3c1880784b2c7a39516d9ec78a3655c9" > operations_research::ModelParser::BeginVisitIntegerExpression< / a > < / div > < div class = "ttdeci" > void BeginVisitIntegerExpression(const std::string & type_name, const IntExpr *const expr) override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SmallRevBitSet_html_a10f96ee4f96f0d767b98ad59ede66e37" > < div class = "ttname" > < a href = "classoperations__research_1_1SmallRevBitSet.html#a10f96ee4f96f0d767b98ad59ede66e37" > operations_research::SmallRevBitSet::SetToZero< / a > < / div > < div class = "ttdeci" > void SetToZero(Solver *const solver, int64 pos)< / div > < div class = "ttdoc" > Erases the 'pos' bit.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_af01b564d198a62cfbd499b92aa493630" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#af01b564d198a62cfbd499b92aa493630" > operations_research::RevBitSet::SetToZero< / a > < / div > < div class = "ttdeci" > void SetToZero(Solver *const solver, int64 index)< / div > < div class = "ttdoc" > Erases the 'index' bit.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_aabafb6d8996f5101db26b30efff406b0" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#aabafb6d8996f5101db26b30efff406b0" > operations_research::VarLocalSearchOperator::ApplyChanges< / a > < / div > < div class = "ttdeci" > bool ApplyChanges(Assignment *delta, Assignment *deltadelta) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00871" > constraint_solveri.h:871< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_aee05ad8a7a9613f9282d78f76a28d5d7" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#aee05ad8a7a9613f9282d78f76a28d5d7" > operations_research::BooleanVar::MakeDomainIterator< / a > < / div > < div class = "ttdeci" > IntVarIterator * MakeDomainIterator(bool reversible) const override< / div > < div class = "ttdoc" > Creates a domain iterator.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a89466464156a79137613fd23ce224fb3" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a89466464156a79137613fd23ce224fb3" > operations_research::PropagationMonitor::SetValue< / a > < / div > < div class = "ttdeci" > virtual void SetValue(IntVar *const var, int64 value)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a7b62af3db29eeb312e3cb06f7bb331ce" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a7b62af3db29eeb312e3cb06f7bb331ce" > operations_research::VarLocalSearchOperator::assignment_indices_< / a > < / div > < div class = "ttdeci" > std::vector< int > assignment_indices_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00941" > constraint_solveri.h:941< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevSwitch_html_a52e986be86c35c4a5fd860e4e9c0f855" > < div class = "ttname" > < a href = "classoperations__research_1_1RevSwitch.html#a52e986be86c35c4a5fd860e4e9c0f855" > operations_research::RevSwitch::RevSwitch< / a > < / div > < div class = "ttdeci" > RevSwitch()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00398" > constraint_solveri.h:398< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2a00e6c449ab034942ac313f8b48643f4b" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a00e6c449ab034942ac313f8b48643f4b" > operations_research::BOOLEAN_VAR< / a > < / div > < div class = "ttdeci" > @ BOOLEAN_VAR< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00126" > constraint_solveri.h:126< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVar_html" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVar.html" > operations_research::IntVar< / a > < / div > < div class = "ttdoc" > The class IntVar is a subset of IntExpr.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03949" > constraint_solver.h:3949< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a752100eca408efb4a9392f16f21f9cf7" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a752100eca408efb4a9392f16f21f9cf7" > operations_research::PathOperator::BaseAlternative< / a > < / div > < div class = "ttdeci" > int BaseAlternative(int i) const< / div > < div class = "ttdoc" > Returns the alternative for the ith base node.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01383" > constraint_solveri.h:1383< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1AssignmentContainer_html_a4beccbd8819d830e06223550b8ca6d10" > < div class = "ttname" > < a href = "classoperations__research_1_1AssignmentContainer.html#a4beccbd8819d830e06223550b8ca6d10" > operations_research::AssignmentContainer::Contains< / a > < / div > < div class = "ttdeci" > bool Contains(const V *const var) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04835" > constraint_solver.h:4835< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a7d4345afe8b6013c483417a074add896" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a7d4345afe8b6013c483417a074add896" > operations_research::VarLocalSearchOperator::MarkChange< / a > < / div > < div class = "ttdeci" > void MarkChange(int64 index)< / div > < div class = "ttdoc" > OnStart() should really be protected, but then SWIG doesn't see it.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00932" > constraint_solveri.h:932< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_ade0f309c001b408cf7fe2a5b3c672640" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#ade0f309c001b408cf7fe2a5b3c672640" > operations_research::VarLocalSearchOperator::was_activated_< / a > < / div > < div class = "ttdeci" > Bitset64 was_activated_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00943" > constraint_solveri.h:943< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilter_html_a683280a81651f9073086324eb6d0cee9" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilter.html#a683280a81651f9073086324eb6d0cee9" > operations_research::LocalSearchFilter::Relax< / a > < / div > < div class = "ttdeci" > virtual void Relax(const Assignment *delta, const Assignment *deltadelta)< / div > < div class = "ttdoc" > Lets the filter know what delta and deltadelta will be passed in the next Accept().< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01728" > constraint_solveri.h:1728< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationBaseObject_html_a6a119daa8b83c3aaffdb6e11fac1f97e" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e" > operations_research::PropagationBaseObject::name< / a > < / div > < div class = "ttdeci" > virtual std::string name() const< / div > < div class = "ttdoc" > Object naming.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_a0aee6f5d9448e52ed735f92e581f2a3f" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a0aee6f5d9448e52ed735f92e581f2a3f" > operations_research::IntVarLocalSearchFilter::OnSynchronize< / a > < / div > < div class = "ttdeci" > virtual void OnSynchronize(const Assignment *delta)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01824" > constraint_solveri.h:1824< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_ab623545d529769c2f4d67651b0de26cb" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#ab623545d529769c2f4d67651b0de26cb" > operations_research::UnsortedNullableRevBitset::bit_size< / a > < / div > < div class = "ttdeci" > int64 bit_size() const< / div > < div class = "ttdoc" > Returns the number of bits given in the constructor of the bitset.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02793" > constraint_solveri.h:2793< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_ad87534052c4433fa0227c7b5cd8e3aed" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#ad87534052c4433fa0227c7b5cd8e3aed" > operations_research::BooleanVar::IsDifferent< / a > < / div > < div class = "ttdeci" > IntVar * IsDifferent(int64 constant) override< / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a82110ba1f45aa29ffc933102880dbd82" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a82110ba1f45aa29ffc933102880dbd82" > operations_research::MakeDelayedConstraintDemon0< / a > < / div > < div class = "ttdeci" > Demon * MakeDelayedConstraintDemon0(Solver *const s, T *const ct, void(T::*method)(), const std::string & name)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00695" > constraint_solveri.h:695< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_aa4c2b5fb22216b02024b4e6f42603483" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#aa4c2b5fb22216b02024b4e6f42603483" > operations_research::LocalSearchMonitor::BeginAcceptNeighbor< / a > < / div > < div class = "ttdeci" > virtual void BeginAcceptNeighbor(const LocalSearchOperator *op)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1Assignment_html_ae7e79ac5cad1bf2d1960f5f3c18bc575" > < div class = "ttname" > < a href = "classoperations__research_1_1Assignment.html#ae7e79ac5cad1bf2d1960f5f3c18bc575" > operations_research::Assignment::FastAdd< / a > < / div > < div class = "ttdeci" > IntVarElement * FastAdd(IntVar *const var)< / div > < div class = "ttdoc" > Adds without checking if variable has been previously added.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Decision_html" > < div class = "ttname" > < a href = "classoperations__research_1_1Decision.html" > operations_research::Decision< / a > < / div > < div class = "ttdoc" > A Decision represents a choice point in the search tree.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03180" > constraint_solver.h:3180< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ArrayWithOffset_html" > < div class = "ttname" > < a href = "classoperations__research_1_1ArrayWithOffset.html" > operations_research::ArrayWithOffset< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02411" > constraint_solveri.h:2411< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchOperator_html" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchOperator.html" > operations_research::LocalSearchOperator< / a > < / div > < div class = "ttdoc" > The base class for all local search operators.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00805" > constraint_solveri.h:805< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a7de0ef55201c1fd80ff988a533ed4094" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a7de0ef55201c1fd80ff988a533ed4094" > operations_research::PropagationMonitor::RemoveValues< / a > < / div > < div class = "ttdeci" > virtual void RemoveValues(IntVar *const var, const std::vector< int64 > & values)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_ad0c622b7f274388822c9f35659a56542" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#ad0c622b7f274388822c9f35659a56542" > operations_research::IntVarLocalSearchFilter::AddVars< / a > < / div > < div class = "ttdeci" > void AddVars(const std::vector< IntVar * > & vars)< / div > < div class = "ttdoc" > Add variables to " track" to the filter.< / div > < / div >
< div class = "ttc" id = "aconstraint__solver_8h_html" > < div class = "ttname" > < a href = "constraint__solver_8h.html" > constraint_solver.h< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082ca2624a11505d47fde01544da38ecbefce" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca2624a11505d47fde01544da38ecbefce" > operations_research::ModelCache::EXPR_CONSTANT_PROD< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_PROD< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02115" > constraint_solveri.h:2115< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVar_html_acca41811e8aaab0112b987749c0ecb93" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVar.html#acca41811e8aaab0112b987749c0ecb93" > operations_research::IntVar::index< / a > < / div > < div class = "ttdeci" > int index() const< / div > < div class = "ttdoc" > Returns the index of the variable.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04043" > constraint_solver.h:4043< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a12527c82ffc8b31c5d8dc836c366d624" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a12527c82ffc8b31c5d8dc836c366d624" > operations_research::IsArrayConstant< / a > < / div > < div class = "ttdeci" > bool IsArrayConstant(const std::vector< T > & values, const T & value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02810" > constraint_solveri.h:2810< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a6525132991e9140755b271a1cf43fee7" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a6525132991e9140755b271a1cf43fee7" > operations_research::VarLocalSearchOperator::delta_changes_< / a > < / div > < div class = "ttdeci" > SparseBitset delta_changes_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00945" > constraint_solveri.h:945< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a62cdf71c82db7a35316a145167e8864f" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a62cdf71c82db7a35316a145167e8864f" > operations_research::ModelCache::VarConstantConstantConstraintType< / a > < / div > < div class = "ttdeci" > VarConstantConstantConstraintType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02071" > constraint_solveri.h:2071< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a3d434774c07815a25ffaa7adb343c19e" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a3d434774c07815a25ffaa7adb343c19e" > operations_research::IsIncreasing< / a > < / div > < div class = "ttdeci" > bool IsIncreasing(const std::vector< T > & values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02890" > constraint_solveri.h:2890< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a36e70c572bdec688f16496ea06c39ee5" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a36e70c572bdec688f16496ea06c39ee5" > operations_research::BooleanVar::WhenBound< / a > < / div > < div class = "ttdeci" > void WhenBound(Demon *d) override< / div > < div class = "ttdoc" > This method attaches a demon that will be awakened when the variable is bound.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod0_html_aec224aa9286a227b83c6867011006249" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod0.html#aec224aa9286a227b83c6867011006249" > operations_research::DelayedCallMethod0::DelayedCallMethod0< / a > < / div > < div class = "ttdeci" > DelayedCallMethod0(T *const ct, void(T::*method)(), const std::string & name)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00672" > constraint_solveri.h:672< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod1_html_ac863f0fdd6a476ca003c99f58f14e623" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod1.html#ac863f0fdd6a476ca003c99f58f14e623" > operations_research::DelayedCallMethod1::Run< / a > < / div > < div class = "ttdeci" > void Run(Solver *const s) override< / div > < div class = "ttdoc" > This is the main callback of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00711" > constraint_solveri.h:711< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_a73895ddf1e732b9d3fa365f05977c8a6" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#a73895ddf1e732b9d3fa365f05977c8a6" > operations_research::SearchLog::BeginInitialPropagation< / a > < / div > < div class = "ttdeci" > void BeginInitialPropagation() override< / div > < div class = "ttdoc" > Before the initial propagation.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_aad621560f01a4aed04f01cc6d97e897f" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#aad621560f01a4aed04f01cc6d97e897f" > operations_research::VarLocalSearchOperator::VarLocalSearchOperator< / a > < / div > < div class = "ttdeci" > VarLocalSearchOperator(Handler var_handler)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00824" > constraint_solveri.h:824< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1Rev_html_affc0b3b0a5efa3efc9d0d86344d4a29f" > < div class = "ttname" > < a href = "classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f" > operations_research::Rev::Value< / a > < / div > < div class = "ttdeci" > const T & Value() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03691" > constraint_solver.h:3691< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod1_html_a0a34701cff1b1ac2fabd11e27c7cebc9" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod1.html#a0a34701cff1b1ac2fabd11e27c7cebc9" > operations_research::DelayedCallMethod1::priority< / a > < / div > < div class = "ttdeci" > Solver::DemonPriority priority() const override< / div > < div class = "ttdoc" > This method returns the priority of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00713" > constraint_solveri.h:713< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitMatrix_html_a182f97b966e14b0ba4898bfa5a820f46" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitMatrix.html#a182f97b966e14b0ba4898bfa5a820f46" > operations_research::RevBitMatrix::GetFirstBit< / a > < / div > < div class = "ttdeci" > int64 GetFirstBit(int row, int start) const< / div > < div class = "ttdoc" > Returns the first bit in the row 'row' which position is > = 'start'.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1NumericalRev_html" > < div class = "ttname" > < a href = "classoperations__research_1_1NumericalRev.html" > operations_research::NumericalRev< int > < / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2ac84956f1086e3f828921e0b3d51d806b" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2ac84956f1086e3f828921e0b3d51d806b" > operations_research::CONST_VAR< / a > < / div > < div class = "ttdeci" > @ CONST_VAR< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00127" > constraint_solveri.h:127< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchOperator_html_a2030c5ed835cf4196e8cab0033a6d7bd" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchOperator.html#a2030c5ed835cf4196e8cab0033a6d7bd" > operations_research::LocalSearchOperator::Self< / a > < / div > < div class = "ttdeci" > virtual const LocalSearchOperator * Self() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00813" > constraint_solveri.h:813< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevImmutableMultiMap_html_abdfc0716a485fde5b997f58b1c4c822e" > < div class = "ttname" > < a href = "classoperations__research_1_1RevImmutableMultiMap.html#abdfc0716a485fde5b997f58b1c4c822e" > operations_research::RevImmutableMultiMap::FindWithDefault< / a > < / div > < div class = "ttdeci" > const V & FindWithDefault(const K & key, const V & default_value) const< / div > < div class = "ttdoc" > Returns one value attached to 'key', or 'default_value' if 'key' is not in the multi-map.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00318" > constraint_solveri.h:318< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082c" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082c" > operations_research::ModelCache::ExprConstantExpressionType< / a > < / div > < div class = "ttdeci" > ExprConstantExpressionType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02112" > constraint_solveri.h:2112< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_html_a374c7d46981794e6b107b12a0f3b4dea" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO.html#a374c7d46981794e6b107b12a0f3b4dea" > operations_research::SimpleRevFIFO::SetLastValue< / a > < / div > < div class = "ttdeci" > void SetLastValue(const T & v)< / div > < div class = "ttdoc" > Sets the last value in the FIFO.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00210" > constraint_solveri.h:210< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a26084244a10aa8370e8d8a165fd9c80e" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a26084244a10aa8370e8d8a165fd9c80e" > operations_research::BooleanVar::RestoreValue< / a > < / div > < div class = "ttdeci" > virtual void RestoreValue()=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_af3824a2c47ee3213ab462c66b2acb161" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#af3824a2c47ee3213ab462c66b2acb161" > operations_research::PathOperator::GetActiveInAlternativeSet< / a > < / div > < div class = "ttdeci" > int64 GetActiveInAlternativeSet(int alternative_index) const< / div > < div class = "ttdoc" > Returns the active node in the given alternative set.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01536" > constraint_solveri.h:1536< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_abcb5ea97dd20da34d28e62a1ab2fda27" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#abcb5ea97dd20da34d28e62a1ab2fda27" > operations_research::SearchLog::SearchLog< / a > < / div > < div class = "ttdeci" > SearchLog(Solver *const s, OptimizeVar *const obj, IntVar *const var, double scaling_factor, double offset, std::function< std::string()> display_callback, int period)< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchOperator_html_a961b92f2e04c4add084d339bf13d721c" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a961b92f2e04c4add084d339bf13d721c" > operations_research::SequenceVarLocalSearchOperator::SetBackwardSequence< / a > < / div > < div class = "ttdeci" > void SetBackwardSequence(int64 index, const std::vector< int > & value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01180" > constraint_solveri.h:1180< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a987edd3387b9dcce349d4990099b8473" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a987edd3387b9dcce349d4990099b8473" > operations_research::ModelCache::FindExprExprConstraint< / a > < / div > < div class = "ttdeci" > virtual Constraint * FindExprExprConstraint(IntExpr *const expr1, IntExpr *const expr2, ExprExprConstraintType type) const =0< / div > < div class = "ttdoc" > Expr Expr Constraints.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a124f2992de28f11a185072ba4df5441b" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b" > operations_research::PathOperator::BaseNode< / a > < / div > < div class = "ttdeci" > int64 BaseNode(int i) const< / div > < div class = "ttdoc" > Returns the ith base node of the operator.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01381" > constraint_solveri.h:1381< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod2_html_a48ef3b8afff6d3904fcbe52d8c65ccb8" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod2.html#a48ef3b8afff6d3904fcbe52d8c65ccb8" > operations_research::DelayedCallMethod2::~DelayedCallMethod2< / a > < / div > < div class = "ttdeci" > ~DelayedCallMethod2() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00749" > constraint_solveri.h:749< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_ab5cdbd28861473d6d91fca5daf897c25" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#ab5cdbd28861473d6d91fca5daf897c25" > operations_research::BooleanVar::RemoveValue< / a > < / div > < div class = "ttdeci" > void RemoveValue(int64 v) override< / div > < div class = "ttdoc" > This method removes the value 'v' from the domain of the variable.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::SearchLog::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a61caffe27afd7d6e0c94f1907f1b3b53" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a61caffe27afd7d6e0c94f1907f1b3b53" > operations_research::PathOperator::path_starts< / a > < / div > < div class = "ttdeci" > const std::vector< int64 > & path_starts() const< / div > < div class = "ttdoc" > Returns the vector of path start nodes.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01409" > constraint_solveri.h:1409< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_aea53f675489ce7c73044deb01a9f3f18" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#aea53f675489ce7c73044deb01a9f3f18" > operations_research::PathOperator::CheckChainValidity< / a > < / div > < div class = "ttdeci" > bool CheckChainValidity(int64 before_chain, int64 chain_end, int64 exclude) const< / div > < div class = "ttdoc" > Returns true if the chain is a valid path without cycles from before_chain to chain_end and does not ...< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchVariable_html_a5fa627799e723b650fe562b05e1fef5f" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchVariable.html#a5fa627799e723b650fe562b05e1fef5f" > operations_research::LocalSearchVariable::Max< / a > < / div > < div class = "ttdeci" > int64 Max() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01687" > constraint_solveri.h:1687< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevBitMatrix_html_a0bb9da6620214b68c1f9bdf92e07acb8" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitMatrix.html#a0bb9da6620214b68c1f9bdf92e07acb8" > operations_research::RevBitMatrix::IsSet< / a > < / div > < div class = "ttdeci" > bool IsSet(int64 row, int64 column) const< / div > < div class = "ttdoc" > Returns whether the 'column' bit in the 'row' row is set.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00480" > constraint_solveri.h:480< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a19776f5960140d46380ae9837cf9e6dca938ad10f0b6ca42fa856e245042ac6df" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dca938ad10f0b6ca42fa856e245042ac6df" > operations_research::ModelCache::EXPR_ABS< / a > < / div > < div class = "ttdeci" > @ EXPR_ABS< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02088" > constraint_solveri.h:2088< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchHandler_html_ac6d5de79258efe091b780b51ed3e79de" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#ac6d5de79258efe091b780b51ed3e79de" > operations_research::SequenceVarLocalSearchHandler::AddToAssignment< / a > < / div > < div class = "ttdeci" > void AddToAssignment(SequenceVar *var, const std::vector< int > & value, bool active, std::vector< int > *assignment_indices, int64 index, Assignment *assignment) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01191" > constraint_solveri.h:1191< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a20bd97b94750decd053b6677dc5a86c7" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a20bd97b94750decd053b6677dc5a86c7" > operations_research::ArgumentHolder::FindIntegerArgumentWithDefault< / a > < / div > < div class = "ttdeci" > int64 FindIntegerArgumentWithDefault(const std::string & arg_name, int64 def) const< / div > < div class = "ttdoc" > Getters.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_adb9e7eb51aef8d63ea81e193d92c034e" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#adb9e7eb51aef8d63ea81e193d92c034e" > operations_research::UnsortedNullableRevBitset::Init< / a > < / div > < div class = "ttdeci" > void Init(Solver *const solver, const std::vector< uint64 > & mask)< / div > < div class = "ttdoc" > This methods overwrites the active bitset with the mask.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Rev_html_a95da6a138a3b56de0cf0c3c4ba7c4688" > < div class = "ttname" > < a href = "classoperations__research_1_1Rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688" > operations_research::Rev::SetValue< / a > < / div > < div class = "ttdeci" > void SetValue(Solver *const s, const T & val)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03693" > constraint_solver.h:3693< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchOperator_html_afd2da9c60c12a80c7963535f02e68f7b" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#afd2da9c60c12a80c7963535f02e68f7b" > operations_research::SequenceVarLocalSearchOperator::SequenceVarLocalSearchOperator< / a > < / div > < div class = "ttdeci" > SequenceVarLocalSearchOperator()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01164" > constraint_solveri.h:1164< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ab10f10ec98142e6fa7b0da4046473e44" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ab10f10ec98142e6fa7b0da4046473e44" > operations_research::ModelCache::ExprExprConstantExpressionType< / a > < / div > < div class = "ttdeci" > ExprExprConstantExpressionType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02107" > constraint_solveri.h:2107< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilter_html_a014f20f582a46468dff392fcf77aa55c" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilter.html#a014f20f582a46468dff392fcf77aa55c" > operations_research::LocalSearchFilter::Synchronize< / a > < / div > < div class = "ttdeci" > virtual void Synchronize(const Assignment *assignment, const Assignment *delta)=0< / div > < div class = "ttdoc" > Synchronizes the filter with the current solution, delta being the difference with the solution passe...< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2af2d15b703802d6a1f8f402f90de90dc6" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2af2d15b703802d6a1f8f402f90de90dc6" > operations_research::TRACE_VAR< / a > < / div > < div class = "ttdeci" > @ TRACE_VAR< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00132" > constraint_solveri.h:132< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afea822c97af1334ca445a0fd46dfd16c40b" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea822c97af1334ca445a0fd46dfd16c40b" > operations_research::ModelCache::EXPR_EXPR_IS_LESS_OR_EQUAL< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_IS_LESS_OR_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02101" > constraint_solveri.h:2101< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a71db241bc64be612a4080eb897d97d1b" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a71db241bc64be612a4080eb897d97d1b" > operations_research::PathOperator::~PathOperator< / a > < / div > < div class = "ttdeci" > ~PathOperator() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01343" > constraint_solveri.h:1343< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html" > operations_research::ModelCache< / a > < / div > < div class = "ttdoc" > Implements a complete cache for model elements: expressions and constraints.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02055" > constraint_solveri.h:2055< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_a3e194990f98b0ed598211613c8e03639" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a3e194990f98b0ed598211613c8e03639" > operations_research::UnsortedNullableRevBitset::RevSubtract< / a > < / div > < div class = "ttdeci" > bool RevSubtract(Solver *const solver, const std::vector< uint64 > & mask)< / div > < div class = "ttdoc" > This method subtracts the mask from the active bitset.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1AssignmentElement_html_ae8753efaeea05f65094a4875a694a368" > < div class = "ttname" > < a href = "classoperations__research_1_1AssignmentElement.html#ae8753efaeea05f65094a4875a694a368" > operations_research::AssignmentElement::Activate< / a > < / div > < div class = "ttdeci" > void Activate()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04554" > constraint_solver.h:4554< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a8a58bcdd2aba971801f05e87d76fa5cb" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a8a58bcdd2aba971801f05e87d76fa5cb" > operations_research::ModelParser::ModelParser< / a > < / div > < div class = "ttdeci" > ModelParser()< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a2927789ebec43905a29b90c96ab5b562aaa84708a3b17d21e2b5d8b7ad6e57ca8" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562aaa84708a3b17d21e2b5d8b7ad6e57ca8" > operations_research::ModelCache::VAR_CONSTANT_CONSTRAINT_MAX< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_CONSTRAINT_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02068" > constraint_solveri.h:2068< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod3_html_ac863f0fdd6a476ca003c99f58f14e623" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod3.html#ac863f0fdd6a476ca003c99f58f14e623" > operations_research::CallMethod3::Run< / a > < / div > < div class = "ttdeci" > void Run(Solver *const s) override< / div > < div class = "ttdoc" > This is the main callback of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00633" > constraint_solveri.h:633< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BaseIntExpr_html_a36d71f28bff7448b6490fe4720ab2fe0" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseIntExpr.html#a36d71f28bff7448b6490fe4720ab2fe0" > operations_research::BaseIntExpr::Var< / a > < / div > < div class = "ttdeci" > IntVar * Var() override< / div > < div class = "ttdoc" > Creates a variable from the expression.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a89d5f8fc282ff8c48a02102a8a5e4bbba00529f006ffc58e55baff50d140fe076" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba00529f006ffc58e55baff50d140fe076" > operations_research::ModelCache::EXPR_EXPR_GREATER< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_GREATER< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02078" > constraint_solveri.h:2078< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a15f08cfbb35e2b8b1eb76f79caea924a" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a15f08cfbb35e2b8b1eb76f79caea924a" > operations_research::AreAllLessOrEqual< / a > < / div > < div class = "ttdeci" > bool AreAllLessOrEqual(const std::vector< T > & values, const T & value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02850" > constraint_solveri.h:2850< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a9d45fd5e85e1163227c887c8c31a952b" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a9d45fd5e85e1163227c887c8c31a952b" > operations_research::PropagationMonitor::SetRange< / a > < / div > < div class = "ttdeci" > virtual void SetRange(IntExpr *const expr, int64 new_min, int64 new_max)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afeaa2b501c71087e59e0dea1906ffaabe63" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afeaa2b501c71087e59e0dea1906ffaabe63" > operations_research::ModelCache::EXPR_EXPR_IS_NOT_EQUAL< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_IS_NOT_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02103" > constraint_solveri.h:2103< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_ada4fcd5422c5fca5f165fc108b9613d9" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#ada4fcd5422c5fca5f165fc108b9613d9" > operations_research::BooleanVar::SetMin< / a > < / div > < div class = "ttdeci" > void SetMin(int64 m) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a11b8ad366b686132736854e7029e7bff" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a11b8ad366b686132736854e7029e7bff" > operations_research::PathOperator::PathClass< / a > < / div > < div class = "ttdeci" > int PathClass(int i) const< / div > < div class = "ttdoc" > Returns the class of the path of the ith base node.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01411" > constraint_solveri.h:1411< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_a625550edd889d6c9a3b73db329d52a72" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a625550edd889d6c9a3b73db329d52a72" > operations_research::IntVarLocalSearchFilter::Synchronize< / a > < / div > < div class = "ttdeci" > void Synchronize(const Assignment *assignment, const Assignment *delta) override< / div > < div class = "ttdoc" > This method should not be overridden.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a19776f5960140d46380ae9837cf9e6dcaf0a641235b7399f2cda0137af80db8e0" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dcaf0a641235b7399f2cda0137af80db8e0" > operations_research::ModelCache::EXPR_SQUARE< / a > < / div > < div class = "ttdeci" > @ EXPR_SQUARE< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02089" > constraint_solveri.h:2089< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a0398df73722b0a777674f8300b61e640a11c6746b747caede5558051e9be71506" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640a11c6746b747caede5558051e9be71506" > operations_research::ModelCache::VOID_CONSTRAINT_MAX< / a > < / div > < div class = "ttdeci" > @ VOID_CONSTRAINT_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02060" > constraint_solveri.h:2060< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ad923ebf6ee257bfa55c4fc34b7b5503b" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503b" > operations_research::ModelCache::VarArrayExpressionType< / a > < / div > < div class = "ttdeci" > VarArrayExpressionType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02140" > constraint_solveri.h:2140< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a49d298ca856113967a788fd68522d51f" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a49d298ca856113967a788fd68522d51f" > operations_research::ArgumentHolder::SetIntegerArrayArgument< / a > < / div > < div class = "ttdeci" > void SetIntegerArrayArgument(const std::string & arg_name, const std::vector< int64 > & values)< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::LocalSearchMonitor::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01904" > constraint_solveri.h:1904< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_acd9deaa1cb8f53d22e39a1f58b478739" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#acd9deaa1cb8f53d22e39a1f58b478739" > operations_research::VarLocalSearchOperator::VarLocalSearchOperator< / a > < / div > < div class = "ttdeci" > VarLocalSearchOperator()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00823" > constraint_solveri.h:823< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a10ae14d6daad9088377260420952f814" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a10ae14d6daad9088377260420952f814" > operations_research::PathOperator::MakeNeighbor< / a > < / div > < div class = "ttdeci" > virtual bool MakeNeighbor()=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a2927789ebec43905a29b90c96ab5b562a718e173e0eeb62d78a44b80843fcd211" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562a718e173e0eeb62d78a44b80843fcd211" > operations_research::ModelCache::VAR_CONSTANT_GREATER_OR_EQUAL< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_GREATER_OR_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02065" > constraint_solveri.h:2065< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a54470bffc3ea32cc37d0222e5dbb62a6" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a54470bffc3ea32cc37d0222e5dbb62a6" > operations_research::AreAllBoundOrNull< / a > < / div > < div class = "ttdeci" > bool AreAllBoundOrNull(const std::vector< IntVar * > & vars, const std::vector< T > & values)< / div > < div class = "ttdoc" > Returns true if all the variables are assigned to a single value, or if their corresponding value is ...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02926" > constraint_solveri.h:2926< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ac106cfd79f1bb991a7778a31bd3f4217" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ac106cfd79f1bb991a7778a31bd3f4217" > operations_research::PropagationMonitor::SetStartMax< / a > < / div > < div class = "ttdeci" > virtual void SetStartMax(IntervalVar *const var, int64 new_max)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a7052db06e52147df4cf973a3d75d50aa" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a7052db06e52147df4cf973a3d75d50aa" > operations_research::ModelCache::InsertVarArrayConstantExpression< / a > < / div > < div class = "ttdeci" > virtual void InsertVarArrayConstantExpression(IntExpr *const expression, const std::vector< IntVar * > & var, int64 value, VarArrayConstantExpressionType type)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod2_html" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod2.html" > operations_research::CallMethod2< / a > < / div > < div class = "ttdoc" > Demon proxy to a method on the constraint with two arguments.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00580" > constraint_solveri.h:580< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082ca584d2f751a1fdf032c86f07bcf4e24fe" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca584d2f751a1fdf032c86f07bcf4e24fe" > operations_research::ModelCache::EXPR_CONSTANT_IS_NOT_EQUAL< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_IS_NOT_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02120" > constraint_solveri.h:2120< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "anamespaceoperations__research_html_aad4e1b406f0e56c83283747b038df88a" > < div class = "ttname" > < a href = "namespaceoperations__research.html#aad4e1b406f0e56c83283747b038df88a" > operations_research::ToInt64Vector< / a > < / div > < div class = "ttdeci" > std::vector< int64 > ToInt64Vector(const std::vector< int > & input)< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_ae94f333127d093281b44be431c78162c" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#ae94f333127d093281b44be431c78162c" > operations_research::RevPartialSequence::RevPartialSequence< / a > < / div > < div class = "ttdeci" > RevPartialSequence(const std::vector< int > & items)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02645" > constraint_solveri.h:2645< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a3f64ad753c103735db788aef651906f1" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a3f64ad753c103735db788aef651906f1" > operations_research::ModelParser::BeginVisitConstraint< / a > < / div > < div class = "ttdeci" > void BeginVisitConstraint(const std::string & type_name, const Constraint *const constraint) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_aef31aec3dd445e21c9c17af4e907ea54" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#aef31aec3dd445e21c9c17af4e907ea54" > operations_research::BooleanVar::Max< / a > < / div > < div class = "ttdeci" > int64 Max() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01937" > constraint_solveri.h:1937< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_aefbda701e490cd2b4955c6120c2949a9" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#aefbda701e490cd2b4955c6120c2949a9" > operations_research::BooleanVar::Size< / a > < / div > < div class = "ttdeci" > uint64 Size() const override< / div > < div class = "ttdoc" > This method returns the number of values in the domain of the variable.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ChangeValue_html_a8f2f83ea0ee3b4bc3ed98fcb0a1d8f94" > < div class = "ttname" > < a href = "classoperations__research_1_1ChangeValue.html#a8f2f83ea0ee3b4bc3ed98fcb0a1d8f94" > operations_research::ChangeValue::ModifyValue< / a > < / div > < div class = "ttdeci" > virtual int64 ModifyValue(int64 index, int64 value)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_a16202f709ab06d78dcae8db3ff21fd9c" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#a16202f709ab06d78dcae8db3ff21fd9c" > operations_research::RevBitSet::IsCardinalityOne< / a > < / div > < div class = "ttdeci" > bool IsCardinalityOne() const< / div > < div class = "ttdoc" > Does it contains only one bit set?< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a89d5f8fc282ff8c48a02102a8a5e4bbba7719059f68742eeec43445553767ad62" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba7719059f68742eeec43445553767ad62" > operations_research::ModelCache::EXPR_EXPR_GREATER_OR_EQUAL< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_GREATER_OR_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02079" > constraint_solveri.h:2079< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_a746e04d5a132730494b2bc1832326058" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a746e04d5a132730494b2bc1832326058" > operations_research::UnsortedNullableRevBitset::word_size< / a > < / div > < div class = "ttdeci" > int64 word_size() const< / div > < div class = "ttdoc" > Returns the number of 64 bit words used to store the bitset.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02795" > constraint_solveri.h:2795< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a3ad305236a82068e5c6860729570e73f" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a3ad305236a82068e5c6860729570e73f" > operations_research::ModelParser::VisitIntervalVariable< / a > < / div > < div class = "ttdeci" > void VisitIntervalVariable(const IntervalVar *const variable, const std::string & operation, int64 value, IntervalVar *const delegate) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a38b76e1e3a147226d4981b05e4ec2c55" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a38b76e1e3a147226d4981b05e4ec2c55" > operations_research::PathOperator::RestartAtPathStartOnSynchronize< / a > < / div > < div class = "ttdeci" > virtual bool RestartAtPathStartOnSynchronize()< / div > < div class = "ttdoc" > When the operator is being synchronized with a new solution (when Start() is called),...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01424" > constraint_solveri.h:1424< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchHandler_html" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchHandler.html" > operations_research::IntVarLocalSearchHandler< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00953" > constraint_solveri.h:953< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevImmutableMultiMap_html_a6053bb9c0d664074153ddfd9c7cd2598" > < div class = "ttname" > < a href = "classoperations__research_1_1RevImmutableMultiMap.html#a6053bb9c0d664074153ddfd9c7cd2598" > operations_research::RevImmutableMultiMap::~RevImmutableMultiMap< / a > < / div > < div class = "ttdeci" > ~RevImmutableMultiMap()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00298" > constraint_solveri.h:298< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_ad502b08bb4d69dfbaf025415310b8da8" > < div class = "ttname" > < a href = "namespaceoperations__research.html#ad502b08bb4d69dfbaf025415310b8da8" > operations_research::SequenceVarLocalSearchOperatorTemplate< / a > < / div > < div class = "ttdeci" > VarLocalSearchOperator< SequenceVar, std::vector< int > , SequenceVarLocalSearchHandler > SequenceVarLocalSearchOperatorTemplate< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01159" > constraint_solveri.h:1159< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BaseLns_html_a3de0e8f828ff8c805575512db8e89c75" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseLns.html#a3de0e8f828ff8c805575512db8e89c75" > operations_research::BaseLns::NextFragment< / a > < / div > < div class = "ttdeci" > virtual bool NextFragment()=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchHandler_html_a97b236691225d7209706cf03fc455dc9" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a97b236691225d7209706cf03fc455dc9" > operations_research::SequenceVarLocalSearchHandler::OnAddVars< / a > < / div > < div class = "ttdeci" > void OnAddVars()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01240" > constraint_solveri.h:1240< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_ad974141af84ca9a2f52c9079d7db3126" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#ad974141af84ca9a2f52c9079d7db3126" > operations_research::ModelParser::EndVisitIntegerExpression< / a > < / div > < div class = "ttdeci" > void EndVisitIntegerExpression(const std::string & type_name, const IntExpr *const expr) override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchOperator_html_aabe1b807361b63e2f00ba8256542a818" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchOperator.html#aabe1b807361b63e2f00ba8256542a818" > operations_research::LocalSearchOperator::LocalSearchOperator< / a > < / div > < div class = "ttdeci" > LocalSearchOperator()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00807" > constraint_solveri.h:807< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a18eb329b669c6a2e4e2431ea950b52fe" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a18eb329b669c6a2e4e2431ea950b52fe" > operations_research::VarLocalSearchOperator::SkipUnchanged< / a > < / div > < div class = "ttdeci" > virtual bool SkipUnchanged(int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00856" > constraint_solveri.h:856< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1AssignmentElement_html_ae79195ce9bb522329dfaedaba78bd4e2" > < div class = "ttname" > < a href = "classoperations__research_1_1AssignmentElement.html#ae79195ce9bb522329dfaedaba78bd4e2" > operations_research::AssignmentElement::Activated< / a > < / div > < div class = "ttdeci" > bool Activated() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04556" > constraint_solver.h:4556< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevImmutableMultiMap_html_a8f6b848968f58150836b9fba3dea4aef" > < div class = "ttname" > < a href = "classoperations__research_1_1RevImmutableMultiMap.html#a8f6b848968f58150836b9fba3dea4aef" > operations_research::RevImmutableMultiMap::ContainsKey< / a > < / div > < div class = "ttdeci" > bool ContainsKey(const K & key) const< / div > < div class = "ttdoc" > Returns true if the multi-map contains at least one instance of 'key'.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00303" > constraint_solveri.h:303< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchOperator_html_ae8505ab0739cf0b585de5844f7a6703c" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchOperator.html#ae8505ab0739cf0b585de5844f7a6703c" > operations_research::LocalSearchOperator::Start< / a > < / div > < div class = "ttdeci" > virtual void Start(const Assignment *assignment)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ArrayWithOffset_html_a870f2606e0817dca379eefaa666b4f13" > < div class = "ttname" > < a href = "classoperations__research_1_1ArrayWithOffset.html#a870f2606e0817dca379eefaa666b4f13" > operations_research::ArrayWithOffset::Evaluate< / a > < / div > < div class = "ttdeci" > virtual T Evaluate(int64 index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02422" > constraint_solveri.h:2422< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a9ffdefbb2872bb54b8370ee590576812" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a9ffdefbb2872bb54b8370ee590576812" > operations_research::PathOperator::AddAlternativeSet< / a > < / div > < div class = "ttdeci" > int AddAlternativeSet(const std::vector< int64 > & alternative_set)< / div > < div class = "ttdoc" > Handling node alternatives.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01512" > constraint_solveri.h:1512< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afea2a6687577892c792edccf2585adfaa3a" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea2a6687577892c792edccf2585adfaa3a" > operations_research::ModelCache::EXPR_EXPR_SUM< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_SUM< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02099" > constraint_solveri.h:2099< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ChangeValue_html_a24154d3958d686ddef877d6511dbf002" > < div class = "ttname" > < a href = "classoperations__research_1_1ChangeValue.html#a24154d3958d686ddef877d6511dbf002" > operations_research::ChangeValue::ChangeValue< / a > < / div > < div class = "ttdeci" > ChangeValue(const std::vector< IntVar * > & vars)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod0_html" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod0.html" > operations_research::DelayedCallMethod0< / a > < / div > < div class = "ttdoc" > Low-priority demon proxy to a method on the constraint with no arguments.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00670" > constraint_solveri.h:670< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchOperator_html_a9288959c9052582be99babec1f808b6f" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a9288959c9052582be99babec1f808b6f" > operations_research::SequenceVarLocalSearchOperator::backward_values_< / a > < / div > < div class = "ttdeci" > std::vector< std::vector< int > > backward_values_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01188" > constraint_solveri.h:1188< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a75322f62fb4d3c731035035f7d6aa3a4" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a75322f62fb4d3c731035035f7d6aa3a4" > operations_research::PathOperator::SetNext< / a > < / div > < div class = "ttdeci" > void SetNext(int64 from, int64 to, int64 path)< / div > < div class = "ttdoc" > Sets 'to' to be the node after 'from' on the given path.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01479" > constraint_solveri.h:1479< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a89d5f8fc282ff8c48a02102a8a5e4bbba73108bc15aaa22c430bba712b73ce920" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba73108bc15aaa22c430bba712b73ce920" > operations_research::ModelCache::EXPR_EXPR_NON_EQUALITY< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_NON_EQUALITY< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02082" > constraint_solveri.h:2082< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_aa3e9be9f07862e3f2704cb028866ab81" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#aa3e9be9f07862e3f2704cb028866ab81" > operations_research::PropagationMonitor::SetPerformed< / a > < / div > < div class = "ttdeci" > virtual void SetPerformed(IntervalVar *const var, bool value)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Assignment_html_a11963e86e6bc074096264e96ccd5c755" > < div class = "ttname" > < a href = "classoperations__research_1_1Assignment.html#a11963e86e6bc074096264e96ccd5c755" > operations_research::Assignment::MutableIntVarContainer< / a > < / div > < div class = "ttdeci" > IntContainer * MutableIntVarContainer()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l05101" > constraint_solver.h:5101< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1Assignment_html_aa71d36872f416feaa853788a7a7a7ef8" > < div class = "ttname" > < a href = "classoperations__research_1_1Assignment.html#aa71d36872f416feaa853788a7a7a7ef8" > operations_research::Assignment::Clear< / a > < / div > < div class = "ttdeci" > void Clear()< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchOperator_html_a1b0063f805d92ed061848616d08f4664" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchOperator.html#a1b0063f805d92ed061848616d08f4664" > operations_research::LocalSearchOperator::HasFragments< / a > < / div > < div class = "ttdeci" > virtual bool HasFragments() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00815" > constraint_solveri.h:815< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a4fb750da00c784e5ffd1763fd3ce88f7" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a4fb750da00c784e5ffd1763fd3ce88f7" > operations_research::MakeConstraintDemon1< / a > < / div > < div class = "ttdeci" > Demon * MakeConstraintDemon1(Solver *const s, T *const ct, void(T::*method)(P), const std::string & name, P param1)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00573" > constraint_solveri.h:573< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchOperator_html_a4c4ba0ffe635d14b93794268bd8e5995" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchOperator.html#a4c4ba0ffe635d14b93794268bd8e5995" > operations_research::LocalSearchOperator::Reset< / a > < / div > < div class = "ttdeci" > virtual void Reset()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00811" > constraint_solveri.h:811< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevArray_html" > < div class = "ttname" > < a href = "classoperations__research_1_1RevArray.html" > operations_research::RevArray< uint64 > < / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchOperator_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html" > operations_research::SequenceVarLocalSearchOperator< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01161" > constraint_solveri.h:1161< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a133d6644c8ea52f45e657b4c268e0cbf" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a133d6644c8ea52f45e657b4c268e0cbf" > operations_research::PropagationMonitor::RankLast< / a > < / div > < div class = "ttdeci" > virtual void RankLast(SequenceVar *const var, int index)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_aa421f0ee067cc5ff7db9d37a352f8914" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#aa421f0ee067cc5ff7db9d37a352f8914" > operations_research::ModelCache::InsertVarArrayConstantArrayExpression< / a > < / div > < div class = "ttdeci" > virtual void InsertVarArrayConstantArrayExpression(IntExpr *const expression, const std::vector< IntVar * > & var, const std::vector< int64 > & values, VarArrayConstantArrayExpressionType type)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a9dc6b5dd524a344be68d49dfe713445b" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a9dc6b5dd524a344be68d49dfe713445b" > operations_research::RevIntSet::RevIntSet< / a > < / div > < div class = "ttdeci" > RevIntSet(int capacity, int *shared_positions, int shared_positions_size)< / div > < div class = "ttdoc" > Capacity is the fixed size of the set (it cannot grow).< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02548" > constraint_solveri.h:2548< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082caedb98a92897e798947ee87fd50b1d471" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082caedb98a92897e798947ee87fd50b1d471" > operations_research::ModelCache::EXPR_CONSTANT_DIFFERENCE< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_DIFFERENCE< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02113" > constraint_solveri.h:2113< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntExpr_html" > < div class = "ttname" > < a href = "classoperations__research_1_1IntExpr.html" > operations_research::IntExpr< / a > < / div > < div class = "ttdoc" > The class IntExpr is the base of all integer expressions in constraint programming.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03788" > constraint_solver.h:3788< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html" > operations_research::PropagationMonitor< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01835" > constraint_solveri.h:1835< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a70c1ff674f3da38bc07626c496f34af9" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a70c1ff674f3da38bc07626c496f34af9" > operations_research::PropagationMonitor::PushContext< / a > < / div > < div class = "ttdeci" > virtual void PushContext(const std::string & context)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchHandler_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html" > operations_research::SequenceVarLocalSearchHandler< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01124" > constraint_solveri.h:1124< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ac9d41c75de01039a11af9b5d3cecc37f" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ac9d41c75de01039a11af9b5d3cecc37f" > operations_research::PathOperator::GetSiblingAlternativeIndex< / a > < / div > < div class = "ttdeci" > int GetSiblingAlternativeIndex(int node) const< / div > < div class = "ttdoc" > Returns the index of the alternative set of the sibling of node.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01546" > constraint_solveri.h:1546< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html_aa9d1112ec8418e1679ae4785c3862ffd" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html#aa9d1112ec8418e1679ae4785c3862ffd" > operations_research::IntVarLocalSearchOperator::IntVarLocalSearchOperator< / a > < / div > < div class = "ttdeci" > IntVarLocalSearchOperator()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01035" > constraint_solveri.h:1035< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_af82f4acaed7bb39d568e689a9caa63d5" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#af82f4acaed7bb39d568e689a9caa63d5" > operations_research::PathOperator::Reset< / a > < / div > < div class = "ttdeci" > void Reset() override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_a4d07aaa3fe401d52e938c2f8f7f2e26f" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#a4d07aaa3fe401d52e938c2f8f7f2e26f" > operations_research::SearchLog::ExitSearch< / a > < / div > < div class = "ttdeci" > void ExitSearch() override< / div > < div class = "ttdoc" > End of the search.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_a24926108b770033792d015cb86aeffb3" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a24926108b770033792d015cb86aeffb3" > operations_research::IntVarLocalSearchFilter::Size< / a > < / div > < div class = "ttdeci" > int Size() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01815" > constraint_solveri.h:1815< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a1b78055ab0a6c85164f57e4268965eda" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a1b78055ab0a6c85164f57e4268965eda" > operations_research::BooleanVar::RemoveInterval< / a > < / div > < div class = "ttdeci" > void RemoveInterval(int64 l, int64 u) override< / div > < div class = "ttdoc" > This method removes the interval 'l' .< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod1_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod1.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::DelayedCallMethod1::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00717" > constraint_solveri.h:717< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html" > operations_research::LocalSearchMonitor< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01899" > constraint_solveri.h:1899< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082ca7e3958cb3825bdf7a05631d79debb738" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca7e3958cb3825bdf7a05631d79debb738" > operations_research::ModelCache::EXPR_CONSTANT_MIN< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_MIN< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02117" > constraint_solveri.h:2117< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchVariable_html_ae52e3ea7ba54fa164737b531605b3802" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchVariable.html#ae52e3ea7ba54fa164737b531605b3802" > operations_research::LocalSearchVariable::Relax< / a > < / div > < div class = "ttdeci" > void Relax()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01694" > constraint_solveri.h:1694< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BaseIntExpr_html_a1040963d944bb74b3f2cbfb4f03a89d0" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseIntExpr.html#a1040963d944bb74b3f2cbfb4f03a89d0" > operations_research::BaseIntExpr::BaseIntExpr< / a > < / div > < div class = "ttdeci" > BaseIntExpr(Solver *const s)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00111" > constraint_solveri.h:111< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a19776f5960140d46380ae9837cf9e6dca37081d4ec3d290e733b8346bed09bd2f" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dca37081d4ec3d290e733b8346bed09bd2f" > operations_research::ModelCache::EXPR_EXPRESSION_MAX< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPRESSION_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02090" > constraint_solveri.h:2090< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_aa80c2b78ad60b5811b9fdeb8fab32c71" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#aa80c2b78ad60b5811b9fdeb8fab32c71" > operations_research::LocalSearchMonitor::BeginFiltering< / a > < / div > < div class = "ttdeci" > virtual void BeginFiltering(const LocalSearchFilter *filter)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchHandler_html_a313406fc0b0f1f176d75edbde9899961" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a313406fc0b0f1f176d75edbde9899961" > operations_research::SequenceVarLocalSearchHandler::SequenceVarLocalSearchHandler< / a > < / div > < div class = "ttdeci" > SequenceVarLocalSearchHandler()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01126" > constraint_solveri.h:1126< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_afce7de594ac758357d23d1e4b087ebf0" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#afce7de594ac758357d23d1e4b087ebf0" > operations_research::PathOperator::MoveChain< / a > < / div > < div class = "ttdeci" > bool MoveChain(int64 before_chain, int64 chain_end, int64 destination)< / div > < div class = "ttdoc" > Moves the chain starting after the node before_chain and ending at the node chain_end after the node ...< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelVisitor_html" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelVisitor.html" > operations_research::ModelVisitor< / a > < / div > < div class = "ttdoc" > Model visitor.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03286" > constraint_solver.h:3286< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchHandler_html_aea490de1b21312306e2045627bca3a52" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchHandler.html#aea490de1b21312306e2045627bca3a52" > operations_research::IntVarLocalSearchHandler::AddToAssignment< / a > < / div > < div class = "ttdeci" > void AddToAssignment(IntVar *var, int64 value, bool active, std::vector< int > *assignment_indices, int64 index, Assignment *assignment) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00959" > constraint_solveri.h:959< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchMonitor_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchMonitor.html" > operations_research::SearchMonitor< / a > < / div > < div class = "ttdoc" > A search monitor is a simple set of callbacks to monitor all search events.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03587" > constraint_solver.h:3587< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_ac1575c67c67687efdd5159442637e6ff" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#ac1575c67c67687efdd5159442637e6ff" > operations_research::BooleanVar::value_< / a > < / div > < div class = "ttdeci" > int value_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01968" > constraint_solveri.h:1968< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_ab4113a41c7dc6fc23bdede336faccd54" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#ab4113a41c7dc6fc23bdede336faccd54" > operations_research::ArgumentHolder::SetIntegerArgument< / a > < / div > < div class = "ttdeci" > void SetIntegerArgument(const std::string & arg_name, int64 value)< / div > < div class = "ttdoc" > Setters.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_ace705075d1b47c62aa622a912c14626c" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#ace705075d1b47c62aa622a912c14626c" > operations_research::RevIntSet::Remove< / a > < / div > < div class = "ttdeci" > void Remove(Solver *const solver, const T & value_index)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02590" > constraint_solveri.h:2590< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilterManager_html_a511cf14b54c83cffc0a673985db90643" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilterManager.html#a511cf14b54c83cffc0a673985db90643" > operations_research::LocalSearchFilterManager::Accept< / a > < / div > < div class = "ttdeci" > bool Accept(const Assignment *delta, const Assignment *deltadelta, int64 objective_min, int64 objective_max) override< / div > < div class = "ttdoc" > Returns true iff all filters return true, and the sum of their accepted objectives is between objecti...< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_ae105423091c231e0fd3ba3288c11d725" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#ae105423091c231e0fd3ba3288c11d725" > operations_research::RevPartialSequence::operator[]< / a > < / div > < div class = "ttdeci" > const int & operator[](int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02678" > constraint_solveri.h:2678< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_afebe362561fbf18889fd8a1b29be1032" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#afebe362561fbf18889fd8a1b29be1032" > operations_research::ModelCache::InsertExprExprConstraint< / a > < / div > < div class = "ttdeci" > virtual void InsertExprExprConstraint(Constraint *const ct, IntExpr *const expr1, IntExpr *const expr2, ExprExprConstraintType type)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a89d5f8fc282ff8c48a02102a8a5e4bbba8af11a728083c50e0be546619201563b" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba8af11a728083c50e0be546619201563b" > operations_research::ModelCache::EXPR_EXPR_CONSTRAINT_MAX< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_CONSTRAINT_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02083" > constraint_solveri.h:2083< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_a32d7d75eadfb9b0f532f9bed4d864274" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a32d7d75eadfb9b0f532f9bed4d864274" > operations_research::IntVarLocalSearchFilter::~IntVarLocalSearchFilter< / a > < / div > < div class = "ttdeci" > ~IntVarLocalSearchFilter() override< / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a64cf3e1336ec61275bdd2ae853d38406" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a64cf3e1336ec61275bdd2ae853d38406" > operations_research::Hash1< / a > < / div > < div class = "ttdeci" > uint64 Hash1(uint64 value)< / div > < div class = "ttdoc" > Hash functions.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00222" > constraint_solveri.h:222< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_ae8ac172436c62100ddbd16a7422e1501" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#ae8ac172436c62100ddbd16a7422e1501" > operations_research::ModelParser::Top< / a > < / div > < div class = "ttdeci" > ArgumentHolder * Top() const< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ad8c078366ae8c668ccaa369f2f539a08" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ad8c078366ae8c668ccaa369f2f539a08" > operations_research::PropagationMonitor::EndProcessingIntegerVariable< / a > < / div > < div class = "ttdeci" > virtual void EndProcessingIntegerVariable(IntVar *const var)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SymmetryBreaker_html_a8b67673be317fa2e6d2edc998e160f65" > < div class = "ttname" > < a href = "classoperations__research_1_1SymmetryBreaker.html#a8b67673be317fa2e6d2edc998e160f65" > operations_research::SymmetryBreaker::AddIntegerVariableLessOrEqualValueClause< / a > < / div > < div class = "ttdeci" > void AddIntegerVariableLessOrEqualValueClause(IntVar *const var, int64 value)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_html_ac75dccd75215a324b2add603b8631ed5" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO.html#ac75dccd75215a324b2add603b8631ed5" > operations_research::SimpleRevFIFO::Push< / a > < / div > < div class = "ttdeci" > void Push(Solver *const s, T val)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00177" > constraint_solveri.h:177< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a255540efe5286aa6e55bf46894cc10f5" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a255540efe5286aa6e55bf46894cc10f5" > operations_research::PathOperator::IsPathEnd< / a > < / div > < div class = "ttdeci" > bool IsPathEnd(int64 node) const< / div > < div class = "ttdoc" > Returns true if node is the last node on the path; defined by the fact that node is outside the range...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01491" > constraint_solveri.h:1491< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_acdce7f3ee437589e2a3741e55c29fcda" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#acdce7f3ee437589e2a3741e55c29fcda" > operations_research::LocalSearchMonitor::LocalSearchMonitor< / a > < / div > < div class = "ttdeci" > LocalSearchMonitor(Solver *const solver)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod0_html_ac863f0fdd6a476ca003c99f58f14e623" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod0.html#ac863f0fdd6a476ca003c99f58f14e623" > operations_research::CallMethod0::Run< / a > < / div > < div class = "ttdeci" > void Run(Solver *const s) override< / div > < div class = "ttdoc" > This is the main callback of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00519" > constraint_solveri.h:519< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ArrayWithOffset_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1ArrayWithOffset.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::ArrayWithOffset::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02434" > constraint_solveri.h:2434< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_aff9b327f2a97858ac30a718bba4029c0" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#aff9b327f2a97858ac30a718bba4029c0" > operations_research::VarLocalSearchOperator::Activated< / a > < / div > < div class = "ttdeci" > bool Activated(int64 index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00862" > constraint_solveri.h:862< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevSwitch_html" > < div class = "ttname" > < a href = "classoperations__research_1_1RevSwitch.html" > operations_research::RevSwitch< / a > < / div > < div class = "ttdoc" > A reversible switch that can switch once from false to true.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00396" > constraint_solveri.h:396< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a7b4113fc166c4b735fb82edafc49ae0a" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a7b4113fc166c4b735fb82edafc49ae0a" > operations_research::ArgumentHolder::FindIntegerExpressionArgumentOrDie< / a > < / div > < div class = "ttdeci" > IntExpr * FindIntegerExpressionArgumentOrDie(const std::string & arg_name) const< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a35de616bef50b1661e3133761f7260e1" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a35de616bef50b1661e3133761f7260e1" > operations_research::VarLocalSearchOperator::HoldsDelta< / a > < / div > < div class = "ttdeci" > bool HoldsDelta() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00830" > constraint_solveri.h:830< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_a8351829c324863ddda52e201df4f9f84" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a8351829c324863ddda52e201df4f9f84" > operations_research::AreAllStrictlyNegative< / a > < / div > < div class = "ttdeci" > bool AreAllStrictlyNegative(const std::vector< T > & values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02875" > constraint_solveri.h:2875< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_ae23e57e443be817e98c18896384f5f8f" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#ae23e57e443be817e98c18896384f5f8f" > operations_research::ArgumentHolder::HasIntegerExpressionArgument< / a > < / div > < div class = "ttdeci" > bool HasIntegerExpressionArgument(const std::string & arg_name) const< / div > < div class = "ttdoc" > Checks if arguments exist.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_adfe2c499f99ed814dbdd8e75db63ae3e" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#adfe2c499f99ed814dbdd8e75db63ae3e" > operations_research::PathOperator::MakeChainInactive< / a > < / div > < div class = "ttdeci" > bool MakeChainInactive(int64 before_chain, int64 chain_end)< / div > < div class = "ttdoc" > Makes the nodes on the chain starting after before_chain and ending at chain_end inactive.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilterManager_html_a42a9a358f47fdd86829e3a51636d9333" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilterManager.html#a42a9a358f47fdd86829e3a51636d9333" > operations_research::LocalSearchFilterManager::GetSynchronizedObjectiveValue< / a > < / div > < div class = "ttdeci" > int64 GetSynchronizedObjectiveValue() const override< / div > < div class = "ttdoc" > Objective value from last time Synchronize() was called.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01781" > constraint_solveri.h:1781< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a96d44fa3defc89fe5e0fc0eafaf32714" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a96d44fa3defc89fe5e0fc0eafaf32714" > operations_research::VarLocalSearchOperator::cleared_< / a > < / div > < div class = "ttdeci" > bool cleared_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00946" > constraint_solveri.h:946< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_abbab4c9580ab21b8dbd7af67ab35f393" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#abbab4c9580ab21b8dbd7af67ab35f393" > operations_research::IntVarLocalSearchFilter::Var< / a > < / div > < div class = "ttdeci" > IntVar * Var(int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01816" > constraint_solveri.h:1816< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a29305669b60ca1680752e2fc3592ba99" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a29305669b60ca1680752e2fc3592ba99" > operations_research::RevIntSet::begin< / a > < / div > < div class = "ttdeci" > const_iterator begin() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02604" > constraint_solveri.h:2604< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_ad2da2d3058005bae8dcd6bc37fa1244b" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#ad2da2d3058005bae8dcd6bc37fa1244b" > operations_research::BooleanVar::bound_demons_< / a > < / div > < div class = "ttdeci" > SimpleRevFIFO< Demon * > bound_demons_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01969" > constraint_solveri.h:1969< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a2927789ebec43905a29b90c96ab5b562" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562" > operations_research::ModelCache::VarConstantConstraintType< / a > < / div > < div class = "ttdeci" > VarConstantConstraintType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02063" > constraint_solveri.h:2063< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SmallRevBitSet_html_adbdb4f27d7b7ebf378af2ce76cb615f9" > < div class = "ttname" > < a href = "classoperations__research_1_1SmallRevBitSet.html#adbdb4f27d7b7ebf378af2ce76cb615f9" > operations_research::SmallRevBitSet::Cardinality< / a > < / div > < div class = "ttdeci" > int64 Cardinality() const< / div > < div class = "ttdoc" > Returns the number of bits set to one.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchVariable_html_a81a5fd8e696cd98bcbe29d1831655782" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchVariable.html#a81a5fd8e696cd98bcbe29d1831655782" > operations_research::LocalSearchVariable::SetMax< / a > < / div > < div class = "ttdeci" > bool SetMax(int64 new_max)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01691" > constraint_solveri.h:1691< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevGrowingArray_html_a934a61e5cce7cdb174f519d2965b9ee7" > < div class = "ttname" > < a href = "classoperations__research_1_1RevGrowingArray.html#a934a61e5cce7cdb174f519d2965b9ee7" > operations_research::RevGrowingArray::RevInsert< / a > < / div > < div class = "ttdeci" > void RevInsert(Solver *const solver, int64 index, T value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02471" > constraint_solveri.h:2471< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilterManager_html_a625550edd889d6c9a3b73db329d52a72" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilterManager.html#a625550edd889d6c9a3b73db329d52a72" > operations_research::LocalSearchFilterManager::Synchronize< / a > < / div > < div class = "ttdeci" > void Synchronize(const Assignment *assignment, const Assignment *delta) override< / div > < div class = "ttdoc" > Synchronizes all filters to assignment.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a89d5f8fc282ff8c48a02102a8a5e4bbba11b9278b1a71f063cc20e8bb79846b68" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbba11b9278b1a71f063cc20e8bb79846b68" > operations_research::ModelCache::EXPR_EXPR_LESS< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_LESS< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02080" > constraint_solveri.h:2080< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a30b66de2cb748b3f64b51da3855cbeac" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a30b66de2cb748b3f64b51da3855cbeac" > operations_research::ModelCache::InsertExprConstantExpression< / a > < / div > < div class = "ttdeci" > virtual void InsertExprConstantExpression(IntExpr *const expression, IntExpr *const var, int64 value, ExprConstantExpressionType type)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SmallRevBitSet_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SmallRevBitSet.html" > operations_research::SmallRevBitSet< / a > < / div > < div class = "ttdoc" > This class represents a small reversible bitset (size < = 64).< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00410" > constraint_solveri.h:410< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a8beb998a68abceb71f87d3bc8a35bd78" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a8beb998a68abceb71f87d3bc8a35bd78" > operations_research::VarLocalSearchOperator::Var< / a > < / div > < div class = "ttdeci" > V * Var(int64 index) const< / div > < div class = "ttdoc" > Returns the variable of given index.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00855" > constraint_solveri.h:855< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a4aa5eab0485ae0ec6eac0a81e5d5b9bd" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a4aa5eab0485ae0ec6eac0a81e5d5b9bd" > operations_research::BooleanVar::WhenRange< / a > < / div > < div class = "ttdeci" > void WhenRange(Demon *d) override< / div > < div class = "ttdoc" > Attach a demon that will watch the min or the max of the expression.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01948" > constraint_solveri.h:1948< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ab8ed2ab487fb741c6b16e56f9b2366a7" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ab8ed2ab487fb741c6b16e56f9b2366a7" > operations_research::PropagationMonitor::SetMax< / a > < / div > < div class = "ttdeci" > virtual void SetMax(IntExpr *const expr, int64 new_max)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitMatrix_html_ac9a7485f2cd7c88fe11360a1411516b3" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitMatrix.html#ac9a7485f2cd7c88fe11360a1411516b3" > operations_research::RevBitMatrix::SetToZero< / a > < / div > < div class = "ttdeci" > void SetToZero(Solver *const solver, int64 row, int64 column)< / div > < div class = "ttdoc" > Erases the 'column' bit in the 'row' row.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_a3de09f9134b976e5ba64751ac0f4440b" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a3de09f9134b976e5ba64751ac0f4440b" > operations_research::AreAllStrictlyPositive< / a > < / div > < div class = "ttdeci" > bool AreAllStrictlyPositive(const std::vector< T > & values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02870" > constraint_solveri.h:2870< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilterManager_html_a08fb84b8b2eed337c28aee4e71d48eeb" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilterManager.html#a08fb84b8b2eed337c28aee4e71d48eeb" > operations_research::LocalSearchFilterManager::Revert< / a > < / div > < div class = "ttdeci" > void Revert() override< / div > < div class = "ttdoc" > Cancels the changes made by the last Relax()/Accept() calls.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SymmetryBreaker_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SymmetryBreaker.html" > operations_research::SymmetryBreaker< / a > < / div > < div class = "ttdoc" > A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in r...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01978" > constraint_solveri.h:1978< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a6e8312c7b6a02f813e345b99f98a8458" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a6e8312c7b6a02f813e345b99f98a8458" > operations_research::PropagationMonitor::RankSequence< / a > < / div > < div class = "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 >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a140876cd76c306a6c9dcd1c4b8b30cfc" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a140876cd76c306a6c9dcd1c4b8b30cfc" > operations_research::PropagationMonitor::SetEndMin< / a > < / div > < div class = "ttdeci" > virtual void SetEndMin(IntervalVar *const var, int64 new_min)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ChangeValue_html_ad14cde260686e5b4174e691675df3139" > < div class = "ttname" > < a href = "classoperations__research_1_1ChangeValue.html#ad14cde260686e5b4174e691675df3139" > operations_research::ChangeValue::MakeOneNeighbor< / a > < / div > < div class = "ttdeci" > bool MakeOneNeighbor() override< / div > < div class = "ttdoc" > This method should not be overridden. Override ModifyValue() instead.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_aebf766478091209b6170b5de179f9067" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#aebf766478091209b6170b5de179f9067" > operations_research::VarLocalSearchOperator::Activate< / a > < / div > < div class = "ttdeci" > void Activate(int64 index)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00863" > constraint_solveri.h:863< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_aa77ef61dbcadb2bd07159e46dd7555a6" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#aa77ef61dbcadb2bd07159e46dd7555a6" > operations_research::PropagationMonitor::StartProcessingIntegerVariable< / a > < / div > < div class = "ttdeci" > virtual void StartProcessingIntegerVariable(IntVar *const var)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod2_html_ac2fbc05e88a31bf2a1770247af178418" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod2.html#ac2fbc05e88a31bf2a1770247af178418" > operations_research::CallMethod2::~CallMethod2< / a > < / div > < div class = "ttdeci" > ~CallMethod2() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00590" > constraint_solveri.h:590< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_a35b82cf962b8485dfef3772acac93985" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#a35b82cf962b8485dfef3772acac93985" > operations_research::LocalSearchMonitor::BeginOperatorStart< / a > < / div > < div class = "ttdeci" > virtual void BeginOperatorStart()=0< / div > < div class = "ttdoc" > Local search operator events.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a3979c66b95f3836e8257f41924952a8c" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a3979c66b95f3836e8257f41924952a8c" > operations_research::PathOperator::OldPath< / a > < / div > < div class = "ttdeci" > int64 OldPath(int64 node) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01458" > constraint_solveri.h:1458< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1Constraint_html" > < div class = "ttname" > < a href = "classoperations__research_1_1Constraint.html" > operations_research::Constraint< / a > < / div > < div class = "ttdoc" > A constraint is the main modeling object.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03536" > constraint_solver.h:3536< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a42a5aa3f2ee24fc309c210e6dfc2b504" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a42a5aa3f2ee24fc309c210e6dfc2b504" > operations_research::ArgumentHolder::SetSequenceArgument< / a > < / div > < div class = "ttdeci" > void SetSequenceArgument(const std::string & arg_name, SequenceVar *const var)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ad83a663fb6c4b4656ce2b46aa5542ea8" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ad83a663fb6c4b4656ce2b46aa5542ea8" > operations_research::ModelCache::~ModelCache< / a > < / div > < div class = "ttdeci" > virtual ~ModelCache()< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_a0c955ff1b2eae2daece0f25f1e57fb16" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#a0c955ff1b2eae2daece0f25f1e57fb16" > operations_research::SearchLog::EnterSearch< / a > < / div > < div class = "ttdeci" > void EnterSearch() override< / div > < div class = "ttdoc" > Beginning of the search.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html" > operations_research::IntVarLocalSearchFilter< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01795" > constraint_solveri.h:1795< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_aa0decf38e47940df0bf389bd3e8ba173" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#aa0decf38e47940df0bf389bd3e8ba173" > operations_research::PathOperator::Prev< / a > < / div > < div class = "ttdeci" > int64 Prev(int64 node) const< / div > < div class = "ttdoc" > Returns the node before node in the current delta.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01357" > constraint_solveri.h:1357< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_afc36af1852ba6e2dbe650aa172e4c680" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#afc36af1852ba6e2dbe650aa172e4c680" > operations_research::SearchLog::AcceptUncheckedNeighbor< / a > < / div > < div class = "ttdeci" > void AcceptUncheckedNeighbor() override< / div > < div class = "ttdoc" > After accepting an unchecked neighbor during local search.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_ae4c7a8bfc6877606e512d3279549f44d" > < div class = "ttname" > < a href = "namespaceoperations__research.html#ae4c7a8bfc6877606e512d3279549f44d" > operations_research::AreAllBound< / a > < / div > < div class = "ttdeci" > bool AreAllBound(const std::vector< IntVar * > & vars)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02910" > constraint_solveri.h:2910< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a1bb214e54841e1ad694628030c30504f" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a1bb214e54841e1ad694628030c30504f" > operations_research::RevIntSet::const_iterator< / a > < / div > < div class = "ttdeci" > const typedef T * const_iterator< / div > < div class = "ttdoc" > Iterators on the indices.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02603" > constraint_solveri.h:2603< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1Assignment_html_a24926108b770033792d015cb86aeffb3" > < div class = "ttname" > < a href = "classoperations__research_1_1Assignment.html#a24926108b770033792d015cb86aeffb3" > operations_research::Assignment::Size< / a > < / div > < div class = "ttdeci" > int Size() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04966" > constraint_solver.h:4966< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_aa776d47ceec0ae7dceb9723a0fc82fb3" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#aa776d47ceec0ae7dceb9723a0fc82fb3" > operations_research::SearchLog::Maintain< / a > < / div > < div class = "ttdeci" > void Maintain()< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a493b4ae7f0d15ff8bd2e0a266aad3bdb" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a493b4ae7f0d15ff8bd2e0a266aad3bdb" > operations_research::ArgumentHolder::FindIntegerMatrixArgumentOrDie< / a > < / div > < div class = "ttdeci" > const IntTupleSet & FindIntegerMatrixArgumentOrDie(const std::string & arg_name) const< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html" > operations_research::BooleanVar< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01926" > constraint_solveri.h:1926< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_a26a014b275560d5f40a7fed763efc5b3" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#a26a014b275560d5f40a7fed763efc5b3" > operations_research::RevPartialSequence::NumLastRanked< / a > < / div > < div class = "ttdeci" > int NumLastRanked() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02673" > constraint_solveri.h:2673< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod2_html_a86921989576185a2ad25d64983e120a0" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod2.html#a86921989576185a2ad25d64983e120a0" > operations_research::CallMethod2::CallMethod2< / a > < / div > < div class = "ttdeci" > CallMethod2(T *const ct, void(T::*method)(P, Q), const std::string & name, P param1, Q param2)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00582" > constraint_solveri.h:582< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a19776f5960140d46380ae9837cf9e6dc" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a19776f5960140d46380ae9837cf9e6dc" > operations_research::ModelCache::ExprExpressionType< / a > < / div > < div class = "ttdeci" > ExprExpressionType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02086" > constraint_solveri.h:2086< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a0572abaa4524f2abfa7634123da83584" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a0572abaa4524f2abfa7634123da83584" > operations_research::BooleanVar::VarType< / a > < / div > < div class = "ttdeci" > int VarType() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01955" > constraint_solveri.h:1955< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a59c559422eae2739af255adb6c14cddba8d7d34d71353796802c476ea764ec7c7" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddba8d7d34d71353796802c476ea764ec7c7" > operations_research::ModelCache::VAR_ARRAY_CONSTANT_ARRAY_EXPRESSION_MAX< / a > < / div > < div class = "ttdeci" > @ VAR_ARRAY_CONSTANT_ARRAY_EXPRESSION_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02137" > constraint_solveri.h:2137< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a24926108b770033792d015cb86aeffb3" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a24926108b770033792d015cb86aeffb3" > operations_research::VarLocalSearchOperator::Size< / a > < / div > < div class = "ttdeci" > int Size() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00847" > constraint_solveri.h:847< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_adf2aea6c68fe502389c9264b971b2f85" > < div class = "ttname" > < a href = "namespaceoperations__research.html#adf2aea6c68fe502389c9264b971b2f85" > operations_research::IsArrayInRange< / a > < / div > < div class = "ttdeci" > bool IsArrayInRange(const std::vector< IntVar * > & vars, T range_min, T range_max)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02900" > constraint_solveri.h:2900< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a4b2fe4799ef453501f0fce00d59841a7" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a4b2fe4799ef453501f0fce00d59841a7" > operations_research::ArgumentHolder::SetIntegerExpressionArgument< / a > < / div > < div class = "ttdeci" > void SetIntegerExpressionArgument(const std::string & arg_name, IntExpr *const expr)< / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a85ea0ef5b46465c3793333ce9821f15f" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a85ea0ef5b46465c3793333ce9821f15f" > operations_research::MakeLocalSearchOperator< / a > < / div > < div class = "ttdeci" > LocalSearchOperator * MakeLocalSearchOperator(Solver *solver, const std::vector< IntVar * > & vars, const std::vector< IntVar * > & secondary_vars, std::function< int(int64)> start_empty_path_class)< / div > < div class = "ttdoc" > Operator Factories.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a7c8dcc8e0aeb903477ebdd3f2ecd6ed2" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a7c8dcc8e0aeb903477ebdd3f2ecd6ed2" > operations_research::PropagationMonitor::RemoveInterval< / a > < / div > < div class = "ttdeci" > virtual void RemoveInterval(IntVar *const var, int64 imin, int64 imax)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html" > operations_research::ArgumentHolder< / a > < / div > < div class = "ttdoc" > Argument Holder: useful when visiting a model.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02292" > constraint_solveri.h:2292< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_aa8627a7bbb2f34d6156b0fcd3d3abdc2" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2" > operations_research::VarLocalSearchOperator::var_handler_< / a > < / div > < div class = "ttdeci" > Handler var_handler_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00947" > constraint_solveri.h:947< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_aa18425baaba1c8387437547bc265ded0" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#aa18425baaba1c8387437547bc265ded0" > operations_research::ModelParser::VisitSequenceArgument< / a > < / div > < div class = "ttdeci" > void VisitSequenceArgument(const std::string & arg_name, SequenceVar *const argument) override< / div > < div class = "ttdoc" > Visit sequence argument.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilter_html" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilter.html" > operations_research::LocalSearchFilter< / a > < / div > < div class = "ttdoc" > Local Search Filters are used for fast neighbor pruning.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01724" > constraint_solveri.h:1724< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a24926108b770033792d015cb86aeffb3" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a24926108b770033792d015cb86aeffb3" > operations_research::RevIntSet::Size< / a > < / div > < div class = "ttdeci" > int Size() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02565" > constraint_solveri.h:2565< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2a0ae20d0967db3441a2b885e5074c4b36" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2a0ae20d0967db3441a2b885e5074c4b36" > operations_research::VAR_TIMES_CST< / a > < / div > < div class = "ttdeci" > @ VAR_TIMES_CST< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00129" > constraint_solveri.h:129< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "anamespaceoperations__research_html_abdca98f14c02e004ab5e19d2c3985667" > < div class = "ttname" > < a href = "namespaceoperations__research.html#abdca98f14c02e004ab5e19d2c3985667" > operations_research::MakeConstraintDemon3< / a > < / div > < div class = "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 > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00655" > constraint_solveri.h:655< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Solver_html_ab741cb25dd32d1cbe02fbfb36337d9bb" > < div class = "ttname" > < a href = "classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb" > operations_research::Solver::RevAlloc< / a > < / div > < div class = "ttdeci" > T * RevAlloc(T *object)< / div > < div class = "ttdoc" > Registers the given object as being reversible.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l00786" > constraint_solver.h:786< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod0_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod0.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::DelayedCallMethod0::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00683" > constraint_solveri.h:683< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_accb0b4e01f39be7d7d482c4a3797476caebf2a4cbf4f2f568990b8fa64d3d006c" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476caebf2a4cbf4f2f568990b8fa64d3d006c" > operations_research::ModelCache::VAR_ARRAY_CONSTANT_INDEX< / a > < / div > < div class = "ttdeci" > @ VAR_ARRAY_CONSTANT_INDEX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02148" > constraint_solveri.h:2148< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a2c928a4ff549033f6b44e423ec61b0d5" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a2c928a4ff549033f6b44e423ec61b0d5" > operations_research::PathOperator::SetNextBaseToIncrement< / a > < / div > < div class = "ttdeci" > virtual void SetNextBaseToIncrement(int64 base_index)< / div > < div class = "ttdoc" > Set the next base to increment on next iteration.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01441" > constraint_solveri.h:1441< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod1_html_abb048ab554f3f8a361593b483fd4098c" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod1.html#abb048ab554f3f8a361593b483fd4098c" > operations_research::CallMethod1::~CallMethod1< / a > < / div > < div class = "ttdeci" > ~CallMethod1() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00556" > constraint_solveri.h:556< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html" > operations_research::RevIntSet< / a > < / div > < div class = "ttdoc" > This is a special class to represent a 'residual' set of T.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02531" > constraint_solveri.h:2531< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchHandler_html_a90e39cd1015a0b4f34d89a7f38d638ed" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchHandler.html#a90e39cd1015a0b4f34d89a7f38d638ed" > operations_research::IntVarLocalSearchHandler::OnRevertChanges< / a > < / div > < div class = "ttdeci" > void OnRevertChanges(int64 index, int64 value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01114" > constraint_solveri.h:1114< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevBitMatrix_html_a63a067fb0685fdcdebca1872310ee08b" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitMatrix.html#a63a067fb0685fdcdebca1872310ee08b" > operations_research::RevBitMatrix::SetToOne< / a > < / div > < div class = "ttdeci" > void SetToOne(Solver *const solver, int64 row, int64 column)< / div > < div class = "ttdoc" > Sets the 'column' bit in the 'row' row.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_afa403c15d19d9dbce596fde6056b6b23" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#afa403c15d19d9dbce596fde6056b6b23" > operations_research::PropagationMonitor::SetEndRange< / a > < / div > < div class = "ttdeci" > virtual void SetEndRange(IntervalVar *const var, int64 new_min, int64 new_max)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a3062cf7eeb53d8cc4cc02e3359d27531" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a3062cf7eeb53d8cc4cc02e3359d27531" > operations_research::PathOperator::ConsiderAlternatives< / a > < / div > < div class = "ttdeci" > virtual bool ConsiderAlternatives(int64 base_index) const< / div > < div class = "ttdoc" > Indicates if alternatives should be considered when iterating over base nodes.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01446" > constraint_solveri.h:1446< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1Assignment_html_a30d2df8ab5db405440580f7db5ee4aaa" > < div class = "ttname" > < a href = "classoperations__research_1_1Assignment.html#a30d2df8ab5db405440580f7db5ee4aaa" > operations_research::Assignment::SequenceVarContainer< / a > < / div > < div class = "ttdeci" > const SequenceContainer & SequenceVarContainer() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l05108" > constraint_solver.h:5108< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarElement_html_a8cbdc12db98f8b18b519e06b5c687bc4" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarElement.html#a8cbdc12db98f8b18b519e06b5c687bc4" > operations_research::SequenceVarElement::Var< / a > < / div > < div class = "ttdeci" > SequenceVar * Var() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04733" > constraint_solver.h:4733< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchHandler_html_ace1ea078c1e7bcf68f0011bb0b53d220" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ace1ea078c1e7bcf68f0011bb0b53d220" > operations_research::IntVarLocalSearchHandler::ValueFromAssignment< / a > < / div > < div class = "ttdeci" > bool ValueFromAssignment(const Assignment & assignment, IntVar *var, int64 index, int64 *value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01097" > constraint_solveri.h:1097< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO.html" > operations_research::SimpleRevFIFO< / a > < / div > < div class = "ttdoc" > This class represent a reversible FIFO structure.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l00156" > constraint_solver.h:156< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevBitMatrix_html_ac4f70832be8ef45fb84c8170f17cc187" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitMatrix.html#ac4f70832be8ef45fb84c8170f17cc187" > operations_research::RevBitMatrix::ClearAll< / a > < / div > < div class = "ttdeci" > void ClearAll(Solver *const solver)< / div > < div class = "ttdoc" > Cleans all bits.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVar_html_a53616c71ad0a199caa949b8e32679b59" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVar.html#a53616c71ad0a199caa949b8e32679b59" > operations_research::SequenceVar::size< / a > < / div > < div class = "ttdeci" > int64 size() const< / div > < div class = "ttdoc" > Returns the number of interval vars in the sequence.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04535" > constraint_solver.h:4535< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SearchLog_html_a9af93e0c2f02218bf4e586dda448fabe" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchLog.html#a9af93e0c2f02218bf4e586dda448fabe" > operations_research::SearchLog::ApplyDecision< / a > < / div > < div class = "ttdeci" > void ApplyDecision(Decision *const decision) override< / div > < div class = "ttdoc" > Before applying the decision.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_aa5b31c976cc6734003d9950e731dfed3" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#aa5b31c976cc6734003d9950e731dfed3" > operations_research::ModelCache::Clear< / a > < / div > < div class = "ttdeci" > virtual void Clear()=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1BaseLns_html_a4c069642a869d9055609c7eac7078f8c" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseLns.html#a4c069642a869d9055609c7eac7078f8c" > operations_research::BaseLns::HasFragments< / a > < / div > < div class = "ttdeci" > bool HasFragments() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01279" > constraint_solveri.h:1279< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevBitMatrix_html" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitMatrix.html" > operations_research::RevBitMatrix< / a > < / div > < div class = "ttdoc" > Matrix version of the RevBitSet class.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00470" > constraint_solveri.h:470< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afeac6a4d05776624b8784e951aa964d00c5" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afeac6a4d05776624b8784e951aa964d00c5" > operations_research::ModelCache::EXPR_EXPR_MIN< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_MIN< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02098" > constraint_solveri.h:2098< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SmallRevBitSet_html_ad175c4019a4a927bec26eb8cd819d81e" > < div class = "ttname" > < a href = "classoperations__research_1_1SmallRevBitSet.html#ad175c4019a4a927bec26eb8cd819d81e" > operations_research::SmallRevBitSet::IsCardinalityZero< / a > < / div > < div class = "ttdeci" > bool IsCardinalityZero() const< / div > < div class = "ttdoc" > Is bitset null?< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00420" > constraint_solveri.h:420< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082ca32fea4f03bc3f8c30beed8277ad16a5a" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca32fea4f03bc3f8c30beed8277ad16a5a" > operations_research::ModelCache::EXPR_CONSTANT_IS_EQUAL< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_IS_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02119" > constraint_solveri.h:2119< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2aa876f4fb4e5f7f0c5c48fcf66c9ce7ce" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2aa876f4fb4e5f7f0c5c48fcf66c9ce7ce" > operations_research::UNSPECIFIED< / a > < / div > < div class = "ttdeci" > @ UNSPECIFIED< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00124" > constraint_solveri.h:124< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_aabea7c47076ac263e25acfd6d5398215" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#aabea7c47076ac263e25acfd6d5398215" > operations_research::ModelCache::FindVarConstantConstantExpression< / a > < / div > < div class = "ttdeci" > virtual IntExpr * FindVarConstantConstantExpression(IntVar *const var, int64 value1, int64 value2, VarConstantConstantExpressionType type) const =0< / div > < div class = "ttdoc" > Var Constant Constant Expressions.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchState_html_a88160424ed9e9ed9b891fafd45ec0218" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchState.html#a88160424ed9e9ed9b891fafd45ec0218" > operations_research::LocalSearchState::AddVariable< / a > < / div > < div class = "ttdeci" > LocalSearchVariable AddVariable(int64 initial_min, int64 initial_max)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a3119f68c1afc9c7260f5bfc9197565c4" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a3119f68c1afc9c7260f5bfc9197565c4" > operations_research::PropagationMonitor::SetValues< / a > < / div > < div class = "ttdeci" > virtual void SetValues(IntVar *const var, const std::vector< int64 > & values)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod3_html_a7faffef6c714afe185ea30a930bb6ff6" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod3.html#a7faffef6c714afe185ea30a930bb6ff6" > operations_research::CallMethod3::CallMethod3< / a > < / div > < div class = "ttdeci" > CallMethod3(T *const ct, void(T::*method)(P, Q, R), const std::string & name, P param1, Q param2, R param3)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00622" > constraint_solveri.h:622< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchState_html" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchState.html" > operations_research::LocalSearchState< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01651" > constraint_solveri.h:1651< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_a952da5a13f656543b8fc2dd0ada0ca3f" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#a952da5a13f656543b8fc2dd0ada0ca3f" > operations_research::RevPartialSequence::~RevPartialSequence< / a > < / div > < div class = "ttdeci" > ~RevPartialSequence()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02669" > constraint_solveri.h:2669< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html" > operations_research::UnsortedNullableRevBitset< / a > < / div > < div class = "ttdoc" > This class represents a reversible bitset.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02757" > constraint_solveri.h:2757< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a2927789ebec43905a29b90c96ab5b562a979b0779f36a80f62ac877520de47099" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562a979b0779f36a80f62ac877520de47099" > operations_research::ModelCache::VAR_CONSTANT_NON_EQUALITY< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_NON_EQUALITY< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02067" > constraint_solveri.h:2067< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a36d5c7ad0a75cbd69f946b916de9c2c2" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a36d5c7ad0a75cbd69f946b916de9c2c2" > operations_research::ModelCache::InsertVarConstantConstantConstraint< / a > < / div > < div class = "ttdeci" > virtual void InsertVarConstantConstantConstraint(Constraint *const ct, IntVar *const var, int64 value1, int64 value2, VarConstantConstantConstraintType type)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a127c860aa3b5024666f308c553edf2a5" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a127c860aa3b5024666f308c553edf2a5" > operations_research::PropagationMonitor::Install< / a > < / div > < div class = "ttdeci" > void Install() override< / div > < div class = "ttdoc" > Install itself on the solver.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Assignment_html" > < div class = "ttname" > < a href = "classoperations__research_1_1Assignment.html" > operations_research::Assignment< / a > < / div > < div class = "ttdoc" > An Assignment is a variable -> domains mapping, used to report solutions to the user.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04949" > constraint_solver.h:4949< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ae26dfd011491bccef90546bb225fca55" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ae26dfd011491bccef90546bb225fca55" > operations_research::PropagationMonitor::SetDurationMax< / a > < / div > < div class = "ttdeci" > virtual void SetDurationMax(IntervalVar *const var, int64 new_max)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarElement_html_abd09fe08f368306c986382df61a20c73" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarElement.html#abd09fe08f368306c986382df61a20c73" > operations_research::SequenceVarElement::SetForwardSequence< / a > < / div > < div class = "ttdeci" > void SetForwardSequence(const std::vector< int > & forward_sequence)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a245299f2a8af0c50699884c7af781ab0" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a245299f2a8af0c50699884c7af781ab0" > operations_research::BooleanVar::IsLessOrEqual< / a > < / div > < div class = "ttdeci" > IntVar * IsLessOrEqual(int64 constant) override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevSwitch_html_acd90006e99a15f7e9df2aee5cf46549c" > < div class = "ttname" > < a href = "classoperations__research_1_1RevSwitch.html#acd90006e99a15f7e9df2aee5cf46549c" > operations_research::RevSwitch::Switched< / a > < / div > < div class = "ttdeci" > bool Switched() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00400" > constraint_solveri.h:400< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a982fd365b4c61107855a3319e0991f21" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a982fd365b4c61107855a3319e0991f21" > operations_research::BooleanVar::SetRange< / a > < / div > < div class = "ttdeci" > void SetRange(int64 mi, int64 ma) override< / div > < div class = "ttdoc" > This method sets both the min and the max of the expression.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_af558025ad3b271ffb1b538ce5d20f1d6" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#af558025ad3b271ffb1b538ce5d20f1d6" > operations_research::ArgumentHolder::FindIntegerArgumentOrDie< / a > < / div > < div class = "ttdeci" > int64 FindIntegerArgumentOrDie(const std::string & arg_name) const< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_ae37167b9b5134bd482bc4e21d77b3f4b" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#ae37167b9b5134bd482bc4e21d77b3f4b" > operations_research::RevIntSet::Capacity< / a > < / div > < div class = "ttdeci" > int Capacity() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02567" > constraint_solveri.h:2567< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilterManager_html_a04f26b7c2a54ee541d1b4587d9e7ce0d" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilterManager.html#a04f26b7c2a54ee541d1b4587d9e7ce0d" > operations_research::LocalSearchFilterManager::Relax< / a > < / div > < div class = "ttdeci" > void Relax(const Assignment *delta, const Assignment *deltadelta) override< / div > < div class = "ttdoc" > Lets the filter know what delta and deltadelta will be passed in the next Accept().< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_abb722ca1750c9814d2d2fc5c9c2f1a11" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#abb722ca1750c9814d2d2fc5c9c2f1a11" > operations_research::PathOperator::IsPathStart< / a > < / div > < div class = "ttdeci" > bool IsPathStart(int64 node) const< / div > < div class = "ttdoc" > Returns true if node is the first node on the path.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01494" > constraint_solveri.h:1494< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_a16b6aa7d88fa401005be90a804a7ab10" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#a16b6aa7d88fa401005be90a804a7ab10" > operations_research::LocalSearchMonitor::EndAcceptNeighbor< / a > < / div > < div class = "ttdeci" > virtual void EndAcceptNeighbor(const LocalSearchOperator *op, bool neighbor_found)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_acd88718f3a65aad365c90d239b1a57bb" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#acd88718f3a65aad365c90d239b1a57bb" > operations_research::ModelCache::ModelCache< / a > < / div > < div class = "ttdeci" > ModelCache(Solver *const solver)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_adcd51c62ad7767220a2dab2f2363ceea" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#adcd51c62ad7767220a2dab2f2363ceea" > operations_research::ArgumentHolder::SetIntegerMatrixArgument< / a > < / div > < div class = "ttdeci" > void SetIntegerMatrixArgument(const std::string & arg_name, const IntTupleSet & values)< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_abcfbdba215d3b15fbb4b682969943a6e" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#abcfbdba215d3b15fbb4b682969943a6e" > operations_research::UnsortedNullableRevBitset::Empty< / a > < / div > < div class = "ttdeci" > bool Empty() const< / div > < div class = "ttdoc" > This method returns true if the active bitset is null.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02781" > constraint_solveri.h:2781< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a49376dec39378f502d09f8f001924f8b" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a49376dec39378f502d09f8f001924f8b" > operations_research::ModelParser::VisitIntegerExpressionArgument< / a > < / div > < div class = "ttdeci" > void VisitIntegerExpressionArgument(const std::string & arg_name, IntExpr *const argument) override< / div > < div class = "ttdoc" > Variables.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod2_html_ac863f0fdd6a476ca003c99f58f14e623" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod2.html#ac863f0fdd6a476ca003c99f58f14e623" > operations_research::CallMethod2::Run< / a > < / div > < div class = "ttdeci" > void Run(Solver *const s) override< / div > < div class = "ttdoc" > This is the main callback of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00592" > constraint_solveri.h:592< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a5e0c2033f8d819c623e8324bfda2d24da5b2d69b411d657aa0f232a9062dcc1d0" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24da5b2d69b411d657aa0f232a9062dcc1d0" > operations_research::ModelCache::VAR_CONSTANT_CONSTANT_SEMI_CONTINUOUS< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_CONSTANT_SEMI_CONTINUOUS< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02126" > constraint_solveri.h:2126< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a970f18a42acc024041506587b8f79e74" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a970f18a42acc024041506587b8f79e74" > operations_research::BooleanVar::kUnboundBooleanVarValue< / a > < / div > < div class = "ttdeci" > static const int kUnboundBooleanVarValue< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01928" > constraint_solveri.h:1928< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_aa3e073f632d3f5b7b7b0fb39380c49c6" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#aa3e073f632d3f5b7b7b0fb39380c49c6" > operations_research::PathOperator::GetActiveAlternativeNode< / a > < / div > < div class = "ttdeci" > int64 GetActiveAlternativeNode(int node) const< / div > < div class = "ttdoc" > Returns the active node in the alternative set of the given node.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01542" > constraint_solveri.h:1542< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1OptimizeVar_html" > < div class = "ttname" > < a href = "classoperations__research_1_1OptimizeVar.html" > operations_research::OptimizeVar< / a > < / div > < div class = "ttdoc" > This class encapsulates an objective.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04156" > constraint_solver.h:4156< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevImmutableMultiMap_html_a3c7e62a9a396c5d8fd2b85b762c2a850" > < div class = "ttname" > < a href = "classoperations__research_1_1RevImmutableMultiMap.html#a3c7e62a9a396c5d8fd2b85b762c2a850" > operations_research::RevImmutableMultiMap::RevImmutableMultiMap< / a > < / div > < div class = "ttdeci" > RevImmutableMultiMap(Solver *const solver, int initial_size)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00290" > constraint_solveri.h:290< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_adbdb4f27d7b7ebf378af2ce76cb615f9" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#adbdb4f27d7b7ebf378af2ce76cb615f9" > operations_research::RevBitSet::Cardinality< / a > < / div > < div class = "ttdeci" > int64 Cardinality() const< / div > < div class = "ttdoc" > Returns the number of bits set to one.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ArrayWithOffset_html_a2581e57b1f3dd4d81119bea850bef413" > < div class = "ttname" > < a href = "classoperations__research_1_1ArrayWithOffset.html#a2581e57b1f3dd4d81119bea850bef413" > operations_research::ArrayWithOffset::ArrayWithOffset< / a > < / div > < div class = "ttdeci" > ArrayWithOffset(int64 index_min, int64 index_max)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02413" > constraint_solveri.h:2413< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a80c5c0fd18a686e9aa4f05af4c3faced" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a80c5c0fd18a686e9aa4f05af4c3faced" > operations_research::ModelParser::VisitIntervalArgument< / a > < / div > < div class = "ttdeci" > void VisitIntervalArgument(const std::string & arg_name, IntervalVar *const argument) override< / div > < div class = "ttdoc" > Visit interval argument.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_ad8c2cfa3b6981f66705a3309edc2521c" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#ad8c2cfa3b6981f66705a3309edc2521c" > operations_research::PropagationMonitor::PopContext< / a > < / div > < div class = "ttdeci" > virtual void PopContext()=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchOperator_html_a0727873c25fc02f0ee53cfd51461cd6e" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#a0727873c25fc02f0ee53cfd51461cd6e" > operations_research::SequenceVarLocalSearchOperator::Sequence< / a > < / div > < div class = "ttdeci" > const std::vector< int > & Sequence(int64 index) const< / div > < div class = "ttdoc" > Returns the value in the current assignment of the variable of given index.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01173" > constraint_solveri.h:1173< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1UnsortedNullableRevBitset_html_a895c2532e70163d81ef29c8198c1c9c3" > < div class = "ttname" > < a href = "classoperations__research_1_1UnsortedNullableRevBitset.html#a895c2532e70163d81ef29c8198c1c9c3" > operations_research::UnsortedNullableRevBitset::RevAnd< / a > < / div > < div class = "ttdeci" > bool RevAnd(Solver *const solver, const std::vector< uint64 > & mask)< / div > < div class = "ttdoc" > This method ANDs the mask with the active bitset.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Solver_html" > < div class = "ttname" > < a href = "classoperations__research_1_1Solver.html" > operations_research::Solver< / a > < / div > < div class = "ttdoc" > Solver Class.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l00243" > constraint_solver.h:243< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a9fe59bad68fe585a96afb59c3b78e237" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a9fe59bad68fe585a96afb59c3b78e237" > operations_research::ModelCache::FindExprExpression< / a > < / div > < div class = "ttdeci" > virtual IntExpr * FindExprExpression(IntExpr *const expr, ExprExpressionType type) const =0< / div > < div class = "ttdoc" > Expr Expressions.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1AssignmentElement_html_a9c9dd3575fbfc59e05ae9ed1c05f8896" > < div class = "ttname" > < a href = "classoperations__research_1_1AssignmentElement.html#a9c9dd3575fbfc59e05ae9ed1c05f8896" > operations_research::AssignmentElement::Deactivate< / a > < / div > < div class = "ttdeci" > void Deactivate()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04555" > constraint_solver.h:4555< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a056c801705c813aab7ac780abbb1a2c4" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a056c801705c813aab7ac780abbb1a2c4" > operations_research::ModelCache::FindExprExprConstantExpression< / a > < / div > < div class = "ttdeci" > virtual IntExpr * FindExprExprConstantExpression(IntExpr *const var1, IntExpr *const var2, int64 constant, ExprExprConstantExpressionType type) const =0< / div > < div class = "ttdoc" > Expr Expr Constant Expressions.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SearchMonitor_html_a5f32c22c620c811754ba7b6f977db864" > < div class = "ttname" > < a href = "classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864" > operations_research::SearchMonitor::solver< / a > < / div > < div class = "ttdeci" > Solver * solver() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03660" > constraint_solver.h:3660< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a403e52e933033645c3388146d5e2edd2afd9ce19c75c8a2e8ff4c7307eff08e38" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a403e52e933033645c3388146d5e2edd2afd9ce19c75c8a2e8ff4c7307eff08e38" > operations_research::DOMAIN_INT_VAR< / a > < / div > < div class = "ttdeci" > @ DOMAIN_INT_VAR< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00125" > constraint_solveri.h:125< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_afc24b579153470eea18c3404a3092b5c" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#afc24b579153470eea18c3404a3092b5c" > operations_research::PathOperator::PathOperator< / a > < / div > < div class = "ttdeci" > PathOperator(const std::vector< IntVar * > & next_vars, const std::vector< IntVar * > & path_vars, int number_of_base_nodes, bool skip_locally_optimal_paths, bool accept_path_end_base, std::function< int(int64)> start_empty_path_class)< / div > < div class = "ttdoc" > Builds an instance of PathOperator from next and path variables.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchHandler_html_a516173faa748216e7d06f5f7eb452dbb" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchHandler.html#a516173faa748216e7d06f5f7eb452dbb" > operations_research::SequenceVarLocalSearchHandler::OnRevertChanges< / a > < / div > < div class = "ttdeci" > void OnRevertChanges(int64 index, const std::vector< int > & value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01235" > constraint_solveri.h:1235< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a38b2df531e660bd3c43b896970a4f014" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014" > operations_research::VarLocalSearchOperator::values_< / a > < / div > < div class = "ttdeci" > std::vector< Val > values_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00938" > constraint_solveri.h:938< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchState_html_aca6f43ce4724910499fa7cadb5caa01f" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchState.html#aca6f43ce4724910499fa7cadb5caa01f" > operations_research::LocalSearchState::Commit< / a > < / div > < div class = "ttdeci" > void Commit()< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_ab78f332ebaa3c0a6858e063425ad1005" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#ab78f332ebaa3c0a6858e063425ad1005" > operations_research::ModelParser::VisitIntegerVariable< / a > < / div > < div class = "ttdeci" > void VisitIntegerVariable(const IntVar *const variable, IntExpr *const delegate) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarElement_html" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarElement.html" > operations_research::SequenceVarElement< / a > < / div > < div class = "ttdoc" > The SequenceVarElement stores a partial representation of ranked interval variables in the underlying...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04726" > constraint_solver.h:4726< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_a317c32d3abd0b61376e319d1597ba2fa" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#a317c32d3abd0b61376e319d1597ba2fa" > operations_research::BooleanVar::SetMax< / a > < / div > < div class = "ttdeci" > void SetMax(int64 m) override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::BooleanVar::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_a942ba2898a44303790c91e761b8f4630" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a942ba2898a44303790c91e761b8f4630" > operations_research::PosIntDivDown< / a > < / div > < div class = "ttdeci" > int64 PosIntDivDown(int64 e, int64 v)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02984" > constraint_solveri.h:2984< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ChangeValue_html" > < div class = "ttname" > < a href = "classoperations__research_1_1ChangeValue.html" > operations_research::ChangeValue< / a > < / div > < div class = "ttdoc" > Defines operators which change the value of variables; each neighbor corresponds to one modified vari...< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01295" > constraint_solveri.h:1295< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_ac4f70832be8ef45fb84c8170f17cc187" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#ac4f70832be8ef45fb84c8170f17cc187" > operations_research::RevBitSet::ClearAll< / a > < / div > < div class = "ttdeci" > void ClearAll(Solver *const solver)< / div > < div class = "ttdoc" > Cleans all bits.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarElement_html" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarElement.html" > operations_research::IntVarElement< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04562" > constraint_solver.h:4562< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilter_html_abd469dc354c620c06a2f7b45df1abc39" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilter.html#abd469dc354c620c06a2f7b45df1abc39" > operations_research::LocalSearchFilter::Revert< / a > < / div > < div class = "ttdeci" > virtual void Revert()< / div > < div class = "ttdoc" > Cancels the changes made by the last Relax()/Accept() calls.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01751" > constraint_solveri.h:1751< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a0512eabe3ae0f9370152aa2844377302" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a0512eabe3ae0f9370152aa2844377302" > operations_research::ArgumentHolder::FindIntegerVariableArrayArgumentOrDie< / a > < / div > < div class = "ttdeci" > const std::vector< IntVar * > & FindIntegerVariableArrayArgumentOrDie(const std::string & arg_name) const< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_a127c860aa3b5024666f308c553edf2a5" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#a127c860aa3b5024666f308c553edf2a5" > operations_research::LocalSearchMonitor::Install< / a > < / div > < div class = "ttdeci" > void Install() override< / div > < div class = "ttdoc" > Install itself on the solver.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod3_html" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod3.html" > operations_research::CallMethod3< / a > < / div > < div class = "ttdoc" > Demon proxy to a method on the constraint with three arguments.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00620" > constraint_solveri.h:620< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_aa8f198c7897dd232096df08f2123582a" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#aa8f198c7897dd232096df08f2123582a" > operations_research::PathOperator::Next< / a > < / div > < div class = "ttdeci" > int64 Next(int64 node) const< / div > < div class = "ttdoc" > Returns the node after node in the current delta.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01351" > constraint_solveri.h:1351< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1AssignmentContainer_html_a2155d56276e438298f2bd34505ec3dc6" > < div class = "ttname" > < a href = "classoperations__research_1_1AssignmentContainer.html#a2155d56276e438298f2bd34505ec3dc6" > operations_research::AssignmentContainer::MutableElement< / a > < / div > < div class = "ttdeci" > E * MutableElement(const V *const var)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04839" > constraint_solver.h:4839< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a89d5f8fc282ff8c48a02102a8a5e4bbbaa7718fa06e32e05554d8e0a760e9172b" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a89d5f8fc282ff8c48a02102a8a5e4bbbaa7718fa06e32e05554d8e0a760e9172b" > operations_research::ModelCache::EXPR_EXPR_LESS_OR_EQUAL< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_LESS_OR_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02081" > constraint_solveri.h:2081< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchVariable_html" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchVariable.html" > operations_research::LocalSearchVariable< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01684" > constraint_solveri.h:1684< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a6824a1f9c8084b6803c2e44c328a0aa8" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a6824a1f9c8084b6803c2e44c328a0aa8" > operations_research::ArgumentHolder::FindIntegerArrayArgumentOrDie< / a > < / div > < div class = "ttdeci" > const std::vector< int64 > & FindIntegerArrayArgumentOrDie(const std::string & arg_name) const< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarElement_html_ae34cdbb92170829390f602d2466c6b29" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarElement.html#ae34cdbb92170829390f602d2466c6b29" > operations_research::SequenceVarElement::ForwardSequence< / a > < / div > < div class = "ttdeci" > const std::vector< int > & ForwardSequence() const< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod0_html_a7b6140d03824eabe8579c6f72d8bd725" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod0.html#a7b6140d03824eabe8579c6f72d8bd725" > operations_research::CallMethod0::CallMethod0< / a > < / div > < div class = "ttdeci" > CallMethod0(T *const ct, void(T::*method)(), const std::string & name)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00514" > constraint_solveri.h:514< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html" > operations_research::RevPartialSequence< / a > < / div > < div class = "ttdoc" > --— RevPartialSequence --—< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02643" > constraint_solveri.h:2643< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_aeacffb05338262fd232dc77fed8cc586" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586" > operations_research::VarLocalSearchOperator::Start< / a > < / div > < div class = "ttdeci" > void Start(const Assignment *assignment) override< / div > < div class = "ttdoc" > This method should not be overridden.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00833" > constraint_solveri.h:833< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_a8db9c655c030223da3b1071e9469e441" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a8db9c655c030223da3b1071e9469e441" > operations_research::IntVarLocalSearchFilter::IntVarLocalSearchFilter< / a > < / div > < div class = "ttdeci" > IntVarLocalSearchFilter(const std::vector< IntVar * > & vars)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_afc8017fcd99c86bb7ae2015a208ff800" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#afc8017fcd99c86bb7ae2015a208ff800" > operations_research::ModelCache::InsertExprExpression< / a > < / div > < div class = "ttdeci" > virtual void InsertExprExpression(IntExpr *const expression, IntExpr *const expr, ExprExpressionType type)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_af238ed4acee2b41f921470e93a7bc010" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#af238ed4acee2b41f921470e93a7bc010" > operations_research::ModelCache::FindVarArrayConstantExpression< / a > < / div > < div class = "ttdeci" > virtual IntExpr * FindVarArrayConstantExpression(const std::vector< IntVar * > & vars, int64 value, VarArrayConstantExpressionType type) const =0< / div > < div class = "ttdoc" > Var Array Constant Expressions.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afea03e855b4a1f2095482a88ac03388d5c3" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea03e855b4a1f2095482a88ac03388d5c3" > operations_research::ModelCache::EXPR_EXPR_IS_EQUAL< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_IS_EQUAL< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02102" > constraint_solveri.h:2102< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html_a21cd5f9a362cd868371a6015c30874b7" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html#a21cd5f9a362cd868371a6015c30874b7" > operations_research::IntVarLocalSearchOperator::SetOldInverseValue< / a > < / div > < div class = "ttdeci" > void SetOldInverseValue(int64 index, int64 value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01087" > constraint_solveri.h:1087< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchOperator_html_ac6143190808ae1e130d91ade6f81d998" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#ac6143190808ae1e130d91ade6f81d998" > operations_research::SequenceVarLocalSearchOperator::SetForwardSequence< / a > < / div > < div class = "ttdeci" > void SetForwardSequence(int64 index, const std::vector< int > & value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01177" > constraint_solveri.h:1177< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a0398df73722b0a777674f8300b61e640" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640" > operations_research::ModelCache::VoidConstraintType< / a > < / div > < div class = "ttdeci" > VoidConstraintType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02057" > constraint_solveri.h:2057< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevGrowingArray_html_ae0029296b3e2fa4db916aa44120d4916" > < div class = "ttname" > < a href = "classoperations__research_1_1RevGrowingArray.html#ae0029296b3e2fa4db916aa44120d4916" > operations_research::RevGrowingArray::RevGrowingArray< / a > < / div > < div class = "ttdeci" > RevGrowingArray(int64 block_size)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02450" > constraint_solveri.h:2450< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ad14cde260686e5b4174e691675df3139" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ad14cde260686e5b4174e691675df3139" > operations_research::PathOperator::MakeOneNeighbor< / a > < / div > < div class = "ttdeci" > bool MakeOneNeighbor() override< / div > < div class = "ttdoc" > This method should not be overridden. Override MakeNeighbor() instead.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarLocalSearchOperator_html_af684b5b2c35acb03c22b3a9e76a38315" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarLocalSearchOperator.html#af684b5b2c35acb03c22b3a9e76a38315" > operations_research::SequenceVarLocalSearchOperator::OldSequence< / a > < / div > < div class = "ttdeci" > const std::vector< int > & OldSequence(int64 index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01174" > constraint_solveri.h:1174< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchOperator_html_ad462943207eb6d9ff00258445fb9e9dc" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchOperator.html#ad462943207eb6d9ff00258445fb9e9dc" > operations_research::IntVarLocalSearchOperator::OldInverseValue< / a > < / div > < div class = "ttdeci" > int64 OldInverseValue(int64 index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01079" > constraint_solveri.h:1079< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ab7ebca7834f4b41e1bfd14ba132b7047" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ab7ebca7834f4b41e1bfd14ba132b7047" > operations_research::ModelCache::FindVarArrayConstantArrayExpression< / a > < / div > < div class = "ttdeci" > virtual IntExpr * FindVarArrayConstantArrayExpression(const std::vector< IntVar * > & vars, const std::vector< int64 > & values, VarArrayConstantArrayExpressionType type) const =0< / div > < div class = "ttdoc" > Var Array Constant Array Expressions.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a1fad820e7860f0b9f121927d4075082ca50c27197e27e7022f450aada9888a9d1" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a1fad820e7860f0b9f121927d4075082ca50c27197e27e7022f450aada9888a9d1" > operations_research::ModelCache::EXPR_CONSTANT_MAX< / a > < / div > < div class = "ttdeci" > @ EXPR_CONSTANT_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02116" > constraint_solveri.h:2116< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SmallRevBitSet_html_a16202f709ab06d78dcae8db3ff21fd9c" > < div class = "ttname" > < a href = "classoperations__research_1_1SmallRevBitSet.html#a16202f709ab06d78dcae8db3ff21fd9c" > operations_research::SmallRevBitSet::IsCardinalityOne< / a > < / div > < div class = "ttdeci" > bool IsCardinalityOne() const< / div > < div class = "ttdoc" > Does it contains only one bit set?< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00422" > constraint_solveri.h:422< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_html_aef6737cd15964935e24b68467aa4b6f1" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO.html#aef6737cd15964935e24b68467aa4b6f1" > operations_research::SimpleRevFIFO::Last< / a > < / div > < div class = "ttdeci" > const T * Last() const< / div > < div class = "ttdoc" > Returns the last item of the FIFO.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00197" > constraint_solveri.h:197< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_af5f56c8c139f332cacfbd598c269887a" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#af5f56c8c139f332cacfbd598c269887a" > operations_research::VarLocalSearchOperator::SetValue< / a > < / div > < div class = "ttdeci" > void SetValue(int64 index, const Val & value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00858" > constraint_solveri.h:858< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarElement_html_aeabf4572ab5bf48ec3e07660c9587385" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarElement.html#aeabf4572ab5bf48ec3e07660c9587385" > operations_research::IntVarElement::Value< / a > < / div > < div class = "ttdeci" > int64 Value() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04586" > constraint_solver.h:4586< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "anamespaceoperations__research_html_a3ea6af6581e6922832918c97753146a7" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a3ea6af6581e6922832918c97753146a7" > operations_research::MakeConstraintDemon0< / a > < / div > < div class = "ttdeci" > Demon * MakeConstraintDemon0(Solver *const s, T *const ct, void(T::*method)(), const std::string & name)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00532" > constraint_solveri.h:532< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilter_html_ae5d81865846ca6be009b31a1c59f2165" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilter.html#ae5d81865846ca6be009b31a1c59f2165" > operations_research::LocalSearchFilter::GetAcceptedObjectiveValue< / a > < / div > < div class = "ttdeci" > virtual int64 GetAcceptedObjectiveValue() const< / div > < div class = "ttdoc" > Objective value from the last time Accept() was called and returned true.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01757" > constraint_solveri.h:1757< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod1_html" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod1.html" > operations_research::DelayedCallMethod1< / a > < / div > < div class = "ttdoc" > Low-priority demon proxy to a method on the constraint with one argument.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00703" > constraint_solveri.h:703< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a4da354d2a2be5f59f86989fb2f12b387" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a4da354d2a2be5f59f86989fb2f12b387" > operations_research::PropagationMonitor::RemoveValue< / a > < / div > < div class = "ttdeci" > virtual void RemoveValue(IntVar *const var, int64 value)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_a07e7b2863d0982b2eb610f2d31171b4d" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a07e7b2863d0982b2eb610f2d31171b4d" > operations_research::IntVarLocalSearchFilter::SynchronizeOnAssignment< / a > < / div > < div class = "ttdeci" > void SynchronizeOnAssignment(const Assignment *assignment)< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a0398df73722b0a777674f8300b61e640a350d96d35eeacdf0c2c66a69ae370de3" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a0398df73722b0a777674f8300b61e640a350d96d35eeacdf0c2c66a69ae370de3" > operations_research::ModelCache::VOID_FALSE_CONSTRAINT< / a > < / div > < div class = "ttdeci" > @ VOID_FALSE_CONSTRAINT< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02058" > constraint_solveri.h:2058< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_abcdbe360c416a4cbb906188a13860d7f" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#abcdbe360c416a4cbb906188a13860d7f" > operations_research::VarLocalSearchOperator::Deactivate< / a > < / div > < div class = "ttdeci" > void Deactivate(int64 index)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00867" > constraint_solveri.h:867< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "anamespaceoperations__research_html_abc42d1bcfe023d3ac6f59471b75d853c" > < div class = "ttname" > < a href = "namespaceoperations__research.html#abc42d1bcfe023d3ac6f59471b75d853c" > operations_research::MaxVarArray< / a > < / div > < div class = "ttdeci" > int64 MaxVarArray(const std::vector< IntVar * > & vars)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02946" > constraint_solveri.h:2946< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a0aeeba03eeb9514e2946c44c733e994a" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a0aeeba03eeb9514e2946c44c733e994a" > operations_research::VarLocalSearchOperator::old_values_< / a > < / div > < div class = "ttdeci" > std::vector< Val > old_values_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00939" > constraint_solveri.h:939< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Demon_html" > < div class = "ttname" > < a href = "classoperations__research_1_1Demon.html" > operations_research::Demon< / a > < / div > < div class = "ttdoc" > A Demon is the base element of a propagation queue.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03253" > constraint_solver.h:3253< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilter_html_a14786ee7098dc88e3eefc6f0a2c9411e" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilter.html#a14786ee7098dc88e3eefc6f0a2c9411e" > operations_research::LocalSearchFilter::GetSynchronizedObjectiveValue< / a > < / div > < div class = "ttdeci" > virtual int64 GetSynchronizedObjectiveValue() const< / div > < div class = "ttdoc" > Objective value from last time Synchronize() was called.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01754" > constraint_solveri.h:1754< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1NumericalRev_html_a83c8a2812799fd87becd114374fb1d36" > < div class = "ttname" > < a href = "classoperations__research_1_1NumericalRev.html#a83c8a2812799fd87becd114374fb1d36" > operations_research::NumericalRev::Decr< / a > < / div > < div class = "ttdeci" > void Decr(Solver *const s)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03720" > constraint_solver.h:3720< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntervalVar_html" > < div class = "ttname" > < a href = "classoperations__research_1_1IntervalVar.html" > operations_research::IntervalVar< / a > < / div > < div class = "ttdoc" > Interval variables are often used in scheduling.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04305" > constraint_solver.h:4305< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a6662a100d8715747870beb9721bb304b" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a6662a100d8715747870beb9721bb304b" > operations_research::FillValues< / a > < / div > < div class = "ttdeci" > void FillValues(const std::vector< IntVar * > & vars, std::vector< int64 > *const values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02966" > constraint_solveri.h:2966< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a62997309da1aeeee36192ffa09700eec" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a62997309da1aeeee36192ffa09700eec" > operations_research::PathOperator::ReverseChain< / a > < / div > < div class = "ttdeci" > bool ReverseChain(int64 before_chain, int64 after_chain, int64 *chain_last)< / div > < div class = "ttdoc" > Reverses the chain starting after before_chain and ending before after_chain.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1SimpleRevFIFO_1_1Iterator_html_a5d5b15d8c55444f6730c4b54e8365e34" > < div class = "ttname" > < a href = "classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html#a5d5b15d8c55444f6730c4b54e8365e34" > operations_research::SimpleRevFIFO::Iterator::Iterator< / a > < / div > < div class = "ttdeci" > Iterator(const SimpleRevFIFO< T > *l)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00158" > constraint_solveri.h:158< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevBitSet_html_ad175c4019a4a927bec26eb8cd819d81e" > < div class = "ttname" > < a href = "classoperations__research_1_1RevBitSet.html#ad175c4019a4a927bec26eb8cd819d81e" > operations_research::RevBitSet::IsCardinalityZero< / a > < / div > < div class = "ttdeci" > bool IsCardinalityZero() const< / div > < div class = "ttdoc" > Is bitset null?< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchState_html_a1e53a18fec3e806c796aecc60bb1cefe" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchState.html#a1e53a18fec3e806c796aecc60bb1cefe" > operations_research::LocalSearchState::StateIsValid< / a > < / div > < div class = "ttdeci" > bool StateIsValid() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01656" > constraint_solveri.h:1656< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "anamespaceoperations__research_html_a29b8113bf656aa61493c9459508ed953" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a29b8113bf656aa61493c9459508ed953" > operations_research::MakeDelayedConstraintDemon2< / a > < / div > < div class = "ttdeci" > Demon * MakeDelayedConstraintDemon2(Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string & name, P param1, Q param2)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00775" > constraint_solveri.h:775< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_abb4445bda211f8b4fb7410e1135ea536" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#abb4445bda211f8b4fb7410e1135ea536" > operations_research::ModelParser::VisitIntegerMatrixArgument< / a > < / div > < div class = "ttdeci" > void VisitIntegerMatrixArgument(const std::string & arg_name, const IntTupleSet & values) override< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BaseIntExpr_html" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseIntExpr.html" > operations_research::BaseIntExpr< / a > < / div > < div class = "ttdoc" > This is the base class for all expressions that are not variables.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00109" > constraint_solveri.h:109< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_aedf7468f114e41bcae8b69287c1e78b2" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#aedf7468f114e41bcae8b69287c1e78b2" > operations_research::ModelCache::FindVarArrayExpression< / a > < / div > < div class = "ttdeci" > virtual IntExpr * FindVarArrayExpression(const std::vector< IntVar * > & vars, VarArrayExpressionType type) const =0< / div > < div class = "ttdoc" > Var Array Expressions.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod0_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod0.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::CallMethod0::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00521" > constraint_solveri.h:521< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a93b849189eca7118a5db04c2fe8aa901" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a93b849189eca7118a5db04c2fe8aa901" > operations_research::ModelParser::EndVisitModel< / a > < / div > < div class = "ttdeci" > void EndVisitModel(const std::string & solver_name) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a1223e0b8dbca7cd9c296fc4de65080b2" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a1223e0b8dbca7cd9c296fc4de65080b2" > operations_research::PathOperator::OnNodeInitialization< / a > < / div > < div class = "ttdeci" > virtual void OnNodeInitialization()< / div > < div class = "ttdoc" > Called by OnStart() after initializing node information.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01378" > constraint_solveri.h:1378< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod0_html_a27e4f9bb590aef0900a373cfe7f34615" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod0.html#a27e4f9bb590aef0900a373cfe7f34615" > operations_research::CallMethod0::~CallMethod0< / a > < / div > < div class = "ttdeci" > ~CallMethod0() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00517" > constraint_solveri.h:517< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ArrayWithOffset_html_a8cddca1e54fd9aba386c53a670a1e382" > < div class = "ttname" > < a href = "classoperations__research_1_1ArrayWithOffset.html#a8cddca1e54fd9aba386c53a670a1e382" > operations_research::ArrayWithOffset::SetValue< / a > < / div > < div class = "ttdeci" > void SetValue(int64 index, T value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02428" > constraint_solveri.h:2428< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod2_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod2.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::DelayedCallMethod2::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00759" > constraint_solveri.h:759< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod1_html_afa281aea428f9c42e09515bda6a918e5" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod1.html#afa281aea428f9c42e09515bda6a918e5" > operations_research::DelayedCallMethod1::~DelayedCallMethod1< / a > < / div > < div class = "ttdeci" > ~DelayedCallMethod1() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00709" > constraint_solveri.h:709< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevGrowingArray_html_ab75ed69877226a6c1c51af3babe02b94" > < div class = "ttname" > < a href = "classoperations__research_1_1RevGrowingArray.html#ab75ed69877226a6c1c51af3babe02b94" > operations_research::RevGrowingArray::~RevGrowingArray< / a > < / div > < div class = "ttdeci" > ~RevGrowingArray()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02455" > constraint_solveri.h:2455< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_af0cd6b9a608c61a52933fd53d53873af" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#af0cd6b9a608c61a52933fd53d53873af" > operations_research::VarLocalSearchOperator::OldValue< / a > < / div > < div class = "ttdeci" > const Val & OldValue(int64 index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00857" > constraint_solveri.h:857< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a088d80df6df63def37e43b73dc9b1d80" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a088d80df6df63def37e43b73dc9b1d80" > operations_research::PathOperator::BaseAlternativeNode< / a > < / div > < div class = "ttdeci" > int64 BaseAlternativeNode(int i) const< / div > < div class = "ttdoc" > Returns the alternative node for the ith base node.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01385" > constraint_solveri.h:1385< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a670d62cb4741bc10b2332a8a67fd3f5a" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a670d62cb4741bc10b2332a8a67fd3f5a" > operations_research::PropagationMonitor::RankNotFirst< / a > < / div > < div class = "ttdeci" > virtual void RankNotFirst(SequenceVar *const var, int index)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchMonitor_html_a1b4ca6b8001752831ccac4e35478456c" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchMonitor.html#a1b4ca6b8001752831ccac4e35478456c" > operations_research::LocalSearchMonitor::BeginMakeNextNeighbor< / a > < / div > < div class = "ttdeci" > virtual void BeginMakeNextNeighbor(const LocalSearchOperator *op)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilter_html_aa21d5f9b4adc94167e3a466095d82fd5" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilter.html#aa21d5f9b4adc94167e3a466095d82fd5" > operations_research::LocalSearchFilter::IsIncremental< / a > < / div > < div class = "ttdeci" > virtual bool IsIncremental() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01741" > constraint_solveri.h:1741< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_aff6bd70a429314a0d34cfc87cd6adeea" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#aff6bd70a429314a0d34cfc87cd6adeea" > operations_research::BooleanVar::~BooleanVar< / a > < / div > < div class = "ttdeci" > ~BooleanVar() override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01933" > constraint_solveri.h:1933< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1Solver_html_a675d33a9ef9aa399017fb68e652c7a5c" > < div class = "ttname" > < a href = "classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c" > operations_research::Solver::SaveAndSetValue< / a > < / div > < div class = "ttdeci" > void SaveAndSetValue(T *adr, T val)< / div > < div class = "ttdoc" > All-in-one SaveAndSetValue.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l02769" > constraint_solver.h:2769< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_a68dd19d6f0517e2bfb128f87fbad4fea" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#a68dd19d6f0517e2bfb128f87fbad4fea" > operations_research::VarLocalSearchOperator::prev_values_< / a > < / div > < div class = "ttdeci" > std::vector< Val > prev_values_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00940" > constraint_solveri.h:940< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afeaf4e4e8ba0108a0e9abc4fd2732a38a3b" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afeaf4e4e8ba0108a0e9abc4fd2732a38a3b" > operations_research::ModelCache::EXPR_EXPR_DIFFERENCE< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_DIFFERENCE< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02094" > constraint_solveri.h:2094< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SequenceVarElement_html_a448be08e73b90cd86345acc79613a051" > < div class = "ttname" > < a href = "classoperations__research_1_1SequenceVarElement.html#a448be08e73b90cd86345acc79613a051" > operations_research::SequenceVarElement::SetBackwardSequence< / a > < / div > < div class = "ttdeci" > void SetBackwardSequence(const std::vector< int > & backward_sequence)< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod0_html" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod0.html" > operations_research::CallMethod0< / a > < / div > < div class = "ttdoc" > Demon proxy to a method on the constraint with no arguments.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00512" > constraint_solveri.h:512< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_a388bf17b12a3231df6f1c5c2ce2aba7d" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#a388bf17b12a3231df6f1c5c2ce2aba7d" > operations_research::RevPartialSequence::RevPartialSequence< / a > < / div > < div class = "ttdeci" > RevPartialSequence(int size)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02657" > constraint_solveri.h:2657< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a822c2c0e59065b2fe0968370c8e26afea73e135b9ac9d3286a0656ef84aa77ca6" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a822c2c0e59065b2fe0968370c8e26afea73e135b9ac9d3286a0656ef84aa77ca6" > operations_research::ModelCache::EXPR_EXPR_IS_LESS< / a > < / div > < div class = "ttdeci" > @ EXPR_EXPR_IS_LESS< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02100" > constraint_solveri.h:2100< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1BooleanVar_html_aeded50edd859a889ba764147084fc516" > < div class = "ttname" > < a href = "classoperations__research_1_1BooleanVar.html#aeded50edd859a889ba764147084fc516" > operations_research::BooleanVar::BooleanVar< / a > < / div > < div class = "ttdeci" > BooleanVar(Solver *const s, const std::string & name=" " )< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01930" > constraint_solveri.h:1930< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevImmutableMultiMap_html_a0b5c13dc004b78fa86ae2a2e76f25f99" > < div class = "ttname" > < a href = "classoperations__research_1_1RevImmutableMultiMap.html#a0b5c13dc004b78fa86ae2a2e76f25f99" > operations_research::RevImmutableMultiMap::Insert< / a > < / div > < div class = "ttdeci" > void Insert(const K & key, const V & value)< / div > < div class = "ttdoc" > Inserts (key, value) in the multi-map.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00331" > constraint_solveri.h:331< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a93bbe5a60b387e9929fb477ce2fba1b6" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a93bbe5a60b387e9929fb477ce2fba1b6" > operations_research::ModelCache::FindVarConstantConstantConstraint< / a > < / div > < div class = "ttdeci" > virtual Constraint * FindVarConstantConstantConstraint(IntVar *const var, int64 value1, int64 value2, VarConstantConstantConstraintType type) const =0< / div > < div class = "ttdoc" > Var Constant Constant Constraints.< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_ad72c30a24555a3ffb0dba3749dfad22f" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#ad72c30a24555a3ffb0dba3749dfad22f" > operations_research::ArgumentHolder::TypeName< / a > < / div > < div class = "ttdeci" > const std::string & TypeName() const< / div > < div class = "ttdoc" > Type of the argument.< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_a24926108b770033792d015cb86aeffb3" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#a24926108b770033792d015cb86aeffb3" > operations_research::RevPartialSequence::Size< / a > < / div > < div class = "ttdeci" > int Size() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02675" > constraint_solveri.h:2675< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a3f4525e71a6b05d97c868f0832750a60" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a3f4525e71a6b05d97c868f0832750a60" > operations_research::IsArrayBoolean< / a > < / div > < div class = "ttdeci" > bool IsArrayBoolean(const std::vector< T > & values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02820" > constraint_solveri.h:2820< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1RevImmutableMultiMap_html_ab273f390966237d6f5cdb9c45f5361d6" > < div class = "ttname" > < a href = "classoperations__research_1_1RevImmutableMultiMap.html#ab273f390966237d6f5cdb9c45f5361d6" > operations_research::RevImmutableMultiMap::num_items< / a > < / div > < div class = "ttdeci" > int num_items() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00300" > constraint_solveri.h:300< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1DelayedCallMethod0_html_ac863f0fdd6a476ca003c99f58f14e623" > < div class = "ttname" > < a href = "classoperations__research_1_1DelayedCallMethod0.html#ac863f0fdd6a476ca003c99f58f14e623" > operations_research::DelayedCallMethod0::Run< / a > < / div > < div class = "ttdeci" > void Run(Solver *const s) override< / div > < div class = "ttdoc" > This is the main callback of the demon.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00677" > constraint_solveri.h:677< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchFilter_html_a1907b3ee12b9e6e2bfc69e1a69b5baf0" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchFilter.html#a1907b3ee12b9e6e2bfc69e1a69b5baf0" > operations_research::IntVarLocalSearchFilter::FindIndex< / a > < / div > < div class = "ttdeci" > bool FindIndex(IntVar *const var, int64 *index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01804" > constraint_solveri.h:1804< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1BaseLns_html_a5a42e7c67118018a6e391f4ec6661f74" > < div class = "ttname" > < a href = "classoperations__research_1_1BaseLns.html#a5a42e7c67118018a6e391f4ec6661f74" > operations_research::BaseLns::InitFragments< / a > < / div > < div class = "ttdeci" > virtual void InitFragments()< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_a208d45797eebd7cad439cc43b049103d" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#a208d45797eebd7cad439cc43b049103d" > operations_research::PathOperator::number_of_nexts< / a > < / div > < div class = "ttdeci" > int number_of_nexts() const< / div > < div class = "ttdoc" > Number of next variables.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01370" > constraint_solveri.h:1370< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ArgumentHolder_html_a5cd41c19cc39011926f928b80cbbed72" > < div class = "ttname" > < a href = "classoperations__research_1_1ArgumentHolder.html#a5cd41c19cc39011926f928b80cbbed72" > operations_research::ArgumentHolder::SetTypeName< / a > < / div > < div class = "ttdeci" > void SetTypeName(const std::string & type_name)< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1DecisionVisitor_html" > < div class = "ttname" > < a href = "classoperations__research_1_1DecisionVisitor.html" > operations_research::DecisionVisitor< / a > < / div > < div class = "ttdoc" > A DecisionVisitor is used to inspect a decision.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l03201" > constraint_solver.h:3201< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1CallMethod1_html_aed804747c45a7e1caf81461f9e45dd91" > < div class = "ttname" > < a href = "classoperations__research_1_1CallMethod1.html#aed804747c45a7e1caf81461f9e45dd91" > operations_research::CallMethod1::DebugString< / a > < / div > < div class = "ttdeci" > std::string DebugString() const override< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00560" > constraint_solveri.h:560< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_accb0b4e01f39be7d7d482c4a3797476ca3ddf574d0de0e5df225a62bc50f2c89f" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#accb0b4e01f39be7d7d482c4a3797476ca3ddf574d0de0e5df225a62bc50f2c89f" > operations_research::ModelCache::VAR_ARRAY_CONSTANT_EXPRESSION_MAX< / a > < / div > < div class = "ttdeci" > @ VAR_ARRAY_CONSTANT_EXPRESSION_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02149" > constraint_solveri.h:2149< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a2927789ebec43905a29b90c96ab5b562a0b320a3530d1100a39500db43e9f0610" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a2927789ebec43905a29b90c96ab5b562a0b320a3530d1100a39500db43e9f0610" > operations_research::ModelCache::VAR_CONSTANT_EQUALITY< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_EQUALITY< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02064" > constraint_solveri.h:2064< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1RevIntSet_html_a843688384c304891f0a00b0336ac9823" > < div class = "ttname" > < a href = "classoperations__research_1_1RevIntSet.html#a843688384c304891f0a00b0336ac9823" > operations_research::RevIntSet::~RevIntSet< / a > < / div > < div class = "ttdeci" > ~RevIntSet()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02559" > constraint_solveri.h:2559< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1SymmetryBreaker_html_aa8a5ebe8847527e05d53b0f104b00f9c" > < div class = "ttname" > < a href = "classoperations__research_1_1SymmetryBreaker.html#aa8a5ebe8847527e05d53b0f104b00f9c" > operations_research::SymmetryBreaker::AddIntegerVariableGreaterOrEqualValueClause< / a > < / div > < div class = "ttdeci" > void AddIntegerVariableGreaterOrEqualValueClause(IntVar *const var, int64 value)< / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a11f4a7dbafd8e00a36b892a82e44445f" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a11f4a7dbafd8e00a36b892a82e44445f" > operations_research::MakeDelayedConstraintDemon1< / a > < / div > < div class = "ttdeci" > Demon * MakeDelayedConstraintDemon1(Solver *const s, T *const ct, void(T::*method)(P), const std::string & name, P param1)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00731" > constraint_solveri.h:731< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1LocalSearchFilterManager_html_ab4ef2ddbcbe244071c1e4adf2f5a8029" > < div class = "ttname" > < a href = "classoperations__research_1_1LocalSearchFilterManager.html#ab4ef2ddbcbe244071c1e4adf2f5a8029" > operations_research::LocalSearchFilterManager::GetAcceptedObjectiveValue< / a > < / div > < div class = "ttdeci" > int64 GetAcceptedObjectiveValue() const override< / div > < div class = "ttdoc" > Objective value from the last time Accept() was called and returned true.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01784" > constraint_solveri.h:1784< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PathOperator_html_ae73fcc01833bc6a858e474320d37293f" > < div class = "ttname" > < a href = "classoperations__research_1_1PathOperator.html#ae73fcc01833bc6a858e474320d37293f" > operations_research::PathOperator::OldPrev< / a > < / div > < div class = "ttdeci" > int64 OldPrev(int64 node) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l01453" > constraint_solveri.h:1453< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1Rev_html" > < div class = "ttname" > < a href = "classoperations__research_1_1Rev.html" > operations_research::Rev< uint64 > < / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a4f57599e6105b17036cefa8a84a164fd" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a4f57599e6105b17036cefa8a84a164fd" > operations_research::PropagationMonitor::SetEndMax< / a > < / div > < div class = "ttdeci" > virtual void SetEndMax(IntervalVar *const var, int64 new_max)=0< / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelParser_html_a85fd160bc451ebfff69cfe892dd44b2e" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelParser.html#a85fd160bc451ebfff69cfe892dd44b2e" > operations_research::ModelParser::VisitSequenceArrayArgument< / a > < / div > < div class = "ttdeci" > void VisitSequenceArrayArgument(const std::string & arg_name, const std::vector< SequenceVar * > & arguments) override< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1Assignment_html_a8caeb4b2a0a6e058a74274fc4896c402" > < div class = "ttname" > < a href = "classoperations__research_1_1Assignment.html#a8caeb4b2a0a6e058a74274fc4896c402" > operations_research::Assignment::MutableSequenceVarContainer< / a > < / div > < div class = "ttdeci" > SequenceContainer * MutableSequenceVarContainer()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l05111" > constraint_solver.h:5111< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1VarLocalSearchOperator_html_acb9668115d3d60818099ce9ce80d1ec1" > < div class = "ttname" > < a href = "classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1" > operations_research::VarLocalSearchOperator::vars_< / a > < / div > < div class = "ttdeci" > std::vector< V * > vars_< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00937" > constraint_solveri.h:937< / a > < / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1RevPartialSequence_html_a7515e88d1faa654d75c89b0abdc67133" > < div class = "ttname" > < a href = "classoperations__research_1_1RevPartialSequence.html#a7515e88d1faa654d75c89b0abdc67133" > operations_research::RevPartialSequence::IsRanked< / a > < / div > < div class = "ttdeci" > bool IsRanked(int elt) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02697" > constraint_solveri.h:2697< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarElement_html_a8052ccc3aba839f3befd553cc05b85a0" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarElement.html#a8052ccc3aba839f3befd553cc05b85a0" > operations_research::IntVarElement::Var< / a > < / div > < div class = "ttdeci" > IntVar * Var() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solver_8h_source.html#l04569" > constraint_solver.h:4569< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1IntVarLocalSearchHandler_html_ad20b69bddb1430dd0e5fbd5c92d339a0" > < div class = "ttname" > < a href = "classoperations__research_1_1IntVarLocalSearchHandler.html#ad20b69bddb1430dd0e5fbd5c92d339a0" > operations_research::IntVarLocalSearchHandler::IntVarLocalSearchHandler< / a > < / div > < div class = "ttdeci" > IntVarLocalSearchHandler(IntVarLocalSearchOperator *op)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00958" > constraint_solveri.h:958< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a5e0c2033f8d819c623e8324bfda2d24dabef48216e9d32c891d017570c9e638bc" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a5e0c2033f8d819c623e8324bfda2d24dabef48216e9d32c891d017570c9e638bc" > operations_research::ModelCache::VAR_CONSTANT_CONSTANT_EXPRESSION_MAX< / a > < / div > < div class = "ttdeci" > @ VAR_CONSTANT_CONSTANT_EXPRESSION_MAX< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02127" > constraint_solveri.h:2127< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html_a38972723946490ea4df4e34298d8805d" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a38972723946490ea4df4e34298d8805d" > operations_research::AreAllNegative< / a > < / div > < div class = "ttdeci" > bool AreAllNegative(const std::vector< T > & values)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02865" > constraint_solveri.h:2865< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "anamespaceoperations__research_html_a0953b50b08320d1109c678555137f1db" > < div class = "ttname" > < a href = "namespaceoperations__research.html#a0953b50b08320d1109c678555137f1db" > operations_research::ParameterDebugString< / a > < / div > < div class = "ttdeci" > std::string ParameterDebugString(P param)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l00538" > constraint_solveri.h:538< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1PropagationMonitor_html_a6467f671a40283eed2a71c51741d93b8" > < div class = "ttname" > < a href = "classoperations__research_1_1PropagationMonitor.html#a6467f671a40283eed2a71c51741d93b8" > operations_research::PropagationMonitor::RankNotLast< / a > < / div > < div class = "ttdeci" > virtual void RankNotLast(SequenceVar *const var, int index)=0< / div > < / div >
2020-01-27 13:48:26 +01:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_a59c559422eae2739af255adb6c14cddb" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#a59c559422eae2739af255adb6c14cddb" > operations_research::ModelCache::VarArrayConstantArrayExpressionType< / a > < / div > < div class = "ttdeci" > VarArrayConstantArrayExpressionType< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02135" > constraint_solveri.h:2135< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_ad923ebf6ee257bfa55c4fc34b7b5503ba072f2b932666e9bb3957e50c6ca29130" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#ad923ebf6ee257bfa55c4fc34b7b5503ba072f2b932666e9bb3957e50c6ca29130" > operations_research::ModelCache::VAR_ARRAY_SUM< / a > < / div > < div class = "ttdeci" > @ VAR_ARRAY_SUM< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "constraint__solveri_8h_source.html#l02143" > constraint_solveri.h:2143< / a > < / div > < / div >
2019-11-14 13:52:51 -08:00
< div class = "ttc" id = "aclassoperations__research_1_1ModelCache_html_af03bd07c56216292717c57eab7b5b82f" > < div class = "ttname" > < a href = "classoperations__research_1_1ModelCache.html#af03bd07c56216292717c57eab7b5b82f" > operations_research::ModelCache::InsertVarConstantArrayExpression< / a > < / div > < div class = "ttdeci" > virtual void InsertVarConstantArrayExpression(IntExpr *const expression, IntVar *const var, const std::vector< int64 > & values, VarConstantArrayExpressionType type)=0< / div > < / div >
2019-08-07 18:01:08 -07:00
< / div >
2019-06-13 15:51:12 +02:00
< / div >
< div id = "footer-container" >
< div id = "footer" >
< / div >
< / div >
< / body >
< / html >