1519 lines
88 KiB
HTML
1519 lines
88 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"/>-->
|
|
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="banner-container">
|
|
<div id="banner">
|
|
<span id="sfml">OR-Tools 7.2</span>
|
|
</div>
|
|
</div>
|
|
<link rel="icon" href="https://developers.google.com/optimization/images/orLogo.png">
|
|
<div id="content">
|
|
<!-- Generated by Doxygen 1.8.15 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
|
<li><a href="classes.html"><span>Class Index</span></a></li>
|
|
<li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceutil.html">util</a></li><li class="navelem"><a class="el" href="classutil_1_1ReverseArcListGraph.html">ReverseArcListGraph</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-attribs">Static Public Attributes</a> |
|
|
<a href="#pro-methods">Protected Member Functions</a> |
|
|
<a href="#pro-attribs">Protected Attributes</a> |
|
|
<a href="classutil_1_1ReverseArcListGraph-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">util::ReverseArcListGraph< NodeIndexType, ArcIndexType > Class Template Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Extends the <a class="el" href="classutil_1_1ListGraph.html" title="Basic graph implementation without reverse arc.">ListGraph</a> by also storing the reverse arcs.
|
|
<a href="classutil_1_1ReverseArcListGraph.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="graph_8h_source.html">graph.h</a>></code></p>
|
|
<div class="dynheader">
|
|
Inheritance diagram for util::ReverseArcListGraph< NodeIndexType, ArcIndexType >:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="classutil_1_1ReverseArcListGraph__inherit__graph.png" border="0" usemap="#util_1_1ReverseArcListGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_inherit__map" alt="Inheritance graph"/></div>
|
|
<map name="util_1_1ReverseArcListGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_inherit__map" id="util_1_1ReverseArcListGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_inherit__map">
|
|
<area shape="rect" title="Extends the ListGraph by also storing the reverse arcs." alt="" coords="5,92,231,131"/>
|
|
<area shape="rect" href="classutil_1_1BaseGraph.html" title=" " alt="" coords="24,5,213,44"/>
|
|
</map>
|
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
|
<div class="dynheader">
|
|
Collaboration diagram for util::ReverseArcListGraph< NodeIndexType, ArcIndexType >:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="classutil_1_1ReverseArcListGraph__coll__graph.png" border="0" usemap="#util_1_1ReverseArcListGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_coll__map" alt="Collaboration graph"/></div>
|
|
<map name="util_1_1ReverseArcListGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_coll__map" id="util_1_1ReverseArcListGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_coll__map">
|
|
<area shape="rect" title="Extends the ListGraph by also storing the reverse arcs." alt="" coords="16,207,242,245"/>
|
|
<area shape="rect" href="classutil_1_1BaseGraph.html" title=" " alt="" coords="35,119,224,157"/>
|
|
<area shape="rect" title=" " alt="" coords="5,5,120,31"/>
|
|
<area shape="rect" title=" " alt="" coords="145,5,247,31"/>
|
|
</map>
|
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html">IncomingArcIterator</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html">OppositeIncomingArcIterator</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html">OutgoingArcIterator</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html">OutgoingHeadIterator</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html">OutgoingOrOppositeIncomingArcIterator</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><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:adb271cf4bcf2de5b5bbe300d7054af29"><td class="memItemLeft" align="right" valign="top">typedef NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#adb271cf4bcf2de5b5bbe300d7054af29">NodeIndex</a></td></tr>
|
|
<tr class="memdesc:adb271cf4bcf2de5b5bbe300d7054af29"><td class="mdescLeft"> </td><td class="mdescRight">Typedef so you can use Graph::NodeIndex and Graph::ArcIndex to be generic but also to improve the readability of your code. <a href="#adb271cf4bcf2de5b5bbe300d7054af29">More...</a><br /></td></tr>
|
|
<tr class="separator:adb271cf4bcf2de5b5bbe300d7054af29"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0eba6e5899924388644dfa2258ae8929"><td class="memItemLeft" align="right" valign="top">typedef ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929">ArcIndex</a></td></tr>
|
|
<tr class="separator:a0eba6e5899924388644dfa2258ae8929"><td class="memSeparator" colspan="2"> </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:ac553bb63399815ac609976e5a3bd8732"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#ac553bb63399815ac609976e5a3bd8732">ReverseArcListGraph</a> ()</td></tr>
|
|
<tr class="separator:ac553bb63399815ac609976e5a3bd8732"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a885571656abd56593b2edbebb451d67f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a885571656abd56593b2edbebb451d67f">ReverseArcListGraph</a> (NodeIndexType <a class="el" href="classutil_1_1BaseGraph.html#a0f551c921fa0b5aaa334a6e36f61db4a">num_nodes</a>, ArcIndexType <a class="el" href="classutil_1_1BaseGraph.html#a92ffd852b2ab2e5241f9832e71a2de71">arc_capacity</a>)</td></tr>
|
|
<tr class="separator:a885571656abd56593b2edbebb451d67f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa3306c75dd28ca037205f382ac832b2a"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#aa3306c75dd28ca037205f382ac832b2a">OppositeArc</a> (ArcIndexType arc) const</td></tr>
|
|
<tr class="memdesc:aa3306c75dd28ca037205f382ac832b2a"><td class="mdescLeft"> </td><td class="mdescRight">Returns the opposite arc of a given arc. <a href="#aa3306c75dd28ca037205f382ac832b2a">More...</a><br /></td></tr>
|
|
<tr class="separator:aa3306c75dd28ca037205f382ac832b2a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad25429b667ebd6e2ac662b76f3e02eae"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#ad25429b667ebd6e2ac662b76f3e02eae">OutDegree</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:ad25429b667ebd6e2ac662b76f3e02eae"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classutil_1_1ReverseArcListGraph.html#ad25429b667ebd6e2ac662b76f3e02eae" title="ReverseArcListGraph<>::OutDegree() and ::InDegree() work in O(degree).">ReverseArcListGraph<>::OutDegree()</a> and ::InDegree() work in O(degree). <a href="#ad25429b667ebd6e2ac662b76f3e02eae">More...</a><br /></td></tr>
|
|
<tr class="separator:ad25429b667ebd6e2ac662b76f3e02eae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeffdaa7d0a6c7b6355ee1dab33524961"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#aeffdaa7d0a6c7b6355ee1dab33524961">InDegree</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="separator:aeffdaa7d0a6c7b6355ee1dab33524961"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac8923133838003d7a7ffb4500f0d4ffa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< <a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html">OutgoingArcIterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#ac8923133838003d7a7ffb4500f0d4ffa">OutgoingArcs</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:ac8923133838003d7a7ffb4500f0d4ffa"><td class="mdescLeft"> </td><td class="mdescRight">Arc iterations functions over the arcs touching a node (see the top-level comment for the different types). <a href="#ac8923133838003d7a7ffb4500f0d4ffa">More...</a><br /></td></tr>
|
|
<tr class="separator:ac8923133838003d7a7ffb4500f0d4ffa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad0e7957e515d9c50f931c00166d099ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< <a class="el" href="classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html">IncomingArcIterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#ad0e7957e515d9c50f931c00166d099ce">IncomingArcs</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="separator:ad0e7957e515d9c50f931c00166d099ce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a104172ed25aa4cea18cd3a5c2187d4c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< <a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html">OutgoingOrOppositeIncomingArcIterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a104172ed25aa4cea18cd3a5c2187d4c7">OutgoingOrOppositeIncomingArcs</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="separator:a104172ed25aa4cea18cd3a5c2187d4c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3cd1d1d0e50aaa2f30817db44cca8881"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< <a class="el" href="classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html">OppositeIncomingArcIterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a3cd1d1d0e50aaa2f30817db44cca8881">OppositeIncomingArcs</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="separator:a3cd1d1d0e50aaa2f30817db44cca8881"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a60d3a435f90e2c963047cc6d8c6ad363"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< <a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html">OutgoingArcIterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a60d3a435f90e2c963047cc6d8c6ad363">OutgoingArcsStartingFrom</a> (NodeIndexType node, ArcIndexType from) const</td></tr>
|
|
<tr class="separator:a60d3a435f90e2c963047cc6d8c6ad363"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1a89c1efcf87cce6cec110126eb05641"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< <a class="el" href="classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html">IncomingArcIterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a1a89c1efcf87cce6cec110126eb05641">IncomingArcsStartingFrom</a> (NodeIndexType node, ArcIndexType from) const</td></tr>
|
|
<tr class="separator:a1a89c1efcf87cce6cec110126eb05641"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a96a609a53497ca38517dba5c277c7798"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< <a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html">OutgoingOrOppositeIncomingArcIterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a96a609a53497ca38517dba5c277c7798">OutgoingOrOppositeIncomingArcsStartingFrom</a> (NodeIndexType node, ArcIndexType from) const</td></tr>
|
|
<tr class="separator:a96a609a53497ca38517dba5c277c7798"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1e345c79e59f71e088f4876be93a903d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< <a class="el" href="classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html">OppositeIncomingArcIterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a1e345c79e59f71e088f4876be93a903d">OppositeIncomingArcsStartingFrom</a> (NodeIndexType node, ArcIndexType from) const</td></tr>
|
|
<tr class="separator:a1e345c79e59f71e088f4876be93a903d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a28d6f97b2135e9d51bad632c2556fa56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< <a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html">OutgoingHeadIterator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a28d6f97b2135e9d51bad632c2556fa56">operator[]</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:a28d6f97b2135e9d51bad632c2556fa56"><td class="mdescLeft"> </td><td class="mdescRight">This loops over the heads of the OutgoingArcs(node). <a href="#a28d6f97b2135e9d51bad632c2556fa56">More...</a><br /></td></tr>
|
|
<tr class="separator:a28d6f97b2135e9d51bad632c2556fa56"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2fdb48f771da93712d9386c60615cf04"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a2fdb48f771da93712d9386c60615cf04">Head</a> (ArcIndexType arc) const</td></tr>
|
|
<tr class="separator:a2fdb48f771da93712d9386c60615cf04"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac7b475304d3677d4a29c676e64c3e09c"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#ac7b475304d3677d4a29c676e64c3e09c">Tail</a> (ArcIndexType arc) const</td></tr>
|
|
<tr class="separator:ac7b475304d3677d4a29c676e64c3e09c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae7734e3c4b1930b2859b4813bf6e238b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#ae7734e3c4b1930b2859b4813bf6e238b">ReserveNodes</a> (NodeIndexType bound) override</td></tr>
|
|
<tr class="memdesc:ae7734e3c4b1930b2859b4813bf6e238b"><td class="mdescLeft"> </td><td class="mdescRight">Changes the graph capacities. <a href="#ae7734e3c4b1930b2859b4813bf6e238b">More...</a><br /></td></tr>
|
|
<tr class="separator:ae7734e3c4b1930b2859b4813bf6e238b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6409e1c967f2062aa83b4bde26a931f1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a6409e1c967f2062aa83b4bde26a931f1">ReserveArcs</a> (ArcIndexType bound) override</td></tr>
|
|
<tr class="separator:a6409e1c967f2062aa83b4bde26a931f1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aadf05a4b2729e2844c3251d82b9e862c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#aadf05a4b2729e2844c3251d82b9e862c">AddNode</a> (NodeIndexType node)</td></tr>
|
|
<tr class="separator:aadf05a4b2729e2844c3251d82b9e862c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a79291a548af693328d0e4e8f64cdc745"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a79291a548af693328d0e4e8f64cdc745">AddArc</a> (NodeIndexType tail, NodeIndexType head)</td></tr>
|
|
<tr class="separator:a79291a548af693328d0e4e8f64cdc745"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a25d91ab3a2ced7900dd2f5cbcf1ed587"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a25d91ab3a2ced7900dd2f5cbcf1ed587">Build</a> ()</td></tr>
|
|
<tr class="separator:a25d91ab3a2ced7900dd2f5cbcf1ed587"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a52c31a4ce66ba0c4a24cbe884fda377c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1ReverseArcListGraph.html#a52c31a4ce66ba0c4a24cbe884fda377c">Build</a> (std::vector< ArcIndexType > *permutation)</td></tr>
|
|
<tr class="separator:a52c31a4ce66ba0c4a24cbe884fda377c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0f551c921fa0b5aaa334a6e36f61db4a"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a0f551c921fa0b5aaa334a6e36f61db4a">num_nodes</a> () const</td></tr>
|
|
<tr class="memdesc:a0f551c921fa0b5aaa334a6e36f61db4a"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of valid nodes in the graph. <a href="#a0f551c921fa0b5aaa334a6e36f61db4a">More...</a><br /></td></tr>
|
|
<tr class="separator:a0f551c921fa0b5aaa334a6e36f61db4a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aefb468e4d4a3128c91b3bad9f5b314c8"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#aefb468e4d4a3128c91b3bad9f5b314c8">num_arcs</a> () const</td></tr>
|
|
<tr class="memdesc:aefb468e4d4a3128c91b3bad9f5b314c8"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of valid arcs in the graph. <a href="#aefb468e4d4a3128c91b3bad9f5b314c8">More...</a><br /></td></tr>
|
|
<tr class="separator:aefb468e4d4a3128c91b3bad9f5b314c8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a32ba4a5ca9a4b89f750eb2dc56518b02"><td class="memItemLeft" align="right" valign="top">IntegerRange< <a class="el" href="classutil_1_1BaseGraph.html#adb271cf4bcf2de5b5bbe300d7054af29">NodeIndex</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a32ba4a5ca9a4b89f750eb2dc56518b02">AllNodes</a> () const</td></tr>
|
|
<tr class="memdesc:a32ba4a5ca9a4b89f750eb2dc56518b02"><td class="mdescLeft"> </td><td class="mdescRight">Allows nice range-based for loop: for (const NodeIndex node : graph.AllNodes()) { ... <a href="#a32ba4a5ca9a4b89f750eb2dc56518b02">More...</a><br /></td></tr>
|
|
<tr class="separator:a32ba4a5ca9a4b89f750eb2dc56518b02"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abcfd7c21143e5ed38573c0dd60826dd8"><td class="memItemLeft" align="right" valign="top">IntegerRange< <a class="el" href="classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929">ArcIndex</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#abcfd7c21143e5ed38573c0dd60826dd8">AllForwardArcs</a> () const</td></tr>
|
|
<tr class="separator:abcfd7c21143e5ed38573c0dd60826dd8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abf853acea86e01356f53055f77661770"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#abf853acea86e01356f53055f77661770">IsNodeValid</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:abf853acea86e01356f53055f77661770"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the given node is a valid node of the graph. <a href="#abf853acea86e01356f53055f77661770">More...</a><br /></td></tr>
|
|
<tr class="separator:abf853acea86e01356f53055f77661770"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2097ccda3b1ad27e2c82166979018bda"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a2097ccda3b1ad27e2c82166979018bda">IsArcValid</a> (ArcIndexType arc) const</td></tr>
|
|
<tr class="memdesc:a2097ccda3b1ad27e2c82166979018bda"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the given arc is a valid arc of the graph. <a href="#a2097ccda3b1ad27e2c82166979018bda">More...</a><br /></td></tr>
|
|
<tr class="separator:a2097ccda3b1ad27e2c82166979018bda"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a463d57480c9563a7a707c5d0928c9946"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a463d57480c9563a7a707c5d0928c9946">node_capacity</a> () const</td></tr>
|
|
<tr class="memdesc:a463d57480c9563a7a707c5d0928c9946"><td class="mdescLeft"> </td><td class="mdescRight">Capacity reserved for future nodes, always >= num_nodes_. <a href="#a463d57480c9563a7a707c5d0928c9946">More...</a><br /></td></tr>
|
|
<tr class="separator:a463d57480c9563a7a707c5d0928c9946"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a92ffd852b2ab2e5241f9832e71a2de71"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a92ffd852b2ab2e5241f9832e71a2de71">arc_capacity</a> () const</td></tr>
|
|
<tr class="memdesc:a92ffd852b2ab2e5241f9832e71a2de71"><td class="mdescLeft"> </td><td class="mdescRight">Capacity reserved for future arcs, always >= num_arcs_. <a href="#a92ffd852b2ab2e5241f9832e71a2de71">More...</a><br /></td></tr>
|
|
<tr class="separator:a92ffd852b2ab2e5241f9832e71a2de71"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab731ca5c638e7b1b0a2c459c94a90f55"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#ab731ca5c638e7b1b0a2c459c94a90f55">Reserve</a> (NodeIndexType <a class="el" href="classutil_1_1BaseGraph.html#a463d57480c9563a7a707c5d0928c9946">node_capacity</a>, ArcIndexType <a class="el" href="classutil_1_1BaseGraph.html#a92ffd852b2ab2e5241f9832e71a2de71">arc_capacity</a>)</td></tr>
|
|
<tr class="separator:ab731ca5c638e7b1b0a2c459c94a90f55"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa3bd051d1e141b09dda17aa9b5f24f69"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#aa3bd051d1e141b09dda17aa9b5f24f69">FreezeCapacities</a> ()</td></tr>
|
|
<tr class="memdesc:aa3bd051d1e141b09dda17aa9b5f24f69"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classutil_1_1BaseGraph.html#aa3bd051d1e141b09dda17aa9b5f24f69" title="FreezeCapacities() makes any future attempt to change the graph capacities crash in DEBUG mode.">FreezeCapacities()</a> makes any future attempt to change the graph capacities crash in DEBUG mode. <a href="#aa3bd051d1e141b09dda17aa9b5f24f69">More...</a><br /></td></tr>
|
|
<tr class="separator:aa3bd051d1e141b09dda17aa9b5f24f69"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a07214b96597069d781e27b1dd17ef83e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a07214b96597069d781e27b1dd17ef83e">GroupForwardArcsByFunctor</a> (const A &a, B *b)</td></tr>
|
|
<tr class="separator:a07214b96597069d781e27b1dd17ef83e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a346b8a5811f0e287e1ebce2de2c1ad28"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a346b8a5811f0e287e1ebce2de2c1ad28">max_end_arc_index</a> () const</td></tr>
|
|
<tr class="separator:a346b8a5811f0e287e1ebce2de2c1ad28"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
|
|
Static Public Attributes</h2></td></tr>
|
|
<tr class="memitem:ab1292c82a3f43be3bd57b63a05fe0214"><td class="memItemLeft" align="right" valign="top">static const NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#ab1292c82a3f43be3bd57b63a05fe0214">kNilNode</a></td></tr>
|
|
<tr class="memdesc:ab1292c82a3f43be3bd57b63a05fe0214"><td class="mdescLeft"> </td><td class="mdescRight">Constants that will never be a valid node or arc. <a href="#ab1292c82a3f43be3bd57b63a05fe0214">More...</a><br /></td></tr>
|
|
<tr class="separator:ab1292c82a3f43be3bd57b63a05fe0214"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad5b77846f77c2771e840820812ad5521"><td class="memItemLeft" align="right" valign="top">static const ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#ad5b77846f77c2771e840820812ad5521">kNilArc</a></td></tr>
|
|
<tr class="separator:ad5b77846f77c2771e840820812ad5521"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
|
Protected Member Functions</h2></td></tr>
|
|
<tr class="memitem:ac47030fcb75a3220f8cf9ed79697056e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#ac47030fcb75a3220f8cf9ed79697056e">ComputeCumulativeSum</a> (std::vector< ArcIndexType > *v)</td></tr>
|
|
<tr class="memdesc:ac47030fcb75a3220f8cf9ed79697056e"><td class="mdescLeft"> </td><td class="mdescRight">Functions commented when defined because they are implementation details. <a href="#ac47030fcb75a3220f8cf9ed79697056e">More...</a><br /></td></tr>
|
|
<tr class="separator:ac47030fcb75a3220f8cf9ed79697056e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a63fd586eed6c345866317e2f0faf377e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a63fd586eed6c345866317e2f0faf377e">BuildStartAndForwardHead</a> (<a class="el" href="classutil_1_1SVector.html">SVector</a>< NodeIndexType > *head, std::vector< ArcIndexType > *start, std::vector< ArcIndexType > *permutation)</td></tr>
|
|
<tr class="memdesc:a63fd586eed6c345866317e2f0faf377e"><td class="mdescLeft"> </td><td class="mdescRight">Given the tail of arc #i in (*head)[i] and the head of arc #i in (*head)[~i]. <a href="#a63fd586eed6c345866317e2f0faf377e">More...</a><br /></td></tr>
|
|
<tr class="separator:a63fd586eed6c345866317e2f0faf377e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
|
|
Protected Attributes</h2></td></tr>
|
|
<tr class="memitem:a473db46afec1eabf0762411830dee30f"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a473db46afec1eabf0762411830dee30f">num_nodes_</a></td></tr>
|
|
<tr class="separator:a473db46afec1eabf0762411830dee30f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a424bd34a9767e7edeaf3a60ecd3cb000"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a424bd34a9767e7edeaf3a60ecd3cb000">node_capacity_</a></td></tr>
|
|
<tr class="separator:a424bd34a9767e7edeaf3a60ecd3cb000"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af16f99d41856a7b22ae8a226ef09abff"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#af16f99d41856a7b22ae8a226ef09abff">num_arcs_</a></td></tr>
|
|
<tr class="separator:af16f99d41856a7b22ae8a226ef09abff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a895e891d1ad52ce3efcfeb7ba11194c7"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#a895e891d1ad52ce3efcfeb7ba11194c7">arc_capacity_</a></td></tr>
|
|
<tr class="separator:a895e891d1ad52ce3efcfeb7ba11194c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa980e5526b9ded17a83928fc339c71e4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1BaseGraph.html#aa980e5526b9ded17a83928fc339c71e4">const_capacities_</a></td></tr>
|
|
<tr class="separator:aa980e5526b9ded17a83928fc339c71e4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><h3>template<typename NodeIndexType = int32, typename ArcIndexType = int32><br />
|
|
class util::ReverseArcListGraph< NodeIndexType, ArcIndexType ></h3>
|
|
|
|
<p>Extends the <a class="el" href="classutil_1_1ListGraph.html" title="Basic graph implementation without reverse arc.">ListGraph</a> by also storing the reverse arcs. </p>
|
|
<p>This class also documents the Graph interface related to reverse arc.</p><ul>
|
|
<li>NodeIndexType can be unsigned, but ArcIndexType must be signed.</li>
|
|
<li>It has most of the same advantanges and disadvantages as <a class="el" href="classutil_1_1ListGraph.html" title="Basic graph implementation without reverse arc.">ListGraph</a>.</li>
|
|
<li>It takes 2 * ArcIndexType * <a class="el" href="classutil_1_1BaseGraph.html#a463d57480c9563a7a707c5d0928c9946" title="Capacity reserved for future nodes, always >= num_nodes_.">node_capacity()</a><ul>
|
|
<li>2 * (ArcIndexType + NodeIndexType) * <a class="el" href="classutil_1_1BaseGraph.html#a92ffd852b2ab2e5241f9832e71a2de71" title="Capacity reserved for future arcs, always >= num_arcs_.">arc_capacity()</a> memory. </li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00459">459</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
<a id="a0eba6e5899924388644dfa2258ae8929"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0eba6e5899924388644dfa2258ae8929">◆ </a></span>ArcIndex</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef ArcIndexType <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::<a class="el" href="classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929">ArcIndex</a></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00190">190</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adb271cf4bcf2de5b5bbe300d7054af29"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adb271cf4bcf2de5b5bbe300d7054af29">◆ </a></span>NodeIndex</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef NodeIndexType <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::<a class="el" href="classutil_1_1BaseGraph.html#adb271cf4bcf2de5b5bbe300d7054af29">NodeIndex</a></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Typedef so you can use <a class="el" href="classutil_1_1BaseGraph.html#adb271cf4bcf2de5b5bbe300d7054af29" title="Typedef so you can use Graph::NodeIndex and Graph::ArcIndex to be generic but also to improve the rea...">Graph::NodeIndex</a> and <a class="el" href="classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929">Graph::ArcIndex</a> to be generic but also to improve the readability of your code. </p>
|
|
<p>We also recommend that you define a typedef ... Graph; for readability. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00189">189</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="ac553bb63399815ac609976e5a3bd8732"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac553bb63399815ac609976e5a3bd8732">◆ </a></span>ReverseArcListGraph() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::<a class="el" href="classutil_1_1ReverseArcListGraph.html">ReverseArcListGraph</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#l00470">470</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a885571656abd56593b2edbebb451d67f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a885571656abd56593b2edbebb451d67f">◆ </a></span>ReverseArcListGraph() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::<a class="el" href="classutil_1_1ReverseArcListGraph.html">ReverseArcListGraph</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>num_nodes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>arc_capacity</em> </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#l00471">471</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="a79291a548af693328d0e4e8f64cdc745"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a79291a548af693328d0e4e8f64cdc745">◆ </a></span>AddArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::AddArc </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>tail</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>head</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01504">1504</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aadf05a4b2729e2844c3251d82b9e862c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aadf05a4b2729e2844c3251d82b9e862c">◆ </a></span>AddNode()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::AddNode </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01494">1494</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abcfd7c21143e5ed38573c0dd60826dd8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abcfd7c21143e5ed38573c0dd60826dd8">◆ </a></span>AllForwardArcs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">IntegerRange< ArcIndexType > <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::AllForwardArcs </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">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00935">935</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a32ba4a5ca9a4b89f750eb2dc56518b02"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a32ba4a5ca9a4b89f750eb2dc56518b02">◆ </a></span>AllNodes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">IntegerRange< NodeIndexType > <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::AllNodes </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">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allows nice range-based for loop: for (const NodeIndex node : graph.AllNodes()) { ... </p>
|
|
<p><a class="el" href="classutil_1_1BaseGraph.html" title="Base class of all Graphs implemented here.">BaseGraph</a> implementation -------------------------------------------------—.</p>
|
|
<p>} for (const ArcIndex arc : graph.AllForwardArcs()) { ... } </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00929">929</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a92ffd852b2ab2e5241f9832e71a2de71"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a92ffd852b2ab2e5241f9832e71a2de71">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::arc_capacity </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">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Capacity reserved for future arcs, always >= num_arcs_. </p>
|
|
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000014">Todo:</a></b></dt><dd>(user): Same questions as the ones in <a class="el" href="classutil_1_1BaseGraph.html#a463d57480c9563a7a707c5d0928c9946" title="Capacity reserved for future nodes, always >= num_nodes_.">node_capacity()</a>. </dd></dl>
|
|
|
|
<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="a25d91ab3a2ced7900dd2f5cbcf1ed587"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a25d91ab3a2ced7900dd2f5cbcf1ed587">◆ </a></span>Build() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::Build </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#l00527">527</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a52c31a4ce66ba0c4a24cbe884fda377c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a52c31a4ce66ba0c4a24cbe884fda377c">◆ </a></span>Build() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::Build </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< ArcIndexType > * </td>
|
|
<td class="paramname"><em>permutation</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01518">1518</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a63fd586eed6c345866317e2f0faf377e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a63fd586eed6c345866317e2f0faf377e">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::BuildStartAndForwardHead </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classutil_1_1SVector.html">SVector</a>< NodeIndexType > * </td>
|
|
<td class="paramname"><em>head</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< ArcIndexType > * </td>
|
|
<td class="paramname"><em>start</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< ArcIndexType > * </td>
|
|
<td class="paramname"><em>permutation</em> </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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Given the tail of arc #i in (*head)[i] and the head of arc #i in (*head)[~i]. </p>
|
|
<ul>
|
|
<li>Reorder the arc by increasing tail.</li>
|
|
<li>Put the head of the new arc #i in (*head)[i].</li>
|
|
<li>Put in start[i] the index of the first arc with tail >= i.</li>
|
|
<li>Update "permutation" to reflect the change, unless it is NULL. </li>
|
|
</ul>
|
|
<p>Computes the outgoing degree of each nodes and check if we need to permute something or not. Note that the tails are currently stored in the positive range of the <a class="el" href="classutil_1_1SVector.html" title="Forward declaration.">SVector</a> head.</p>
|
|
<p>Abort early if we do not need the permutation: we only need to put the heads in the positive range.</p>
|
|
<p>Computes the forward arc permutation. </p><dl class="section note"><dt>Note</dt><dd>this temporarily alters the start vector.</dd></dl>
|
|
<p>Restore in (*start)[i] the index of the first arc with tail >= i.</p>
|
|
<p>Permutes the head into their final position in head. We do not need the tails anymore at this point. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00995">995</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac47030fcb75a3220f8cf9ed79697056e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac47030fcb75a3220f8cf9ed79697056e">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::ComputeCumulativeSum </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< ArcIndexType > * </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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Functions commented when defined because they are implementation details. </p>
|
|
<p>Computes the cummulative sum of the entry in v.</p>
|
|
<p>We only use it with in/out degree distribution, hence the Check() at the end. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00978">978</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa3bd051d1e141b09dda17aa9b5f24f69"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa3bd051d1e141b09dda17aa9b5f24f69">◆ </a></span>FreezeCapacities()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::FreezeCapacities </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="classutil_1_1BaseGraph.html#aa3bd051d1e141b09dda17aa9b5f24f69" title="FreezeCapacities() makes any future attempt to change the graph capacities crash in DEBUG mode.">FreezeCapacities()</a> makes any future attempt to change the graph capacities crash in DEBUG mode. </p>
|
|
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000015">Todo:</a></b></dt><dd>(user): Only define this in debug mode at the cost of having a lot of ifndef NDEBUG all over the place? remove the function completely ? </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00966">966</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a07214b96597069d781e27b1dd17ef83e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a07214b96597069d781e27b1dd17ef83e">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::GroupForwardArcsByFunctor </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const A & </td>
|
|
<td class="paramname"><em>a</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">B * </td>
|
|
<td class="paramname"><em>b</em> </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">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000017">Todo:</a></b></dt><dd>(user): remove the public functions below.</dd></dl>
|
|
<p>They are just here during the transition from the old ebert_graph api to this new graph api. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00264">264</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2fdb48f771da93712d9386c60615cf04"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2fdb48f771da93712d9386c60615cf04">◆ </a></span>Head()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::Head </td>
|
|
<td>(</td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>arc</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01463">1463</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad0e7957e515d9c50f931c00166d099ce"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad0e7957e515d9c50f931c00166d099ce">◆ </a></span>IncomingArcs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a><<a class="el" href="classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html">IncomingArcIterator</a>> <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::IncomingArcs </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1a89c1efcf87cce6cec110126eb05641"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1a89c1efcf87cce6cec110126eb05641">◆ </a></span>IncomingArcsStartingFrom()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a><<a class="el" href="classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html">IncomingArcIterator</a>> <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::IncomingArcsStartingFrom </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>from</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aeffdaa7d0a6c7b6355ee1dab33524961"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aeffdaa7d0a6c7b6355ee1dab33524961">◆ </a></span>InDegree()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::InDegree </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01448">1448</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2097ccda3b1ad27e2c82166979018bda"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2097ccda3b1ad27e2c82166979018bda">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::IsArcValid </td>
|
|
<td>(</td>
|
|
<td class="paramtype">ArcIndexType </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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if the given arc is a valid arc of the graph. </p>
|
|
<dl class="section note"><dt>Note</dt><dd>the arc validity range changes for graph with reverse arcs. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00219">219</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abf853acea86e01356f53055f77661770"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abf853acea86e01356f53055f77661770">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::IsNodeValid </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if the given node is a valid node of the graph. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00213">213</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a346b8a5811f0e287e1ebce2de2c1ad28"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a346b8a5811f0e287e1ebce2de2c1ad28">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::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 class="mlabel">inherited</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="a463d57480c9563a7a707c5d0928c9946"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a463d57480c9563a7a707c5d0928c9946">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::node_capacity </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">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Capacity reserved for future nodes, always >= num_nodes_. </p>
|
|
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000013">Todo:</a></b></dt><dd>(user): Is it needed? remove completely? return the real capacities at the cost of having a different implementation for each graphs? </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00951">951</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aefb468e4d4a3128c91b3bad9f5b314c8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aefb468e4d4a3128c91b3bad9f5b314c8">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of valid arcs in the graph. </p>
|
|
|
|
<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="a0f551c921fa0b5aaa334a6e36f61db4a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0f551c921fa0b5aaa334a6e36f61db4a">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::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 class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of valid nodes in the graph. </p>
|
|
|
|
<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>
|
|
<a id="a28d6f97b2135e9d51bad632c2556fa56"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a28d6f97b2135e9d51bad632c2556fa56">◆ </a></span>operator[]()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a>< typename <a class="el" href="classutil_1_1ReverseArcListGraph.html">ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::<a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html">OutgoingHeadIterator</a> > <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::operator[] </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This loops over the heads of the OutgoingArcs(node). </p>
|
|
<p>It is just a more convenient way to achieve this. Moreover this interface is used by some graph algorithms. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01432">1432</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa3306c75dd28ca037205f382ac832b2a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa3306c75dd28ca037205f382ac832b2a">◆ </a></span>OppositeArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::OppositeArc </td>
|
|
<td>(</td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>arc</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the opposite arc of a given arc. </p>
|
|
<p>That is the reverse arc of the given forward arc or the forward arc of a given reverse arc. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01456">1456</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3cd1d1d0e50aaa2f30817db44cca8881"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3cd1d1d0e50aaa2f30817db44cca8881">◆ </a></span>OppositeIncomingArcs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a><<a class="el" href="classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html">OppositeIncomingArcIterator</a>> <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::OppositeIncomingArcs </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1e345c79e59f71e088f4876be93a903d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1e345c79e59f71e088f4876be93a903d">◆ </a></span>OppositeIncomingArcsStartingFrom()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a><<a class="el" href="classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html">OppositeIncomingArcIterator</a>> <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::OppositeIncomingArcsStartingFrom </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>from</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad25429b667ebd6e2ac662b76f3e02eae"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad25429b667ebd6e2ac662b76f3e02eae">◆ </a></span>OutDegree()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::OutDegree </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="classutil_1_1ReverseArcListGraph.html#ad25429b667ebd6e2ac662b76f3e02eae" title="ReverseArcListGraph<>::OutDegree() and ::InDegree() work in O(degree).">ReverseArcListGraph<>::OutDegree()</a> and ::InDegree() work in O(degree). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01440">1440</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac8923133838003d7a7ffb4500f0d4ffa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac8923133838003d7a7ffb4500f0d4ffa">◆ </a></span>OutgoingArcs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a><<a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html">OutgoingArcIterator</a>> <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::OutgoingArcs </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Arc iterations functions over the arcs touching a node (see the top-level comment for the different types). </p>
|
|
<p>To be used as follows: for (const <a class="el" href="classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929">Graph::ArcIndex</a> arc : IterationFunction(node)) { ... }</p>
|
|
<p>The StartingFrom() version are similar, but restart the iteration from a given arc position (which must be valid in the iteration context). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a60d3a435f90e2c963047cc6d8c6ad363"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a60d3a435f90e2c963047cc6d8c6ad363">◆ </a></span>OutgoingArcsStartingFrom()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a><<a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html">OutgoingArcIterator</a>> <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::OutgoingArcsStartingFrom </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>from</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a104172ed25aa4cea18cd3a5c2187d4c7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a104172ed25aa4cea18cd3a5c2187d4c7">◆ </a></span>OutgoingOrOppositeIncomingArcs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a><<a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html">OutgoingOrOppositeIncomingArcIterator</a>> <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcs </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a96a609a53497ca38517dba5c277c7798"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a96a609a53497ca38517dba5c277c7798">◆ </a></span>OutgoingOrOppositeIncomingArcsStartingFrom()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType = int32, typename ArcIndexType = int32> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68">BeginEndWrapper</a><<a class="el" href="classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html">OutgoingOrOppositeIncomingArcIterator</a>> <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcsStartingFrom </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>from</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab731ca5c638e7b1b0a2c459c94a90f55"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab731ca5c638e7b1b0a2c459c94a90f55">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::Reserve </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>node_capacity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>arc_capacity</em> </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">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00247">247</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6409e1c967f2062aa83b4bde26a931f1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6409e1c967f2062aa83b4bde26a931f1">◆ </a></span>ReserveArcs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::ReserveArcs </td>
|
|
<td>(</td>
|
|
<td class="paramtype">ArcIndexType </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">override</span><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reimplemented from <a class="el" href="classutil_1_1BaseGraph.html#a9563f7154a759843923dd9bb27b288e7">util::BaseGraph< NodeIndexType, ArcIndexType, true ></a>.</p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01485">1485</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae7734e3c4b1930b2859b4813bf6e238b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae7734e3c4b1930b2859b4813bf6e238b">◆ </a></span>ReserveNodes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::ReserveNodes </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </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">override</span><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Changes the graph capacities. </p>
|
|
<p>The functions will fail in debug mode if:</p><ul>
|
|
<li>const_capacities_ is true.</li>
|
|
<li>A valid node does not fall into the new node range.</li>
|
|
<li>A valid arc does not fall into the new arc range. In non-debug mode, const_capacities_ is ignored and nothing will happen if the new capacity value for the arcs or the nodes is too small. </li>
|
|
</ul>
|
|
|
|
<p>Reimplemented from <a class="el" href="classutil_1_1BaseGraph.html#a69a71cbb575b13bde9899f5a6a217139">util::BaseGraph< NodeIndexType, ArcIndexType, true ></a>.</p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01476">1476</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac7b475304d3677d4a29c676e64c3e09c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac7b475304d3677d4a29c676e64c3e09c">◆ </a></span>Tail()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType , typename ArcIndexType > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classutil_1_1ReverseArcListGraph.html">util::ReverseArcListGraph</a>< NodeIndexType, ArcIndexType >::Tail </td>
|
|
<td>(</td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>arc</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01470">1470</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="a895e891d1ad52ce3efcfeb7ba11194c7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a895e891d1ad52ce3efcfeb7ba11194c7">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::arc_capacity_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</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>
|
|
<a id="aa980e5526b9ded17a83928fc339c71e4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa980e5526b9ded17a83928fc339c71e4">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::const_capacities_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</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="ad5b77846f77c2771e840820812ad5521"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad5b77846f77c2771e840820812ad5521">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::kNilArc</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00259">259</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab1292c82a3f43be3bd57b63a05fe0214"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab1292c82a3f43be3bd57b63a05fe0214">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::kNilNode</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Constants that will never be a valid node or arc. </p>
|
|
<p>They are the maximum possible node and arc capacity. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00258">258</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a424bd34a9767e7edeaf3a60ecd3cb000"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a424bd34a9767e7edeaf3a60ecd3cb000">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::node_capacity_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00277">277</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af16f99d41856a7b22ae8a226ef09abff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af16f99d41856a7b22ae8a226ef09abff">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::num_arcs_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00278">278</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a473db46afec1eabf0762411830dee30f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a473db46afec1eabf0762411830dee30f">◆ </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 <a class="el" href="classutil_1_1BaseGraph.html">util::BaseGraph</a>< NodeIndexType, ArcIndexType, HasReverseArcs >::num_nodes_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l00276">276</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>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|