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

1703 lines
99 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="styleSheet.tmp.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">Google OR-Tools 9.3</span>
</div>
</div>
<div id="content" style="width: 100%; overflow: hidden;">
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
<h2>C++ Reference</h2>
<ul>
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
<li><a href="../cpp_graph/annotated.html">Graph</a></li>
<li><a href="../cpp_routing/annotated.html">Routing</a></li>
<li><a href="../cpp_linear/annotated.html">Linear solver</a></li>
</ul>
</div>
<div id="content">
<div align="center">
<h1 style="color: #145A32;">C++ Reference: CP-SAT</h1>
</div>
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('namespaceoperations__research_1_1sat.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">operations_research::sat Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_automaton_constraint.html">AutomatonConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized automaton constraint. <a href="classoperations__research_1_1sat_1_1_automaton_constraint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_bool_var.html">BoolVar</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Boolean variable. <a href="classoperations__research_1_1sat_1_1_bool_var.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_circuit_constraint.html">CircuitConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized circuit constraint. <a href="classoperations__research_1_1sat_1_1_circuit_constraint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_constraint.html">Constraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A constraint. <a href="classoperations__research_1_1sat_1_1_constraint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_cp_model_builder.html">CpModelBuilder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper class around the cp_model proto. <a href="classoperations__research_1_1sat_1_1_cp_model_builder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_cumulative_constraint.html">CumulativeConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized cumulative constraint. <a href="classoperations__research_1_1sat_1_1_cumulative_constraint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A dedicated container for linear expressions with double coefficients. <a href="classoperations__research_1_1sat_1_1_double_linear_expr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_interval_var.html">IntervalVar</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a Interval variable. <a href="classoperations__research_1_1sat_1_1_interval_var.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_int_var.html">IntVar</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integer variable. <a href="classoperations__research_1_1sat_1_1_int_var.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A dedicated container for linear expressions. <a href="classoperations__research_1_1sat_1_1_linear_expr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_model.html">Model</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class that owns everything related to a particular optimization model. <a href="classoperations__research_1_1sat_1_1_model.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_multiple_circuit_constraint.html">MultipleCircuitConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized circuit constraint. <a href="classoperations__research_1_1sat_1_1_multiple_circuit_constraint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_no_overlap2_d_constraint.html">NoOverlap2DConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized no_overlap2D constraint. <a href="classoperations__research_1_1sat_1_1_no_overlap2_d_constraint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_reservoir_constraint.html">ReservoirConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized reservoir constraint. <a href="classoperations__research_1_1sat_1_1_reservoir_constraint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1_table_constraint.html">TableConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized assignment constraint. <a href="classoperations__research_1_1sat_1_1_table_constraint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a807d4ae4dc98ad0c05fa05c3f1dfabc9"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a807d4ae4dc98ad0c05fa05c3f1dfabc9">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classoperations__research_1_1sat_1_1_bool_var.html">BoolVar</a> &amp;var)</td></tr>
<tr class="separator:a807d4ae4dc98ad0c05fa05c3f1dfabc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e3de118c1f8dd5a7ec21704e05684b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_bool_var.html">BoolVar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a5e3de118c1f8dd5a7ec21704e05684b9">Not</a> (<a class="el" href="classoperations__research_1_1sat_1_1_bool_var.html">BoolVar</a> x)</td></tr>
<tr class="memdesc:a5e3de118c1f8dd5a7ec21704e05684b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">A convenient wrapper so we can write Not(x) instead of <a class="el" href="namespaceoperations__research_1_1sat.html#a5e3de118c1f8dd5a7ec21704e05684b9" title="A convenient wrapper so we can write Not(x) instead of x.Not() which is sometimes clearer.">x.Not()</a> which is sometimes clearer. <a href="namespaceoperations__research_1_1sat.html#a5e3de118c1f8dd5a7ec21704e05684b9">More...</a><br /></td></tr>
<tr class="separator:a5e3de118c1f8dd5a7ec21704e05684b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c1b0a196a70f7edd0ff1bc0250e76ac"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a0c1b0a196a70f7edd0ff1bc0250e76ac">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classoperations__research_1_1sat_1_1_int_var.html">IntVar</a> &amp;var)</td></tr>
<tr class="separator:a0c1b0a196a70f7edd0ff1bc0250e76ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616a1843aa394d2d018e052050588bb2"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a616a1843aa394d2d018e052050588bb2">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;e)</td></tr>
<tr class="separator:a616a1843aa394d2d018e052050588bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c1168782300a1c64e854ec6f1ead1ea"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a4c1168782300a1c64e854ec6f1ead1ea">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;e)</td></tr>
<tr class="separator:a4c1168782300a1c64e854ec6f1ead1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afeefd0a183a2d1c9f09fec0aa52b200a"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#afeefd0a183a2d1c9f09fec0aa52b200a">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classoperations__research_1_1sat_1_1_interval_var.html">IntervalVar</a> &amp;var)</td></tr>
<tr class="separator:afeefd0a183a2d1c9f09fec0aa52b200a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6fe86bc876c281163a053a9581346c3"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#ab6fe86bc876c281163a053a9581346c3">SolutionIntegerValue</a> (const CpSolverResponse &amp;r, const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;expr)</td></tr>
<tr class="memdesc:ab6fe86bc876c281163a053a9581346c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the value of an linear expression in a solver response. <a href="namespaceoperations__research_1_1sat.html#ab6fe86bc876c281163a053a9581346c3">More...</a><br /></td></tr>
<tr class="separator:ab6fe86bc876c281163a053a9581346c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa415e372a9d64eede869ed98666c29c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#afa415e372a9d64eede869ed98666c29c">SolutionBooleanValue</a> (const CpSolverResponse &amp;r, <a class="el" href="classoperations__research_1_1sat_1_1_bool_var.html">BoolVar</a> x)</td></tr>
<tr class="memdesc:afa415e372a9d64eede869ed98666c29c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the value of a Boolean literal in a solver response. <a href="namespaceoperations__research_1_1sat.html#afa415e372a9d64eede869ed98666c29c">More...</a><br /></td></tr>
<tr class="separator:afa415e372a9d64eede869ed98666c29c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a007d129b4917935f84c9ae0823c2cb11"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a007d129b4917935f84c9ae0823c2cb11">VarDebugString</a> (const CpModelProto &amp;proto, int index)</td></tr>
<tr class="separator:a007d129b4917935f84c9ae0823c2cb11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49f6d80163fd6aa41fec7ebf8e27949a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a49f6d80163fd6aa41fec7ebf8e27949a">operator-</a> (<a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> expr)</td></tr>
<tr class="separator:a49f6d80163fd6aa41fec7ebf8e27949a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14d680e53b769b0bf60b6613d27994df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a14d680e53b769b0bf60b6613d27994df">operator+</a> (const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;lhs, const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:a14d680e53b769b0bf60b6613d27994df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70c3650a2627f7072b46545ba712da1c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a70c3650a2627f7072b46545ba712da1c">operator+</a> (<a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;lhs, const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:a70c3650a2627f7072b46545ba712da1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5d9b25ef5642c457636001e9393034e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#af5d9b25ef5642c457636001e9393034e">operator+</a> (const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;lhs, <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;rhs)</td></tr>
<tr class="separator:af5d9b25ef5642c457636001e9393034e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12a296a3b389239ce1ffef3527bfa1e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a12a296a3b389239ce1ffef3527bfa1e3">operator+</a> (<a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;lhs, <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;rhs)</td></tr>
<tr class="separator:a12a296a3b389239ce1ffef3527bfa1e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedd485d7f6b2ccacff90294455d30ae5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#aedd485d7f6b2ccacff90294455d30ae5">operator-</a> (const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;lhs, const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:aedd485d7f6b2ccacff90294455d30ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62d4cee395c01f64847f322fd74f3613"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a62d4cee395c01f64847f322fd74f3613">operator-</a> (<a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;lhs, const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:a62d4cee395c01f64847f322fd74f3613"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1083f8028e54d27eec081e45d92da3da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a1083f8028e54d27eec081e45d92da3da">operator-</a> (const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;lhs, <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;rhs)</td></tr>
<tr class="separator:a1083f8028e54d27eec081e45d92da3da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab29f5117f4220225e73e5984196315a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#ab29f5117f4220225e73e5984196315a7">operator-</a> (<a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;lhs, <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;rhs)</td></tr>
<tr class="separator:ab29f5117f4220225e73e5984196315a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5e220860af1fa89265bd640ab575c94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#ae5e220860af1fa89265bd640ab575c94">operator*</a> (<a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> expr, int64_t factor)</td></tr>
<tr class="separator:ae5e220860af1fa89265bd640ab575c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b127fca095a77a5c789d443f522fbbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a1b127fca095a77a5c789d443f522fbbb">operator*</a> (int64_t factor, <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> expr)</td></tr>
<tr class="separator:a1b127fca095a77a5c789d443f522fbbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ef55954ce104b703b05f5a926a55c52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a3ef55954ce104b703b05f5a926a55c52">operator-</a> (<a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> expr)</td></tr>
<tr class="separator:a3ef55954ce104b703b05f5a926a55c52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adedef397b25c1cc6909adcae18a820e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#adedef397b25c1cc6909adcae18a820e9">operator+</a> (const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;lhs, const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:adedef397b25c1cc6909adcae18a820e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23499bc93d6b2ab81e91ea946e2780c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a23499bc93d6b2ab81e91ea946e2780c8">operator+</a> (<a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;lhs, const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:a23499bc93d6b2ab81e91ea946e2780c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bdaf49a2294d9fd664ce3ad0360d501"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a0bdaf49a2294d9fd664ce3ad0360d501">operator+</a> (const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;lhs, <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;rhs)</td></tr>
<tr class="separator:a0bdaf49a2294d9fd664ce3ad0360d501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5317d7f37f16096d85dfc5a7f05bed77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a5317d7f37f16096d85dfc5a7f05bed77">operator+</a> (<a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;lhs, <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;rhs)</td></tr>
<tr class="separator:a5317d7f37f16096d85dfc5a7f05bed77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60111592f54952fd8d14692750ac5617"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a60111592f54952fd8d14692750ac5617">operator+</a> (<a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> expr, double rhs)</td></tr>
<tr class="separator:a60111592f54952fd8d14692750ac5617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8958bf1527cb994a0d7553282dd731f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a8958bf1527cb994a0d7553282dd731f2">operator+</a> (double lhs, <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> expr)</td></tr>
<tr class="separator:a8958bf1527cb994a0d7553282dd731f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ed1cd9aca1c45ff97111ebfe1d8c555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a1ed1cd9aca1c45ff97111ebfe1d8c555">operator-</a> (const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;lhs, const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:a1ed1cd9aca1c45ff97111ebfe1d8c555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade32b256f6277fd7a7e52c3a17128b96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#ade32b256f6277fd7a7e52c3a17128b96">operator-</a> (<a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;lhs, const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:ade32b256f6277fd7a7e52c3a17128b96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37a77b7fe5f2ae90130d7f9cf20a995a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a37a77b7fe5f2ae90130d7f9cf20a995a">operator-</a> (const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;lhs, <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;rhs)</td></tr>
<tr class="separator:a37a77b7fe5f2ae90130d7f9cf20a995a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90add9340d2579eed96c65f248306982"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a90add9340d2579eed96c65f248306982">operator-</a> (<a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;lhs, <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;rhs)</td></tr>
<tr class="separator:a90add9340d2579eed96c65f248306982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49cbabfb6c894b12ffb48181248c2c87"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a49cbabfb6c894b12ffb48181248c2c87">operator-</a> (<a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> epxr, double rhs)</td></tr>
<tr class="separator:a49cbabfb6c894b12ffb48181248c2c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a962810e4d6e648b9bdd8a6147e6ecd8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a962810e4d6e648b9bdd8a6147e6ecd8c">operator-</a> (double lhs, <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> expr)</td></tr>
<tr class="separator:a962810e4d6e648b9bdd8a6147e6ecd8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ad89939d32828716e2f01940e81ce4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a8ad89939d32828716e2f01940e81ce4a">operator*</a> (<a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> expr, double factor)</td></tr>
<tr class="separator:a8ad89939d32828716e2f01940e81ce4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f88f13d009bea305340ad747262317"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#ac5f88f13d009bea305340ad747262317">operator*</a> (double factor, <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> expr)</td></tr>
<tr class="separator:ac5f88f13d009bea305340ad747262317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09d851f944ab4f305c3d9f8df99b7bf8"><td class="memItemLeft" align="right" valign="top">CpSolverResponse&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a09d851f944ab4f305c3d9f8df99b7bf8">Solve</a> (const CpModelProto &amp;model_proto)</td></tr>
<tr class="memdesc:a09d851f944ab4f305c3d9f8df99b7bf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves the given CpModelProto and returns an instance of CpSolverResponse. <a href="namespaceoperations__research_1_1sat.html#a09d851f944ab4f305c3d9f8df99b7bf8">More...</a><br /></td></tr>
<tr class="separator:a09d851f944ab4f305c3d9f8df99b7bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3062797aa0396abf37dbcc99a746f12"><td class="memItemLeft" align="right" valign="top">CpSolverResponse&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#aa3062797aa0396abf37dbcc99a746f12">SolveWithParameters</a> (const CpModelProto &amp;model_proto, const SatParameters &amp;params)</td></tr>
<tr class="memdesc:aa3062797aa0396abf37dbcc99a746f12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves the given CpModelProto with the given parameters. <a href="namespaceoperations__research_1_1sat.html#aa3062797aa0396abf37dbcc99a746f12">More...</a><br /></td></tr>
<tr class="separator:aa3062797aa0396abf37dbcc99a746f12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a287579e5f181fc7c89feccf1128faffb"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a287579e5f181fc7c89feccf1128faffb">CpModelStats</a> (const CpModelProto &amp;model)</td></tr>
<tr class="memdesc:a287579e5f181fc7c89feccf1128faffb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string with some statistics on the given CpModelProto. <a href="namespaceoperations__research_1_1sat.html#a287579e5f181fc7c89feccf1128faffb">More...</a><br /></td></tr>
<tr class="separator:a287579e5f181fc7c89feccf1128faffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74d5c1c69142b6e668f8bc7de4e0ec7e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a74d5c1c69142b6e668f8bc7de4e0ec7e">CpSolverResponseStats</a> (const CpSolverResponse &amp;response, bool has_objective=true)</td></tr>
<tr class="memdesc:a74d5c1c69142b6e668f8bc7de4e0ec7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string with some statistics on the solver response. <a href="namespaceoperations__research_1_1sat.html#a74d5c1c69142b6e668f8bc7de4e0ec7e">More...</a><br /></td></tr>
<tr class="separator:a74d5c1c69142b6e668f8bc7de4e0ec7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d67b9c66f1cb9c1dcc3415cd5af11bf"><td class="memItemLeft" align="right" valign="top">CpSolverResponse&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a9d67b9c66f1cb9c1dcc3415cd5af11bf">SolveCpModel</a> (const CpModelProto &amp;model_proto, <a class="el" href="classoperations__research_1_1sat_1_1_model.html">Model</a> *model)</td></tr>
<tr class="memdesc:a9d67b9c66f1cb9c1dcc3415cd5af11bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves the given CpModelProto. <a href="namespaceoperations__research_1_1sat.html#a9d67b9c66f1cb9c1dcc3415cd5af11bf">More...</a><br /></td></tr>
<tr class="separator:a9d67b9c66f1cb9c1dcc3415cd5af11bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af52c27ecb43d6486c1a70e022b4aad39"><td class="memItemLeft" align="right" valign="top">CpSolverResponse&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#af52c27ecb43d6486c1a70e022b4aad39">SolveWithParameters</a> (const CpModelProto &amp;model_proto, const std::string &amp;params)</td></tr>
<tr class="memdesc:af52c27ecb43d6486c1a70e022b4aad39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves the given CpModelProto with the given sat parameters as string in JSon format, and returns an instance of CpSolverResponse. <a href="namespaceoperations__research_1_1sat.html#af52c27ecb43d6486c1a70e022b4aad39">More...</a><br /></td></tr>
<tr class="separator:af52c27ecb43d6486c1a70e022b4aad39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0558490428f07c5db7b6ae292001375c"><td class="memItemLeft" align="right" valign="top">std::function&lt; void(<a class="el" href="classoperations__research_1_1sat_1_1_model.html">Model</a> *)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a0558490428f07c5db7b6ae292001375c">NewFeasibleSolutionObserver</a> (const std::function&lt; void(const CpSolverResponse &amp;response)&gt; &amp;observer)</td></tr>
<tr class="memdesc:a0558490428f07c5db7b6ae292001375c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a solution observer with the model with model.Add(NewFeasibleSolutionObserver([](response){...}));. <a href="namespaceoperations__research_1_1sat.html#a0558490428f07c5db7b6ae292001375c">More...</a><br /></td></tr>
<tr class="separator:a0558490428f07c5db7b6ae292001375c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10700832ca6bc420f2931eb707957b0b"><td class="memItemLeft" align="right" valign="top">std::function&lt; SatParameters(<a class="el" href="classoperations__research_1_1sat_1_1_model.html">Model</a> *)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#a10700832ca6bc420f2931eb707957b0b">NewSatParameters</a> (const std::string &amp;params)</td></tr>
<tr class="memdesc:a10700832ca6bc420f2931eb707957b0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates parameters for the solver, which you can add to the model with. <a href="namespaceoperations__research_1_1sat.html#a10700832ca6bc420f2931eb707957b0b">More...</a><br /></td></tr>
<tr class="separator:a10700832ca6bc420f2931eb707957b0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbf4fa68898b3aaa2e6de2b5d3064580"><td class="memItemLeft" align="right" valign="top">std::function&lt; SatParameters(<a class="el" href="classoperations__research_1_1sat_1_1_model.html">Model</a> *)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research_1_1sat.html#adbf4fa68898b3aaa2e6de2b5d3064580">NewSatParameters</a> (const SatParameters &amp;parameters)</td></tr>
<tr class="separator:adbf4fa68898b3aaa2e6de2b5d3064580"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a287579e5f181fc7c89feccf1128faffb" name="a287579e5f181fc7c89feccf1128faffb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a287579e5f181fc7c89feccf1128faffb">&#9670;&nbsp;</a></span>CpModelStats()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::sat::CpModelStats </td>
<td>(</td>
<td class="paramtype">const CpModelProto &amp;&#160;</td>
<td class="paramname"><em>model</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a string with some statistics on the given CpModelProto. </p>
</div>
</div>
<a id="a74d5c1c69142b6e668f8bc7de4e0ec7e" name="a74d5c1c69142b6e668f8bc7de4e0ec7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74d5c1c69142b6e668f8bc7de4e0ec7e">&#9670;&nbsp;</a></span>CpSolverResponseStats()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::sat::CpSolverResponseStats </td>
<td>(</td>
<td class="paramtype">const CpSolverResponse &amp;&#160;</td>
<td class="paramname"><em>response</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>has_objective</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a string with some statistics on the solver response. </p>
<p >If the second argument is false, we will just display NA for the objective value instead of zero. It is not really needed but it makes things a bit clearer to see that there is no objective. </p>
</div>
</div>
<a id="a0558490428f07c5db7b6ae292001375c" name="a0558490428f07c5db7b6ae292001375c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0558490428f07c5db7b6ae292001375c">&#9670;&nbsp;</a></span>NewFeasibleSolutionObserver()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::function&lt; void(<a class="el" href="classoperations__research_1_1sat_1_1_model.html">Model</a> *)&gt; operations_research::sat::NewFeasibleSolutionObserver </td>
<td>(</td>
<td class="paramtype">const std::function&lt; void(const CpSolverResponse &amp;response)&gt; &amp;&#160;</td>
<td class="paramname"><em>observer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a solution observer with the model with model.Add(NewFeasibleSolutionObserver([](response){...}));. </p>
<p >The given function will be called on each improving feasible solution found during the search. For a non-optimization problem, if the option to find all solution was set, then this will be called on each new solution.</p>
<p >WARNING: Except when enumerate_all_solution() is true, one shouldn't rely on this to get a set of "diverse" solutions since any future change to the solver might completely kill any diversity in the set of solutions observed.</p>
<p >Valid usage of this includes implementing features like:</p><ul>
<li>Enumerating all solution via enumerate_all_solution(). If only n solutions are needed, this can also be used to abort when this number is reached.</li>
<li>Aborting early if a good enough solution is found.</li>
<li>Displaying log progress.</li>
<li>etc... </li>
</ul>
</div>
</div>
<a id="adbf4fa68898b3aaa2e6de2b5d3064580" name="adbf4fa68898b3aaa2e6de2b5d3064580"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbf4fa68898b3aaa2e6de2b5d3064580">&#9670;&nbsp;</a></span>NewSatParameters() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::function&lt; SatParameters(<a class="el" href="classoperations__research_1_1sat_1_1_model.html">Model</a> *)&gt; operations_research::sat::NewSatParameters </td>
<td>(</td>
<td class="paramtype">const SatParameters &amp;&#160;</td>
<td class="paramname"><em>parameters</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a10700832ca6bc420f2931eb707957b0b" name="a10700832ca6bc420f2931eb707957b0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10700832ca6bc420f2931eb707957b0b">&#9670;&nbsp;</a></span>NewSatParameters() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::function&lt; SatParameters(<a class="el" href="classoperations__research_1_1sat_1_1_model.html">Model</a> *)&gt; operations_research::sat::NewSatParameters </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>params</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates parameters for the solver, which you can add to the model with. </p>
<div class="fragment"><div class="line">model-&gt;Add(<a class="code hl_function" href="namespaceoperations__research_1_1sat.html#a10700832ca6bc420f2931eb707957b0b">NewSatParameters</a>(parameters_as_string_or_proto))</div>
<div class="ttc" id="anamespaceoperations__research_1_1sat_html_a10700832ca6bc420f2931eb707957b0b"><div class="ttname"><a href="namespaceoperations__research_1_1sat.html#a10700832ca6bc420f2931eb707957b0b">operations_research::sat::NewSatParameters</a></div><div class="ttdeci">std::function&lt; SatParameters(Model *)&gt; NewSatParameters(const std::string &amp;params)</div><div class="ttdoc">Creates parameters for the solver, which you can add to the model with.</div></div>
</div><!-- fragment --><p> before calling <code><a class="el" href="namespaceoperations__research_1_1sat.html#a9d67b9c66f1cb9c1dcc3415cd5af11bf" title="Solves the given CpModelProto.">SolveCpModel()</a></code>. </p>
</div>
</div>
<a id="a5e3de118c1f8dd5a7ec21704e05684b9" name="a5e3de118c1f8dd5a7ec21704e05684b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e3de118c1f8dd5a7ec21704e05684b9">&#9670;&nbsp;</a></span>Not()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_bool_var.html">BoolVar</a> operations_research::sat::Not </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_bool_var.html">BoolVar</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>A convenient wrapper so we can write Not(x) instead of <a class="el" href="namespaceoperations__research_1_1sat.html#a5e3de118c1f8dd5a7ec21704e05684b9" title="A convenient wrapper so we can write Not(x) instead of x.Not() which is sometimes clearer.">x.Not()</a> which is sometimes clearer. </p>
</div>
</div>
<a id="ac5f88f13d009bea305340ad747262317" name="ac5f88f13d009bea305340ad747262317"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5f88f13d009bea305340ad747262317">&#9670;&nbsp;</a></span>operator*() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator* </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>factor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td>
<td class="paramname"><em>expr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01272">1272</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a8ad89939d32828716e2f01940e81ce4a" name="a8ad89939d32828716e2f01940e81ce4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ad89939d32828716e2f01940e81ce4a">&#9670;&nbsp;</a></span>operator*() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator* </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01267">1267</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a1b127fca095a77a5c789d443f522fbbb" name="a1b127fca095a77a5c789d443f522fbbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b127fca095a77a5c789d443f522fbbb">&#9670;&nbsp;</a></span>operator*() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator* </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>factor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td>
<td class="paramname"><em>expr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01186">1186</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="ae5e220860af1fa89265bd640ab575c94" name="ae5e220860af1fa89265bd640ab575c94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5e220860af1fa89265bd640ab575c94">&#9670;&nbsp;</a></span>operator*() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator* </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01182">1182</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="adedef397b25c1cc6909adcae18a820e9" name="adedef397b25c1cc6909adcae18a820e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adedef397b25c1cc6909adcae18a820e9">&#9670;&nbsp;</a></span>operator+() <span class="overload">[1/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01198">1198</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a0bdaf49a2294d9fd664ce3ad0360d501" name="a0bdaf49a2294d9fd664ce3ad0360d501"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bdaf49a2294d9fd664ce3ad0360d501">&#9670;&nbsp;</a></span>operator+() <span class="overload">[2/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01209">1209</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a14d680e53b769b0bf60b6613d27994df" name="a14d680e53b769b0bf60b6613d27994df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14d680e53b769b0bf60b6613d27994df">&#9670;&nbsp;</a></span>operator+() <span class="overload">[3/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01140">1140</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="af5d9b25ef5642c457636001e9393034e" name="af5d9b25ef5642c457636001e9393034e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5d9b25ef5642c457636001e9393034e">&#9670;&nbsp;</a></span>operator+() <span class="overload">[4/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01149">1149</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a8958bf1527cb994a0d7553282dd731f2" name="a8958bf1527cb994a0d7553282dd731f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8958bf1527cb994a0d7553282dd731f2">&#9670;&nbsp;</a></span>operator+() <span class="overload">[5/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td>
<td class="paramname"><em>expr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01229">1229</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a23499bc93d6b2ab81e91ea946e2780c8" name="a23499bc93d6b2ab81e91ea946e2780c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23499bc93d6b2ab81e91ea946e2780c8">&#9670;&nbsp;</a></span>operator+() <span class="overload">[6/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01204">1204</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a5317d7f37f16096d85dfc5a7f05bed77" name="a5317d7f37f16096d85dfc5a7f05bed77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5317d7f37f16096d85dfc5a7f05bed77">&#9670;&nbsp;</a></span>operator+() <span class="overload">[7/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01214">1214</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a60111592f54952fd8d14692750ac5617" name="a60111592f54952fd8d14692750ac5617"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60111592f54952fd8d14692750ac5617">&#9670;&nbsp;</a></span>operator+() <span class="overload">[8/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01225">1225</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a70c3650a2627f7072b46545ba712da1c" name="a70c3650a2627f7072b46545ba712da1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70c3650a2627f7072b46545ba712da1c">&#9670;&nbsp;</a></span>operator+() <span class="overload">[9/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01145">1145</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a12a296a3b389239ce1ffef3527bfa1e3" name="a12a296a3b389239ce1ffef3527bfa1e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12a296a3b389239ce1ffef3527bfa1e3">&#9670;&nbsp;</a></span>operator+() <span class="overload">[10/10]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01153">1153</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a1ed1cd9aca1c45ff97111ebfe1d8c555" name="a1ed1cd9aca1c45ff97111ebfe1d8c555"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ed1cd9aca1c45ff97111ebfe1d8c555">&#9670;&nbsp;</a></span>operator-() <span class="overload">[1/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01234">1234</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a37a77b7fe5f2ae90130d7f9cf20a995a" name="a37a77b7fe5f2ae90130d7f9cf20a995a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37a77b7fe5f2ae90130d7f9cf20a995a">&#9670;&nbsp;</a></span>operator-() <span class="overload">[2/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01245">1245</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="aedd485d7f6b2ccacff90294455d30ae5" name="aedd485d7f6b2ccacff90294455d30ae5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedd485d7f6b2ccacff90294455d30ae5">&#9670;&nbsp;</a></span>operator-() <span class="overload">[3/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01163">1163</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a1083f8028e54d27eec081e45d92da3da" name="a1083f8028e54d27eec081e45d92da3da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1083f8028e54d27eec081e45d92da3da">&#9670;&nbsp;</a></span>operator-() <span class="overload">[4/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01172">1172</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a962810e4d6e648b9bdd8a6147e6ecd8c" name="a962810e4d6e648b9bdd8a6147e6ecd8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a962810e4d6e648b9bdd8a6147e6ecd8c">&#9670;&nbsp;</a></span>operator-() <span class="overload">[5/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td>
<td class="paramname"><em>expr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01261">1261</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="ade32b256f6277fd7a7e52c3a17128b96" name="ade32b256f6277fd7a7e52c3a17128b96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade32b256f6277fd7a7e52c3a17128b96">&#9670;&nbsp;</a></span>operator-() <span class="overload">[6/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01240">1240</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a90add9340d2579eed96c65f248306982" name="a90add9340d2579eed96c65f248306982"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90add9340d2579eed96c65f248306982">&#9670;&nbsp;</a></span>operator-() <span class="overload">[7/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01251">1251</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a49cbabfb6c894b12ffb48181248c2c87" name="a49cbabfb6c894b12ffb48181248c2c87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49cbabfb6c894b12ffb48181248c2c87">&#9670;&nbsp;</a></span>operator-() <span class="overload">[8/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td>
<td class="paramname"><em>epxr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01257">1257</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a3ef55954ce104b703b05f5a926a55c52" name="a3ef55954ce104b703b05f5a926a55c52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ef55954ce104b703b05f5a926a55c52">&#9670;&nbsp;</a></span>operator-() <span class="overload">[9/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a>&#160;</td>
<td class="paramname"><em>expr</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01193">1193</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a62d4cee395c01f64847f322fd74f3613" name="a62d4cee395c01f64847f322fd74f3613"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62d4cee395c01f64847f322fd74f3613">&#9670;&nbsp;</a></span>operator-() <span class="overload">[10/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01168">1168</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="ab29f5117f4220225e73e5984196315a7" name="ab29f5117f4220225e73e5984196315a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab29f5117f4220225e73e5984196315a7">&#9670;&nbsp;</a></span>operator-() <span class="overload">[11/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01177">1177</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a49f6d80163fd6aa41fec7ebf8e27949a" name="a49f6d80163fd6aa41fec7ebf8e27949a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49f6d80163fd6aa41fec7ebf8e27949a">&#9670;&nbsp;</a></span>operator-() <span class="overload">[12/12]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> operations_research::sat::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a>&#160;</td>
<td class="paramname"><em>expr</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="cp__model_8h_source.html#l01138">1138</a> of file <a class="el" href="cp__model_8h_source.html">cp_model.h</a>.</p>
</div>
</div>
<a id="a807d4ae4dc98ad0c05fa05c3f1dfabc9" name="a807d4ae4dc98ad0c05fa05c3f1dfabc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a807d4ae4dc98ad0c05fa05c3f1dfabc9">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ostream &amp; operations_research::sat::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_bool_var.html">BoolVar</a> &amp;&#160;</td>
<td class="paramname"><em>var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4c1168782300a1c64e854ec6f1ead1ea" name="a4c1168782300a1c64e854ec6f1ead1ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c1168782300a1c64e854ec6f1ead1ea">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ostream &amp; operations_research::sat::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_double_linear_expr.html">DoubleLinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>e</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afeefd0a183a2d1c9f09fec0aa52b200a" name="afeefd0a183a2d1c9f09fec0aa52b200a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afeefd0a183a2d1c9f09fec0aa52b200a">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ostream &amp; operations_research::sat::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_interval_var.html">IntervalVar</a> &amp;&#160;</td>
<td class="paramname"><em>var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0c1b0a196a70f7edd0ff1bc0250e76ac" name="a0c1b0a196a70f7edd0ff1bc0250e76ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c1b0a196a70f7edd0ff1bc0250e76ac">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ostream &amp; operations_research::sat::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_int_var.html">IntVar</a> &amp;&#160;</td>
<td class="paramname"><em>var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a616a1843aa394d2d018e052050588bb2" name="a616a1843aa394d2d018e052050588bb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a616a1843aa394d2d018e052050588bb2">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ostream &amp; operations_research::sat::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>e</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afa415e372a9d64eede869ed98666c29c" name="afa415e372a9d64eede869ed98666c29c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa415e372a9d64eede869ed98666c29c">&#9670;&nbsp;</a></span>SolutionBooleanValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool operations_research::sat::SolutionBooleanValue </td>
<td>(</td>
<td class="paramtype">const CpSolverResponse &amp;&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_bool_var.html">BoolVar</a>&#160;</td>
<td class="paramname"><em>x</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluates the value of a Boolean literal in a solver response. </p>
</div>
</div>
<a id="ab6fe86bc876c281163a053a9581346c3" name="ab6fe86bc876c281163a053a9581346c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6fe86bc876c281163a053a9581346c3">&#9670;&nbsp;</a></span>SolutionIntegerValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t operations_research::sat::SolutionIntegerValue </td>
<td>(</td>
<td class="paramtype">const CpSolverResponse &amp;&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1_linear_expr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>expr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluates the value of an linear expression in a solver response. </p>
</div>
</div>
<a id="a09d851f944ab4f305c3d9f8df99b7bf8" name="a09d851f944ab4f305c3d9f8df99b7bf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09d851f944ab4f305c3d9f8df99b7bf8">&#9670;&nbsp;</a></span>Solve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CpSolverResponse operations_research::sat::Solve </td>
<td>(</td>
<td class="paramtype">const CpModelProto &amp;&#160;</td>
<td class="paramname"><em>model_proto</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Solves the given CpModelProto and returns an instance of CpSolverResponse. </p>
</div>
</div>
<a id="a9d67b9c66f1cb9c1dcc3415cd5af11bf" name="a9d67b9c66f1cb9c1dcc3415cd5af11bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d67b9c66f1cb9c1dcc3415cd5af11bf">&#9670;&nbsp;</a></span>SolveCpModel()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CpSolverResponse operations_research::sat::SolveCpModel </td>
<td>(</td>
<td class="paramtype">const CpModelProto &amp;&#160;</td>
<td class="paramname"><em>model_proto</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1_model.html">Model</a> *&#160;</td>
<td class="paramname"><em>model</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Solves the given CpModelProto. </p>
<p >This advanced API accept a Model* which allows to access more adavanced features by configuring some classes in the <a class="el" href="classoperations__research_1_1sat_1_1_model.html" title="Class that owns everything related to a particular optimization model.">Model</a> before solve.</p>
<p >For instance:</p><ul>
<li>model-&gt;Add(NewSatParameters(parameters_as_string_or_proto));</li>
<li>model-&gt;GetOrCreate&lt;TimeLimit&gt;()-&gt;RegisterExternalBooleanAsLimit(&amp;stop);</li>
<li>model-&gt;Add(NewFeasibleSolutionObserver(observer)); </li>
</ul>
</div>
</div>
<a id="aa3062797aa0396abf37dbcc99a746f12" name="aa3062797aa0396abf37dbcc99a746f12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3062797aa0396abf37dbcc99a746f12">&#9670;&nbsp;</a></span>SolveWithParameters() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CpSolverResponse operations_research::sat::SolveWithParameters </td>
<td>(</td>
<td class="paramtype">const CpModelProto &amp;&#160;</td>
<td class="paramname"><em>model_proto</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SatParameters &amp;&#160;</td>
<td class="paramname"><em>params</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Solves the given CpModelProto with the given parameters. </p>
</div>
</div>
<a id="af52c27ecb43d6486c1a70e022b4aad39" name="af52c27ecb43d6486c1a70e022b4aad39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af52c27ecb43d6486c1a70e022b4aad39">&#9670;&nbsp;</a></span>SolveWithParameters() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CpSolverResponse operations_research::sat::SolveWithParameters </td>
<td>(</td>
<td class="paramtype">const CpModelProto &amp;&#160;</td>
<td class="paramname"><em>model_proto</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>params</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Solves the given CpModelProto with the given sat parameters as string in JSon format, and returns an instance of CpSolverResponse. </p>
</div>
</div>
<a id="a007d129b4917935f84c9ae0823c2cb11" name="a007d129b4917935f84c9ae0823c2cb11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a007d129b4917935f84c9ae0823c2cb11">&#9670;&nbsp;</a></span>VarDebugString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::sat::VarDebugString </td>
<td>(</td>
<td class="paramtype">const CpModelProto &amp;&#160;</td>
<td class="paramname"><em>proto</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
</div>
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>