<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00213">213</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Iterator class for traversing the arcs in the graph. <ahref="classoperations__research_1_1StarGraphBase_1_1ArcIterator.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Iterator class for traversing all the nodes in the graph. <ahref="classoperations__research_1_1StarGraphBase_1_1NodeIterator.html#details">More...</a><br/></td></tr>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Iterator class for traversing the outgoing arcs associated to a given node. <ahref="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html#details">More...</a><br/></td></tr>
<trclass="memdesc:aa8a10d242f7088bfdee282e1246e00b8"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the number of nodes in the graph. <ahref="#aa8a10d242f7088bfdee282e1246e00b8">More...</a><br/></td></tr>
<trclass="memdesc:ac0ae30f08a54ea67bf295b446157aed3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the number of original arcs in the graph (The ones with positive indices.) <ahref="#ac0ae30f08a54ea67bf295b446157aed3">More...</a><br/></td></tr>
<trclass="memdesc:a03cebcf1fdf356a8217ae2879100d324"><tdclass="mdescLeft"> </td><tdclass="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. <ahref="#a03cebcf1fdf356a8217ae2879100d324">More...</a><br/></td></tr>
<trclass="memdesc:a68a1d993a6371e6fbf6a8ffe5c944a45"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns one more than the largest index of an extant direct arc. <ahref="#a68a1d993a6371e6fbf6a8ffe5c944a45">More...</a><br/></td></tr>
<trclass="memdesc:a51a5033049b63ee5ce35b531b8474f0a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the maximum possible number of nodes in the graph. <ahref="#a51a5033049b63ee5ce35b531b8474f0a">More...</a><br/></td></tr>
<trclass="memdesc:a8aad937029f57b70efe059b908241685"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the maximum possible number of original arcs in the graph. <ahref="#a8aad937029f57b70efe059b908241685">More...</a><br/></td></tr>
<trclass="memdesc:a6aecaff5cd6eea0a7c93de644b8defc6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns one more than the largest valid index of a node. <ahref="#a6aecaff5cd6eea0a7c93de644b8defc6">More...</a><br/></td></tr>
<trclass="memdesc:a7e2435063a7df2859f5b589852a8d4d3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns one more than the largest valid index of a direct arc. <ahref="#a7e2435063a7df2859f5b589852a8d4d3">More...</a><br/></td></tr>
<trclass="memdesc:ad69ccdbdbceba88bf784e2add4964b5b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Utility function to check that a node index is within the bounds AND different from kNilNode. <ahref="#ad69ccdbdbceba88bf784e2add4964b5b">More...</a><br/></td></tr>
<trclass="memdesc:ad24fe35c2e3798137b42e1bc1c35e587"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the first arc going from tail to head, if it exists, or kNilArc if such an arc does not exist. <ahref="#ad24fe35c2e3798137b42e1bc1c35e587">More...</a><br/></td></tr>
<trclass="memdesc:aac64d5e43f89177ab46f7ef763bb3c64"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the head or end-node of arc. <ahref="#aac64d5e43f89177ab46f7ef763bb3c64">More...</a><br/></td></tr>
<trclass="memdesc:a2c3f7aa31326efb573187d321679cba6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The index of the 'nil' node in the graph. <ahref="#a2c3f7aa31326efb573187d321679cba6">More...</a><br/></td></tr>
<trclass="memdesc:a7174acc6507b365096d7122ef430b1dc"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The index of the 'nil' arc in the graph. <ahref="#a7174acc6507b365096d7122ef430b1dc">More...</a><br/></td></tr>
<trclass="memdesc:a2c2ac42ee1d86e253e0a85f3f1321824"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The index of the first node in the graph. <ahref="#a2c2ac42ee1d86e253e0a85f3f1321824">More...</a><br/></td></tr>
<trclass="memdesc:a3693e89df768c2f25a31d4b4ee64ee3a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The index of the first arc in the graph. <ahref="#a3693e89df768c2f25a31d4b4ee64ee3a">More...</a><br/></td></tr>
<trclass="memdesc:aebc1c53cc0d7242f47f0cf971a105e20"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The maximum possible number of nodes in the graph. <ahref="#aebc1c53cc0d7242f47f0cf971a105e20">More...</a><br/></td></tr>
<trclass="memdesc:a043c924d609639e1cc5bea7d4a5a7fd3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The maximum possible number of arcs in the graph. <ahref="#a043c924d609639e1cc5bea7d4a5a7fd3">More...</a><br/></td></tr>
<trclass="memdesc:a7cf8fa1e0a3abc8179da6309a86097f5"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns kNilNode if the graph has no nodes or node if it has at least one node. <ahref="#a7cf8fa1e0a3abc8179da6309a86097f5">More...</a><br/></td></tr>
<trclass="memdesc:aa58e05a2a30eb0b2b38cc366bba1d1ae"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns kNilArc if the graph has no arcs arc if it has at least one arc. <ahref="#aa58e05a2a30eb0b2b38cc366bba1d1ae">More...</a><br/></td></tr>
<trclass="memdesc:a8038f289c7e5558d1b4d264677c0f4be"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the node following the argument in the graph. <ahref="#a8038f289c7e5558d1b4d264677c0f4be">More...</a><br/></td></tr>
<trclass="memdesc:a30864ddfe33af3fe52a64d35bf298503"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the arc following the argument in the graph. <ahref="#a30864ddfe33af3fe52a64d35bf298503">More...</a><br/></td></tr>
<trclass="memdesc:ae83c0a0706d7c6bf85e08719e818c813"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the first outgoing arc for node. <ahref="#ae83c0a0706d7c6bf85e08719e818c813">More...</a><br/></td></tr>
<trclass="memdesc:a539adfb6a1003d4270e0f2c8fe6705b9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The maximum number of nodes that the graph can hold. <ahref="#a539adfb6a1003d4270e0f2c8fe6705b9">More...</a><br/></td></tr>
<trclass="memdesc:aa219b1703090300ed69dc9f5f6f54ded"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The maximum number of arcs that the graph can hold. <ahref="#aa219b1703090300ed69dc9f5f6f54ded">More...</a><br/></td></tr>
<trclass="memdesc:ad9877f4f6b0822e2cb6aa9c4fe60ceb9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The maximum index of the node currently held by the graph. <ahref="#ad9877f4f6b0822e2cb6aa9c4fe60ceb9">More...</a><br/></td></tr>
<trclass="memdesc:a76da9f41f6215acb4ec4dd8da00c0e28"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The current number of arcs held by the graph. <ahref="#a76da9f41f6215acb4ec4dd8da00c0e28">More...</a><br/></td></tr>
<trclass="memdesc:a1d032dcb17aa589d9a386fe04499654b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Array of node indices. head_[i] contains the head node of arc i. <ahref="#a1d032dcb17aa589d9a386fe04499654b">More...</a><br/></td></tr>
<trclass="memdesc:af1a0166faa8ccde14511e9fc547febac"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Array of arc indices. <ahref="#af1a0166faa8ccde14511e9fc547febac">More...</a><br/></td></tr>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00427">427</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00434">434</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
</div>
</div>
<h2class="groupheader">Member Function Documentation</h2>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00310">310</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00252">252</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00247">247</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00479">479</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00297">297</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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., AddArc()). </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00279">279</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Returns the first arc going from tail to head, if it exists, or kNilArc if such an arc does not exist. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00285">285</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00271">271</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00264">264</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Returns the maximum possible number of original arcs in the graph. </p>
<p>(The ones with positive indices.) </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00259">259</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Returns the maximum possible number of nodes in the graph. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00255">255</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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 <aclass="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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00472">472</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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 <aclass="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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00458">458</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00302">302</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Returns the number of original arcs in the graph (The ones with positive indices.) </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00241">241</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00237">237</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00445">445</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00439">439</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
</div>
</div>
<h2class="groupheader">Member Data Documentation</h2>
<p>first_incident_arc_[i] contains the first arc incident to node i. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00502">502</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Array of node indices. head_[i] contains the head node of arc i. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00498">498</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00225">225</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00222">222</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<b>Initial value:</b><divclass="fragment"><divclass="line">=</div><divclass="line"> std::numeric_limits<ArcIndexType>::max()</div></div><!-- fragment -->
<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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00235">235</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<b>Initial value:</b><divclass="fragment"><divclass="line">=</div><divclass="line"> std::numeric_limits<NodeIndexType>::max()</div></div><!-- fragment -->
<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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00230">230</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<b>Initial value:</b><divclass="fragment"><divclass="line">=</div><divclass="line"> std::numeric_limits<ArcIndexType>::min()</div></div><!-- fragment -->
<p>The index of the 'nil' arc in the graph. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00219">219</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00216">216</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>The maximum number of arcs that the graph can hold. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00489">489</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>The maximum number of nodes that the graph can hold. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00486">486</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>The current number of arcs held by the graph. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00495">495</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>The maximum index of the node currently held by the graph. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00492">492</a> of file <aclass="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>