266 lines
27 KiB
HTML
266 lines
27 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>OR-Tools</title>
|
|
<meta http-equiv="Content-Type" content="text/html;"/>
|
|
<meta charset="utf-8"/>
|
|
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
|
|
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="banner-container">
|
|
<div id="banner">
|
|
<span id="sfml">Google OR-Tools 7.7</span>
|
|
</div>
|
|
</div>
|
|
<div id="content" style="width: 100%; overflow: hidden;">
|
|
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
|
|
<h2>C++ Reference</h2>
|
|
<ul>
|
|
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
|
|
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
|
|
<li><a href="../cpp_graph/annotated.html">Graph</a></li>
|
|
<li><a href="../cpp_routing/annotated.html">Routing</a></li>
|
|
<li><a href="../cpp_linear/annotated.html">Linear solver</a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="content">
|
|
<div align="center">
|
|
<h1 style="color: #145A32;">C++ Reference: Graph</h1>
|
|
</div>
|
|
<!-- Generated by Doxygen 1.8.18 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_a7cc1eeded8f693d0da6c729bc88c45a.html">ortools</a></li><li class="navelem"><a class="el" href="dir_725f3a5915051842f84e3ea508be2a62.html">graph</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#namespaces">Namespaces</a> |
|
|
<a href="#define-members">Macros</a> |
|
|
<a href="#typedef-members">Typedefs</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">graph.h File Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p><a href="graph_8h_source.html">Go to the source code of this file.</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1SVector.html">SVector< T ></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_1BaseGraph.html">BaseGraph< NodeIndexType, ArcIndexType, HasReverseArcs ></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_1ListGraph.html">ListGraph< NodeIndexType, ArcIndexType ></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_1StaticGraph.html">StaticGraph< NodeIndexType, ArcIndexType ></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.html">ReverseArcListGraph< NodeIndexType, ArcIndexType ></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_1ReverseArcStaticGraph.html">ReverseArcStaticGraph< NodeIndexType, ArcIndexType ></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_1ReverseArcMixedGraph.html">ReverseArcMixedGraph< NodeIndexType, ArcIndexType ></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_1SVector.html">SVector< T ></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_1ListGraph_1_1OutgoingArcIterator.html">ListGraph< NodeIndexType, ArcIndexType >::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_1ListGraph_1_1OutgoingHeadIterator.html">ListGraph< NodeIndexType, ArcIndexType >::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_1StaticGraph_1_1OutgoingArcIterator.html">StaticGraph< NodeIndexType, ArcIndexType >::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_1OutgoingArcIterator.html">ReverseArcListGraph< NodeIndexType, ArcIndexType >::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_1OppositeIncomingArcIterator.html">ReverseArcListGraph< NodeIndexType, ArcIndexType >::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_1IncomingArcIterator.html">ReverseArcListGraph< NodeIndexType, ArcIndexType >::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_1OutgoingOrOppositeIncomingArcIterator.html">ReverseArcListGraph< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcIterator</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">ReverseArcListGraph< NodeIndexType, ArcIndexType >::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_1ReverseArcStaticGraph_1_1OutgoingArcIterator.html">ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::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_1ReverseArcStaticGraph_1_1OppositeIncomingArcIterator.html">ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::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_1ReverseArcStaticGraph_1_1IncomingArcIterator.html">ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::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_1ReverseArcStaticGraph_1_1OutgoingOrOppositeIncomingArcIterator.html">ReverseArcStaticGraph< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcIterator</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_1ReverseArcMixedGraph_1_1OutgoingArcIterator.html">ReverseArcMixedGraph< NodeIndexType, ArcIndexType >::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_1ReverseArcMixedGraph_1_1OppositeIncomingArcIterator.html">ReverseArcMixedGraph< NodeIndexType, ArcIndexType >::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_1ReverseArcMixedGraph_1_1IncomingArcIterator.html">ReverseArcMixedGraph< NodeIndexType, ArcIndexType >::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_1ReverseArcMixedGraph_1_1OutgoingOrOppositeIncomingArcIterator.html">ReverseArcMixedGraph< NodeIndexType, ArcIndexType >::OutgoingOrOppositeIncomingArcIterator</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_1CompleteGraph.html">CompleteGraph< NodeIndexType, ArcIndexType ></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_1CompleteBipartiteGraph.html">CompleteBipartiteGraph< NodeIndexType, ArcIndexType ></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_1CompleteBipartiteGraph_1_1OutgoingArcIterator.html">CompleteBipartiteGraph< NodeIndexType, ArcIndexType >::OutgoingArcIterator</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="namespaces"></a>
|
|
Namespaces</h2></td></tr>
|
|
<tr class="memitem:namespaceutil"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html">util</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="define-members"></a>
|
|
Macros</h2></td></tr>
|
|
<tr class="memitem:a48a8a7aa004fc40d0d1d0ba63311cece"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8h.html#a48a8a7aa004fc40d0d1d0ba63311cece">DEFINE_RANGE_BASED_ARC_ITERATION</a>(c, t, e)</td></tr>
|
|
<tr class="separator:a48a8a7aa004fc40d0d1d0ba63311cece"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa560f5e55268f818d5e5f43ed31e19a0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8h.html#aa560f5e55268f818d5e5f43ed31e19a0">DEFINE_STL_ITERATOR_FUNCTIONS</a>(iterator_class_name)</td></tr>
|
|
<tr class="separator:aa560f5e55268f818d5e5f43ed31e19a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr class="memitem:a2f76166dbe0c4055a1f256235ad00478"><td class="memItemLeft" align="right" valign="top">typedef ListGraph </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a></td></tr>
|
|
<tr class="separator:a2f76166dbe0c4055a1f256235ad00478"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:a9470623ca7db3c4a62ce3b326c6b07d8"><td class="memTemplParams" colspan="2">template<class IntVector , class Array , class ElementType > </td></tr>
|
|
<tr class="memitem:a9470623ca7db3c4a62ce3b326c6b07d8"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a9470623ca7db3c4a62ce3b326c6b07d8">PermuteWithExplicitElementType</a> (const IntVector &permutation, Array *array_to_permute, ElementType unused)</td></tr>
|
|
<tr class="separator:a9470623ca7db3c4a62ce3b326c6b07d8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8c227a057c1ce9d46b1185abf77ad91e"><td class="memTemplParams" colspan="2">template<class IntVector , class Array > </td></tr>
|
|
<tr class="memitem:a8c227a057c1ce9d46b1185abf77ad91e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a8c227a057c1ce9d46b1185abf77ad91e">Permute</a> (const IntVector &permutation, Array *array_to_permute)</td></tr>
|
|
<tr class="separator:a8c227a057c1ce9d46b1185abf77ad91e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac497881c4166bc694adc4bee62746118"><td class="memTemplParams" colspan="2">template<class IntVector > </td></tr>
|
|
<tr class="memitem:ac497881c4166bc694adc4bee62746118"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ac497881c4166bc694adc4bee62746118">Permute</a> (const IntVector &permutation, std::vector< bool > *array_to_permute)</td></tr>
|
|
<tr class="separator:ac497881c4166bc694adc4bee62746118"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a37be0131ae922e30a286797a0bef0c96"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a37be0131ae922e30a286797a0bef0c96">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ListGraph, Outgoing, Base::kNilArc)</td></tr>
|
|
<tr class="separator:a37be0131ae922e30a286797a0bef0c96"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af3c40fc068f645d9dcd15c332e44fc25"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#af3c40fc068f645d9dcd15c332e44fc25">DEFINE_RANGE_BASED_ARC_ITERATION</a> (StaticGraph, Outgoing, DirectArcLimit(node))</td></tr>
|
|
<tr class="separator:af3c40fc068f645d9dcd15c332e44fc25"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3098e161a6aceeca482be78d2d221b3b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a3098e161a6aceeca482be78d2d221b3b">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcListGraph, Outgoing, Base::kNilArc)</td></tr>
|
|
<tr class="separator:a3098e161a6aceeca482be78d2d221b3b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4d0ae05975a2063f2edbeb749f690fc7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a4d0ae05975a2063f2edbeb749f690fc7">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcListGraph, Incoming, Base::kNilArc)</td></tr>
|
|
<tr class="separator:a4d0ae05975a2063f2edbeb749f690fc7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a22b5dcc01043ab8da01ebab71ec3ad31"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a22b5dcc01043ab8da01ebab71ec3ad31">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcListGraph, OutgoingOrOppositeIncoming, Base::kNilArc)</td></tr>
|
|
<tr class="separator:a22b5dcc01043ab8da01ebab71ec3ad31"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a863ccdb51afb5ef92fe6c94188a5f7e0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a863ccdb51afb5ef92fe6c94188a5f7e0">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcListGraph, OppositeIncoming, Base::kNilArc)</td></tr>
|
|
<tr class="separator:a863ccdb51afb5ef92fe6c94188a5f7e0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2cc2a1037195d237820edc97d35404be"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a2cc2a1037195d237820edc97d35404be">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcStaticGraph, Outgoing, DirectArcLimit(node))</td></tr>
|
|
<tr class="separator:a2cc2a1037195d237820edc97d35404be"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2a51d676cd5d9354bfe1f80d09c44f39"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a2a51d676cd5d9354bfe1f80d09c44f39">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcStaticGraph, Incoming, ReverseArcLimit(node))</td></tr>
|
|
<tr class="separator:a2a51d676cd5d9354bfe1f80d09c44f39"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1db1a919e67261878ff8abda53e664c7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a1db1a919e67261878ff8abda53e664c7">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcStaticGraph, OutgoingOrOppositeIncoming, DirectArcLimit(node))</td></tr>
|
|
<tr class="separator:a1db1a919e67261878ff8abda53e664c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1728675285eb75f9f18d6ed7c134d0b6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a1728675285eb75f9f18d6ed7c134d0b6">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcStaticGraph, OppositeIncoming, ReverseArcLimit(node))</td></tr>
|
|
<tr class="separator:a1728675285eb75f9f18d6ed7c134d0b6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab3308688d13e59e2351bef038ce1fdb0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ab3308688d13e59e2351bef038ce1fdb0">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcMixedGraph, Outgoing, DirectArcLimit(node))</td></tr>
|
|
<tr class="separator:ab3308688d13e59e2351bef038ce1fdb0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3c022b68f68916770fe09996df2f35a3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a3c022b68f68916770fe09996df2f35a3">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcMixedGraph, Incoming, Base::kNilArc)</td></tr>
|
|
<tr class="separator:a3c022b68f68916770fe09996df2f35a3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a97910ddfce7560b406aa3f4939434eb8"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a97910ddfce7560b406aa3f4939434eb8">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcMixedGraph, OutgoingOrOppositeIncoming, DirectArcLimit(node))</td></tr>
|
|
<tr class="separator:a97910ddfce7560b406aa3f4939434eb8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6ce1a67d16c75b202f56301321a457c6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a6ce1a67d16c75b202f56301321a457c6">DEFINE_RANGE_BASED_ARC_ITERATION</a> (ReverseArcMixedGraph, OppositeIncoming, Base::kNilArc)</td></tr>
|
|
<tr class="separator:a6ce1a67d16c75b202f56301321a457c6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
<a id="a48a8a7aa004fc40d0d1d0ba63311cece"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a48a8a7aa004fc40d0d1d0ba63311cece">◆ </a></span>DEFINE_RANGE_BASED_ARC_ITERATION</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define DEFINE_RANGE_BASED_ARC_ITERATION</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">c, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">t, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">e </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">template</span> <<span class="keyword">typename</span> NodeIndexType, <span class="keyword">typename</span> ArcIndexType> \</div>
|
|
<div class="line"> BeginEndWrapper<typename c<NodeIndexType, ArcIndexType>::t##ArcIterator> \</div>
|
|
<div class="line"> c<NodeIndexType, ArcIndexType>::t##Arcs(NodeIndexType node)<span class="keyword"> const </span>{ \</div>
|
|
<div class="line"> return BeginEndWrapper<t##ArcIterator>(t##ArcIterator(*<span class="keyword">this</span>, node), \</div>
|
|
<div class="line"> t##ArcIterator(*<span class="keyword">this</span>, node, e)); \</div>
|
|
<div class="line"> } \</div>
|
|
<div class="line"> template <typename NodeIndexType, typename ArcIndexType> \</div>
|
|
<div class="line"> BeginEndWrapper<typename c<NodeIndexType, ArcIndexType>::t##ArcIterator> \</div>
|
|
<div class="line"> c<NodeIndexType, ArcIndexType>::t##ArcsStartingFrom( \</div>
|
|
<div class="line"> NodeIndexType node, ArcIndexType from)<span class="keyword"> const </span>{ \</div>
|
|
<div class="line"> return BeginEndWrapper<t##ArcIterator>(t##ArcIterator(*<span class="keyword">this</span>, node, from), \</div>
|
|
<div class="line"> t##ArcIterator(*<span class="keyword">this</span>, node, e)); \</div>
|
|
<div class="line"> }</div>
|
|
</div><!-- fragment -->
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01059">1059</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa560f5e55268f818d5e5f43ed31e19a0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa560f5e55268f818d5e5f43ed31e19a0">◆ </a></span>DEFINE_STL_ITERATOR_FUNCTIONS</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define DEFINE_STL_ITERATOR_FUNCTIONS</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">iterator_class_name</td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">using</span> iterator_category = std::input_iterator_tag; \</div>
|
|
<div class="line"> using difference_type = ptrdiff_t; \</div>
|
|
<div class="line"> using pointer = <span class="keyword">const</span> ArcIndexType*; \</div>
|
|
<div class="line"> using reference = <span class="keyword">const</span> ArcIndexType&; \</div>
|
|
<div class="line"> using value_type = ArcIndexType; \</div>
|
|
<div class="line"> bool operator!=(<span class="keyword">const</span> iterator_class_name& other)<span class="keyword"> const </span>{ \</div>
|
|
<div class="line"> return this->index_ != other.index_; \</div>
|
|
<div class="line"> } \</div>
|
|
<div class="line"> bool operator==(<span class="keyword">const</span> iterator_class_name& other)<span class="keyword"> const </span>{ \</div>
|
|
<div class="line"> return this->index_ == other.index_; \</div>
|
|
<div class="line"> } \</div>
|
|
<div class="line"> ArcIndexType operator*()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> this->Index(); } \</div>
|
|
<div class="line"> void operator++() { this->Next(); }</div>
|
|
</div><!-- fragment -->
|
|
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l01076">1076</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div>
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|