<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00190">190</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<trclass="memdesc:ab457a2818b4a5163977eb7547ff718ae"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Utility function to check that an arc index is within the bounds. <ahref="#ab457a2818b4a5163977eb7547ff718ae">More...</a><br/></td></tr>
<trclass="memdesc:a2bf3cfd1f85aa0ff86d1094b34a1301e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Utility function to check that an arc index is within the bounds AND different from kNilArc. <ahref="#a2bf3cfd1f85aa0ff86d1094b34a1301e">More...</a><br/></td></tr>
<trclass="memdesc:a519e28b63106845b55ceb18c5011c4d7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns true if arc is a valid index into the (*tail_) array. <ahref="#a519e28b63106845b55ceb18c5011c4d7">More...</a><br/></td></tr>
<trclass="memdesc:a4d193a58da3c21d1cb21bc6c46d53dfc"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the tail or start-node of arc. <ahref="#a4d193a58da3c21d1cb21bc6c46d53dfc">More...</a><br/></td></tr>
<trclass="memdesc:a285687129f5108116d7cc1da74e8b83b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns true if arc is incoming to node. <ahref="#a285687129f5108116d7cc1da74e8b83b">More...</a><br/></td></tr>
<trclass="memdesc:a1d533b7e0f3527495348492c87f7b16a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Recreates the next_adjacent_arc_ and first_incident_arc_ variables from the arrays head_ and tail_ in O(n + m) time. <ahref="#a1d533b7e0f3527495348492c87f7b16a">More...</a><br/></td></tr>
<trclass="memdesc:aa3d8b56d047ccfa87eb083046fac40c6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">To be used in a DCHECK(). <ahref="#aa3d8b56d047ccfa87eb083046fac40c6">More...</a><br/></td></tr>
<trclass="memdesc:a10201023ae78b259beadb129e3aa85f0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a debug std::string containing all the information contained in the data structure in raw form. <ahref="#a10201023ae78b259beadb129e3aa85f0">More...</a><br/></td></tr>
<trclass="memdesc:a2b9709a996fb28b5572783b40e1067c5"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Reserves memory needed for max_num_nodes nodes and max_num_arcs arcs. <ahref="#a2b9709a996fb28b5572783b40e1067c5">More...</a><br/></td></tr>
<trclass="memdesc:a96bf1fdcbfa88edabb7843b6142cb3bd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Adds an arc to the graph and returns its index. <ahref="#a96bf1fdcbfa88edabb7843b6142cb3bd">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: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: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: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: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: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: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:a3693e89df768c2f25a31d4b4ee64ee3a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The index of the first arc in the graph. <ahref="#a3693e89df768c2f25a31d4b4ee64ee3a">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:a043c924d609639e1cc5bea7d4a5a7fd3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The maximum possible number of arcs in the graph. <ahref="#a043c924d609639e1cc5bea7d4a5a7fd3">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:a7174acc6507b365096d7122ef430b1dc"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The index of the 'nil' arc in the graph. <ahref="#a7174acc6507b365096d7122ef430b1dc">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:a68f767cda734319cc4f28e6a4d56b6d4"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the first arc in node's incidence list. <ahref="#a68f767cda734319cc4f28e6a4d56b6d4">More...</a><br/></td></tr>
<trclass="memdesc:a8ba11aca6997abd6ed8327ea9ea0e7b7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the next arc following the passed argument in its adjacency list. <ahref="#a8ba11aca6997abd6ed8327ea9ea0e7b7">More...</a><br/></td></tr>
<trclass="memdesc:a40da052b528623a6e0f5404547693edf"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the outgoing arc following the argument in the adjacency list. <ahref="#a40da052b528623a6e0f5404547693edf">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:a26e62c6c3621ffd6cf953bb8e585a064"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Array of next indices. <ahref="#a26e62c6c3621ffd6cf953bb8e585a064">More...</a><br/></td></tr>
<trclass="memdesc:a82e436348dd462d71b362963129d4f7f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Flag to indicate that BuildRepresentation() needs to be called before the adjacency lists are examined. <ahref="#a82e436348dd462d71b362963129d4f7f">More...</a><br/></td></tr>
<trclass="memdesc:af1a0166faa8ccde14511e9fc547febac"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Array of arc indices. <ahref="#af1a0166faa8ccde14511e9fc547febac">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: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: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:a76da9f41f6215acb4ec4dd8da00c0e28"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The current number of arcs held by the graph. <ahref="#a76da9f41f6215acb4ec4dd8da00c0e28">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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01599">1599</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#l01598">1598</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
</div>
</div>
<h2class="groupheader">Constructor & Destructor Documentation</h2>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01601">1601</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#l01603">1603</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#l01607">1607</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
</div>
</div>
<h2class="groupheader">Member Function Documentation</h2>
<p>Adds an arc to the graph and returns its index. </p>
<p>Returns kNilArc if the arc could not be added. </p><dlclass="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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01001">1001</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#l00310">310</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Recreates the next_adjacent_arc_ and first_incident_arc_ variables from the arrays head_ and tail_ in O(n + m) time. </p>
<p>This is useful if the head_ and tail_ arrays have been sorted according to a given criterion, for example. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01646">1646</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>If (*tail_) is already allocated, we have the invariant that its contents are canonical, so we do not need to do anything here in that case except return true.</p>
<p>We have been asked to build the (*tail_) array, but we have no valid information from which to build it. The graph is in an unrecoverable, inconsistent state.</p>
<p>Reallocate (*tail_) and rebuild its contents from the adjacency lists. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01656">1656</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Utility function to check that an arc index is within the bounds. </p>
<p>It is exported so that users of the <aclass="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> class can use it. To be used in a DCHECK. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01612">1612</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Utility function to check that an arc index is within the bounds AND different from kNilArc. </p>
<p>It is exported so that users of the <aclass="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> class can use it. To be used in a DCHECK. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01620">1620</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Returns true if arc is a valid index into the (*tail_) array. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01625">1625</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<p>Returns a debug std::string containing all the information contained in the data structure in raw form. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01698">1698</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 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>
<p>Returns the first arc in node's incidence list. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01123">1123</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<dlclass="todo"><dt><b><aclass="el"href="todo.html#_todo000010">Todo:</a></b></dt><dd>(user): Configure SWIG to handle the GroupForwardArcsByFunctor member template and the CycleHandlerForAnnotatedArcs 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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01022">1022</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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01112">1112</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#l01638">1638</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., <aclass="el"href="classoperations__research_1_1EbertGraphBase.html#a96bf1fdcbfa88edabb7843b6142cb3bd"title="Adds an arc to the graph and returns its index.">AddArc()</a>). </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>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., <aclass="el"href="classoperations__research_1_1EbertGraphBase.html#a96bf1fdcbfa88edabb7843b6142cb3bd"title="Adds an arc to the graph and returns its index.">AddArc()</a>). </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 next arc following the passed argument in its adjacency list. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01131">1131</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 ArcIterator::Next() 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 NodeIterator::Next() 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>
<p>Returns the outgoing arc following the argument in the adjacency list. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01138">1138</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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01684">1684</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
<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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l00978">978</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>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01631">1631</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#l01687">1687</a> of file <aclass="el"href="ebert__graph_8h_source.html">ebert_graph.h</a>.</p>
</div>
</div>
<h2class="groupheader">Friends And Related Function Documentation</h2>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01569">1569</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#l01571">1571</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>
<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>
<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>
<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>next_adjacent_arc_[i] contains the next arc in the adjacency list of arc i. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01147">1147</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>
<p>Flag to indicate that <aclass="el"href="classoperations__research_1_1ForwardEbertGraph.html#a1d533b7e0f3527495348492c87f7b16a"title="Recreates the next_adjacent_arc_ and first_incident_arc_ variables from the arrays head_ and tail_ in...">BuildRepresentation()</a> needs to be called before the adjacency lists are examined. </p>
<p>Only for DCHECK in debug builds. </p>
<pclass="definition">Definition at line <aclass="el"href="ebert__graph_8h_source.html#l01152">1152</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>