Files
ortools-clone/docs/cpp_sat/model_8h_source.html

77 lines
35 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2019-06-12 22:00:29 +02:00
<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" />
<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">
2019-06-29 18:18:08 +02:00
<span id="sfml">OR-Tools 7.2</span>
</div>
</div>
2019-06-29 18:18:08 +02:00
<link rel="icon" href="https://developers.google.com/optimization/images/orLogo.png">
<div id="content">
2019-06-12 22:00:29 +02:00
<!-- Generated by Doxygen 1.8.15 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
2019-06-12 22:00:29 +02:00
</ul>
</div>
</div><!-- top -->
2019-07-12 13:25:23 -07:00
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('model_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
2019-06-12 22:00:29 +02:00
<div class="header">
<div class="headertitle">
<div class="title">model.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="model_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>&#160;<span class="comment">// Copyright 2010-2018 Google LLC</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<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>&#160;<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>&#160;<span class="comment">//</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<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>&#160;<span class="comment">//</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<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>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<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>&#160;<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>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#ifndef OR_TOOLS_SAT_MODEL_H_</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#define OR_TOOLS_SAT_MODEL_H_</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;ortools/base/logging.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;ortools/base/macros.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;ortools/base/map_util.h&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;ortools/base/typeid.h&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#1
<div class="ttc" id="classoperations__research_1_1sat_1_1Model_html_a7d97534275c629f2917ed5a029e2e2c5"><div class="ttname"><a href="classoperations__research_1_1sat_1_1Model.html#a7d97534275c629f2917ed5a029e2e2c5">operations_research::sat::Model::Model</a></div><div class="ttdeci">Model()</div><div class="ttdef"><b>Definition:</b> <a href="model_8h_source.html#l00037">model.h:37</a></div></div>
<div class="ttc" id="classoperations__research_1_1sat_1_1Model_html_a6411a892fd57781615c9edf80081026c"><div class="ttname"><a href="classoperations__research_1_1sat_1_1Model.html#a6411a892fd57781615c9edf80081026c">operations_research::sat::Model::TakeOwnership</a></div><div class="ttdeci">void TakeOwnership(T *t)</div><div class="ttdoc">Gives ownership of a pointer to this model.</div><div class="ttdef"><b>Definition:</b> <a href="model_8h_source.html#l00111">model.h:111</a></div></div>
<div class="ttc" id="classoperations__research_1_1sat_1_1Model_html_a78f476ca154e64d281ae07efd825a779"><div class="ttname"><a href="classoperations__research_1_1sat_1_1Model.html#a78f476ca154e64d281ae07efd825a779">operations_research::sat::Model::Register</a></div><div class="ttdeci">void Register(T *non_owned_class)</div><div class="ttdoc">Register a non-owned class that will be &quot;singleton&quot; in the model.</div><div class="ttdef"><b>Definition:</b> <a href="model_8h_source.html#l00128">model.h:128</a></div></div>
<div class="ttc" id="classoperations__research_1_1sat_1_1Model_html_a08f2ee3dc9fa03be18a4c38304e068d9"><div class="ttname"><a href="classoperations__research_1_1sat_1_1Model.html#a08f2ee3dc9fa03be18a4c38304e068d9">operations_research::sat::Model::Create</a></div><div class="ttdeci">T * Create()</div><div class="ttdoc">This returns a non-singleton object owned by the model and created with the T(Model* model) construct...</div><div class="ttdef"><b>Definition:</b> <a href="model_8h_source.html#l00119">model.h:119</a></div></div>
<div class="ttc" id="classoperations__research_1_1sat_1_1Model_html"><div class="ttname"><a href="classoperations__research_1_1sat_1_1Model.html">operations_research::sat::Model</a></div><div class="ttdoc">Class that owns everything related to a particular optimization model.</div><div class="ttdef"><b>Definition:</b> <a href="model_8h_source.html#l00035">model.h:35</a></div></div>
<div class="ttc" id="classoperations__research_1_1sat_1_1Model_html_a211cf867e9edd220616c0a8f6ba4b71d"><div class="ttname"><a href="classoperations__research_1_1sat_1_1Model.html#a211cf867e9edd220616c0a8f6ba4b71d">operations_research::sat::Model::Get</a></div><div class="ttdeci">const T * Get() const</div><div class="ttdoc">Likes GetOrCreate() but do not create the object if it is non-existing.</div><div class="ttdef"><b>Definition:</b> <a href="model_8h_source.html#l00096">model.h:96</a></div></div>
<div class="ttc" id="classoperations__research_1_1sat_1_1Model_html_af4eb422b7cfd963c58d65b18b4e47717"><div class="ttname"><a href="classoperations__research_1_1sat_1_1Model.html#af4eb422b7cfd963c58d65b18b4e47717">operations_research::sat::Model::GetOrCreate</a></div><div class="ttdeci">T * GetOrCreate()</div><div class="ttdoc">Returns an object of type T that is unique to this model (like a &quot;local&quot; singleton).</div><div class="ttdef"><b>Definition:</b> <a href="model_8h_source.html#l00081">model.h:81</a></div></div>
<div class="ttc" id="classoperations__research_1_1sat_1_1Model_html_a059b9d223761f2b9cc82df4871ae36fa"><div class="ttname"><a href="classoperations__research_1_1sat_1_1Model.html#a059b9d223761f2b9cc82df4871ae36fa">operations_research::sat::Model::Add</a></div><div class="ttdeci">T Add(std::function&lt; T(Model *)&gt; f)</div><div class="ttdoc">This allows to have a nicer API on the client side, and it allows both of these forms:</div><div class="ttdef"><b>Definition:</b> <a href="model_8h_source.html#l00058">model.h:58</a></div></div>
<div class="ttc" id="classoperations__research_1_1sat_1_1Model_html_a6226de9875c58b81f461c123577d1689"><div class="ttname"><a href="classoperations__research_1_1sat_1_1Model.html#a6226de9875c58b81f461c123577d1689">operations_research::sat::Model::Mutable</a></div><div class="ttdeci">T * Mutable() const</div><div class="ttdoc">Same as Get(), but returns a mutable version of the object.</div><div class="ttdef"><b>Definition:</b> <a href="model_8h_source.html#l00103">model.h:103</a></div></div>
2019-06-13 15:51:12 +02:00
<div class="ttc" id="namespaceoperations__research_html"><div class="ttname"><a href="namespaceoperations__research.html">operations_research</a></div><div class="ttdoc">Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in c...</div><div class="ttdef"><b>Definition:</b> <a href="cp__model_8h_source.html#l00048">cp_model.h:48</a></div></div>
2019-06-12 22:00:29 +02:00
</div><!-- fragment --></div><!-- contents -->
2019-07-12 13:25:23 -07:00
</div><!-- doc-content -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
2019-06-12 22:00:29 +02:00
</html>