1660 lines
96 KiB
HTML
1660 lines
96 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="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1EbertGraphBase.html">EbertGraphBase</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</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="#friends">Friends</a> |
|
|
<a href="classoperations__research_1_1EbertGraphBase-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, DerivedGraph > Class Template Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>A template for the base class that holds the functionality that exists in common between the EbertGraph<> template and the ForwardEbertGraph<> template.
|
|
<a href="classoperations__research_1_1EbertGraphBase.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>></code></p>
|
|
<div class="dynheader">
|
|
Inheritance diagram for operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="classoperations__research_1_1EbertGraphBase__inherit__graph.png" border="0" usemap="#operations__research_1_1EbertGraphBase_3_01NodeIndexType_00_01ArcIndexType_00_01DerivedGraph_01_4_inherit__map" alt="Inheritance graph"/></div>
|
|
<map name="operations__research_1_1EbertGraphBase_3_01NodeIndexType_00_01ArcIndexType_00_01DerivedGraph_01_4_inherit__map" id="operations__research_1_1EbertGraphBase_3_01NodeIndexType_00_01ArcIndexType_00_01DerivedGraph_01_4_inherit__map">
|
|
<area shape="rect" title="A template for the base class that holds the functionality that exists in common between the EbertGra..." alt="" coords="293,13,533,69"/>
|
|
<area shape="rect" href="classoperations__research_1_1EbertGraph.html" title="Forward declarations." alt="" coords="581,5,820,76"/>
|
|
<area shape="rect" href="classoperations__research_1_1StarGraphBase.html" title=" " alt="" coords="5,13,245,69"/>
|
|
</map>
|
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
|
<div class="dynheader">
|
|
Collaboration diagram for operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, DerivedGraph >:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="classoperations__research_1_1EbertGraphBase__coll__graph.png" border="0" usemap="#operations__research_1_1EbertGraphBase_3_01NodeIndexType_00_01ArcIndexType_00_01DerivedGraph_01_4_coll__map" alt="Collaboration graph"/></div>
|
|
<map name="operations__research_1_1EbertGraphBase_3_01NodeIndexType_00_01ArcIndexType_00_01DerivedGraph_01_4_coll__map" id="operations__research_1_1EbertGraphBase_3_01NodeIndexType_00_01ArcIndexType_00_01DerivedGraph_01_4_coll__map">
|
|
<area shape="rect" title="A template for the base class that holds the functionality that exists in common between the EbertGra..." alt="" coords="11,259,251,315"/>
|
|
<area shape="rect" href="classoperations__research_1_1StarGraphBase.html" title=" " alt="" coords="11,153,251,209"/>
|
|
<area shape="rect" title=" " alt="" coords="5,5,120,32"/>
|
|
<area shape="rect" title=" " alt="" coords="149,5,251,32"/>
|
|
</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="classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs.html">CycleHandlerForAnnotatedArcs</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-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a2b9709a996fb28b5572783b40e1067c5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a2b9709a996fb28b5572783b40e1067c5">Reserve</a> (NodeIndexType new_max_num_nodes, ArcIndexType new_max_num_arcs)</td></tr>
|
|
<tr class="memdesc:a2b9709a996fb28b5572783b40e1067c5"><td class="mdescLeft"> </td><td class="mdescRight">Reserves memory needed for max_num_nodes nodes and max_num_arcs arcs. <a href="#a2b9709a996fb28b5572783b40e1067c5">More...</a><br /></td></tr>
|
|
<tr class="separator:a2b9709a996fb28b5572783b40e1067c5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a96bf1fdcbfa88edabb7843b6142cb3bd"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a96bf1fdcbfa88edabb7843b6142cb3bd">AddArc</a> (NodeIndexType tail, NodeIndexType head)</td></tr>
|
|
<tr class="memdesc:a96bf1fdcbfa88edabb7843b6142cb3bd"><td class="mdescLeft"> </td><td class="mdescRight">Adds an arc to the graph and returns its index. <a href="#a96bf1fdcbfa88edabb7843b6142cb3bd">More...</a><br /></td></tr>
|
|
<tr class="separator:a96bf1fdcbfa88edabb7843b6142cb3bd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7adcbbf1af098a96abf7a3397246304d"><td class="memTemplParams" colspan="2">template<typename ArcIndexTypeStrictWeakOrderingFunctor > </td></tr>
|
|
<tr class="memitem:a7adcbbf1af098a96abf7a3397246304d"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a7adcbbf1af098a96abf7a3397246304d">GroupForwardArcsByFunctor</a> (const ArcIndexTypeStrictWeakOrderingFunctor &compare, PermutationCycleHandler< ArcIndexType > *annotation_handler)</td></tr>
|
|
<tr class="separator:a7adcbbf1af098a96abf7a3397246304d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a68a1d993a6371e6fbf6a8ffe5c944a45"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a68a1d993a6371e6fbf6a8ffe5c944a45">end_arc_index</a> () const</td></tr>
|
|
<tr class="memdesc:a68a1d993a6371e6fbf6a8ffe5c944a45"><td class="mdescLeft"> </td><td class="mdescRight">Returns one more than the largest index of an extant direct arc. <a href="#a68a1d993a6371e6fbf6a8ffe5c944a45">More...</a><br /></td></tr>
|
|
<tr class="separator:a68a1d993a6371e6fbf6a8ffe5c944a45"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad69ccdbdbceba88bf784e2add4964b5b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#ad69ccdbdbceba88bf784e2add4964b5b">IsNodeValid</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:ad69ccdbdbceba88bf784e2add4964b5b"><td class="mdescLeft"> </td><td class="mdescRight">Utility function to check that a node index is within the bounds AND different from kNilNode. <a href="#ad69ccdbdbceba88bf784e2add4964b5b">More...</a><br /></td></tr>
|
|
<tr class="separator:ad69ccdbdbceba88bf784e2add4964b5b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa8a10d242f7088bfdee282e1246e00b8"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#aa8a10d242f7088bfdee282e1246e00b8">num_nodes</a> () const</td></tr>
|
|
<tr class="memdesc:aa8a10d242f7088bfdee282e1246e00b8"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of nodes in the graph. <a href="#aa8a10d242f7088bfdee282e1246e00b8">More...</a><br /></td></tr>
|
|
<tr class="separator:aa8a10d242f7088bfdee282e1246e00b8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac0ae30f08a54ea67bf295b446157aed3"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#ac0ae30f08a54ea67bf295b446157aed3">num_arcs</a> () const</td></tr>
|
|
<tr class="memdesc:ac0ae30f08a54ea67bf295b446157aed3"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of original arcs in the graph (The ones with positive indices.) <a href="#ac0ae30f08a54ea67bf295b446157aed3">More...</a><br /></td></tr>
|
|
<tr class="separator:ac0ae30f08a54ea67bf295b446157aed3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a03cebcf1fdf356a8217ae2879100d324"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a03cebcf1fdf356a8217ae2879100d324">end_node_index</a> () const</td></tr>
|
|
<tr class="memdesc:a03cebcf1fdf356a8217ae2879100d324"><td class="mdescLeft"> </td><td class="mdescRight">Returns one more than the largest index of an extant node, meaning a node that is mentioned as the head or tail of some arc in the graph. <a href="#a03cebcf1fdf356a8217ae2879100d324">More...</a><br /></td></tr>
|
|
<tr class="separator:a03cebcf1fdf356a8217ae2879100d324"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a68a1d993a6371e6fbf6a8ffe5c944a45"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a68a1d993a6371e6fbf6a8ffe5c944a45">end_arc_index</a> () const</td></tr>
|
|
<tr class="memdesc:a68a1d993a6371e6fbf6a8ffe5c944a45"><td class="mdescLeft"> </td><td class="mdescRight">Returns one more than the largest index of an extant direct arc. <a href="#a68a1d993a6371e6fbf6a8ffe5c944a45">More...</a><br /></td></tr>
|
|
<tr class="separator:a68a1d993a6371e6fbf6a8ffe5c944a45"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a51a5033049b63ee5ce35b531b8474f0a"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a51a5033049b63ee5ce35b531b8474f0a">max_num_nodes</a> () const</td></tr>
|
|
<tr class="memdesc:a51a5033049b63ee5ce35b531b8474f0a"><td class="mdescLeft"> </td><td class="mdescRight">Returns the maximum possible number of nodes in the graph. <a href="#a51a5033049b63ee5ce35b531b8474f0a">More...</a><br /></td></tr>
|
|
<tr class="separator:a51a5033049b63ee5ce35b531b8474f0a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8aad937029f57b70efe059b908241685"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a8aad937029f57b70efe059b908241685">max_num_arcs</a> () const</td></tr>
|
|
<tr class="memdesc:a8aad937029f57b70efe059b908241685"><td class="mdescLeft"> </td><td class="mdescRight">Returns the maximum possible number of original arcs in the graph. <a href="#a8aad937029f57b70efe059b908241685">More...</a><br /></td></tr>
|
|
<tr class="separator:a8aad937029f57b70efe059b908241685"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6aecaff5cd6eea0a7c93de644b8defc6"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a6aecaff5cd6eea0a7c93de644b8defc6">max_end_node_index</a> () const</td></tr>
|
|
<tr class="memdesc:a6aecaff5cd6eea0a7c93de644b8defc6"><td class="mdescLeft"> </td><td class="mdescRight">Returns one more than the largest valid index of a node. <a href="#a6aecaff5cd6eea0a7c93de644b8defc6">More...</a><br /></td></tr>
|
|
<tr class="separator:a6aecaff5cd6eea0a7c93de644b8defc6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7e2435063a7df2859f5b589852a8d4d3"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a7e2435063a7df2859f5b589852a8d4d3">max_end_arc_index</a> () const</td></tr>
|
|
<tr class="memdesc:a7e2435063a7df2859f5b589852a8d4d3"><td class="mdescLeft"> </td><td class="mdescRight">Returns one more than the largest valid index of a direct arc. <a href="#a7e2435063a7df2859f5b589852a8d4d3">More...</a><br /></td></tr>
|
|
<tr class="separator:a7e2435063a7df2859f5b589852a8d4d3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad69ccdbdbceba88bf784e2add4964b5b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#ad69ccdbdbceba88bf784e2add4964b5b">IsNodeValid</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:ad69ccdbdbceba88bf784e2add4964b5b"><td class="mdescLeft"> </td><td class="mdescRight">Utility function to check that a node index is within the bounds AND different from kNilNode. <a href="#ad69ccdbdbceba88bf784e2add4964b5b">More...</a><br /></td></tr>
|
|
<tr class="separator:ad69ccdbdbceba88bf784e2add4964b5b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad24fe35c2e3798137b42e1bc1c35e587"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#ad24fe35c2e3798137b42e1bc1c35e587">LookUpArc</a> (const NodeIndexType tail, const NodeIndexType head) const</td></tr>
|
|
<tr class="memdesc:ad24fe35c2e3798137b42e1bc1c35e587"><td class="mdescLeft"> </td><td class="mdescRight">Returns the first arc going from tail to head, if it exists, or kNilArc if such an arc does not exist. <a href="#ad24fe35c2e3798137b42e1bc1c35e587">More...</a><br /></td></tr>
|
|
<tr class="separator:ad24fe35c2e3798137b42e1bc1c35e587"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aac64d5e43f89177ab46f7ef763bb3c64"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#aac64d5e43f89177ab46f7ef763bb3c64">Head</a> (const ArcIndexType arc) const</td></tr>
|
|
<tr class="memdesc:aac64d5e43f89177ab46f7ef763bb3c64"><td class="mdescLeft"> </td><td class="mdescRight">Returns the head or end-node of arc. <a href="#aac64d5e43f89177ab46f7ef763bb3c64">More...</a><br /></td></tr>
|
|
<tr class="separator:aac64d5e43f89177ab46f7ef763bb3c64"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5d2e4d934a8eb290a6298480d48faa52"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a5d2e4d934a8eb290a6298480d48faa52">NodeDebugString</a> (const NodeIndexType node) const</td></tr>
|
|
<tr class="separator:a5d2e4d934a8eb290a6298480d48faa52"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a30a3055f6669fd7739fd7acea16c4571"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a30a3055f6669fd7739fd7acea16c4571">ArcDebugString</a> (const ArcIndexType arc) const</td></tr>
|
|
<tr class="separator:a30a3055f6669fd7739fd7acea16c4571"><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:a3693e89df768c2f25a31d4b4ee64ee3a"><td class="memItemLeft" align="right" valign="top">static const ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a3693e89df768c2f25a31d4b4ee64ee3a">kFirstArc</a></td></tr>
|
|
<tr class="memdesc:a3693e89df768c2f25a31d4b4ee64ee3a"><td class="mdescLeft"> </td><td class="mdescRight">The index of the first arc in the graph. <a href="#a3693e89df768c2f25a31d4b4ee64ee3a">More...</a><br /></td></tr>
|
|
<tr class="separator:a3693e89df768c2f25a31d4b4ee64ee3a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2c2ac42ee1d86e253e0a85f3f1321824"><td class="memItemLeft" align="right" valign="top">static const NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a2c2ac42ee1d86e253e0a85f3f1321824">kFirstNode</a></td></tr>
|
|
<tr class="memdesc:a2c2ac42ee1d86e253e0a85f3f1321824"><td class="mdescLeft"> </td><td class="mdescRight">The index of the first node in the graph. <a href="#a2c2ac42ee1d86e253e0a85f3f1321824">More...</a><br /></td></tr>
|
|
<tr class="separator:a2c2ac42ee1d86e253e0a85f3f1321824"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a043c924d609639e1cc5bea7d4a5a7fd3"><td class="memItemLeft" align="right" valign="top">static const ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a043c924d609639e1cc5bea7d4a5a7fd3">kMaxNumArcs</a></td></tr>
|
|
<tr class="memdesc:a043c924d609639e1cc5bea7d4a5a7fd3"><td class="mdescLeft"> </td><td class="mdescRight">The maximum possible number of arcs in the graph. <a href="#a043c924d609639e1cc5bea7d4a5a7fd3">More...</a><br /></td></tr>
|
|
<tr class="separator:a043c924d609639e1cc5bea7d4a5a7fd3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aebc1c53cc0d7242f47f0cf971a105e20"><td class="memItemLeft" align="right" valign="top">static const NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#aebc1c53cc0d7242f47f0cf971a105e20">kMaxNumNodes</a></td></tr>
|
|
<tr class="memdesc:aebc1c53cc0d7242f47f0cf971a105e20"><td class="mdescLeft"> </td><td class="mdescRight">The maximum possible number of nodes in the graph. <a href="#aebc1c53cc0d7242f47f0cf971a105e20">More...</a><br /></td></tr>
|
|
<tr class="separator:aebc1c53cc0d7242f47f0cf971a105e20"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7174acc6507b365096d7122ef430b1dc"><td class="memItemLeft" align="right" valign="top">static const ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a7174acc6507b365096d7122ef430b1dc">kNilArc</a></td></tr>
|
|
<tr class="memdesc:a7174acc6507b365096d7122ef430b1dc"><td class="mdescLeft"> </td><td class="mdescRight">The index of the 'nil' arc in the graph. <a href="#a7174acc6507b365096d7122ef430b1dc">More...</a><br /></td></tr>
|
|
<tr class="separator:a7174acc6507b365096d7122ef430b1dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2c3f7aa31326efb573187d321679cba6"><td class="memItemLeft" align="right" valign="top">static const NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a2c3f7aa31326efb573187d321679cba6">kNilNode</a></td></tr>
|
|
<tr class="memdesc:a2c3f7aa31326efb573187d321679cba6"><td class="mdescLeft"> </td><td class="mdescRight">The index of the 'nil' node in the graph. <a href="#a2c3f7aa31326efb573187d321679cba6">More...</a><br /></td></tr>
|
|
<tr class="separator:a2c3f7aa31326efb573187d321679cba6"><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:aef662883e2f42f46cf31255c12169c3e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#aef662883e2f42f46cf31255c12169c3e">EbertGraphBase</a> ()</td></tr>
|
|
<tr class="separator:aef662883e2f42f46cf31255c12169c3e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adb189f1f683a66f4fa283204a5db05e3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#adb189f1f683a66f4fa283204a5db05e3">~EbertGraphBase</a> ()</td></tr>
|
|
<tr class="separator:adb189f1f683a66f4fa283204a5db05e3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeda4906d548f46b28df2c0577e42b2c8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#aeda4906d548f46b28df2c0577e42b2c8">Initialize</a> (NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html#a51a5033049b63ee5ce35b531b8474f0a">max_num_nodes</a>, ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html#a8aad937029f57b70efe059b908241685">max_num_arcs</a>)</td></tr>
|
|
<tr class="separator:aeda4906d548f46b28df2c0577e42b2c8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a68f767cda734319cc4f28e6a4d56b6d4"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a68f767cda734319cc4f28e6a4d56b6d4">FirstOutgoingOrOppositeIncomingArc</a> (const NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:a68f767cda734319cc4f28e6a4d56b6d4"><td class="mdescLeft"> </td><td class="mdescRight">Returns the first arc in node's incidence list. <a href="#a68f767cda734319cc4f28e6a4d56b6d4">More...</a><br /></td></tr>
|
|
<tr class="separator:a68f767cda734319cc4f28e6a4d56b6d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8ba11aca6997abd6ed8327ea9ea0e7b7"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a8ba11aca6997abd6ed8327ea9ea0e7b7">NextAdjacentArc</a> (const ArcIndexType arc) const</td></tr>
|
|
<tr class="memdesc:a8ba11aca6997abd6ed8327ea9ea0e7b7"><td class="mdescLeft"> </td><td class="mdescRight">Returns the next arc following the passed argument in its adjacency list. <a href="#a8ba11aca6997abd6ed8327ea9ea0e7b7">More...</a><br /></td></tr>
|
|
<tr class="separator:a8ba11aca6997abd6ed8327ea9ea0e7b7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a40da052b528623a6e0f5404547693edf"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a40da052b528623a6e0f5404547693edf">NextOutgoingArc</a> (const NodeIndexType unused_node, const ArcIndexType arc) const</td></tr>
|
|
<tr class="memdesc:a40da052b528623a6e0f5404547693edf"><td class="mdescLeft"> </td><td class="mdescRight">Returns the outgoing arc following the argument in the adjacency list. <a href="#a40da052b528623a6e0f5404547693edf">More...</a><br /></td></tr>
|
|
<tr class="separator:a40da052b528623a6e0f5404547693edf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7cf8fa1e0a3abc8179da6309a86097f5"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a7cf8fa1e0a3abc8179da6309a86097f5">StartNode</a> (NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:a7cf8fa1e0a3abc8179da6309a86097f5"><td class="mdescLeft"> </td><td class="mdescRight">Returns kNilNode if the graph has no nodes or node if it has at least one node. <a href="#a7cf8fa1e0a3abc8179da6309a86097f5">More...</a><br /></td></tr>
|
|
<tr class="separator:a7cf8fa1e0a3abc8179da6309a86097f5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa58e05a2a30eb0b2b38cc366bba1d1ae"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#aa58e05a2a30eb0b2b38cc366bba1d1ae">StartArc</a> (ArcIndexType arc) const</td></tr>
|
|
<tr class="memdesc:aa58e05a2a30eb0b2b38cc366bba1d1ae"><td class="mdescLeft"> </td><td class="mdescRight">Returns kNilArc if the graph has no arcs arc if it has at least one arc. <a href="#aa58e05a2a30eb0b2b38cc366bba1d1ae">More...</a><br /></td></tr>
|
|
<tr class="separator:aa58e05a2a30eb0b2b38cc366bba1d1ae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8038f289c7e5558d1b4d264677c0f4be"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a8038f289c7e5558d1b4d264677c0f4be">NextNode</a> (const NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:a8038f289c7e5558d1b4d264677c0f4be"><td class="mdescLeft"> </td><td class="mdescRight">Returns the node following the argument in the graph. <a href="#a8038f289c7e5558d1b4d264677c0f4be">More...</a><br /></td></tr>
|
|
<tr class="separator:a8038f289c7e5558d1b4d264677c0f4be"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a30864ddfe33af3fe52a64d35bf298503"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#a30864ddfe33af3fe52a64d35bf298503">NextArc</a> (const ArcIndexType arc) const</td></tr>
|
|
<tr class="memdesc:a30864ddfe33af3fe52a64d35bf298503"><td class="mdescLeft"> </td><td class="mdescRight">Returns the arc following the argument in the graph. <a href="#a30864ddfe33af3fe52a64d35bf298503">More...</a><br /></td></tr>
|
|
<tr class="separator:a30864ddfe33af3fe52a64d35bf298503"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae83c0a0706d7c6bf85e08719e818c813"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1StarGraphBase.html#ae83c0a0706d7c6bf85e08719e818c813">FirstOutgoingArc</a> (const NodeIndexType node) const</td></tr>
|
|
<tr class="memdesc:ae83c0a0706d7c6bf85e08719e818c813"><td class="mdescLeft"> </td><td class="mdescRight">Returns the first outgoing arc for node. <a href="#ae83c0a0706d7c6bf85e08719e818c813">More...</a><br /></td></tr>
|
|
<tr class="separator:ae83c0a0706d7c6bf85e08719e818c813"><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:a26e62c6c3621ffd6cf953bb8e585a064"><td class="memItemLeft" align="right" valign="top">ZVector< ArcIndexType > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a26e62c6c3621ffd6cf953bb8e585a064">next_adjacent_arc_</a></td></tr>
|
|
<tr class="memdesc:a26e62c6c3621ffd6cf953bb8e585a064"><td class="mdescLeft"> </td><td class="mdescRight">Array of next indices. <a href="#a26e62c6c3621ffd6cf953bb8e585a064">More...</a><br /></td></tr>
|
|
<tr class="separator:a26e62c6c3621ffd6cf953bb8e585a064"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a82e436348dd462d71b362963129d4f7f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a82e436348dd462d71b362963129d4f7f">representation_clean_</a></td></tr>
|
|
<tr class="memdesc:a82e436348dd462d71b362963129d4f7f"><td class="mdescLeft"> </td><td class="mdescRight">Flag to indicate that BuildRepresentation() needs to be called before the adjacency lists are examined. <a href="#a82e436348dd462d71b362963129d4f7f">More...</a><br /></td></tr>
|
|
<tr class="separator:a82e436348dd462d71b362963129d4f7f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af1a0166faa8ccde14511e9fc547febac"><td class="memItemLeft" align="right" valign="top">ZVector< ArcIndexType > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#af1a0166faa8ccde14511e9fc547febac">first_incident_arc_</a></td></tr>
|
|
<tr class="memdesc:af1a0166faa8ccde14511e9fc547febac"><td class="mdescLeft"> </td><td class="mdescRight">Array of arc indices. <a href="#af1a0166faa8ccde14511e9fc547febac">More...</a><br /></td></tr>
|
|
<tr class="separator:af1a0166faa8ccde14511e9fc547febac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1d032dcb17aa589d9a386fe04499654b"><td class="memItemLeft" align="right" valign="top">ZVector< NodeIndexType > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a1d032dcb17aa589d9a386fe04499654b">head_</a></td></tr>
|
|
<tr class="memdesc:a1d032dcb17aa589d9a386fe04499654b"><td class="mdescLeft"> </td><td class="mdescRight">Array of node indices. head_[i] contains the head node of arc i. <a href="#a1d032dcb17aa589d9a386fe04499654b">More...</a><br /></td></tr>
|
|
<tr class="separator:a1d032dcb17aa589d9a386fe04499654b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa219b1703090300ed69dc9f5f6f54ded"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#aa219b1703090300ed69dc9f5f6f54ded">max_num_arcs_</a></td></tr>
|
|
<tr class="memdesc:aa219b1703090300ed69dc9f5f6f54ded"><td class="mdescLeft"> </td><td class="mdescRight">The maximum number of arcs that the graph can hold. <a href="#aa219b1703090300ed69dc9f5f6f54ded">More...</a><br /></td></tr>
|
|
<tr class="separator:aa219b1703090300ed69dc9f5f6f54ded"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a539adfb6a1003d4270e0f2c8fe6705b9"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a539adfb6a1003d4270e0f2c8fe6705b9">max_num_nodes_</a></td></tr>
|
|
<tr class="memdesc:a539adfb6a1003d4270e0f2c8fe6705b9"><td class="mdescLeft"> </td><td class="mdescRight">The maximum number of nodes that the graph can hold. <a href="#a539adfb6a1003d4270e0f2c8fe6705b9">More...</a><br /></td></tr>
|
|
<tr class="separator:a539adfb6a1003d4270e0f2c8fe6705b9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a76da9f41f6215acb4ec4dd8da00c0e28"><td class="memItemLeft" align="right" valign="top">ArcIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a76da9f41f6215acb4ec4dd8da00c0e28">num_arcs_</a></td></tr>
|
|
<tr class="memdesc:a76da9f41f6215acb4ec4dd8da00c0e28"><td class="mdescLeft"> </td><td class="mdescRight">The current number of arcs held by the graph. <a href="#a76da9f41f6215acb4ec4dd8da00c0e28">More...</a><br /></td></tr>
|
|
<tr class="separator:a76da9f41f6215acb4ec4dd8da00c0e28"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad9877f4f6b0822e2cb6aa9c4fe60ceb9"><td class="memItemLeft" align="right" valign="top">NodeIndexType </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#ad9877f4f6b0822e2cb6aa9c4fe60ceb9">num_nodes_</a></td></tr>
|
|
<tr class="memdesc:ad9877f4f6b0822e2cb6aa9c4fe60ceb9"><td class="mdescLeft"> </td><td class="mdescRight">The maximum index of the node currently held by the graph. <a href="#ad9877f4f6b0822e2cb6aa9c4fe60ceb9">More...</a><br /></td></tr>
|
|
<tr class="separator:ad9877f4f6b0822e2cb6aa9c4fe60ceb9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
|
|
Friends</h2></td></tr>
|
|
<tr class="memitem:a89aa87fdbc5337e9edcd79499d24fc1d"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1EbertGraphBase.html#a89aa87fdbc5337e9edcd79499d24fc1d">StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph ></a></td></tr>
|
|
<tr class="separator:a89aa87fdbc5337e9edcd79499d24fc1d"><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, typename ArcIndexType, typename DerivedGraph><br />
|
|
class operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, DerivedGraph ></h3>
|
|
|
|
<p>A template for the base class that holds the functionality that exists in common between the EbertGraph<> template and the ForwardEbertGraph<> template. </p>
|
|
<p>This template is for internal use only, and this is enforced by making all constructors for this class template protected. Clients should use one of the two derived-class templates. Most clients will not even use those directly, but will use the StarGraph and ForwardStarGraph typenames declared above.</p>
|
|
<p>The DerivedGraph template argument must be the type of the class (typically itself built from a template) that:</p><ol type="1">
|
|
<li>implements the full interface expected for either <a class="el" href="classoperations__research_1_1ForwardEbertGraph.html" title="A forward-star-only graph representation for greater efficiency in those algorithms that don't need r...">ForwardEbertGraph</a> or <a class="el" href="classoperations__research_1_1EbertGraph.html" title="Forward declarations.">EbertGraph</a>, and</li>
|
|
<li>inherits from an instance of this template. The base class needs access to some members of the derived class such as, for example, <a class="el" href="classoperations__research_1_1EbertGraphBase.html#a40da052b528623a6e0f5404547693edf" title="Returns the outgoing arc following the argument in the adjacency list.">NextOutgoingArc()</a>, and it gets this access via the DerivedGraph template argument. </li>
|
|
</ol>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00948">948</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="aef662883e2f42f46cf31255c12169c3e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aef662883e2f42f46cf31255c12169c3e">◆ </a></span>EbertGraphBase()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::<a class="el" href="classoperations__research_1_1EbertGraphBase.html">EbertGraphBase</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">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01108">1108</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adb189f1f683a66f4fa283204a5db05e3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adb189f1f683a66f4fa283204a5db05e3">◆ </a></span>~EbertGraphBase()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::~<a class="el" href="classoperations__research_1_1EbertGraphBase.html">EbertGraphBase</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">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01110">1110</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a96bf1fdcbfa88edabb7843b6142cb3bd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a96bf1fdcbfa88edabb7843b6142cb3bd">◆ </a></span>AddArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds an arc to the graph and returns its index. </p>
|
|
<p>Returns kNilArc if the arc could not be added. </p><dl class="section note"><dt>Note</dt><dd>for a given pair (tail, head) AddArc does not overwrite an already-existing arc between tail and head: Another arc is created instead. This makes it possible to handle multi-graphs. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01001">1001</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a30a3055f6669fd7739fd7acea16c4571"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a30a3055f6669fd7739fd7acea16c4571">◆ </a></span>ArcDebugString()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::string <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::ArcDebugString </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const 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 class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00310">310</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a68a1d993a6371e6fbf6a8ffe5c944a45"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a68a1d993a6371e6fbf6a8ffe5c944a45">◆ </a></span>end_arc_index() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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>Returns one more than the largest index of an extant direct arc. </p>
|
|
<p>To be used as a helper when clients need to dimension or iterate over arrays of arc annotation information. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00252">252</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a68a1d993a6371e6fbf6a8ffe5c944a45"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a68a1d993a6371e6fbf6a8ffe5c944a45">◆ </a></span>end_arc_index() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::end_arc_index</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>Returns one more than the largest index of an extant direct arc. </p>
|
|
<p>To be used as a helper when clients need to dimension or iterate over arrays of arc annotation information. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00252">252</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a03cebcf1fdf356a8217ae2879100d324"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a03cebcf1fdf356a8217ae2879100d324">◆ </a></span>end_node_index()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::end_node_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>Returns one more than the largest index of an extant node, meaning a node that is mentioned as the head or tail of some arc in the graph. </p>
|
|
<p>To be used as a helper when clients need to dimension or iterate over arrays of node annotation information. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00247">247</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae83c0a0706d7c6bf85e08719e818c813"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae83c0a0706d7c6bf85e08719e818c813">◆ </a></span>FirstOutgoingArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::FirstOutgoingArc </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const 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">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the first outgoing arc for node. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00479">479</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a68f767cda734319cc4f28e6a4d56b6d4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a68f767cda734319cc4f28e6a4d56b6d4">◆ </a></span>FirstOutgoingOrOppositeIncomingArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::FirstOutgoingOrOppositeIncomingArc </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const 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">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the first arc in node's incidence list. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01123">1123</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7adcbbf1af098a96abf7a3397246304d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7adcbbf1af098a96abf7a3397246304d">◆ </a></span>GroupForwardArcsByFunctor()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<div class="memtemplate">
|
|
template<typename ArcIndexTypeStrictWeakOrderingFunctor > </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::GroupForwardArcsByFunctor </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const ArcIndexTypeStrictWeakOrderingFunctor & </td>
|
|
<td class="paramname"><em>compare</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">PermutationCycleHandler< ArcIndexType > * </td>
|
|
<td class="paramname"><em>annotation_handler</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">
|
|
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>(user): Configure SWIG to handle the GroupForwardArcsByFunctor member template and the <a class="el" href="classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs.html">CycleHandlerForAnnotatedArcs</a> class.</dd></dl>
|
|
<p>Determine the permutation that groups arcs by their tail nodes.</p>
|
|
<p>Start with the identity permutation.</p>
|
|
<p>Now we actually permute the head_ array and the scaled_arc_cost_ array according to the sorting permutation.</p>
|
|
<p>Finally, rebuild the graph from its permuted head_ array. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01022">1022</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aac64d5e43f89177ab46f7ef763bb3c64"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aac64d5e43f89177ab46f7ef763bb3c64">◆ </a></span>Head()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::Head </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const 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 the head or end-node of arc. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00297">297</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aeda4906d548f46b28df2c0577e42b2c8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aeda4906d548f46b28df2c0577e42b2c8">◆ </a></span>Initialize()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::Initialize </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>max_num_nodes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>max_num_arcs</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">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01112">1112</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad69ccdbdbceba88bf784e2add4964b5b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad69ccdbdbceba88bf784e2add4964b5b">◆ </a></span>IsNodeValid() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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>Utility function to check that a node index is within the bounds AND different from kNilNode. </p>
|
|
<p>Returns true if node is in the range [kFirstNode .. max_num_nodes_). It is exported so that users of the DerivedGraph class can use it. To be used in a DCHECK; also used internally to validate arguments passed to our methods from clients (e.g., <a class="el" href="classoperations__research_1_1EbertGraphBase.html#a96bf1fdcbfa88edabb7843b6142cb3bd" title="Adds an arc to the graph and returns its index.">AddArc()</a>). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00279">279</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad69ccdbdbceba88bf784e2add4964b5b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad69ccdbdbceba88bf784e2add4964b5b">◆ </a></span>IsNodeValid() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::IsNodeValid</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>Utility function to check that a node index is within the bounds AND different from kNilNode. </p>
|
|
<p>Returns true if node is in the range [kFirstNode .. max_num_nodes_). It is exported so that users of the DerivedGraph class can use it. To be used in a DCHECK; also used internally to validate arguments passed to our methods from clients (e.g., <a class="el" href="classoperations__research_1_1EbertGraphBase.html#a96bf1fdcbfa88edabb7843b6142cb3bd" title="Adds an arc to the graph and returns its index.">AddArc()</a>). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00279">279</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad24fe35c2e3798137b42e1bc1c35e587"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad24fe35c2e3798137b42e1bc1c35e587">◆ </a></span>LookUpArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::LookUpArc </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const NodeIndexType </td>
|
|
<td class="paramname"><em>tail</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const NodeIndexType </td>
|
|
<td class="paramname"><em>head</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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 first arc going from tail to head, if it exists, or kNilArc if such an arc does not exist. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00285">285</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7e2435063a7df2859f5b589852a8d4d3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7e2435063a7df2859f5b589852a8d4d3">◆ </a></span>max_end_arc_index()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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>Returns one more than the largest valid index of a direct arc. </p>
|
|
<p>To be used as a helper when clients need to dimension or iterate over arrays of arc annotation information. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00271">271</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6aecaff5cd6eea0a7c93de644b8defc6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6aecaff5cd6eea0a7c93de644b8defc6">◆ </a></span>max_end_node_index()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::max_end_node_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>Returns one more than the largest valid index of a node. </p>
|
|
<p>To be used as a helper when clients need to dimension or iterate over arrays of node annotation information. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00264">264</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8aad937029f57b70efe059b908241685"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8aad937029f57b70efe059b908241685">◆ </a></span>max_num_arcs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::max_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 maximum possible number of original arcs in the graph. </p>
|
|
<p>(The ones with positive indices.) </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00259">259</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a51a5033049b63ee5ce35b531b8474f0a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a51a5033049b63ee5ce35b531b8474f0a">◆ </a></span>max_num_nodes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::max_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 maximum possible number of nodes in the graph. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00255">255</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8ba11aca6997abd6ed8327ea9ea0e7b7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8ba11aca6997abd6ed8327ea9ea0e7b7">◆ </a></span>NextAdjacentArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::NextAdjacentArc </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const 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">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the next arc following the passed argument in its adjacency list. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01131">1131</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a30864ddfe33af3fe52a64d35bf298503"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a30864ddfe33af3fe52a64d35bf298503">◆ </a></span>NextArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::NextArc </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const 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">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the arc following the argument in the graph. </p>
|
|
<p>Returns kNilArc (= end) if the range of arcs has been exhausted. It is called by <a class="el" href="classoperations__research_1_1StarGraphBase_1_1ArcIterator.html#a261b6e58a0dfd38d8d0c0d882c2ccf8d" title="Advances the current arc index.">ArcIterator::Next()</a> and as such does not expect to be passed an argument equal to kNilArc. This is why the return line is simplified from return ( arc == kNilArc || next_arc >= num_arcs_) ? kNilArc : next_arc; to return next_arc < num_arcs_ ? next_arc : kNilArc; </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00472">472</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8038f289c7e5558d1b4d264677c0f4be"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8038f289c7e5558d1b4d264677c0f4be">◆ </a></span>NextNode()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::NextNode </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const 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">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the node following the argument in the graph. </p>
|
|
<p>Returns kNilNode (= end) if the range of nodes has been exhausted. It is called by <a class="el" href="classoperations__research_1_1StarGraphBase_1_1NodeIterator.html#aa5e4893b57578a159709ea47eaddcad6" title="Advances the current node index.">NodeIterator::Next()</a> and as such does not expect to be passed an argument equal to kNilNode. This is why the return line is simplified from return (node == kNilNode || next_node >= num_nodes_) ? kNilNode : next_node; to return next_node < num_nodes_ ? next_node : kNilNode; </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00458">458</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a40da052b528623a6e0f5404547693edf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a40da052b528623a6e0f5404547693edf">◆ </a></span>NextOutgoingArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::NextOutgoingArc </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const NodeIndexType </td>
|
|
<td class="paramname"><em>unused_node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const ArcIndexType </td>
|
|
<td class="paramname"><em>arc</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the outgoing arc following the argument in the adjacency list. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01138">1138</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5d2e4d934a8eb290a6298480d48faa52"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5d2e4d934a8eb290a6298480d48faa52">◆ </a></span>NodeDebugString()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::string <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::NodeDebugString </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const 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 class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00302">302</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac0ae30f08a54ea67bf295b446157aed3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac0ae30f08a54ea67bf295b446157aed3">◆ </a></span>num_arcs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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 original arcs in the graph (The ones with positive indices.) </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00241">241</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa8a10d242f7088bfdee282e1246e00b8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa8a10d242f7088bfdee282e1246e00b8">◆ </a></span>num_nodes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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 nodes in the graph. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00237">237</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2b9709a996fb28b5572783b40e1067c5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2b9709a996fb28b5572783b40e1067c5">◆ </a></span>Reserve()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::Reserve </td>
|
|
<td>(</td>
|
|
<td class="paramtype">NodeIndexType </td>
|
|
<td class="paramname"><em>new_max_num_nodes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">ArcIndexType </td>
|
|
<td class="paramname"><em>new_max_num_arcs</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>Reserves memory needed for max_num_nodes nodes and max_num_arcs arcs. </p>
|
|
<p>Returns false if the parameters passed are not OK. It can be used to enlarge the graph, but does not shrink memory if called with smaller values. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00978">978</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa58e05a2a30eb0b2b38cc366bba1d1ae"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa58e05a2a30eb0b2b38cc366bba1d1ae">◆ </a></span>StartArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::StartArc </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">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns kNilArc if the graph has no arcs arc if it has at least one arc. </p>
|
|
<p>Useful for initializing iterators correctly in the case of empty graphs. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00445">445</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7cf8fa1e0a3abc8179da6309a86097f5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7cf8fa1e0a3abc8179da6309a86097f5">◆ </a></span>StartNode()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::StartNode </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">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns kNilNode if the graph has no nodes or node if it has at least one node. </p>
|
|
<p>Useful for initializing iterators correctly in the case of empty graphs. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00439">439</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Friends And Related Function Documentation</h2>
|
|
<a id="a89aa87fdbc5337e9edcd79499d24fc1d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a89aa87fdbc5337e9edcd79499d24fc1d">◆ </a></span>StarGraphBase< NodeIndexType, ArcIndexType, DerivedGraph ></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">friend class <a class="el" href="classoperations__research_1_1StarGraphBase.html">StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph ></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00951">951</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="af1a0166faa8ccde14511e9fc547febac"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af1a0166faa8ccde14511e9fc547febac">◆ </a></span>first_incident_arc_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ZVector<ArcIndexType> <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::first_incident_arc_</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>Array of arc indices. </p>
|
|
<p>first_incident_arc_[i] contains the first arc incident to node i. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00502">502</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1d032dcb17aa589d9a386fe04499654b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1d032dcb17aa589d9a386fe04499654b">◆ </a></span>head_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ZVector<NodeIndexType> <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::head_</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>Array of node indices. head_[i] contains the head node of arc i. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00498">498</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3693e89df768c2f25a31d4b4ee64ee3a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3693e89df768c2f25a31d4b4ee64ee3a">◆ </a></span>kFirstArc</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::kFirstArc</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The index of the first arc in the graph. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00225">225</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2c2ac42ee1d86e253e0a85f3f1321824"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2c2ac42ee1d86e253e0a85f3f1321824">◆ </a></span>kFirstNode</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::kFirstNode</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The index of the first node in the graph. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00222">222</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a043c924d609639e1cc5bea7d4a5a7fd3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a043c924d609639e1cc5bea7d4a5a7fd3">◆ </a></span>kMaxNumArcs</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::kMaxNumArcs</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The maximum possible number of arcs in the graph. </p>
|
|
<p>(The maximum index is kMaxNumArcs-1, since indices start at 0. Unfortunately we waste a value representing this and the max_num_arcs_ member.)</p>
|
|
<p>(The maximum index is kMaxNumArcs-1, since indices start at 0.) </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00235">235</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aebc1c53cc0d7242f47f0cf971a105e20"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aebc1c53cc0d7242f47f0cf971a105e20">◆ </a></span>kMaxNumNodes</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::kMaxNumNodes</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The maximum possible number of nodes in the graph. </p>
|
|
<p>The maximum possible node index in the graph.</p>
|
|
<p>(The maximum index is kMaxNumNodes-1, since indices start at 0. Unfortunately we waste a value representing this and the max_num_nodes_ member.) </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00230">230</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7174acc6507b365096d7122ef430b1dc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7174acc6507b365096d7122ef430b1dc">◆ </a></span>kNilArc</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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">
|
|
|
|
<p>The index of the 'nil' arc in the graph. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00219">219</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2c3f7aa31326efb573187d321679cba6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2c3f7aa31326efb573187d321679cba6">◆ </a></span>kNilNode</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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">
|
|
|
|
<p>The index of the 'nil' node in the graph. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00216">216</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa219b1703090300ed69dc9f5f6f54ded"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa219b1703090300ed69dc9f5f6f54ded">◆ </a></span>max_num_arcs_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::max_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>The maximum number of arcs that the graph can hold. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00489">489</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a539adfb6a1003d4270e0f2c8fe6705b9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a539adfb6a1003d4270e0f2c8fe6705b9">◆ </a></span>max_num_nodes_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::max_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>The maximum number of nodes that the graph can hold. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00486">486</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a26e62c6c3621ffd6cf953bb8e585a064"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a26e62c6c3621ffd6cf953bb8e585a064">◆ </a></span>next_adjacent_arc_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ZVector<ArcIndexType> <a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::next_adjacent_arc_</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>Array of next indices. </p>
|
|
<p>next_adjacent_arc_[i] contains the next arc in the adjacency list of arc i. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01147">1147</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a76da9f41f6215acb4ec4dd8da00c0e28"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a76da9f41f6215acb4ec4dd8da00c0e28">◆ </a></span>num_arcs_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ArcIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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>The current number of arcs held by the graph. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00495">495</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad9877f4f6b0822e2cb6aa9c4fe60ceb9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad9877f4f6b0822e2cb6aa9c4fe60ceb9">◆ </a></span>num_nodes_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">NodeIndexType <a class="el" href="classoperations__research_1_1StarGraphBase.html">operations_research::StarGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::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>The maximum index of the node currently held by the graph. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l00492">492</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a82e436348dd462d71b362963129d4f7f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a82e436348dd462d71b362963129d4f7f">◆ </a></span>representation_clean_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename NodeIndexType, typename ArcIndexType, typename DerivedGraph> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a>< NodeIndexType, ArcIndexType, DerivedGraph >::representation_clean_</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>Flag to indicate that BuildRepresentation() needs to be called before the adjacency lists are examined. </p>
|
|
<p>Only for DCHECK in debug builds. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ebert__graph_8h_source.html#l01152">1152</a> of file <a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li><a class="el" href="ebert__graph_8h_source.html">ebert_graph.h</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|