2019-06-13 15:36:14 +02:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< title > OR-Tools< / title >
< meta http-equiv = "Content-Type" content = "text/html;" / >
< meta charset = "utf-8" / >
<!-- <link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/> -->
2019-06-20 23:08:48 +02:00
< link rel = "stylesheet" type = "text/css" href = "ortools.css" title = "default" media = "screen,print" / >
2019-06-13 15:36:14 +02:00
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< / head >
< body >
< div id = "banner-container" >
< div id = "banner" >
2019-06-29 18:18:08 +02:00
< span id = "sfml" > OR-Tools 7.2< / span >
2019-06-13 15:36:14 +02:00
< / div >
< / div >
2019-06-29 18:18:08 +02:00
< link rel = "icon" href = "https://developers.google.com/optimization/images/orLogo.png" >
2019-06-13 15:36:14 +02:00
< div id = "content" >
<!-- Generated by Doxygen 1.8.15 -->
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "index.html" > < span > Main  Page< / span > < / a > < / li >
< li > < a href = "pages.html" > < span > Related  Pages< / span > < / a > < / li >
< li > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
< li class = "current" > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
2019-07-15 17:42:24 -07:00
< li > < a href = "files.html" > < span > Files< / span > < / a > < / li >
2019-06-13 15:36:14 +02:00
< / ul >
< / div >
2019-07-12 13:25:23 -07:00
< / div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" > < / div >
< / div >
< / div >
< div id = "splitbar" style = "-moz-user-select:none;"
class="ui-resizable-handle">
2019-06-13 15:36:14 +02:00
< / div >
< / div >
2019-07-12 13:25:23 -07:00
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classutil_1_1ReverseArcListGraph.html','');});
/* @license-end */
< / script >
< div id = "doc-content" >
2019-06-13 15:36:14 +02:00
< div class = "header" >
< div class = "summary" >
< a href = "#nested-classes" > Classes< / a > |
< a href = "#pub-types" > Public Types< / a > |
< a href = "#pub-methods" > Public Member Functions< / a > |
< a href = "#pub-static-attribs" > Static Public Attributes< / a > |
< a href = "#pro-methods" > Protected Member Functions< / a > |
< a href = "#pro-attribs" > Protected Attributes< / a > |
< a href = "classutil_1_1ReverseArcListGraph-members.html" > List of all members< / a > < / div >
< div class = "headertitle" >
< div class = "title" > util::ReverseArcListGraph< NodeIndexType, ArcIndexType > Class Template Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
2019-07-12 13:25:23 -07:00
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Detailed Description< / h2 >
< div class = "textblock" > < h3 > template< typename NodeIndexType = int32, typename ArcIndexType = int32> < br / >
class util::ReverseArcListGraph< NodeIndexType, ArcIndexType > < / h3 >
< p > Extends the < a class = "el" href = "classutil_1_1ListGraph.html" title = "Basic graph implementation without reverse arc." > ListGraph< / a > by also storing the reverse arcs. < / p >
< p > This class also documents the Graph interface related to reverse arc.< / p > < ul >
< li > NodeIndexType can be unsigned, but ArcIndexType must be signed.< / li >
< li > It has most of the same advantanges and disadvantages as < a class = "el" href = "classutil_1_1ListGraph.html" title = "Basic graph implementation without reverse arc." > ListGraph< / a > .< / li >
< li > It takes 2 * ArcIndexType * < a class = "el" href = "classutil_1_1BaseGraph.html#a463d57480c9563a7a707c5d0928c9946" title = "Capacity reserved for future nodes, always >= num_nodes_." > node_capacity()< / a > < ul >
< li > 2 * (ArcIndexType + NodeIndexType) * < a class = "el" href = "classutil_1_1BaseGraph.html#a92ffd852b2ab2e5241f9832e71a2de71" title = "Capacity reserved for future arcs, always >= num_arcs_." > arc_capacity()< / a > memory. < / li >
< / ul >
< / li >
< / ul >
2019-06-13 15:36:14 +02:00
2019-07-12 13:25:23 -07:00
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00459" > 459< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div > < table class = "memberdecls" >
2019-06-13 15:36:14 +02:00
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "nested-classes" > < / a >
Classes< / h2 > < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html" > IncomingArcIterator< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html" > OppositeIncomingArcIterator< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html" > OutgoingArcIterator< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html" > OutgoingHeadIterator< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html" > OutgoingOrOppositeIncomingArcIterator< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-types" > < / a >
Public Types< / h2 > < / td > < / tr >
< tr class = "memitem:adb271cf4bcf2de5b5bbe300d7054af29" > < td class = "memItemLeft" align = "right" valign = "top" > typedef NodeIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#adb271cf4bcf2de5b5bbe300d7054af29" > NodeIndex< / a > < / td > < / tr >
< tr class = "memdesc:adb271cf4bcf2de5b5bbe300d7054af29" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Typedef so you can use Graph::NodeIndex and Graph::ArcIndex to be generic but also to improve the readability of your code. < a href = "#adb271cf4bcf2de5b5bbe300d7054af29" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:adb271cf4bcf2de5b5bbe300d7054af29" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a0eba6e5899924388644dfa2258ae8929" > < td class = "memItemLeft" align = "right" valign = "top" > typedef ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929" > ArcIndex< / a > < / td > < / tr >
< tr class = "separator:a0eba6e5899924388644dfa2258ae8929" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-methods" > < / a >
Public Member Functions< / h2 > < / td > < / tr >
< tr class = "memitem:ac553bb63399815ac609976e5a3bd8732" > < td class = "memItemLeft" align = "right" valign = "top" >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#ac553bb63399815ac609976e5a3bd8732" > ReverseArcListGraph< / a > ()< / td > < / tr >
< tr class = "separator:ac553bb63399815ac609976e5a3bd8732" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a885571656abd56593b2edbebb451d67f" > < td class = "memItemLeft" align = "right" valign = "top" >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a885571656abd56593b2edbebb451d67f" > ReverseArcListGraph< / a > (NodeIndexType < a class = "el" href = "classutil_1_1BaseGraph.html#a0f551c921fa0b5aaa334a6e36f61db4a" > num_nodes< / a > , ArcIndexType < a class = "el" href = "classutil_1_1BaseGraph.html#a92ffd852b2ab2e5241f9832e71a2de71" > arc_capacity< / a > )< / td > < / tr >
< tr class = "separator:a885571656abd56593b2edbebb451d67f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aa3306c75dd28ca037205f382ac832b2a" > < td class = "memItemLeft" align = "right" valign = "top" > ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#aa3306c75dd28ca037205f382ac832b2a" > OppositeArc< / a > (ArcIndexType arc) const< / td > < / tr >
< tr class = "memdesc:aa3306c75dd28ca037205f382ac832b2a" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns the opposite arc of a given arc. < a href = "#aa3306c75dd28ca037205f382ac832b2a" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:aa3306c75dd28ca037205f382ac832b2a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad25429b667ebd6e2ac662b76f3e02eae" > < td class = "memItemLeft" align = "right" valign = "top" > ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#ad25429b667ebd6e2ac662b76f3e02eae" > OutDegree< / a > (NodeIndexType node) const< / td > < / tr >
< tr class = "memdesc:ad25429b667ebd6e2ac662b76f3e02eae" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#ad25429b667ebd6e2ac662b76f3e02eae" title = "ReverseArcListGraph<>::OutDegree() and ::InDegree() work in O(degree)." > ReverseArcListGraph< > ::OutDegree()< / a > and ::InDegree() work in O(degree). < a href = "#ad25429b667ebd6e2ac662b76f3e02eae" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ad25429b667ebd6e2ac662b76f3e02eae" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aeffdaa7d0a6c7b6355ee1dab33524961" > < td class = "memItemLeft" align = "right" valign = "top" > ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#aeffdaa7d0a6c7b6355ee1dab33524961" > InDegree< / a > (NodeIndexType node) const< / td > < / tr >
< tr class = "separator:aeffdaa7d0a6c7b6355ee1dab33524961" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac8923133838003d7a7ffb4500f0d4ffa" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html" > OutgoingArcIterator< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#ac8923133838003d7a7ffb4500f0d4ffa" > OutgoingArcs< / a > (NodeIndexType node) const< / td > < / tr >
< tr class = "memdesc:ac8923133838003d7a7ffb4500f0d4ffa" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Arc iterations functions over the arcs touching a node (see the top-level comment for the different types). < a href = "#ac8923133838003d7a7ffb4500f0d4ffa" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ac8923133838003d7a7ffb4500f0d4ffa" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad0e7957e515d9c50f931c00166d099ce" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html" > IncomingArcIterator< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#ad0e7957e515d9c50f931c00166d099ce" > IncomingArcs< / a > (NodeIndexType node) const< / td > < / tr >
< tr class = "separator:ad0e7957e515d9c50f931c00166d099ce" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a104172ed25aa4cea18cd3a5c2187d4c7" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html" > OutgoingOrOppositeIncomingArcIterator< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a104172ed25aa4cea18cd3a5c2187d4c7" > OutgoingOrOppositeIncomingArcs< / a > (NodeIndexType node) const< / td > < / tr >
< tr class = "separator:a104172ed25aa4cea18cd3a5c2187d4c7" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a3cd1d1d0e50aaa2f30817db44cca8881" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html" > OppositeIncomingArcIterator< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a3cd1d1d0e50aaa2f30817db44cca8881" > OppositeIncomingArcs< / a > (NodeIndexType node) const< / td > < / tr >
< tr class = "separator:a3cd1d1d0e50aaa2f30817db44cca8881" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a60d3a435f90e2c963047cc6d8c6ad363" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html" > OutgoingArcIterator< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a60d3a435f90e2c963047cc6d8c6ad363" > OutgoingArcsStartingFrom< / a > (NodeIndexType node, ArcIndexType from) const< / td > < / tr >
< tr class = "separator:a60d3a435f90e2c963047cc6d8c6ad363" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a1a89c1efcf87cce6cec110126eb05641" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html" > IncomingArcIterator< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a1a89c1efcf87cce6cec110126eb05641" > IncomingArcsStartingFrom< / a > (NodeIndexType node, ArcIndexType from) const< / td > < / tr >
< tr class = "separator:a1a89c1efcf87cce6cec110126eb05641" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a96a609a53497ca38517dba5c277c7798" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html" > OutgoingOrOppositeIncomingArcIterator< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a96a609a53497ca38517dba5c277c7798" > OutgoingOrOppositeIncomingArcsStartingFrom< / a > (NodeIndexType node, ArcIndexType from) const< / td > < / tr >
< tr class = "separator:a96a609a53497ca38517dba5c277c7798" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a1e345c79e59f71e088f4876be93a903d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html" > OppositeIncomingArcIterator< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a1e345c79e59f71e088f4876be93a903d" > OppositeIncomingArcsStartingFrom< / a > (NodeIndexType node, ArcIndexType from) const< / td > < / tr >
< tr class = "separator:a1e345c79e59f71e088f4876be93a903d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a28d6f97b2135e9d51bad632c2556fa56" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html" > OutgoingHeadIterator< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a28d6f97b2135e9d51bad632c2556fa56" > operator[]< / a > (NodeIndexType node) const< / td > < / tr >
< tr class = "memdesc:a28d6f97b2135e9d51bad632c2556fa56" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > This loops over the heads of the OutgoingArcs(node). < a href = "#a28d6f97b2135e9d51bad632c2556fa56" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a28d6f97b2135e9d51bad632c2556fa56" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a2fdb48f771da93712d9386c60615cf04" > < td class = "memItemLeft" align = "right" valign = "top" > NodeIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a2fdb48f771da93712d9386c60615cf04" > Head< / a > (ArcIndexType arc) const< / td > < / tr >
< tr class = "separator:a2fdb48f771da93712d9386c60615cf04" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac7b475304d3677d4a29c676e64c3e09c" > < td class = "memItemLeft" align = "right" valign = "top" > NodeIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#ac7b475304d3677d4a29c676e64c3e09c" > Tail< / a > (ArcIndexType arc) const< / td > < / tr >
< tr class = "separator:ac7b475304d3677d4a29c676e64c3e09c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ae7734e3c4b1930b2859b4813bf6e238b" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#ae7734e3c4b1930b2859b4813bf6e238b" > ReserveNodes< / a > (NodeIndexType bound) override< / td > < / tr >
< tr class = "memdesc:ae7734e3c4b1930b2859b4813bf6e238b" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Changes the graph capacities. < a href = "#ae7734e3c4b1930b2859b4813bf6e238b" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ae7734e3c4b1930b2859b4813bf6e238b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6409e1c967f2062aa83b4bde26a931f1" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a6409e1c967f2062aa83b4bde26a931f1" > ReserveArcs< / a > (ArcIndexType bound) override< / td > < / tr >
< tr class = "separator:a6409e1c967f2062aa83b4bde26a931f1" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aadf05a4b2729e2844c3251d82b9e862c" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#aadf05a4b2729e2844c3251d82b9e862c" > AddNode< / a > (NodeIndexType node)< / td > < / tr >
< tr class = "separator:aadf05a4b2729e2844c3251d82b9e862c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a79291a548af693328d0e4e8f64cdc745" > < td class = "memItemLeft" align = "right" valign = "top" > ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a79291a548af693328d0e4e8f64cdc745" > AddArc< / a > (NodeIndexType tail, NodeIndexType head)< / td > < / tr >
< tr class = "separator:a79291a548af693328d0e4e8f64cdc745" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a25d91ab3a2ced7900dd2f5cbcf1ed587" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a25d91ab3a2ced7900dd2f5cbcf1ed587" > Build< / a > ()< / td > < / tr >
< tr class = "separator:a25d91ab3a2ced7900dd2f5cbcf1ed587" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a52c31a4ce66ba0c4a24cbe884fda377c" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#a52c31a4ce66ba0c4a24cbe884fda377c" > Build< / a > (std::vector< ArcIndexType > *permutation)< / td > < / tr >
< tr class = "separator:a52c31a4ce66ba0c4a24cbe884fda377c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a0f551c921fa0b5aaa334a6e36f61db4a" > < td class = "memItemLeft" align = "right" valign = "top" > NodeIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a0f551c921fa0b5aaa334a6e36f61db4a" > num_nodes< / a > () const< / td > < / tr >
< tr class = "memdesc:a0f551c921fa0b5aaa334a6e36f61db4a" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns the number of valid nodes in the graph. < a href = "#a0f551c921fa0b5aaa334a6e36f61db4a" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a0f551c921fa0b5aaa334a6e36f61db4a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aefb468e4d4a3128c91b3bad9f5b314c8" > < td class = "memItemLeft" align = "right" valign = "top" > ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#aefb468e4d4a3128c91b3bad9f5b314c8" > num_arcs< / a > () const< / td > < / tr >
< tr class = "memdesc:aefb468e4d4a3128c91b3bad9f5b314c8" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns the number of valid arcs in the graph. < a href = "#aefb468e4d4a3128c91b3bad9f5b314c8" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:aefb468e4d4a3128c91b3bad9f5b314c8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a32ba4a5ca9a4b89f750eb2dc56518b02" > < td class = "memItemLeft" align = "right" valign = "top" > IntegerRange< < a class = "el" href = "classutil_1_1BaseGraph.html#adb271cf4bcf2de5b5bbe300d7054af29" > NodeIndex< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a32ba4a5ca9a4b89f750eb2dc56518b02" > AllNodes< / a > () const< / td > < / tr >
< tr class = "memdesc:a32ba4a5ca9a4b89f750eb2dc56518b02" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Allows nice range-based for loop: for (const NodeIndex node : graph.AllNodes()) { ... < a href = "#a32ba4a5ca9a4b89f750eb2dc56518b02" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a32ba4a5ca9a4b89f750eb2dc56518b02" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:abcfd7c21143e5ed38573c0dd60826dd8" > < td class = "memItemLeft" align = "right" valign = "top" > IntegerRange< < a class = "el" href = "classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929" > ArcIndex< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#abcfd7c21143e5ed38573c0dd60826dd8" > AllForwardArcs< / a > () const< / td > < / tr >
< tr class = "separator:abcfd7c21143e5ed38573c0dd60826dd8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:abf853acea86e01356f53055f77661770" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#abf853acea86e01356f53055f77661770" > IsNodeValid< / a > (NodeIndexType node) const< / td > < / tr >
< tr class = "memdesc:abf853acea86e01356f53055f77661770" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns true if the given node is a valid node of the graph. < a href = "#abf853acea86e01356f53055f77661770" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:abf853acea86e01356f53055f77661770" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a2097ccda3b1ad27e2c82166979018bda" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a2097ccda3b1ad27e2c82166979018bda" > IsArcValid< / a > (ArcIndexType arc) const< / td > < / tr >
< tr class = "memdesc:a2097ccda3b1ad27e2c82166979018bda" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns true if the given arc is a valid arc of the graph. < a href = "#a2097ccda3b1ad27e2c82166979018bda" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a2097ccda3b1ad27e2c82166979018bda" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a463d57480c9563a7a707c5d0928c9946" > < td class = "memItemLeft" align = "right" valign = "top" > NodeIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a463d57480c9563a7a707c5d0928c9946" > node_capacity< / a > () const< / td > < / tr >
< tr class = "memdesc:a463d57480c9563a7a707c5d0928c9946" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Capacity reserved for future nodes, always > = num_nodes_. < a href = "#a463d57480c9563a7a707c5d0928c9946" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a463d57480c9563a7a707c5d0928c9946" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a92ffd852b2ab2e5241f9832e71a2de71" > < td class = "memItemLeft" align = "right" valign = "top" > ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a92ffd852b2ab2e5241f9832e71a2de71" > arc_capacity< / a > () const< / td > < / tr >
< tr class = "memdesc:a92ffd852b2ab2e5241f9832e71a2de71" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Capacity reserved for future arcs, always > = num_arcs_. < a href = "#a92ffd852b2ab2e5241f9832e71a2de71" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a92ffd852b2ab2e5241f9832e71a2de71" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ab731ca5c638e7b1b0a2c459c94a90f55" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#ab731ca5c638e7b1b0a2c459c94a90f55" > Reserve< / a > (NodeIndexType < a class = "el" href = "classutil_1_1BaseGraph.html#a463d57480c9563a7a707c5d0928c9946" > node_capacity< / a > , ArcIndexType < a class = "el" href = "classutil_1_1BaseGraph.html#a92ffd852b2ab2e5241f9832e71a2de71" > arc_capacity< / a > )< / td > < / tr >
< tr class = "separator:ab731ca5c638e7b1b0a2c459c94a90f55" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aa3bd051d1e141b09dda17aa9b5f24f69" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#aa3bd051d1e141b09dda17aa9b5f24f69" > FreezeCapacities< / a > ()< / td > < / tr >
< tr class = "memdesc:aa3bd051d1e141b09dda17aa9b5f24f69" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > < a class = "el" href = "classutil_1_1BaseGraph.html#aa3bd051d1e141b09dda17aa9b5f24f69" title = "FreezeCapacities() makes any future attempt to change the graph capacities crash in DEBUG mode." > FreezeCapacities()< / a > makes any future attempt to change the graph capacities crash in DEBUG mode. < a href = "#aa3bd051d1e141b09dda17aa9b5f24f69" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:aa3bd051d1e141b09dda17aa9b5f24f69" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a07214b96597069d781e27b1dd17ef83e" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a07214b96597069d781e27b1dd17ef83e" > GroupForwardArcsByFunctor< / a > (const A & a, B *b)< / td > < / tr >
< tr class = "separator:a07214b96597069d781e27b1dd17ef83e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a346b8a5811f0e287e1ebce2de2c1ad28" > < td class = "memItemLeft" align = "right" valign = "top" > ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a346b8a5811f0e287e1ebce2de2c1ad28" > max_end_arc_index< / a > () const< / td > < / tr >
< tr class = "separator:a346b8a5811f0e287e1ebce2de2c1ad28" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-static-attribs" > < / a >
Static Public Attributes< / h2 > < / td > < / tr >
< tr class = "memitem:ab1292c82a3f43be3bd57b63a05fe0214" > < td class = "memItemLeft" align = "right" valign = "top" > static const NodeIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#ab1292c82a3f43be3bd57b63a05fe0214" > kNilNode< / a > < / td > < / tr >
< tr class = "memdesc:ab1292c82a3f43be3bd57b63a05fe0214" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Constants that will never be a valid node or arc. < a href = "#ab1292c82a3f43be3bd57b63a05fe0214" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ab1292c82a3f43be3bd57b63a05fe0214" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad5b77846f77c2771e840820812ad5521" > < td class = "memItemLeft" align = "right" valign = "top" > static const ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#ad5b77846f77c2771e840820812ad5521" > kNilArc< / a > < / td > < / tr >
< tr class = "separator:ad5b77846f77c2771e840820812ad5521" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pro-methods" > < / a >
Protected Member Functions< / h2 > < / td > < / tr >
< tr class = "memitem:ac47030fcb75a3220f8cf9ed79697056e" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#ac47030fcb75a3220f8cf9ed79697056e" > ComputeCumulativeSum< / a > (std::vector< ArcIndexType > *v)< / td > < / tr >
< tr class = "memdesc:ac47030fcb75a3220f8cf9ed79697056e" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Functions commented when defined because they are implementation details. < a href = "#ac47030fcb75a3220f8cf9ed79697056e" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ac47030fcb75a3220f8cf9ed79697056e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a63fd586eed6c345866317e2f0faf377e" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a63fd586eed6c345866317e2f0faf377e" > BuildStartAndForwardHead< / a > (< a class = "el" href = "classutil_1_1SVector.html" > SVector< / a > < NodeIndexType > *head, std::vector< ArcIndexType > *start, std::vector< ArcIndexType > *permutation)< / td > < / tr >
< tr class = "memdesc:a63fd586eed6c345866317e2f0faf377e" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Given the tail of arc #i in (*head)[i] and the head of arc #i in (*head)[~i]. < a href = "#a63fd586eed6c345866317e2f0faf377e" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a63fd586eed6c345866317e2f0faf377e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pro-attribs" > < / a >
Protected Attributes< / h2 > < / td > < / tr >
< tr class = "memitem:a473db46afec1eabf0762411830dee30f" > < td class = "memItemLeft" align = "right" valign = "top" > NodeIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a473db46afec1eabf0762411830dee30f" > num_nodes_< / a > < / td > < / tr >
< tr class = "separator:a473db46afec1eabf0762411830dee30f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a424bd34a9767e7edeaf3a60ecd3cb000" > < td class = "memItemLeft" align = "right" valign = "top" > NodeIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a424bd34a9767e7edeaf3a60ecd3cb000" > node_capacity_< / a > < / td > < / tr >
< tr class = "separator:a424bd34a9767e7edeaf3a60ecd3cb000" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af16f99d41856a7b22ae8a226ef09abff" > < td class = "memItemLeft" align = "right" valign = "top" > ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#af16f99d41856a7b22ae8a226ef09abff" > num_arcs_< / a > < / td > < / tr >
< tr class = "separator:af16f99d41856a7b22ae8a226ef09abff" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a895e891d1ad52ce3efcfeb7ba11194c7" > < td class = "memItemLeft" align = "right" valign = "top" > ArcIndexType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#a895e891d1ad52ce3efcfeb7ba11194c7" > arc_capacity_< / a > < / td > < / tr >
< tr class = "separator:a895e891d1ad52ce3efcfeb7ba11194c7" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aa980e5526b9ded17a83928fc339c71e4" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classutil_1_1BaseGraph.html#aa980e5526b9ded17a83928fc339c71e4" > const_capacities_< / a > < / td > < / tr >
< tr class = "separator:aa980e5526b9ded17a83928fc339c71e4" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table >
2019-07-12 13:25:23 -07:00
< h2 class = "groupheader" > Member Typedef Documentation< / h2 >
2019-06-13 15:36:14 +02:00
< a id = "a0eba6e5899924388644dfa2258ae8929" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a0eba6e5899924388644dfa2258ae8929" > ◆ < / a > < / span > ArcIndex< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef ArcIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::< a class = "el" href = "classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929" > ArcIndex< / a > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00190" > 190< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "adb271cf4bcf2de5b5bbe300d7054af29" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#adb271cf4bcf2de5b5bbe300d7054af29" > ◆ < / a > < / span > NodeIndex< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef NodeIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::< a class = "el" href = "classutil_1_1BaseGraph.html#adb271cf4bcf2de5b5bbe300d7054af29" > NodeIndex< / a > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Typedef so you can use < a class = "el" href = "classutil_1_1BaseGraph.html#adb271cf4bcf2de5b5bbe300d7054af29" title = "Typedef so you can use Graph::NodeIndex and Graph::ArcIndex to be generic but also to improve the rea..." > Graph::NodeIndex< / a > and < a class = "el" href = "classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929" > Graph::ArcIndex< / a > to be generic but also to improve the readability of your code. < / p >
< p > We also recommend that you define a typedef ... Graph; for readability. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00189" > 189< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< h2 class = "groupheader" > Constructor & Destructor Documentation< / h2 >
< a id = "ac553bb63399815ac609976e5a3bd8732" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac553bb63399815ac609976e5a3bd8732" > ◆ < / a > < / span > ReverseArcListGraph() < span class = "overload" > [1/2]< / span > < / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::< a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > ReverseArcListGraph< / a > < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00470" > 470< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a885571656abd56593b2edbebb451d67f" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a885571656abd56593b2edbebb451d67f" > ◆ < / a > < / span > ReverseArcListGraph() < span class = "overload" > [2/2]< / span > < / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::< a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > ReverseArcListGraph< / a > < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > num_nodes< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > arc_capacity< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00471" > 471< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< h2 class = "groupheader" > Member Function Documentation< / h2 >
< a id = "a79291a548af693328d0e4e8f64cdc745" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a79291a548af693328d0e4e8f64cdc745" > ◆ < / a > < / span > AddArc()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > ArcIndexType < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::AddArc < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > tail< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > head< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01504" > 1504< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "aadf05a4b2729e2844c3251d82b9e862c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aadf05a4b2729e2844c3251d82b9e862c" > ◆ < / a > < / span > AddNode()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::AddNode < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01494" > 1494< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "abcfd7c21143e5ed38573c0dd60826dd8" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#abcfd7c21143e5ed38573c0dd60826dd8" > ◆ < / a > < / span > AllForwardArcs()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > IntegerRange< ArcIndexType > < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::AllForwardArcs < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00935" > 935< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a32ba4a5ca9a4b89f750eb2dc56518b02" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a32ba4a5ca9a4b89f750eb2dc56518b02" > ◆ < / a > < / span > AllNodes()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > IntegerRange< NodeIndexType > < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::AllNodes < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Allows nice range-based for loop: for (const NodeIndex node : graph.AllNodes()) { ... < / p >
< p > < a class = "el" href = "classutil_1_1BaseGraph.html" title = "Base class of all Graphs implemented here." > BaseGraph< / a > implementation -------------------------------------------------— .< / p >
< p > } for (const ArcIndex arc : graph.AllForwardArcs()) { ... } < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00929" > 929< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a92ffd852b2ab2e5241f9832e71a2de71" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a92ffd852b2ab2e5241f9832e71a2de71" > ◆ < / a > < / span > arc_capacity()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > ArcIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::arc_capacity < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Capacity reserved for future arcs, always > = num_arcs_. < / p >
2019-07-12 13:25:23 -07:00
< dl class = "todo" > < dt > < b > < a class = "el" href = "todo.html#_todo000015" > Todo:< / a > < / b > < / dt > < dd > (user): Same questions as the ones in < a class = "el" href = "classutil_1_1BaseGraph.html#a463d57480c9563a7a707c5d0928c9946" title = "Capacity reserved for future nodes, always >= num_nodes_." > node_capacity()< / a > . < / dd > < / dl >
2019-06-13 15:36:14 +02:00
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00959" > 959< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a25d91ab3a2ced7900dd2f5cbcf1ed587" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a25d91ab3a2ced7900dd2f5cbcf1ed587" > ◆ < / a > < / span > Build() < span class = "overload" > [1/2]< / span > < / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::Build < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00527" > 527< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a52c31a4ce66ba0c4a24cbe884fda377c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a52c31a4ce66ba0c4a24cbe884fda377c" > ◆ < / a > < / span > Build() < span class = "overload" > [2/2]< / span > < / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::Build < / td >
< td > (< / td >
< td class = "paramtype" > std::vector< ArcIndexType > *  < / td >
< td class = "paramname" > < em > permutation< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01518" > 1518< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a63fd586eed6c345866317e2f0faf377e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a63fd586eed6c345866317e2f0faf377e" > ◆ < / a > < / span > BuildStartAndForwardHead()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::BuildStartAndForwardHead < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "classutil_1_1SVector.html" > SVector< / a > < NodeIndexType > *  < / td >
< td class = "paramname" > < em > head< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > std::vector< ArcIndexType > *  < / td >
< td class = "paramname" > < em > start< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > std::vector< ArcIndexType > *  < / td >
< td class = "paramname" > < em > permutation< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > protected< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Given the tail of arc #i in (*head)[i] and the head of arc #i in (*head)[~i]. < / p >
< ul >
< li > Reorder the arc by increasing tail.< / li >
< li > Put the head of the new arc #i in (*head)[i].< / li >
< li > Put in start[i] the index of the first arc with tail > = i.< / li >
< li > Update "permutation" to reflect the change, unless it is NULL. < / li >
< / ul >
< p > Computes the outgoing degree of each nodes and check if we need to permute something or not. Note that the tails are currently stored in the positive range of the < a class = "el" href = "classutil_1_1SVector.html" title = "Forward declaration." > SVector< / a > head.< / p >
< p > Abort early if we do not need the permutation: we only need to put the heads in the positive range.< / p >
< p > Computes the forward arc permutation. < / p > < dl class = "section note" > < dt > Note< / dt > < dd > this temporarily alters the start vector.< / dd > < / dl >
< p > Restore in (*start)[i] the index of the first arc with tail > = i.< / p >
< p > Permutes the head into their final position in head. We do not need the tails anymore at this point. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00995" > 995< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "ac47030fcb75a3220f8cf9ed79697056e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac47030fcb75a3220f8cf9ed79697056e" > ◆ < / a > < / span > ComputeCumulativeSum()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::ComputeCumulativeSum < / td >
< td > (< / td >
< td class = "paramtype" > std::vector< ArcIndexType > *  < / td >
< td class = "paramname" > < em > v< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > protected< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Functions commented when defined because they are implementation details. < / p >
< p > Computes the cummulative sum of the entry in v.< / p >
< p > We only use it with in/out degree distribution, hence the Check() at the end. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00978" > 978< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "aa3bd051d1e141b09dda17aa9b5f24f69" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aa3bd051d1e141b09dda17aa9b5f24f69" > ◆ < / a > < / span > FreezeCapacities()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::FreezeCapacities < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > < a class = "el" href = "classutil_1_1BaseGraph.html#aa3bd051d1e141b09dda17aa9b5f24f69" title = "FreezeCapacities() makes any future attempt to change the graph capacities crash in DEBUG mode." > FreezeCapacities()< / a > makes any future attempt to change the graph capacities crash in DEBUG mode. < / p >
2019-07-12 13:25:23 -07:00
< dl class = "todo" > < dt > < b > < a class = "el" href = "todo.html#_todo000016" > Todo:< / a > < / b > < / dt > < dd > (user): Only define this in debug mode at the cost of having a lot of ifndef NDEBUG all over the place? remove the function completely ? < / dd > < / dl >
2019-06-13 15:36:14 +02:00
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00966" > 966< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a07214b96597069d781e27b1dd17ef83e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a07214b96597069d781e27b1dd17ef83e" > ◆ < / a > < / span > GroupForwardArcsByFunctor()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::GroupForwardArcsByFunctor < / td >
< td > (< / td >
< td class = "paramtype" > const A &   < / td >
< td class = "paramname" > < em > a< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > B *  < / td >
< td class = "paramname" > < em > b< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2019-07-12 13:25:23 -07:00
< dl class = "todo" > < dt > < b > < a class = "el" href = "todo.html#_todo000018" > Todo:< / a > < / b > < / dt > < dd > (user): remove the public functions below.< / dd > < / dl >
2019-06-13 15:36:14 +02:00
< p > They are just here during the transition from the old ebert_graph api to this new graph api. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00264" > 264< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a2fdb48f771da93712d9386c60615cf04" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a2fdb48f771da93712d9386c60615cf04" > ◆ < / a > < / span > Head()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > NodeIndexType < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::Head < / td >
< td > (< / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > arc< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01463" > 1463< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "ad0e7957e515d9c50f931c00166d099ce" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ad0e7957e515d9c50f931c00166d099ce" > ◆ < / a > < / span > IncomingArcs()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html" > IncomingArcIterator< / a > > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::IncomingArcs < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a1a89c1efcf87cce6cec110126eb05641" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a1a89c1efcf87cce6cec110126eb05641" > ◆ < / a > < / span > IncomingArcsStartingFrom()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html" > IncomingArcIterator< / a > > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::IncomingArcsStartingFrom < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > from< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "aeffdaa7d0a6c7b6355ee1dab33524961" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aeffdaa7d0a6c7b6355ee1dab33524961" > ◆ < / a > < / span > InDegree()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > ArcIndexType < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::InDegree < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01448" > 1448< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a2097ccda3b1ad27e2c82166979018bda" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a2097ccda3b1ad27e2c82166979018bda" > ◆ < / a > < / span > IsArcValid()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > bool < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::IsArcValid < / td >
< td > (< / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > arc< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns true if the given arc is a valid arc of the graph. < / p >
< dl class = "section note" > < dt > Note< / dt > < dd > the arc validity range changes for graph with reverse arcs. < / dd > < / dl >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00219" > 219< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "abf853acea86e01356f53055f77661770" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#abf853acea86e01356f53055f77661770" > ◆ < / a > < / span > IsNodeValid()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > bool < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::IsNodeValid < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns true if the given node is a valid node of the graph. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00213" > 213< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a346b8a5811f0e287e1ebce2de2c1ad28" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a346b8a5811f0e287e1ebce2de2c1ad28" > ◆ < / a > < / span > max_end_arc_index()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > ArcIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::max_end_arc_index < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00267" > 267< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a463d57480c9563a7a707c5d0928c9946" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a463d57480c9563a7a707c5d0928c9946" > ◆ < / a > < / span > node_capacity()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > NodeIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::node_capacity < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Capacity reserved for future nodes, always > = num_nodes_. < / p >
2019-07-12 13:25:23 -07:00
< dl class = "todo" > < dt > < b > < a class = "el" href = "todo.html#_todo000014" > Todo:< / a > < / b > < / dt > < dd > (user): Is it needed? remove completely? return the real capacities at the cost of having a different implementation for each graphs? < / dd > < / dl >
2019-06-13 15:36:14 +02:00
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00951" > 951< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "aefb468e4d4a3128c91b3bad9f5b314c8" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aefb468e4d4a3128c91b3bad9f5b314c8" > ◆ < / a > < / span > num_arcs()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > ArcIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::num_arcs < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns the number of valid arcs in the graph. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00204" > 204< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a0f551c921fa0b5aaa334a6e36f61db4a" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a0f551c921fa0b5aaa334a6e36f61db4a" > ◆ < / a > < / span > num_nodes()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > NodeIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::num_nodes < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns the number of valid nodes in the graph. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00201" > 201< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a28d6f97b2135e9d51bad632c2556fa56" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a28d6f97b2135e9d51bad632c2556fa56" > ◆ < / a > < / span > operator[]()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < typename < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::< a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html" > OutgoingHeadIterator< / a > > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::operator[] < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > This loops over the heads of the OutgoingArcs(node). < / p >
< p > It is just a more convenient way to achieve this. Moreover this interface is used by some graph algorithms. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01432" > 1432< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "aa3306c75dd28ca037205f382ac832b2a" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aa3306c75dd28ca037205f382ac832b2a" > ◆ < / a > < / span > OppositeArc()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > ArcIndexType < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::OppositeArc < / td >
< td > (< / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > arc< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns the opposite arc of a given arc. < / p >
< p > That is the reverse arc of the given forward arc or the forward arc of a given reverse arc. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01456" > 1456< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a3cd1d1d0e50aaa2f30817db44cca8881" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a3cd1d1d0e50aaa2f30817db44cca8881" > ◆ < / a > < / span > OppositeIncomingArcs()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html" > OppositeIncomingArcIterator< / a > > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::OppositeIncomingArcs < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a1e345c79e59f71e088f4876be93a903d" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a1e345c79e59f71e088f4876be93a903d" > ◆ < / a > < / span > OppositeIncomingArcsStartingFrom()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html" > OppositeIncomingArcIterator< / a > > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::OppositeIncomingArcsStartingFrom < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > from< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ad25429b667ebd6e2ac662b76f3e02eae" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ad25429b667ebd6e2ac662b76f3e02eae" > ◆ < / a > < / span > OutDegree()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > ArcIndexType < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::OutDegree < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html#ad25429b667ebd6e2ac662b76f3e02eae" title = "ReverseArcListGraph<>::OutDegree() and ::InDegree() work in O(degree)." > ReverseArcListGraph< > ::OutDegree()< / a > and ::InDegree() work in O(degree). < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01440" > 1440< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "ac8923133838003d7a7ffb4500f0d4ffa" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac8923133838003d7a7ffb4500f0d4ffa" > ◆ < / a > < / span > OutgoingArcs()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html" > OutgoingArcIterator< / a > > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::OutgoingArcs < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Arc iterations functions over the arcs touching a node (see the top-level comment for the different types). < / p >
< p > To be used as follows: for (const < a class = "el" href = "classutil_1_1BaseGraph.html#a0eba6e5899924388644dfa2258ae8929" > Graph::ArcIndex< / a > arc : IterationFunction(node)) { ... }< / p >
< p > The StartingFrom() version are similar, but restart the iteration from a given arc position (which must be valid in the iteration context). < / p >
< / div >
< / div >
< a id = "a60d3a435f90e2c963047cc6d8c6ad363" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a60d3a435f90e2c963047cc6d8c6ad363" > ◆ < / a > < / span > OutgoingArcsStartingFrom()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html" > OutgoingArcIterator< / a > > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::OutgoingArcsStartingFrom < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > from< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a104172ed25aa4cea18cd3a5c2187d4c7" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a104172ed25aa4cea18cd3a5c2187d4c7" > ◆ < / a > < / span > OutgoingOrOppositeIncomingArcs()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html" > OutgoingOrOppositeIncomingArcIterator< / a > > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::OutgoingOrOppositeIncomingArcs < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a96a609a53497ca38517dba5c277c7798" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a96a609a53497ca38517dba5c277c7798" > ◆ < / a > < / span > OutgoingOrOppositeIncomingArcsStartingFrom()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType = int32, typename ArcIndexType = int32> < / div >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68" > BeginEndWrapper< / a > < < a class = "el" href = "classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html" > OutgoingOrOppositeIncomingArcIterator< / a > > < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::OutgoingOrOppositeIncomingArcsStartingFrom < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > from< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ab731ca5c638e7b1b0a2c459c94a90f55" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ab731ca5c638e7b1b0a2c459c94a90f55" > ◆ < / a > < / span > Reserve()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::Reserve < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > node_capacity< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > arc_capacity< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00247" > 247< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a6409e1c967f2062aa83b4bde26a931f1" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a6409e1c967f2062aa83b4bde26a931f1" > ◆ < / a > < / span > ReserveArcs()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::ReserveArcs < / td >
< td > (< / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > bound< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > override< / span > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Reimplemented from < a class = "el" href = "classutil_1_1BaseGraph.html#a9563f7154a759843923dd9bb27b288e7" > util::BaseGraph< NodeIndexType, ArcIndexType, true > < / a > .< / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01485" > 1485< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "ae7734e3c4b1930b2859b4813bf6e238b" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ae7734e3c4b1930b2859b4813bf6e238b" > ◆ < / a > < / span > ReserveNodes()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::ReserveNodes < / td >
< td > (< / td >
< td class = "paramtype" > NodeIndexType  < / td >
< td class = "paramname" > < em > bound< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > override< / span > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Changes the graph capacities. < / p >
< p > The functions will fail in debug mode if:< / p > < ul >
< li > const_capacities_ is true.< / li >
< li > A valid node does not fall into the new node range.< / li >
< li > A valid arc does not fall into the new arc range. In non-debug mode, const_capacities_ is ignored and nothing will happen if the new capacity value for the arcs or the nodes is too small. < / li >
< / ul >
< p > Reimplemented from < a class = "el" href = "classutil_1_1BaseGraph.html#a69a71cbb575b13bde9899f5a6a217139" > util::BaseGraph< NodeIndexType, ArcIndexType, true > < / a > .< / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01476" > 1476< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "ac7b475304d3677d4a29c676e64c3e09c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac7b475304d3677d4a29c676e64c3e09c" > ◆ < / a > < / span > Tail()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename NodeIndexType , typename ArcIndexType > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > NodeIndexType < a class = "el" href = "classutil_1_1ReverseArcListGraph.html" > util::ReverseArcListGraph< / a > < NodeIndexType, ArcIndexType > ::Tail < / td >
< td > (< / td >
< td class = "paramtype" > ArcIndexType  < / td >
< td class = "paramname" > < em > arc< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l01470" > 1470< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< h2 class = "groupheader" > Member Data Documentation< / h2 >
< a id = "a895e891d1ad52ce3efcfeb7ba11194c7" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a895e891d1ad52ce3efcfeb7ba11194c7" > ◆ < / a > < / span > arc_capacity_< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > ArcIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::arc_capacity_< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > protected< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00279" > 279< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "aa980e5526b9ded17a83928fc339c71e4" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aa980e5526b9ded17a83928fc339c71e4" > ◆ < / a > < / span > const_capacities_< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > bool < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::const_capacities_< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > protected< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00280" > 280< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "ad5b77846f77c2771e840820812ad5521" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ad5b77846f77c2771e840820812ad5521" > ◆ < / a > < / span > kNilArc< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > const ArcIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::kNilArc< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > static< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00259" > 259< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "ab1292c82a3f43be3bd57b63a05fe0214" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ab1292c82a3f43be3bd57b63a05fe0214" > ◆ < / a > < / span > kNilNode< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > const NodeIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::kNilNode< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > static< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Constants that will never be a valid node or arc. < / p >
< p > They are the maximum possible node and arc capacity. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00258" > 258< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a424bd34a9767e7edeaf3a60ecd3cb000" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a424bd34a9767e7edeaf3a60ecd3cb000" > ◆ < / a > < / span > node_capacity_< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > NodeIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::node_capacity_< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > protected< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00277" > 277< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "af16f99d41856a7b22ae8a226ef09abff" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#af16f99d41856a7b22ae8a226ef09abff" > ◆ < / a > < / span > num_arcs_< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > ArcIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::num_arcs_< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > protected< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00278" > 278< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< a id = "a473db46afec1eabf0762411830dee30f" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a473db46afec1eabf0762411830dee30f" > ◆ < / a > < / span > num_nodes_< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > NodeIndexType < a class = "el" href = "classutil_1_1BaseGraph.html" > util::BaseGraph< / a > < NodeIndexType, ArcIndexType, HasReverseArcs > ::num_nodes_< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > protected< / span > < span class = "mlabel" > inherited< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "graph_8h_source.html#l00276" > 276< / a > of file < a class = "el" href = "graph_8h_source.html" > graph.h< / a > .< / p >
< / div >
< / div >
< hr / > The documentation for this class was generated from the following file:< ul >
< li > < a class = "el" href = "graph_8h_source.html" > graph.h< / a > < / li >
< / ul >
< / div > <!-- contents -->
2019-07-12 13:25:23 -07:00
< / div > <!-- doc - content -->
2019-06-13 15:36:14 +02:00
< / div >
< div id = "footer-container" >
< div id = "footer" >
< / div >
< / div >
< / body >
< / html >