Files
ortools-clone/docs/cpp/classoperations__research_1_1sat_1_1SccGraph.html
2020-09-01 16:01:06 +02:00

319 lines
18 KiB
HTML

<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OR-Tools: SccGraph</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="orLogo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">OR-Tools
&#160;<span id="projectnumber">8.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classoperations__research_1_1sat_1_1SccGraph.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="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classoperations__research_1_1sat_1_1SccGraph-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">SccGraph</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01015">1015</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a7ef5f240699043e66657e5aaf1ff312e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a7ef5f240699043e66657e5aaf1ff312e">Implication</a> = <a class="el" href="classgtl_1_1ITIVector.html">gtl::ITIVector</a>&lt; LiteralIndex, absl::InlinedVector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>, 6 &gt; &gt;</td></tr>
<tr class="separator:a7ef5f240699043e66657e5aaf1ff312e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4279d1564e3b30028ccab3a7b8dd1cf3"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a4279d1564e3b30028ccab3a7b8dd1cf3">AtMostOne</a> = <a class="el" href="classgtl_1_1ITIVector.html">gtl::ITIVector</a>&lt; LiteralIndex, absl::InlinedVector&lt; <a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>, 6 &gt; &gt;</td></tr>
<tr class="separator:a4279d1564e3b30028ccab3a7b8dd1cf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8034e0fd9aa989127ca75bacc78a961"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#ad8034e0fd9aa989127ca75bacc78a961">SccFinder</a> = <a class="el" href="classStronglyConnectedComponentsFinder.html">StronglyConnectedComponentsFinder</a>&lt; <a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>, <a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html">SccGraph</a>, std::vector&lt; std::vector&lt; <a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a> &gt; &gt;&gt;</td></tr>
<tr class="separator:ad8034e0fd9aa989127ca75bacc78a961"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a026a87568634d8f2dcdd1d61bb990b1f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a026a87568634d8f2dcdd1d61bb990b1f">SccGraph</a> (<a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#ad8034e0fd9aa989127ca75bacc78a961">SccFinder</a> *finder, <a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a7ef5f240699043e66657e5aaf1ff312e">Implication</a> *graph, <a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a4279d1564e3b30028ccab3a7b8dd1cf3">AtMostOne</a> *at_most_ones, std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *at_most_one_buffer)</td></tr>
<tr class="separator:a026a87568634d8f2dcdd1d61bb990b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a229be75ad057c526a4209b079bc6c621"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a229be75ad057c526a4209b079bc6c621">operator[]</a> (<a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a> node) const</td></tr>
<tr class="separator:a229be75ad057c526a4209b079bc6c621"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a47d33ec3614dcb20228fc964e0886a9b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a47d33ec3614dcb20228fc964e0886a9b">to_fix_</a></td></tr>
<tr class="separator:a47d33ec3614dcb20228fc964e0886a9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a720d8d1dd697348d6cdc4b9752321ebc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a720d8d1dd697348d6cdc4b9752321ebc">work_done_</a> = 0</td></tr>
<tr class="separator:a720d8d1dd697348d6cdc4b9752321ebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a4279d1564e3b30028ccab3a7b8dd1cf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4279d1564e3b30028ccab3a7b8dd1cf3">&#9670;&nbsp;</a></span>AtMostOne</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a4279d1564e3b30028ccab3a7b8dd1cf3">AtMostOne</a> = <a class="el" href="classgtl_1_1ITIVector.html">gtl::ITIVector</a>&lt;LiteralIndex, absl::InlinedVector&lt;<a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>, 6&gt; &gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01019">1019</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a7ef5f240699043e66657e5aaf1ff312e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ef5f240699043e66657e5aaf1ff312e">&#9670;&nbsp;</a></span>Implication</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a7ef5f240699043e66657e5aaf1ff312e">Implication</a> = <a class="el" href="classgtl_1_1ITIVector.html">gtl::ITIVector</a>&lt;LiteralIndex, absl::InlinedVector&lt;<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>, 6&gt; &gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01017">1017</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="ad8034e0fd9aa989127ca75bacc78a961"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8034e0fd9aa989127ca75bacc78a961">&#9670;&nbsp;</a></span>SccFinder</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#ad8034e0fd9aa989127ca75bacc78a961">SccFinder</a> = <a class="el" href="classStronglyConnectedComponentsFinder.html">StronglyConnectedComponentsFinder</a>&lt;<a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>, <a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html">SccGraph</a>, std::vector&lt;std::vector&lt;<a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>&gt; &gt;&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01020">1020</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a026a87568634d8f2dcdd1d61bb990b1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a026a87568634d8f2dcdd1d61bb990b1f">&#9670;&nbsp;</a></span>SccGraph()</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_1SccGraph.html">SccGraph</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#ad8034e0fd9aa989127ca75bacc78a961">SccFinder</a> *&#160;</td>
<td class="paramname"><em>finder</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a7ef5f240699043e66657e5aaf1ff312e">Implication</a> *&#160;</td>
<td class="paramname"><em>graph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html#a4279d1564e3b30028ccab3a7b8dd1cf3">AtMostOne</a> *&#160;</td>
<td class="paramname"><em>at_most_ones</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *&#160;</td>
<td class="paramname"><em>at_most_one_buffer</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 class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01024">1024</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a229be75ad057c526a4209b079bc6c621"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a229be75ad057c526a4209b079bc6c621">&#9670;&nbsp;</a></span>operator[]()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;<a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>&gt;&amp; operator[] </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a56f1a81c92849566ae864511088eb7e8">int32</a>&#160;</td>
<td class="paramname"><em>node</em></td><td>)</td>
<td> const</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="clause_8cc_source.html#l01032">1032</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a47d33ec3614dcb20228fc964e0886a9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47d33ec3614dcb20228fc964e0886a9b">&#9670;&nbsp;</a></span>to_fix_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&gt; to_fix_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01104">1104</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a720d8d1dd697348d6cdc4b9752321ebc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a720d8d1dd697348d6cdc4b9752321ebc">&#9670;&nbsp;</a></span>work_done_</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> work_done_ = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01107">1107</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="clause_8cc_source.html">clause.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.18-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="namespaceoperations__research_1_1sat.html">sat</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1sat_1_1SccGraph.html">SccGraph</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
</ul>
</div>
</body>
</html>