Files
ortools-clone/docs/cpp/classutil_1_1_base_graph.html
2021-12-14 13:41:01 +01:00

875 lines
42 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.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OR-Tools: BaseGraph&lt; NodeIndexType, ArcIndexType, HasReverseArcs &gt;</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">9.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<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('classutil_1_1_base_graph.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-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classutil_1_1_base_graph-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">BaseGraph&lt; NodeIndexType, ArcIndexType, HasReverseArcs &gt;</div></div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;typename NodeIndexType = int32_t, typename ArcIndexType = int32_t, bool HasReverseArcs = false&gt;<br />
class util::BaseGraph&lt; NodeIndexType, ArcIndexType, HasReverseArcs &gt;</div>
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00187">187</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:aec05ff3d270a5f888e1623c2a99ff2aa"><td class="memItemLeft" align="right" valign="top">typedef NodeIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#aec05ff3d270a5f888e1623c2a99ff2aa">NodeIndex</a></td></tr>
<tr class="separator:aec05ff3d270a5f888e1623c2a99ff2aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92531459eff09455cfa63976f5024906"><td class="memItemLeft" align="right" valign="top">typedef ArcIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a92531459eff09455cfa63976f5024906">ArcIndex</a></td></tr>
<tr class="separator:a92531459eff09455cfa63976f5024906"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab3aa4c0abef16e6c5c3a649b5e99f4bb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#ab3aa4c0abef16e6c5c3a649b5e99f4bb">BaseGraph</a> ()</td></tr>
<tr class="separator:ab3aa4c0abef16e6c5c3a649b5e99f4bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf24cbad90951315d555898801bb88b6"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#acf24cbad90951315d555898801bb88b6">~BaseGraph</a> ()</td></tr>
<tr class="separator:acf24cbad90951315d555898801bb88b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a2df5042167b234f6dc3aed4acfa6c9"><td class="memItemLeft" align="right" valign="top">NodeIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a6a2df5042167b234f6dc3aed4acfa6c9">num_nodes</a> () const</td></tr>
<tr class="separator:a6a2df5042167b234f6dc3aed4acfa6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d3fc55a2fe209a908470199437cec9a"><td class="memItemLeft" align="right" valign="top">ArcIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a4d3fc55a2fe209a908470199437cec9a">num_arcs</a> () const</td></tr>
<tr class="separator:a4d3fc55a2fe209a908470199437cec9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a40f2c75615a26ba71e94dd7d42f481"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutil_1_1_integer_range.html">IntegerRange</a>&lt; <a class="el" href="classutil_1_1_base_graph.html#aec05ff3d270a5f888e1623c2a99ff2aa">NodeIndex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a8a40f2c75615a26ba71e94dd7d42f481">AllNodes</a> () const</td></tr>
<tr class="separator:a8a40f2c75615a26ba71e94dd7d42f481"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10ee27e856003f599bc0a2265a3ab11d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutil_1_1_integer_range.html">IntegerRange</a>&lt; <a class="el" href="classutil_1_1_base_graph.html#a92531459eff09455cfa63976f5024906">ArcIndex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a10ee27e856003f599bc0a2265a3ab11d">AllForwardArcs</a> () const</td></tr>
<tr class="separator:a10ee27e856003f599bc0a2265a3ab11d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b88b717e42d7137a884c36e35052191"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a2b88b717e42d7137a884c36e35052191">IsNodeValid</a> (NodeIndexType node) const</td></tr>
<tr class="separator:a2b88b717e42d7137a884c36e35052191"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad17746fd0d835cab506a6ce5a93ad89a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#ad17746fd0d835cab506a6ce5a93ad89a">IsArcValid</a> (ArcIndexType arc) const</td></tr>
<tr class="separator:ad17746fd0d835cab506a6ce5a93ad89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf65739a0eb01d1011a8001b6daff9eb"><td class="memItemLeft" align="right" valign="top">NodeIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#acf65739a0eb01d1011a8001b6daff9eb">node_capacity</a> () const</td></tr>
<tr class="separator:acf65739a0eb01d1011a8001b6daff9eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a836b3d486d4b0cc4595afcdcbbf4e183"><td class="memItemLeft" align="right" valign="top">ArcIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a836b3d486d4b0cc4595afcdcbbf4e183">arc_capacity</a> () const</td></tr>
<tr class="separator:a836b3d486d4b0cc4595afcdcbbf4e183"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdfec6e1d53e915a6059fdb681d92f02"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#afdfec6e1d53e915a6059fdb681d92f02">ReserveNodes</a> (NodeIndexType <a class="el" href="routing__filters_8cc.html#a4f1e8002734902ae1c65ccc3fc30c98e">bound</a>)</td></tr>
<tr class="separator:afdfec6e1d53e915a6059fdb681d92f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aa184e2b22fc7320a39cfcba36010c4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a3aa184e2b22fc7320a39cfcba36010c4">ReserveArcs</a> (ArcIndexType <a class="el" href="routing__filters_8cc.html#a4f1e8002734902ae1c65ccc3fc30c98e">bound</a>)</td></tr>
<tr class="separator:a3aa184e2b22fc7320a39cfcba36010c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bc3205be90a3a0142eee47fc3e9ea9d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a3bc3205be90a3a0142eee47fc3e9ea9d">Reserve</a> (NodeIndexType <a class="el" href="classutil_1_1_base_graph.html#acf65739a0eb01d1011a8001b6daff9eb">node_capacity</a>, ArcIndexType <a class="el" href="classutil_1_1_base_graph.html#a836b3d486d4b0cc4595afcdcbbf4e183">arc_capacity</a>)</td></tr>
<tr class="separator:a3bc3205be90a3a0142eee47fc3e9ea9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a238684ec126b5771f956cf67c964d4e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a238684ec126b5771f956cf67c964d4e5">FreezeCapacities</a> ()</td></tr>
<tr class="separator:a238684ec126b5771f956cf67c964d4e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a159212327bf51452d4c559fe640f59c8"><td class="memTemplParams" colspan="2">template&lt;typename A , typename B &gt; </td></tr>
<tr class="memitem:a159212327bf51452d4c559fe640f59c8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a159212327bf51452d4c559fe640f59c8">GroupForwardArcsByFunctor</a> (const A &amp;<a class="el" href="constraint__solver_2table_8cc.html#acb18315d548212835cd8ed4287e6c0b6">a</a>, B *<a class="el" href="constraint__solver_2table_8cc.html#a9293e4d29cac928301645070dd307683">b</a>)</td></tr>
<tr class="separator:a159212327bf51452d4c559fe640f59c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad16076f9d10c90b9b9e0ccfddf878ed"><td class="memItemLeft" align="right" valign="top">ArcIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#aad16076f9d10c90b9b9e0ccfddf878ed">max_end_arc_index</a> () const</td></tr>
<tr class="separator:aad16076f9d10c90b9b9e0ccfddf878ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a0da78a7e517acf1b646ae28ad16216ed"><td class="memItemLeft" align="right" valign="top">static const NodeIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a0da78a7e517acf1b646ae28ad16216ed">kNilNode</a></td></tr>
<tr class="separator:a0da78a7e517acf1b646ae28ad16216ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab3a7c235c6a6000a25a5a79d680f1ba"><td class="memItemLeft" align="right" valign="top">static const ArcIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#aab3a7c235c6a6000a25a5a79d680f1ba">kNilArc</a></td></tr>
<tr class="separator:aab3a7c235c6a6000a25a5a79d680f1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aacbf67d9ee658147495316e1ac2c83f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#aacbf67d9ee658147495316e1ac2c83f2">ComputeCumulativeSum</a> (std::vector&lt; ArcIndexType &gt; *v)</td></tr>
<tr class="separator:aacbf67d9ee658147495316e1ac2c83f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50b198c9abc5d0035643c3988a3e7148"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a50b198c9abc5d0035643c3988a3e7148">BuildStartAndForwardHead</a> (<a class="el" href="classutil_1_1_s_vector.html">SVector</a>&lt; NodeIndexType &gt; *<a class="el" href="routing__search_8cc.html#a20358970b1abaf992eb85e071e454653">head</a>, std::vector&lt; ArcIndexType &gt; *start, std::vector&lt; ArcIndexType &gt; *permutation)</td></tr>
<tr class="separator:a50b198c9abc5d0035643c3988a3e7148"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a9e04004960ec7ac63f9ce9b97aa0bcfa"><td class="memItemLeft" align="right" valign="top">NodeIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a9e04004960ec7ac63f9ce9b97aa0bcfa">num_nodes_</a></td></tr>
<tr class="separator:a9e04004960ec7ac63f9ce9b97aa0bcfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47b64ae00c3d2acdbdad64fa6dbe9c03"><td class="memItemLeft" align="right" valign="top">NodeIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a47b64ae00c3d2acdbdad64fa6dbe9c03">node_capacity_</a></td></tr>
<tr class="separator:a47b64ae00c3d2acdbdad64fa6dbe9c03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa0c44b50a5e9459e3339ec50082e635"><td class="memItemLeft" align="right" valign="top">ArcIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#afa0c44b50a5e9459e3339ec50082e635">num_arcs_</a></td></tr>
<tr class="separator:afa0c44b50a5e9459e3339ec50082e635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b0fca21fab97b66c1a0a3b09af6e6e4"><td class="memItemLeft" align="right" valign="top">ArcIndexType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a0b0fca21fab97b66c1a0a3b09af6e6e4">arc_capacity_</a></td></tr>
<tr class="separator:a0b0fca21fab97b66c1a0a3b09af6e6e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b5cdcc274a624bd9059f95d70659fb9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html#a8b5cdcc274a624bd9059f95d70659fb9">const_capacities_</a></td></tr>
<tr class="separator:a8b5cdcc274a624bd9059f95d70659fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a92531459eff09455cfa63976f5024906" name="a92531459eff09455cfa63976f5024906"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92531459eff09455cfa63976f5024906">&#9670;&nbsp;</a></span>ArcIndex</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef ArcIndexType <a class="el" href="classutil_1_1_base_graph.html#a92531459eff09455cfa63976f5024906">ArcIndex</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00193">193</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="aec05ff3d270a5f888e1623c2a99ff2aa" name="aec05ff3d270a5f888e1623c2a99ff2aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec05ff3d270a5f888e1623c2a99ff2aa">&#9670;&nbsp;</a></span>NodeIndex</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef NodeIndexType <a class="el" href="classutil_1_1_base_graph.html#aec05ff3d270a5f888e1623c2a99ff2aa">NodeIndex</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00192">192</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ab3aa4c0abef16e6c5c3a649b5e99f4bb" name="ab3aa4c0abef16e6c5c3a649b5e99f4bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3aa4c0abef16e6c5c3a649b5e99f4bb">&#9670;&nbsp;</a></span>BaseGraph()</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="classutil_1_1_base_graph.html">BaseGraph</a> </td>
<td>(</td>
<td class="paramname"></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="graph_8h_source.html#l00195">195</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="acf24cbad90951315d555898801bb88b6" name="acf24cbad90951315d555898801bb88b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf24cbad90951315d555898801bb88b6">&#9670;&nbsp;</a></span>~BaseGraph()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual ~<a class="el" href="classutil_1_1_base_graph.html">BaseGraph</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00201">201</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a10ee27e856003f599bc0a2265a3ab11d" name="a10ee27e856003f599bc0a2265a3ab11d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10ee27e856003f599bc0a2265a3ab11d">&#9670;&nbsp;</a></span>AllForwardArcs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classutil_1_1_integer_range.html">IntegerRange</a>&lt; ArcIndexType &gt; AllForwardArcs</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00943">943</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a8a40f2c75615a26ba71e94dd7d42f481" name="a8a40f2c75615a26ba71e94dd7d42f481"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a40f2c75615a26ba71e94dd7d42f481">&#9670;&nbsp;</a></span>AllNodes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classutil_1_1_integer_range.html">IntegerRange</a>&lt; NodeIndexType &gt; AllNodes</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00937">937</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a836b3d486d4b0cc4595afcdcbbf4e183" name="a836b3d486d4b0cc4595afcdcbbf4e183"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a836b3d486d4b0cc4595afcdcbbf4e183">&#9670;&nbsp;</a></span>arc_capacity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ArcIndexType arc_capacity</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00967">967</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a50b198c9abc5d0035643c3988a3e7148" name="a50b198c9abc5d0035643c3988a3e7148"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50b198c9abc5d0035643c3988a3e7148">&#9670;&nbsp;</a></span>BuildStartAndForwardHead()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void BuildStartAndForwardHead </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classutil_1_1_s_vector.html">SVector</a>&lt; NodeIndexType &gt; *&#160;</td>
<td class="paramname"><em>head</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; ArcIndexType &gt; *&#160;</td>
<td class="paramname"><em>start</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; ArcIndexType &gt; *&#160;</td>
<td class="paramname"><em>permutation</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01002">1002</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="aacbf67d9ee658147495316e1ac2c83f2" name="aacbf67d9ee658147495316e1ac2c83f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacbf67d9ee658147495316e1ac2c83f2">&#9670;&nbsp;</a></span>ComputeCumulativeSum()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ComputeCumulativeSum </td>
<td>(</td>
<td class="paramtype">std::vector&lt; ArcIndexType &gt; *&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00985">985</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a238684ec126b5771f956cf67c964d4e5" name="a238684ec126b5771f956cf67c964d4e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a238684ec126b5771f956cf67c964d4e5">&#9670;&nbsp;</a></span>FreezeCapacities()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FreezeCapacities</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00974">974</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a159212327bf51452d4c559fe640f59c8" name="a159212327bf51452d4c559fe640f59c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a159212327bf51452d4c559fe640f59c8">&#9670;&nbsp;</a></span>GroupForwardArcsByFunctor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void GroupForwardArcsByFunctor </td>
<td>(</td>
<td class="paramtype">const A &amp;&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">B *&#160;</td>
<td class="paramname"><em>b</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="graph_8h_source.html#l00267">267</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="ad17746fd0d835cab506a6ce5a93ad89a" name="ad17746fd0d835cab506a6ce5a93ad89a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad17746fd0d835cab506a6ce5a93ad89a">&#9670;&nbsp;</a></span>IsArcValid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsArcValid </td>
<td>(</td>
<td class="paramtype">ArcIndexType&#160;</td>
<td class="paramname"><em>arc</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="graph_8h_source.html#l00222">222</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a2b88b717e42d7137a884c36e35052191" name="a2b88b717e42d7137a884c36e35052191"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b88b717e42d7137a884c36e35052191">&#9670;&nbsp;</a></span>IsNodeValid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsNodeValid </td>
<td>(</td>
<td class="paramtype">NodeIndexType&#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="graph_8h_source.html#l00216">216</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="aad16076f9d10c90b9b9e0ccfddf878ed" name="aad16076f9d10c90b9b9e0ccfddf878ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad16076f9d10c90b9b9e0ccfddf878ed">&#9670;&nbsp;</a></span>max_end_arc_index()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ArcIndexType max_end_arc_index </td>
<td>(</td>
<td class="paramname"></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="graph_8h_source.html#l00270">270</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="acf65739a0eb01d1011a8001b6daff9eb" name="acf65739a0eb01d1011a8001b6daff9eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf65739a0eb01d1011a8001b6daff9eb">&#9670;&nbsp;</a></span>node_capacity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">NodeIndexType node_capacity</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00959">959</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a4d3fc55a2fe209a908470199437cec9a" name="a4d3fc55a2fe209a908470199437cec9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d3fc55a2fe209a908470199437cec9a">&#9670;&nbsp;</a></span>num_arcs()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ArcIndexType num_arcs </td>
<td>(</td>
<td class="paramname"></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="graph_8h_source.html#l00207">207</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a6a2df5042167b234f6dc3aed4acfa6c9" name="a6a2df5042167b234f6dc3aed4acfa6c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a2df5042167b234f6dc3aed4acfa6c9">&#9670;&nbsp;</a></span>num_nodes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">NodeIndexType num_nodes </td>
<td>(</td>
<td class="paramname"></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="graph_8h_source.html#l00204">204</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a3bc3205be90a3a0142eee47fc3e9ea9d" name="a3bc3205be90a3a0142eee47fc3e9ea9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bc3205be90a3a0142eee47fc3e9ea9d">&#9670;&nbsp;</a></span>Reserve()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Reserve </td>
<td>(</td>
<td class="paramtype">NodeIndexType&#160;</td>
<td class="paramname"><em>node_capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ArcIndexType&#160;</td>
<td class="paramname"><em>arc_capacity</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="graph_8h_source.html#l00250">250</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a3aa184e2b22fc7320a39cfcba36010c4" name="a3aa184e2b22fc7320a39cfcba36010c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3aa184e2b22fc7320a39cfcba36010c4">&#9670;&nbsp;</a></span>ReserveArcs()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void ReserveArcs </td>
<td>(</td>
<td class="paramtype">ArcIndexType&#160;</td>
<td class="paramname"><em>bound</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00244">244</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="afdfec6e1d53e915a6059fdb681d92f02" name="afdfec6e1d53e915a6059fdb681d92f02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdfec6e1d53e915a6059fdb681d92f02">&#9670;&nbsp;</a></span>ReserveNodes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void ReserveNodes </td>
<td>(</td>
<td class="paramtype">NodeIndexType&#160;</td>
<td class="paramname"><em>bound</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00238">238</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a0b0fca21fab97b66c1a0a3b09af6e6e4" name="a0b0fca21fab97b66c1a0a3b09af6e6e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b0fca21fab97b66c1a0a3b09af6e6e4">&#9670;&nbsp;</a></span>arc_capacity_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ArcIndexType arc_capacity_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00282">282</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a8b5cdcc274a624bd9059f95d70659fb9" name="a8b5cdcc274a624bd9059f95d70659fb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b5cdcc274a624bd9059f95d70659fb9">&#9670;&nbsp;</a></span>const_capacities_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool const_capacities_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00283">283</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="aab3a7c235c6a6000a25a5a79d680f1ba" name="aab3a7c235c6a6000a25a5a79d680f1ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab3a7c235c6a6000a25a5a79d680f1ba">&#9670;&nbsp;</a></span>kNilArc</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const ArcIndexType kNilArc</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <a class="code hl_variable" href="alldiff__cst_8cc.html#a26e6db9bcc64b584051ecc28171ed11f">std::numeric_limits&lt;ArcIndexType&gt;::max</a>()</div>
<div class="ttc" id="aalldiff__cst_8cc_html_a26e6db9bcc64b584051ecc28171ed11f"><div class="ttname"><a href="alldiff__cst_8cc.html#a26e6db9bcc64b584051ecc28171ed11f">max</a></div><div class="ttdeci">int64_t max</div><div class="ttdef"><b>Definition:</b> <a href="alldiff__cst_8cc_source.html#l00140">alldiff_cst.cc:140</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00262">262</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a0da78a7e517acf1b646ae28ad16216ed" name="a0da78a7e517acf1b646ae28ad16216ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0da78a7e517acf1b646ae28ad16216ed">&#9670;&nbsp;</a></span>kNilNode</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const NodeIndexType kNilNode</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <a class="code hl_variable" href="alldiff__cst_8cc.html#a26e6db9bcc64b584051ecc28171ed11f">std::numeric_limits&lt;NodeIndexType&gt;::max</a>()</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00261">261</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a47b64ae00c3d2acdbdad64fa6dbe9c03" name="a47b64ae00c3d2acdbdad64fa6dbe9c03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47b64ae00c3d2acdbdad64fa6dbe9c03">&#9670;&nbsp;</a></span>node_capacity_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">NodeIndexType node_capacity_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00280">280</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="afa0c44b50a5e9459e3339ec50082e635" name="afa0c44b50a5e9459e3339ec50082e635"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa0c44b50a5e9459e3339ec50082e635">&#9670;&nbsp;</a></span>num_arcs_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ArcIndexType num_arcs_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00281">281</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a9e04004960ec7ac63f9ce9b97aa0bcfa" name="a9e04004960ec7ac63f9ce9b97aa0bcfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e04004960ec7ac63f9ce9b97aa0bcfa">&#9670;&nbsp;</a></span>num_nodes_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">NodeIndexType num_nodes_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00279">279</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="graph_8h_source.html">graph.h</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="namespaceutil.html">util</a></li><li class="navelem"><a class="el" href="classutil_1_1_base_graph.html">BaseGraph</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.9.2 </li>
</ul>
</div>
</body>
</html>