<ahref="ebert__graph_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// Copyright 2010-2018 Google LLC</span></div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment">// you may not use this file except in compliance with the License.</span></div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment">// You may obtain a copy of the License at</span></div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> <spanclass="comment">// Unless required by applicable law or agreed to in writing, software</span></div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> <spanclass="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment">// See the License for the specific language governing permissions and</span></div><divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment">// limitations under the License.</span></div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> </div><divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> <spanclass="preprocessor">#ifndef OR_TOOLS_GRAPH_EBERT_GRAPH_H_</span></div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="preprocessor">#define OR_TOOLS_GRAPH_EBERT_GRAPH_H_</span></div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> </div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="comment">// A few variations on a theme of the "star" graph representation by</span></div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="comment">// Ebert, as described in J. Ebert, "A versatile data structure for</span></div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="comment">// edge-oriented graph algorithms." Communications of the ACM</span></div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="comment">// 30(6):513-519 (June 1987).</span></div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="comment">// http://portal.acm.org/citation.cfm?id=214769</span></div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="comment">// In this file there are three representations that have much in</span></div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> <spanclass="comment">// common. The general one, called simply EbertGraph, contains both</span></div><divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> <spanclass="comment">// forward- and backward-star representations. The other, called</span></div><divclass="line"><aname="l00026"></a><spanclass="lineno">
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a9d0409b2867beb2739b7ae20c10395e1"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a9d0409b2867beb2739b7ae20c10395e1">operations_research::EbertGraph::IsDirect</a></div><divclass="ttdeci">bool IsDirect(const ArcIndexType arc) const</div><divclass="ttdoc">Returns true if the arc is direct.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01417">ebert_graph.h:1417</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a3693e89df768c2f25a31d4b4ee64ee3a"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a3693e89df768c2f25a31d4b4ee64ee3a">operations_research::StarGraphBase::kFirstArc</a></div><divclass="ttdeci">static const ArcIndexType kFirstArc</div><divclass="ttdoc">The index of the first arc in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00225">ebert_graph.h:225</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a40da052b528623a6e0f5404547693edf"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a40da052b528623a6e0f5404547693edf">operations_research::EbertGraphBase::NextOutgoingArc</a></div><divclass="ttdeci">ArcIndexType NextOutgoingArc(const NodeIndexType unused_node, const ArcIndexType arc) const</div><divclass="ttdoc">Returns the outgoing arc following the argument in the adjacency list.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01138">ebert_graph.h:1138</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_ae83c0a0706d7c6bf85e08719e818c813"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#ae83c0a0706d7c6bf85e08719e818c813">operations_research::StarGraphBase::FirstOutgoingArc</a></div><divclass="ttdeci">ArcIndexType FirstOutgoingArc(const NodeIndexType node) const</div><divclass="ttdoc">Returns the first outgoing arc for node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00479">ebert_graph.h:479</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator_html_a90bb7f82e799ea13576da051837ac206"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html#a90bb7f82e799ea13576da051837ac206">operations_research::EbertGraph::OutgoingOrOppositeIncomingArcIterator::Index</a></div><divclass="ttdeci">ArcIndexType Index() const</div><divclass="ttdoc">Returns the index of the arc currently pointed to by the iterator.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01275">ebert_graph.h:1275</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a7e2435063a7df2859f5b589852a8d4d3"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a7e2435063a7df2859f5b589852a8d4d3">operations_research::StarGraphBase::max_end_arc_index</a></div><divclass="ttdeci">ArcIndexType max_end_arc_index() const</div><divclass="ttdoc">Returns one more than the largest valid index of a direct arc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00271">ebert_graph.h:271</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_ab6c2a8f285309e1325aa1a8b690d8011"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#ab6c2a8f285309e1325aa1a8b690d8011">operations_research::EbertGraph::ReverseArc</a></div><divclass="ttdeci">ArcIndexType ReverseArc(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the arc in reverse direction.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01402">ebert_graph.h:1402</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator_html_af1a06e4063cb76b5babf4fc670bfb4a2"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html#af1a06e4063cb76b5babf4fc670bfb4a2">operations_research::StarGraphBase::OutgoingArcIterator::Ok</a></div><divclass="ttdeci">bool Ok() const</div><divclass="ttdoc">Returns true unless all the outgoing arcs have been traversed.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00393">ebert_graph.h:393</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator_html_a70eef6592b4132f9efbd78e2b374693e"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html#a70eef6592b4132f9efbd78e2b374693e">operations_research::EbertGraph::IncomingArcIterator::Index</a></div><divclass="ttdeci">ArcIndexType Index() const</div><divclass="ttdoc">Returns the index of the arc currently pointed to by the iterator.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01335">ebert_graph.h:1335</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardStaticGraph_html_acb00f0b91f228903023d4417a98caf54"><divclass="ttname"><ahref="classoperations__research_1_1ForwardStaticGraph.html#acb00f0b91f228903023d4417a98caf54">operations_research::ForwardStaticGraph::IsIncoming</a></div><divclass="ttdeci">bool IsIncoming(ArcIndexType arc, NodeIndexType node) const</div><divclass="ttdoc">Returns true if arc is incoming to node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00763">ebert_graph.h:763</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardEbertGraph_html_a10201023ae78b259beadb129e3aa85f0"><divclass="ttname"><ahref="classoperations__research_1_1ForwardEbertGraph.html#a10201023ae78b259beadb129e3aa85f0">operations_research::ForwardEbertGraph::DebugString</a></div><divclass="ttdeci">std::string DebugString() const</div><divclass="ttdoc">Returns a debug std::string containing all the information contained in the data structure in raw for...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01698">ebert_graph.h:1698</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator_html_ad5e8b4e952a5f84530fc9e907320c646"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html#ad5e8b4e952a5f84530fc9e907320c646">operations_research::EbertGraph::IncomingArcIterator::Next</a></div><divclass="ttdeci">void Next()</div><divclass="ttdoc">Advances the current incoming arc index.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01329">ebert_graph.h:1329</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html">operations_research::EbertGraphBase</a></div><divclass="ttdoc">A template for the base class that holds the functionality that exists in common between the EbertGra...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00948">ebert_graph.h:948</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a02cadbddb2eabfe3a26a3af5f96cc6a5"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a02cadbddb2eabfe3a26a3af5f96cc6a5">operations_research::EbertGraph::Opposite</a></div><divclass="ttdeci">ArcIndexType Opposite(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the opposite arc, i.e the direct arc is the arc is in reverse direction, and the reverse arc ...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01409">ebert_graph.h:1409</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator_html_a07606fa87d8f55df7462e36f9d198b59"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html#a07606fa87d8f55df7462e36f9d198b59">operations_research::EbertGraph::IncomingArcIterator::operator=</a></div><divclass="ttdeci">void operator=(const IncomingArcIterator &iterator)</div><divclass="ttdoc">Can only assign from an iterator on the same graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01319">ebert_graph.h:1319</a></div></div>
<divclass="ttc"id="classoperations__research_1_1PermutationIndexComparisonByArcHead_html_a4d8724da35186aab5d5122d90dee84a7"><divclass="ttname"><ahref="classoperations__research_1_1PermutationIndexComparisonByArcHead.html#a4d8724da35186aab5d5122d90dee84a7">operations_research::PermutationIndexComparisonByArcHead::operator()</a></div><divclass="ttdeci">bool operator()(ArcIndexType a, ArcIndexType b) const</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00525">ebert_graph.h:525</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardStaticGraph_html_ac2d2363b40be6da86e1dffe794ab9eba"><divclass="ttname"><ahref="classoperations__research_1_1ForwardStaticGraph.html#ac2d2363b40be6da86e1dffe794ab9eba">operations_research::ForwardStaticGraph::Tail</a></div><divclass="ttdeci">NodeIndexType Tail(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the tail or start-node of arc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00756">ebert_graph.h:756</a></div></div>
<divclass="ttc"id="namespaceutil_html_ae76339cb2dcd3bc05ad762146f91fdda"><divclass="ttname"><ahref="namespaceutil.html#ae76339cb2dcd3bc05ad762146f91fdda">util::Graph</a></div><divclass="ttdeci">ListGraph Graph</div><divclass="ttdoc">Defining the simplest Graph interface as Graph for convenience.</div><divclass="ttdef"><b>Definition:</b><ahref="graph_8h_source.html#l02358">graph.h:2358</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator_html_ae6d48e645be864754bb1efd997506550"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html#ae6d48e645be864754bb1efd997506550">operations_research::EbertGraph::OutgoingOrOppositeIncomingArcIterator::Next</a></div><divclass="ttdeci">void Next()</div><divclass="ttdoc">Advances the current adjacent arc index.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01269">ebert_graph.h:1269</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a1d032dcb17aa589d9a386fe04499654b"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a1d032dcb17aa589d9a386fe04499654b">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::head_</a></div><divclass="ttdeci">ZVector< NodeIndexType > head_</div><divclass="ttdoc">Array of node indices. head_[i] contains the head node of arc i.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00498">ebert_graph.h:498</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a043c924d609639e1cc5bea7d4a5a7fd3"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a043c924d609639e1cc5bea7d4a5a7fd3">operations_research::StarGraphBase::kMaxNumArcs</a></div><divclass="ttdeci">static const ArcIndexType kMaxNumArcs</div><divclass="ttdoc">The maximum possible number of arcs in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00235">ebert_graph.h:235</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a8aad937029f57b70efe059b908241685"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a8aad937029f57b70efe059b908241685">operations_research::StarGraphBase::max_num_arcs</a></div><divclass="ttdeci">ArcIndexType max_num_arcs() const</div><divclass="ttdoc">Returns the maximum possible number of original arcs in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00259">ebert_graph.h:259</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator_html_ad205c98fef9dd01f3aa32aea884844ad"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html#ad205c98fef9dd01f3aa32aea884844ad">operations_research::StarGraphBase::OutgoingArcIterator::Next</a></div><divclass="ttdeci">void Next()</div><divclass="ttdoc">Advances the current outgoing arc index.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00396">ebert_graph.h:396</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator_html_a6f95a964dc369fcb3c01844cb7ca0ae3"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html#a6f95a964dc369fcb3c01844cb7ca0ae3">operations_research::EbertGraph::IncomingArcIterator::Ok</a></div><divclass="ttdeci">bool Ok() const</div><divclass="ttdoc">Returns true unless all the incoming arcs have been traversed.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01326">ebert_graph.h:1326</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a539adfb6a1003d4270e0f2c8fe6705b9"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a539adfb6a1003d4270e0f2c8fe6705b9">operations_research::StarGraphBase::max_num_nodes_</a></div><divclass="ttdeci">NodeIndexType max_num_nodes_</div><divclass="ttdoc">The maximum number of nodes that the graph can hold.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00486">ebert_graph.h:486</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a2c2ac42ee1d86e253e0a85f3f1321824"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a2c2ac42ee1d86e253e0a85f3f1321824">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::kFirstNode</a></div><divclass="ttdeci">static const NodeIndexType kFirstNode</div><divclass="ttdoc">The index of the first node in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00222">ebert_graph.h:222</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_ad24fe35c2e3798137b42e1bc1c35e587"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#ad24fe35c2e3798137b42e1bc1c35e587">operations_research::StarGraphBase::LookUpArc</a></div><divclass="ttdeci">ArcIndexType LookUpArc(const NodeIndexType tail, const NodeIndexType head) const</div><divclass="ttdoc">Returns the first arc going from tail to head, if it exists, or kNilArc if such an arc does not exist...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00285">ebert_graph.h:285</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_aebc1c53cc0d7242f47f0cf971a105e20"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#aebc1c53cc0d7242f47f0cf971a105e20">operations_research::StarGraphBase::kMaxNumNodes</a></div><divclass="ttdeci">static const NodeIndexType kMaxNumNodes</div><divclass="ttdoc">The maximum possible number of nodes in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00230">ebert_graph.h:230</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator_html_abe21369e05b3312ae3d43686aac340e9"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html#abe21369e05b3312ae3d43686aac340e9">operations_research::StarGraphBase::OutgoingArcIterator::operator=</a></div><divclass="ttdeci">void operator=(const OutgoingArcIterator &iterator)</div><divclass="ttdoc">Can only assign from an iterator on the same graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00386">ebert_graph.h:386</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a2c3f7aa31326efb573187d321679cba6"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a2c3f7aa31326efb573187d321679cba6">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::kNilNode</a></div><divclass="ttdeci">static const NodeIndexType kNilNode</div><divclass="ttdoc">The index of the 'nil' node in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00216">ebert_graph.h:216</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a7174acc6507b365096d7122ef430b1dc"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a7174acc6507b365096d7122ef430b1dc">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::kNilArc</a></div><divclass="ttdeci">static const ArcIndexType kNilArc</div><divclass="ttdoc">The index of the 'nil' arc in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00219">ebert_graph.h:219</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a6aecaff5cd6eea0a7c93de644b8defc6"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a6aecaff5cd6eea0a7c93de644b8defc6">operations_research::StarGraphBase::max_end_node_index</a></div><divclass="ttdeci">NodeIndexType max_end_node_index() const</div><divclass="ttdoc">Returns one more than the largest valid index of a node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00264">ebert_graph.h:264</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a76da9f41f6215acb4ec4dd8da00c0e28"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a76da9f41f6215acb4ec4dd8da00c0e28">operations_research::StarGraphBase::num_arcs_</a></div><divclass="ttdeci">ArcIndexType num_arcs_</div><divclass="ttdoc">The current number of arcs held by the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00495">ebert_graph.h:495</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardEbertGraph_html_aa3d8b56d047ccfa87eb083046fac40c6"><divclass="ttname"><ahref="classoperations__research_1_1ForwardEbertGraph.html#aa3d8b56d047ccfa87eb083046fac40c6">operations_research::ForwardEbertGraph::TailArrayComplete</a></div><divclass="ttdeci">bool TailArrayComplete() const</div><divclass="ttdoc">To be used in a DCHECK().</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01687">ebert_graph.h:1687</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a26e62c6c3621ffd6cf953bb8e585a064"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a26e62c6c3621ffd6cf953bb8e585a064">operations_research::EbertGraphBase::next_adjacent_arc_</a></div><divclass="ttdeci">ZVector< ArcIndexType > next_adjacent_arc_</div><divclass="ttdoc">Array of next indices.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01147">ebert_graph.h:1147</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator_html_adfc73904ca2946cf7c01c072a2e8848b"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html#adfc73904ca2946cf7c01c072a2e8848b">operations_research::StarGraphBase::OutgoingArcIterator::OutgoingArcIterator</a></div><divclass="ttdeci">OutgoingArcIterator(const DerivedGraph &graph, NodeIndexType node, ArcIndexType arc)</div><divclass="ttdoc">This constructor takes an arc as extra argument and makes the iterator start at arc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00377">ebert_graph.h:377</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardStaticGraph_html_a299d30373ebbfcb70fc84ecc66d95b92"><divclass="ttname"><ahref="classoperations__research_1_1ForwardStaticGraph.html#a299d30373ebbfcb70fc84ecc66d95b92">operations_research::ForwardStaticGraph::ForwardStaticGraph</a></div><divclass="ttdeci">ForwardStaticGraph(const NodeIndexType num_nodes, const ArcIndexType num_arcs, const bool sort_arcs_by_head, std::vector< std::pair< NodeIndexType, NodeIndexType >> *client_input_arcs, operations_research::PermutationCycleHandler< ArcIndexType > *const client_cycle_handler)</div><divclass="ttdoc">Constructor for use by GraphBuilderFromArcs instances and direct clients that want to materialize a g...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00621">ebert_graph.h:621</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1NodeIterator_html"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1NodeIterator.html">operations_research::StarGraphBase::NodeIterator</a></div><divclass="ttdoc">Iterator class for traversing all the nodes in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00320">ebert_graph.h:320</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator_html"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html">operations_research::StarGraphBase::OutgoingArcIterator</a></div><divclass="ttdoc">Iterator class for traversing the outgoing arcs associated to a given node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00366">ebert_graph.h:366</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1NodeIterator_html_a53bbc98b79bbf00e3a43504e2f3c8e1c"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1NodeIterator.html#a53bbc98b79bbf00e3a43504e2f3c8e1c">operations_research::StarGraphBase::NodeIterator::Ok</a></div><divclass="ttdeci">bool Ok() const</div><divclass="ttdoc">Returns true unless all the nodes have been traversed.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00326">ebert_graph.h:326</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_af943e2518d92aae9de9e682b2a3dbdd1"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#af943e2518d92aae9de9e682b2a3dbdd1">operations_research::EbertGraph::DebugString</a></div><divclass="ttdeci">std::string DebugString() const</div><divclass="ttdoc">Returns a debug std::string containing all the information contained in the data structure in raw for...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01458">ebert_graph.h:1458</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1ArcIterator_html_ad1b734838923b0401394878f884f80bf"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1ArcIterator.html#ad1b734838923b0401394878f884f80bf">operations_research::StarGraphBase::ArcIterator::Ok</a></div><divclass="ttdeci">bool Ok() const</div><divclass="ttdoc">Returns true unless all the arcs have been traversed.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00349">ebert_graph.h:349</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a6b983fc03d4366ac2a697c45a0ba30fc"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a6b983fc03d4366ac2a697c45a0ba30fc">operations_research::EbertGraph::IsReverse</a></div><divclass="ttdeci">bool IsReverse(const ArcIndexType arc) const</div><divclass="ttdoc">Returns true if the arc is in the reverse direction.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01423">ebert_graph.h:1423</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a2b9709a996fb28b5572783b40e1067c5"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a2b9709a996fb28b5572783b40e1067c5">operations_research::EbertGraphBase::Reserve</a></div><divclass="ttdeci">bool Reserve(NodeIndexType new_max_num_nodes, ArcIndexType new_max_num_arcs)</div><divclass="ttdoc">Reserves memory needed for max_num_nodes nodes and max_num_arcs arcs.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00978">ebert_graph.h:978</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator_html"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html">operations_research::EbertGraph::IncomingArcIterator</a></div><divclass="ttdoc">Iterator class for traversing the incoming arcs associated to a given node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01298">ebert_graph.h:1298</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a68f767cda734319cc4f28e6a4d56b6d4"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a68f767cda734319cc4f28e6a4d56b6d4">operations_research::EbertGraphBase::FirstOutgoingOrOppositeIncomingArc</a></div><divclass="ttdeci">ArcIndexType FirstOutgoingOrOppositeIncomingArc(const NodeIndexType node) const</div><divclass="ttdoc">Returns the first arc in node's incidence list.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01123">ebert_graph.h:1123</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a8038f289c7e5558d1b4d264677c0f4be"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a8038f289c7e5558d1b4d264677c0f4be">operations_research::StarGraphBase::NextNode</a></div><divclass="ttdeci">NodeIndexType NextNode(const NodeIndexType node) const</div><divclass="ttdoc">Returns the node following the argument in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00458">ebert_graph.h:458</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardStaticGraph_html_a27d6c9477d9c5474c08286c890aad441"><divclass="ttname"><ahref="classoperations__research_1_1ForwardStaticGraph.html#a27d6c9477d9c5474c08286c890aad441">operations_research::ForwardStaticGraph::CheckArcValidity</a></div><divclass="ttdeci">bool CheckArcValidity(const ArcIndexType arc) const</div><divclass="ttdoc">Utility function to check that an arc index is within the bounds AND different from kNilArc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00778">ebert_graph.h:778</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a30864ddfe33af3fe52a64d35bf298503"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a30864ddfe33af3fe52a64d35bf298503">operations_research::StarGraphBase::NextArc</a></div><divclass="ttdeci">ArcIndexType NextArc(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the arc following the argument in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00472">ebert_graph.h:472</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1ArcIterator_html"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1ArcIterator.html">operations_research::StarGraphBase::ArcIterator</a></div><divclass="ttdoc">Iterator class for traversing the arcs in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00343">ebert_graph.h:343</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a68a1d993a6371e6fbf6a8ffe5c944a45"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a68a1d993a6371e6fbf6a8ffe5c944a45">operations_research::StarGraphBase::end_arc_index</a></div><divclass="ttdeci">ArcIndexType end_arc_index() const</div><divclass="ttdoc">Returns one more than the largest index of an extant direct arc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00252">ebert_graph.h:252</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a7174acc6507b365096d7122ef430b1dc"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a7174acc6507b365096d7122ef430b1dc">operations_research::StarGraphBase::kNilArc</a></div><divclass="ttdeci">static const ArcIndexType kNilArc</div><divclass="ttdoc">The index of the 'nil' arc in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00219">ebert_graph.h:219</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardStaticGraph_html_a6f09eb68a93e2cb8fd50c90e48868b3c"><divclass="ttname"><ahref="classoperations__research_1_1ForwardStaticGraph.html#a6f09eb68a93e2cb8fd50c90e48868b3c">operations_research::ForwardStaticGraph::TailArrayComplete</a></div><divclass="ttdeci">bool TailArrayComplete() const</div><divclass="ttdoc">To be used in a DCHECK().</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00847">ebert_graph.h:847</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_ad69ccdbdbceba88bf784e2add4964b5b"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#ad69ccdbdbceba88bf784e2add4964b5b">operations_research::StarGraphBase::IsNodeValid</a></div><divclass="ttdeci">bool IsNodeValid(NodeIndexType node) const</div><divclass="ttdoc">Utility function to check that a node index is within the bounds AND different from kNilNode.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00279">ebert_graph.h:279</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a51a5033049b63ee5ce35b531b8474f0a"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a51a5033049b63ee5ce35b531b8474f0a">operations_research::StarGraphBase::max_num_nodes</a></div><divclass="ttdeci">NodeIndexType max_num_nodes() const</div><divclass="ttdoc">Returns the maximum possible number of nodes in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00255">ebert_graph.h:255</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator_html_a1b679c6f96af2d55e16058cecded849e"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html#a1b679c6f96af2d55e16058cecded849e">operations_research::EbertGraph::IncomingArcIterator::IncomingArcIterator</a></div><divclass="ttdeci">IncomingArcIterator(const EbertGraph &graph, NodeIndexType node, ArcIndexType arc)</div><divclass="ttdoc">This constructor takes an arc as extra argument and makes the iterator start at arc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01309">ebert_graph.h:1309</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_acb53c505b8fd29ceb3abdcc7dfd809ce"><divclass="ttname"><ahref="namespaceoperations__research.html#acb53c505b8fd29ceb3abdcc7dfd809ce">operations_research::BuildLineGraph</a></div><divclass="ttdeci">bool BuildLineGraph(const GraphType &graph, GraphType *const line_graph)</div><divclass="ttdoc">Builds a directed line graph for 'graph' (see "directed line graph" in http://en.wikipedia....</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l02088">ebert_graph.h:2088</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_aa219b1703090300ed69dc9f5f6f54ded"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#aa219b1703090300ed69dc9f5f6f54ded">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::max_num_arcs_</a></div><divclass="ttdeci">ArcIndexType max_num_arcs_</div><divclass="ttdoc">The maximum number of arcs that the graph can hold.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00489">ebert_graph.h:489</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ArcFunctorOrderingByTailAndHead_html_adcc7e1ea101f9a6a7f276d7d5ae85926"><divclass="ttname"><ahref="classoperations__research_1_1ArcFunctorOrderingByTailAndHead.html#adcc7e1ea101f9a6a7f276d7d5ae85926">operations_research::ArcFunctorOrderingByTailAndHead::operator()</a></div><divclass="ttdeci">bool operator()(typename GraphType::ArcIndex a, typename GraphType::ArcIndex b) const</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01944">ebert_graph.h:1944</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_ac0ae30f08a54ea67bf295b446157aed3"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#ac0ae30f08a54ea67bf295b446157aed3">operations_research::StarGraphBase::num_arcs</a></div><divclass="ttdeci">ArcIndexType num_arcs() const</div><divclass="ttdoc">Returns the number of original arcs in the graph (The ones with positive indices.)</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00241">ebert_graph.h:241</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a3693e89df768c2f25a31d4b4ee64ee3a"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a3693e89df768c2f25a31d4b4ee64ee3a">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::kFirstArc</a></div><divclass="ttdeci">static const ArcIndexType kFirstArc</div><divclass="ttdoc">The index of the first arc in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00225">ebert_graph.h:225</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardStaticGraph_html_a4b7af21d9283d9ef77c21646e0c999b9"><divclass="ttname"><ahref="classoperations__research_1_1ForwardStaticGraph.html#a4b7af21d9283d9ef77c21646e0c999b9">operations_research::ForwardStaticGraph::CheckTailIndexValidity</a></div><divclass="ttdeci">bool CheckTailIndexValidity(const ArcIndexType arc) const</div><divclass="ttdoc">Returns true if arc is a valid index into the (*tail_) array.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00783">ebert_graph.h:783</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a2c2ac42ee1d86e253e0a85f3f1321824"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a2c2ac42ee1d86e253e0a85f3f1321824">operations_research::StarGraphBase::kFirstNode</a></div><divclass="ttdeci">static const NodeIndexType kFirstNode</div><divclass="ttdoc">The index of the first node in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00222">ebert_graph.h:222</a></div></div>
<divclass="ttc"id="namespaceutil_html_aadd7603ae6e78cc2490ca9710fbaf180"><divclass="ttname"><ahref="namespaceutil.html#aadd7603ae6e78cc2490ca9710fbaf180">util::false</a></div><divclass="ttdeci">false</div><divclass="ttdoc">This is useful for wrapping iterators of a class that support many different iterations.</div><divclass="ttdef"><b>Definition:</b><ahref="iterators_8h_source.html#l00030">iterators.h:30</a></div></div>
<divclass="ttc"id="structoperations__research_1_1graph__traits_html"><divclass="ttname"><ahref="structoperations__research_1_1graph__traits.html">operations_research::graph_traits</a></div><divclass="ttdoc">Traits for EbertGraphBase types, for use in testing and clients that work with both forward-only and ...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01848">ebert_graph.h:1848</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator_html"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html">operations_research::EbertGraph::OutgoingOrOppositeIncomingArcIterator</a></div><divclass="ttdoc">Iterator class for traversing the arcs incident to a given node in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01237">ebert_graph.h:1237</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_aac64d5e43f89177ab46f7ef763bb3c64"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#aac64d5e43f89177ab46f7ef763bb3c64">operations_research::StarGraphBase::Head</a></div><divclass="ttdeci">NodeIndexType Head(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the head or end-node of arc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00297">ebert_graph.h:297</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a0f9cd34115afbe06ea269ee5bcc74ac5"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a0f9cd34115afbe06ea269ee5bcc74ac5">operations_research::EbertGraph::DirectArcHead</a></div><divclass="ttdeci">NodeIndexType DirectArcHead(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the head or end-node of arc if it is positive (i.e.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01391">ebert_graph.h:1391</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardStaticGraph_html_a70997849a276cf0a75513d916753161f"><divclass="ttname"><ahref="classoperations__research_1_1ForwardStaticGraph.html#a70997849a276cf0a75513d916753161f">operations_research::ForwardStaticGraph::DebugString</a></div><divclass="ttdeci">std::string DebugString() const</div><divclass="ttdoc">Returns a debug std::string containing all the information contained in the data structure in raw for...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00802">ebert_graph.h:802</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardEbertGraph_html_a2bf3cfd1f85aa0ff86d1094b34a1301e"><divclass="ttname"><ahref="classoperations__research_1_1ForwardEbertGraph.html#a2bf3cfd1f85aa0ff86d1094b34a1301e">operations_research::ForwardEbertGraph::CheckArcValidity</a></div><divclass="ttdeci">bool CheckArcValidity(const ArcIndexType arc) const</div><divclass="ttdoc">Utility function to check that an arc index is within the bounds AND different from kNilArc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01620">ebert_graph.h:1620</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator_html_aede9dadb0a3ea190c0bfd9123d362172"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html#aede9dadb0a3ea190c0bfd9123d362172">operations_research::EbertGraph::OutgoingOrOppositeIncomingArcIterator::operator=</a></div><divclass="ttdeci">void operator=(const OutgoingOrOppositeIncomingArcIterator &iterator)</div><divclass="ttdoc">Can only assign from an iterator on the same graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01259">ebert_graph.h:1259</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a93e854b7d8f6448efa30629052c1b835"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a93e854b7d8f6448efa30629052c1b835">operations_research::EbertGraph::CheckArcValidity</a></div><divclass="ttdeci">bool CheckArcValidity(const ArcIndexType arc) const</div><divclass="ttdoc">Utility function to check that an arc index is within the bounds AND different from kNilArc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01371">ebert_graph.h:1371</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a70424e6ef2e1bb8ac923679b32527f41"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a70424e6ef2e1bb8ac923679b32527f41">operations_research::EbertGraph::CheckArcBounds</a></div><divclass="ttdeci">bool CheckArcBounds(const ArcIndexType arc) const</div><divclass="ttdoc">Utility function to check that an arc index is within the bounds.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01363">ebert_graph.h:1363</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1NodeIterator_html_aa5e4893b57578a159709ea47eaddcad6"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1NodeIterator.html#aa5e4893b57578a159709ea47eaddcad6">operations_research::StarGraphBase::NodeIterator::Next</a></div><divclass="ttdeci">void Next()</div><divclass="ttdoc">Advances the current node index.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00329">ebert_graph.h:329</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a8ba11aca6997abd6ed8327ea9ea0e7b7"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a8ba11aca6997abd6ed8327ea9ea0e7b7">operations_research::EbertGraphBase::NextAdjacentArc</a></div><divclass="ttdeci">ArcIndexType NextAdjacentArc(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the next arc following the passed argument in its adjacency list.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01131">ebert_graph.h:1131</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a1d032dcb17aa589d9a386fe04499654b"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a1d032dcb17aa589d9a386fe04499654b">operations_research::StarGraphBase::head_</a></div><divclass="ttdeci">ZVector< NodeIndexType > head_</div><divclass="ttdoc">Array of node indices. head_[i] contains the head node of arc i.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00498">ebert_graph.h:498</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_ae34257a5477fbac4642416580f237494"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#ae34257a5477fbac4642416580f237494">operations_research::EbertGraph::IsOutgoing</a></div><divclass="ttdeci">bool IsOutgoing(ArcIndexType arc, NodeIndexType node) const</div><divclass="ttdoc">Returns true if arc is outgoing from node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01440">ebert_graph.h:1440</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a9a55d0ed76944c652d73c1247db82996"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a9a55d0ed76944c652d73c1247db82996">operations_research::EbertGraph::DirectArcTail</a></div><divclass="ttdeci">NodeIndexType DirectArcTail(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the tail or start-node of arc if it is positive (i.e.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01384">ebert_graph.h:1384</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a1672b2b1d01190e5b9f44a55dd48d2d9"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a1672b2b1d01190e5b9f44a55dd48d2d9">operations_research::EbertGraph::IsOutgoingOrOppositeIncoming</a></div><divclass="ttdeci">bool IsOutgoingOrOppositeIncoming(ArcIndexType arc, NodeIndexType node) const</div><divclass="ttdoc">Returns true if arc is incident to node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01429">ebert_graph.h:1429</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a03cebcf1fdf356a8217ae2879100d324"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a03cebcf1fdf356a8217ae2879100d324">operations_research::StarGraphBase::end_node_index</a></div><divclass="ttdeci">NodeIndexType end_node_index() const</div><divclass="ttdoc">Returns one more than the largest index of an extant node, meaning a node that is mentioned as the he...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00247">ebert_graph.h:247</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardStaticGraph_html_a325685db5b8c282db5b30a78206edd30"><divclass="ttname"><ahref="classoperations__research_1_1ForwardStaticGraph.html#a325685db5b8c282db5b30a78206edd30">operations_research::ForwardStaticGraph::CheckArcBounds</a></div><divclass="ttdeci">bool CheckArcBounds(const ArcIndexType arc) const</div><divclass="ttdoc">Utility function to check that an arc index is within the bounds.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00770">ebert_graph.h:770</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a95976397d32c3be512b959314745d176"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a95976397d32c3be512b959314745d176">operations_research::EbertGraph::BuildRepresentation</a></div><divclass="ttdeci">void BuildRepresentation()</div><divclass="ttdoc">Recreates the next_adjacent_arc_ and first_incident_arc_ variables from the array head_ in O(n + m) t...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01448">ebert_graph.h:1448</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a7cf8fa1e0a3abc8179da6309a86097f5"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a7cf8fa1e0a3abc8179da6309a86097f5">operations_research::StarGraphBase::StartNode</a></div><divclass="ttdeci">NodeIndexType StartNode(NodeIndexType node) const</div><divclass="ttdoc">Returns kNilNode if the graph has no nodes or node if it has at least one node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00439">ebert_graph.h:439</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_aa219b1703090300ed69dc9f5f6f54ded"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#aa219b1703090300ed69dc9f5f6f54ded">operations_research::StarGraphBase::max_num_arcs_</a></div><divclass="ttdeci">ArcIndexType max_num_arcs_</div><divclass="ttdoc">The maximum number of arcs that the graph can hold.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00489">ebert_graph.h:489</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_aa0c2a078e397860fe425fba54cb5adae"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#aa0c2a078e397860fe425fba54cb5adae">operations_research::EbertGraph::IsIncoming</a></div><divclass="ttdeci">bool IsIncoming(ArcIndexType arc, NodeIndexType node) const</div><divclass="ttdoc">Returns true if arc is incoming to node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01435">ebert_graph.h:1435</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_af1a0166faa8ccde14511e9fc547febac"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#af1a0166faa8ccde14511e9fc547febac">operations_research::StarGraphBase::first_incident_arc_</a></div><divclass="ttdeci">ZVector< ArcIndexType > first_incident_arc_</div><divclass="ttdoc">Array of arc indices.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00502">ebert_graph.h:502</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_ad9877f4f6b0822e2cb6aa9c4fe60ceb9"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#ad9877f4f6b0822e2cb6aa9c4fe60ceb9">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::num_nodes_</a></div><divclass="ttdeci">NodeIndexType num_nodes_</div><divclass="ttdoc">The maximum index of the node currently held by the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00492">ebert_graph.h:492</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a964f5e0f6ead404b708f2113a5cdd67d"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a964f5e0f6ead404b708f2113a5cdd67d">operations_research::EbertGraph::DirectArc</a></div><divclass="ttdeci">ArcIndexType DirectArc(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the arc in normal/direct direction.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01396">ebert_graph.h:1396</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html"><divclass="ttname"><ahref="namespaceoperations__research.html">operations_research</a></div><divclass="ttdoc">Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in c...</div><divclass="ttdef"><b>Definition:</b><ahref="christofides_8h_source.html#l00033">christofides.h:33</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_ad9877f4f6b0822e2cb6aa9c4fe60ceb9"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#ad9877f4f6b0822e2cb6aa9c4fe60ceb9">operations_research::StarGraphBase::num_nodes_</a></div><divclass="ttdeci">NodeIndexType num_nodes_</div><divclass="ttdoc">The maximum index of the node currently held by the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00492">ebert_graph.h:492</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator_html_aeef8d3d1791b5d02ee9c71bcdf38fca8"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html#aeef8d3d1791b5d02ee9c71bcdf38fca8">operations_research::StarGraphBase::OutgoingArcIterator::Index</a></div><divclass="ttdeci">ArcIndexType Index() const</div><divclass="ttdoc">Returns the index of the arc currently pointed to by the iterator.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00402">ebert_graph.h:402</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a96bf1fdcbfa88edabb7843b6142cb3bd"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a96bf1fdcbfa88edabb7843b6142cb3bd">operations_research::EbertGraphBase::AddArc</a></div><divclass="ttdeci">ArcIndexType AddArc(NodeIndexType tail, NodeIndexType head)</div><divclass="ttdoc">Adds an arc to the graph and returns its index.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01001">ebert_graph.h:1001</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1ArcIterator_html_a261b6e58a0dfd38d8d0c0d882c2ccf8d"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1ArcIterator.html#a261b6e58a0dfd38d8d0c0d882c2ccf8d">operations_research::StarGraphBase::ArcIterator::Next</a></div><divclass="ttdeci">void Next()</div><divclass="ttdoc">Advances the current arc index.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00352">ebert_graph.h:352</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator_html_abeeb4cd46875dc1553f7877efdd87ce1"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html#abeeb4cd46875dc1553f7877efdd87ce1">operations_research::EbertGraph::OutgoingOrOppositeIncomingArcIterator::OutgoingOrOppositeIncomingArcIterator</a></div><divclass="ttdeci">OutgoingOrOppositeIncomingArcIterator(const EbertGraph &graph, NodeIndexType node, ArcIndexType arc)</div><divclass="ttdoc">This constructor takes an arc as extra argument and makes the iterator start at arc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01250">ebert_graph.h:1250</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a82e436348dd462d71b362963129d4f7f"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a82e436348dd462d71b362963129d4f7f">operations_research::EbertGraphBase::representation_clean_</a></div><divclass="ttdeci">bool representation_clean_</div><divclass="ttdoc">Flag to indicate that BuildRepresentation() needs to be called before the adjacency lists are examine...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01152">ebert_graph.h:1152</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_aa58e05a2a30eb0b2b38cc366bba1d1ae"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#aa58e05a2a30eb0b2b38cc366bba1d1ae">operations_research::StarGraphBase::StartArc</a></div><divclass="ttdeci">ArcIndexType StartArc(ArcIndexType arc) const</div><divclass="ttdoc">Returns kNilArc if the graph has no arcs arc if it has at least one arc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00445">ebert_graph.h:445</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs_html_a298ac0673adae718024b7d7e31b8f108"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs.html#a298ac0673adae718024b7d7e31b8f108">operations_research::EbertGraphBase::CycleHandlerForAnnotatedArcs::SetSeen</a></div><divclass="ttdeci">void SetSeen(ArcIndexType *permutation_element) const override</div><divclass="ttdoc">Since we are free to destroy the permutation array we use the kNilArc value to mark entries in the ar...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01087">ebert_graph.h:1087</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a76da9f41f6215acb4ec4dd8da00c0e28"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a76da9f41f6215acb4ec4dd8da00c0e28">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::num_arcs_</a></div><divclass="ttdeci">ArcIndexType num_arcs_</div><divclass="ttdoc">The current number of arcs held by the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00495">ebert_graph.h:495</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_a2c3f7aa31326efb573187d321679cba6"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#a2c3f7aa31326efb573187d321679cba6">operations_research::StarGraphBase::kNilNode</a></div><divclass="ttdeci">static const NodeIndexType kNilNode</div><divclass="ttdoc">The index of the 'nil' node in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00216">ebert_graph.h:216</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardEbertGraph_html"><divclass="ttname"><ahref="classoperations__research_1_1ForwardEbertGraph.html">operations_research::ForwardEbertGraph</a></div><divclass="ttdoc">A forward-star-only graph representation for greater efficiency in those algorithms that don't need r...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00190">ebert_graph.h:190</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator_html_a9d2baaf41a6958cb75efba3e2c446bb8"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html#a9d2baaf41a6958cb75efba3e2c446bb8">operations_research::EbertGraph::OutgoingOrOppositeIncomingArcIterator::Ok</a></div><divclass="ttdeci">bool Ok() const</div><divclass="ttdoc">Returns true unless all the adjancent arcs have been traversed.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01266">ebert_graph.h:1266</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_ad69ccdbdbceba88bf784e2add4964b5b"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#ad69ccdbdbceba88bf784e2add4964b5b">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::IsNodeValid</a></div><divclass="ttdeci">bool IsNodeValid(NodeIndexType node) const</div><divclass="ttdoc">Utility function to check that a node index is within the bounds AND different from kNilNode.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00279">ebert_graph.h:279</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardEbertGraph_html_ab457a2818b4a5163977eb7547ff718ae"><divclass="ttname"><ahref="classoperations__research_1_1ForwardEbertGraph.html#ab457a2818b4a5163977eb7547ff718ae">operations_research::ForwardEbertGraph::CheckArcBounds</a></div><divclass="ttdeci">bool CheckArcBounds(const ArcIndexType arc) const</div><divclass="ttdoc">Utility function to check that an arc index is within the bounds.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01612">ebert_graph.h:1612</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraph_html_a8f4a674ce54ae70d858381ba3622c487"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraph.html#a8f4a674ce54ae70d858381ba3622c487">operations_research::EbertGraph::Tail</a></div><divclass="ttdeci">NodeIndexType Tail(const ArcIndexType arc) const</div><divclass="ttdoc">Returns the tail or start-node of arc.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01376">ebert_graph.h:1376</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardEbertGraph_html_a1d533b7e0f3527495348492c87f7b16a"><divclass="ttname"><ahref="classoperations__research_1_1ForwardEbertGraph.html#a1d533b7e0f3527495348492c87f7b16a">operations_research::ForwardEbertGraph::BuildRepresentation</a></div><divclass="ttdeci">void BuildRepresentation()</div><divclass="ttdoc">Recreates the next_adjacent_arc_ and first_incident_arc_ variables from the arrays head_ and tail_ in...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01646">ebert_graph.h:1646</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a0e629e35bfa311b31dd7f5065eb834bb"><divclass="ttname"><ahref="namespaceoperations__research.html#a0e629e35bfa311b31dd7f5065eb834bb">operations_research::NodeIndex</a></div><divclass="ttdeci">int32 NodeIndex</div><divclass="ttdoc">Standard instantiation of ForwardEbertGraph (named 'ForwardStarGraph') of EbertGraph (named 'StarGrap...</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00192">ebert_graph.h:192</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_html_aa8a10d242f7088bfdee282e1246e00b8"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase.html#aa8a10d242f7088bfdee282e1246e00b8">operations_research::StarGraphBase::num_nodes</a></div><divclass="ttdeci">NodeIndexType num_nodes() const</div><divclass="ttdoc">Returns the number of nodes in the graph.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00237">ebert_graph.h:237</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1NodeIterator_html_a75b2eefd123f27761920019ef173b310"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1NodeIterator.html#a75b2eefd123f27761920019ef173b310">operations_research::StarGraphBase::NodeIterator::Index</a></div><divclass="ttdeci">NodeIndexType Index() const</div><divclass="ttdoc">Returns the index of the node currently pointed to by the iterator.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00332">ebert_graph.h:332</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardEbertGraph_html_a519e28b63106845b55ceb18c5011c4d7"><divclass="ttname"><ahref="classoperations__research_1_1ForwardEbertGraph.html#a519e28b63106845b55ceb18c5011c4d7">operations_research::ForwardEbertGraph::CheckTailIndexValidity</a></div><divclass="ttdeci">bool CheckTailIndexValidity(const ArcIndexType arc) const</div><divclass="ttdoc">Returns true if arc is a valid index into the (*tail_) array.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01625">ebert_graph.h:1625</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ForwardEbertGraph_html_a285687129f5108116d7cc1da74e8b83b"><divclass="ttname"><ahref="classoperations__research_1_1ForwardEbertGraph.html#a285687129f5108116d7cc1da74e8b83b">operations_research::ForwardEbertGraph::IsIncoming</a></div><divclass="ttdeci">bool IsIncoming(ArcIndexType arc, NodeIndexType node) const</div><divclass="ttdoc">Returns true if arc is incoming to node.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l01638">ebert_graph.h:1638</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EbertGraphBase_html_a539adfb6a1003d4270e0f2c8fe6705b9"><divclass="ttname"><ahref="classoperations__research_1_1EbertGraphBase.html#a539adfb6a1003d4270e0f2c8fe6705b9">operations_research::EbertGraphBase< NodeIndexType, ArcIndexType, EbertGraph< NodeIndexType, ArcIndexType >>::max_num_nodes_</a></div><divclass="ttdeci">NodeIndexType max_num_nodes_</div><divclass="ttdoc">The maximum number of nodes that the graph can hold.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00486">ebert_graph.h:486</a></div></div>
<divclass="ttc"id="classoperations__research_1_1StarGraphBase_1_1ArcIterator_html_a682828ce4c89cae5de8accd10a9a12c4"><divclass="ttname"><ahref="classoperations__research_1_1StarGraphBase_1_1ArcIterator.html#a682828ce4c89cae5de8accd10a9a12c4">operations_research::StarGraphBase::ArcIterator::Index</a></div><divclass="ttdeci">ArcIndexType Index() const</div><divclass="ttdoc">Returns the index of the arc currently pointed to by the iterator.</div><divclass="ttdef"><b>Definition:</b><ahref="ebert__graph_8h_source.html#l00355">ebert_graph.h:355</a></div></div>