Files
ortools-clone/docs/cpp/namespaceutil.html

1999 lines
104 KiB
HTML
Raw Normal View History

2020-09-02 09:42:51 +02:00
<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
2020-10-09 12:00:09 +02:00
<meta name="generator" content="Doxygen 1.8.20"/>
2020-09-02 09:42:51 +02:00
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OR-Tools: util Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="styleSheet.tmp.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="orLogo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">OR-Tools
&#160;<span id="projectnumber">8.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
2020-10-09 12:00:09 +02:00
<!-- Generated by Doxygen 1.8.20 -->
2020-09-02 09:42:51 +02:00
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</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">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('namespaceutil.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">util Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceutil_1_1graph"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil_1_1graph.html">graph</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespaceutil_1_1internal"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil_1_1internal.html">internal</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_base_graph.html">BaseGraph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_begin_end_reverse_iterator_wrapper.html">BeginEndReverseIteratorWrapper</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_begin_end_wrapper.html">BeginEndWrapper</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_complete_bipartite_graph.html">CompleteBipartiteGraph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_complete_graph.html">CompleteGraph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_integer_range.html">IntegerRange</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_integer_range_iterator.html">IntegerRangeIterator</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_list_graph.html">ListGraph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutil_1_1_mutable_vector_iteration.html">MutableVectorIteration</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_reverse_arc_mixed_graph.html">ReverseArcMixedGraph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_reverse_arc_static_graph.html">ReverseArcStaticGraph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_static_graph.html">StaticGraph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_status_builder.html">StatusBuilder</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_s_vector.html">SVector</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_topological_sorter.html">TopologicalSorter</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutil_1_1_undirected_adjacency_lists_of_directed_graph.html">UndirectedAdjacencyListsOfDirectedGraph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a2f76166dbe0c4055a1f256235ad00478"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classutil_1_1_list_graph.html">ListGraph</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a2f76166dbe0c4055a1f256235ad00478"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a74fc6e241bfc96048a5612a62fa34d11"><td class="memItemLeft" align="right" valign="top">typedef ::<a class="el" href="classutil_1_1internal_1_1_dense_int_topological_sorter_tpl.html">util::internal::DenseIntTopologicalSorterTpl</a>&lt; true &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a74fc6e241bfc96048a5612a62fa34d11">DenseIntStableTopologicalSorter</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a74fc6e241bfc96048a5612a62fa34d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:af1e0eacbfb0b5de3f7453de0f9a48201"><td class="memItemLeft" align="right" valign="top">typedef ::<a class="el" href="classutil_1_1internal_1_1_dense_int_topological_sorter_tpl.html">util::internal::DenseIntTopologicalSorterTpl</a>&lt; false &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#af1e0eacbfb0b5de3f7453de0f9a48201">DenseIntTopologicalSorter</a></td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:af1e0eacbfb0b5de3f7453de0f9a48201"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a2d1e9c029dfaa2e8dfd58862836440b9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a2d1e9c029dfaa2e8dfd58862836440b9">GraphToStringFormat</a> { <a class="el" href="namespaceutil.html#a2d1e9c029dfaa2e8dfd58862836440b9a59afa9bae775818b44690c5d14cdf8d0">PRINT_GRAPH_ARCS</a>,
<a class="el" href="namespaceutil.html#a2d1e9c029dfaa2e8dfd58862836440b9ac932364714f74e3ca75990c8126019a1">PRINT_GRAPH_ADJACENCY_LISTS</a>,
<a class="el" href="namespaceutil.html#a2d1e9c029dfaa2e8dfd58862836440b9ada36744a3f529ceb03e7c1faa842854d">PRINT_GRAPH_ADJACENCY_LISTS_SORTED</a>
}</td></tr>
<tr class="separator:a2d1e9c029dfaa2e8dfd58862836440b9"><td class="memSeparator" colspan="2">&#160;</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:a366d433bd2afb387ea527c581447dffc"><td class="memTemplParams" colspan="2">template&lt;class UndirectedGraph &gt; </td></tr>
<tr class="memitem:a366d433bd2afb387ea527c581447dffc"><td class="memTemplItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a366d433bd2afb387ea527c581447dffc">GetConnectedComponents</a> (int num_nodes, const UndirectedGraph &amp;graph)</td></tr>
<tr class="separator:a366d433bd2afb387ea527c581447dffc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9470623ca7db3c4a62ce3b326c6b07d8"><td class="memTemplParams" colspan="2">template&lt;class IntVector , class Array , class ElementType &gt; </td></tr>
<tr class="memitem:a9470623ca7db3c4a62ce3b326c6b07d8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a9470623ca7db3c4a62ce3b326c6b07d8">PermuteWithExplicitElementType</a> (const IntVector &amp;permutation, Array *array_to_permute, ElementType unused)</td></tr>
<tr class="separator:a9470623ca7db3c4a62ce3b326c6b07d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c227a057c1ce9d46b1185abf77ad91e"><td class="memTemplParams" colspan="2">template&lt;class IntVector , class Array &gt; </td></tr>
<tr class="memitem:a8c227a057c1ce9d46b1185abf77ad91e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a8c227a057c1ce9d46b1185abf77ad91e">Permute</a> (const IntVector &amp;permutation, Array *array_to_permute)</td></tr>
<tr class="separator:a8c227a057c1ce9d46b1185abf77ad91e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac497881c4166bc694adc4bee62746118"><td class="memTemplParams" colspan="2">template&lt;class IntVector &gt; </td></tr>
<tr class="memitem:ac497881c4166bc694adc4bee62746118"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ac497881c4166bc694adc4bee62746118">Permute</a> (const IntVector &amp;permutation, std::vector&lt; bool &gt; *array_to_permute)</td></tr>
<tr class="separator:ac497881c4166bc694adc4bee62746118"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a37be0131ae922e30a286797a0bef0c96"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a37be0131ae922e30a286797a0bef0c96">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_list_graph.html">ListGraph</a>, Outgoing, Base::kNilArc)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a37be0131ae922e30a286797a0bef0c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:af3c40fc068f645d9dcd15c332e44fc25"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#af3c40fc068f645d9dcd15c332e44fc25">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_static_graph.html">StaticGraph</a>, Outgoing, DirectArcLimit(node))</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:af3c40fc068f645d9dcd15c332e44fc25"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a3098e161a6aceeca482be78d2d221b3b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a3098e161a6aceeca482be78d2d221b3b">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>, Outgoing, Base::kNilArc)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a3098e161a6aceeca482be78d2d221b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a4d0ae05975a2063f2edbeb749f690fc7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a4d0ae05975a2063f2edbeb749f690fc7">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>, Incoming, Base::kNilArc)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a4d0ae05975a2063f2edbeb749f690fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a22b5dcc01043ab8da01ebab71ec3ad31"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a22b5dcc01043ab8da01ebab71ec3ad31">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>, OutgoingOrOppositeIncoming, Base::kNilArc)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a22b5dcc01043ab8da01ebab71ec3ad31"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a863ccdb51afb5ef92fe6c94188a5f7e0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a863ccdb51afb5ef92fe6c94188a5f7e0">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>, OppositeIncoming, Base::kNilArc)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a863ccdb51afb5ef92fe6c94188a5f7e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a2cc2a1037195d237820edc97d35404be"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a2cc2a1037195d237820edc97d35404be">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_static_graph.html">ReverseArcStaticGraph</a>, Outgoing, DirectArcLimit(node))</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a2cc2a1037195d237820edc97d35404be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a2a51d676cd5d9354bfe1f80d09c44f39"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a2a51d676cd5d9354bfe1f80d09c44f39">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_static_graph.html">ReverseArcStaticGraph</a>, Incoming, ReverseArcLimit(node))</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a2a51d676cd5d9354bfe1f80d09c44f39"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a1db1a919e67261878ff8abda53e664c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a1db1a919e67261878ff8abda53e664c7">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_static_graph.html">ReverseArcStaticGraph</a>, OutgoingOrOppositeIncoming, DirectArcLimit(node))</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a1db1a919e67261878ff8abda53e664c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a1728675285eb75f9f18d6ed7c134d0b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a1728675285eb75f9f18d6ed7c134d0b6">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_static_graph.html">ReverseArcStaticGraph</a>, OppositeIncoming, ReverseArcLimit(node))</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a1728675285eb75f9f18d6ed7c134d0b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:ab3308688d13e59e2351bef038ce1fdb0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ab3308688d13e59e2351bef038ce1fdb0">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_mixed_graph.html">ReverseArcMixedGraph</a>, Outgoing, DirectArcLimit(node))</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:ab3308688d13e59e2351bef038ce1fdb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a3c022b68f68916770fe09996df2f35a3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a3c022b68f68916770fe09996df2f35a3">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_mixed_graph.html">ReverseArcMixedGraph</a>, Incoming, Base::kNilArc)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a3c022b68f68916770fe09996df2f35a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a97910ddfce7560b406aa3f4939434eb8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a97910ddfce7560b406aa3f4939434eb8">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_mixed_graph.html">ReverseArcMixedGraph</a>, OutgoingOrOppositeIncoming, DirectArcLimit(node))</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a97910ddfce7560b406aa3f4939434eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a6ce1a67d16c75b202f56301321a457c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a6ce1a67d16c75b202f56301321a457c6">DEFINE_RANGE_BASED_ARC_ITERATION</a> (<a class="el" href="classutil_1_1_reverse_arc_mixed_graph.html">ReverseArcMixedGraph</a>, OppositeIncoming, Base::kNilArc)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a6ce1a67d16c75b202f56301321a457c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a372b5c94ec5d30f923449516ebc2a963"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:a372b5c94ec5d30f923449516ebc2a963"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a372b5c94ec5d30f923449516ebc2a963">GraphToString</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph, <a class="el" href="namespaceutil.html#a2d1e9c029dfaa2e8dfd58862836440b9">GraphToStringFormat</a> format)</td></tr>
<tr class="separator:a372b5c94ec5d30f923449516ebc2a963"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f20692bcd36ed6d01b970af9eb2972"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:ac1f20692bcd36ed6d01b970af9eb2972"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structabsl_1_1_status_or.html">absl::StatusOr</a>&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> * &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ac1f20692bcd36ed6d01b970af9eb2972">ReadGraphFile</a> (const std::string &amp;filename, bool directed, std::vector&lt; int &gt; *num_nodes_with_color_or_null)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:ac1f20692bcd36ed6d01b970af9eb2972"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45fca0c4762006176ad5622ec40dea9c"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:a45fca0c4762006176ad5622ec40dea9c"><td class="memTemplItemLeft" align="right" valign="top">absl::Status&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a45fca0c4762006176ad5622ec40dea9c">WriteGraphToFile</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph, const std::string &amp;filename, bool directed, const std::vector&lt; int &gt; &amp;num_nodes_with_color)</td></tr>
<tr class="separator:a45fca0c4762006176ad5622ec40dea9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b60a1e770e9ea02f9a55ee83c0c4254"><td class="memTemplParams" colspan="2">template&lt;typename Iterator &gt; </td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a6b60a1e770e9ea02f9a55ee83c0c4254"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutil_1_1_begin_end_wrapper.html">BeginEndWrapper</a>&lt; Iterator &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a6b60a1e770e9ea02f9a55ee83c0c4254">BeginEndRange</a> (Iterator begin, Iterator end)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a6b60a1e770e9ea02f9a55ee83c0c4254"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8355949dec0fbbe93b76f528257c3507"><td class="memTemplParams" colspan="2">template&lt;typename Iterator &gt; </td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a8355949dec0fbbe93b76f528257c3507"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutil_1_1_begin_end_wrapper.html">BeginEndWrapper</a>&lt; Iterator &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a8355949dec0fbbe93b76f528257c3507">BeginEndRange</a> (std::pair&lt; Iterator, Iterator &gt; begin_end)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a8355949dec0fbbe93b76f528257c3507"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec325ff78fd1f5eb0ca0e22cac85ef5f"><td class="memTemplParams" colspan="2">template&lt;typename MultiMap &gt; </td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:aec325ff78fd1f5eb0ca0e22cac85ef5f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutil_1_1_begin_end_wrapper.html">BeginEndWrapper</a>&lt; typename MultiMap::iterator &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#aec325ff78fd1f5eb0ca0e22cac85ef5f">EqualRange</a> (MultiMap &amp;multi_map, const typename MultiMap::key_type &amp;key)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:aec325ff78fd1f5eb0ca0e22cac85ef5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01ae95d99994fa2890e2e927033eac18"><td class="memTemplParams" colspan="2">template&lt;typename MultiMap &gt; </td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a01ae95d99994fa2890e2e927033eac18"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutil_1_1_begin_end_wrapper.html">BeginEndWrapper</a>&lt; typename MultiMap::const_iterator &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a01ae95d99994fa2890e2e927033eac18">EqualRange</a> (const MultiMap &amp;multi_map, const typename MultiMap::key_type &amp;key)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a01ae95d99994fa2890e2e927033eac18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e2d5c05e25343bc8e4fbccce0000d51"><td class="memTemplParams" colspan="2">template&lt;typename Container &gt; </td></tr>
2020-10-09 12:00:09 +02:00
<tr class="memitem:a1e2d5c05e25343bc8e4fbccce0000d51"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutil_1_1_begin_end_reverse_iterator_wrapper.html">BeginEndReverseIteratorWrapper</a>&lt; Container &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a1e2d5c05e25343bc8e4fbccce0000d51">Reverse</a> (const Container &amp;c)</td></tr>
2020-09-02 09:42:51 +02:00
<tr class="separator:a1e2d5c05e25343bc8e4fbccce0000d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa435ca6f81746d48541552b46f2e3440"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#aa435ca6f81746d48541552b46f2e3440">FindCycleInDenseIntGraph</a> (int num_nodes, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;arcs)</td></tr>
<tr class="separator:aa435ca6f81746d48541552b46f2e3440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab334681e638994051039e44e8789d3f5"><td class="memItemLeft" align="right" valign="top">ABSL_MUST_USE_RESULT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ab334681e638994051039e44e8789d3f5">DenseIntTopologicalSort</a> (int num_nodes, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;arcs, std::vector&lt; int &gt; *topological_order)</td></tr>
<tr class="separator:ab334681e638994051039e44e8789d3f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a551780458cf6bf0170ab36e9eb7d88eb"><td class="memItemLeft" align="right" valign="top">ABSL_MUST_USE_RESULT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a551780458cf6bf0170ab36e9eb7d88eb">DenseIntStableTopologicalSort</a> (int num_nodes, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;arcs, std::vector&lt; int &gt; *topological_order)</td></tr>
<tr class="separator:a551780458cf6bf0170ab36e9eb7d88eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af41e869886ca4b1bacaeb24fa76343f0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:af41e869886ca4b1bacaeb24fa76343f0"><td class="memTemplItemLeft" align="right" valign="top">ABSL_MUST_USE_RESULT bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#af41e869886ca4b1bacaeb24fa76343f0">TopologicalSort</a> (const std::vector&lt; T &gt; &amp;nodes, const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;arcs, std::vector&lt; T &gt; *topological_order)</td></tr>
<tr class="separator:af41e869886ca4b1bacaeb24fa76343f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad150c7b6ee948e66c2abeadb4ce2d3e4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ad150c7b6ee948e66c2abeadb4ce2d3e4"><td class="memTemplItemLeft" align="right" valign="top">ABSL_MUST_USE_RESULT bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ad150c7b6ee948e66c2abeadb4ce2d3e4">StableTopologicalSort</a> (const std::vector&lt; T &gt; &amp;nodes, const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;arcs, std::vector&lt; T &gt; *topological_order)</td></tr>
<tr class="separator:ad150c7b6ee948e66c2abeadb4ce2d3e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5ba39bfb98a77b28ace8a45cfb9e855"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#af5ba39bfb98a77b28ace8a45cfb9e855">DenseIntTopologicalSortOrDie</a> (int num_nodes, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;arcs)</td></tr>
<tr class="separator:af5ba39bfb98a77b28ace8a45cfb9e855"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5d7c8313ca0fd87a7d5445081e97b0c"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ab5d7c8313ca0fd87a7d5445081e97b0c">DenseIntStableTopologicalSortOrDie</a> (int num_nodes, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;arcs)</td></tr>
<tr class="separator:ab5d7c8313ca0fd87a7d5445081e97b0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb4b373ef569ec99917c4566aac1b741"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aeb4b373ef569ec99917c4566aac1b741"><td class="memTemplItemLeft" align="right" valign="top">std::vector&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#aeb4b373ef569ec99917c4566aac1b741">TopologicalSortOrDie</a> (const std::vector&lt; T &gt; &amp;nodes, const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;arcs)</td></tr>
<tr class="separator:aeb4b373ef569ec99917c4566aac1b741"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7583b83e073657b301db60692ad0390"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:af7583b83e073657b301db60692ad0390"><td class="memTemplItemLeft" align="right" valign="top">std::vector&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#af7583b83e073657b301db60692ad0390">StableTopologicalSortOrDie</a> (const std::vector&lt; T &gt; &amp;nodes, const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;arcs)</td></tr>
<tr class="separator:af7583b83e073657b301db60692ad0390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1d38e9433c8c471ee54f1f4e9f538af"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ae1d38e9433c8c471ee54f1f4e9f538af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ae1d38e9433c8c471ee54f1f4e9f538af">TopologicalSort</a> (const std::vector&lt; T &gt; &amp;nodes, const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;arcs, std::vector&lt; T &gt; *topological_order)</td></tr>
<tr class="separator:ae1d38e9433c8c471ee54f1f4e9f538af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4af619041e395824341b2def36c1de6f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a4af619041e395824341b2def36c1de6f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a4af619041e395824341b2def36c1de6f">StableTopologicalSort</a> (const std::vector&lt; T &gt; &amp;nodes, const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;arcs, std::vector&lt; T &gt; *topological_order)</td></tr>
<tr class="separator:a4af619041e395824341b2def36c1de6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3459b0819c97e869f99ed00ad78b0883"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a3459b0819c97e869f99ed00ad78b0883">IsSubsetOf0N</a> (const std::vector&lt; int &gt; &amp;v, int n)</td></tr>
<tr class="separator:a3459b0819c97e869f99ed00ad78b0883"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aedc5b3920b0ce89959be43ece7625b"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:a9aedc5b3920b0ce89959be43ece7625b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a9aedc5b3920b0ce89959be43ece7625b">GraphHasSelfArcs</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph)</td></tr>
<tr class="separator:a9aedc5b3920b0ce89959be43ece7625b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cab01cf2313ef202fdb8d1540430c1c"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:a7cab01cf2313ef202fdb8d1540430c1c"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a7cab01cf2313ef202fdb8d1540430c1c">GraphHasDuplicateArcs</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph)</td></tr>
<tr class="separator:a7cab01cf2313ef202fdb8d1540430c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa94a02ae5c14feb50676668f2de166dc"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:aa94a02ae5c14feb50676668f2de166dc"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#aa94a02ae5c14feb50676668f2de166dc">GraphIsSymmetric</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph)</td></tr>
<tr class="separator:aa94a02ae5c14feb50676668f2de166dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab66702bf387ec38027c1f94444872510"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:ab66702bf387ec38027c1f94444872510"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ab66702bf387ec38027c1f94444872510">GraphIsWeaklyConnected</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph)</td></tr>
<tr class="separator:ab66702bf387ec38027c1f94444872510"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5f98804c317dda817bff628d868c4dd"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:ae5f98804c317dda817bff628d868c4dd"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ae5f98804c317dda817bff628d868c4dd">CopyGraph</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph)</td></tr>
<tr class="separator:ae5f98804c317dda817bff628d868c4dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab5724a929530fa1d28749dc82852388"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:aab5724a929530fa1d28749dc82852388"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#aab5724a929530fa1d28749dc82852388">RemapGraph</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph, const std::vector&lt; int &gt; &amp;new_node_index)</td></tr>
<tr class="separator:aab5724a929530fa1d28749dc82852388"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99094e047812eb44a7c2b3b82091f560"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:a99094e047812eb44a7c2b3b82091f560"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a99094e047812eb44a7c2b3b82091f560">GetSubgraphOfNodes</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph, const std::vector&lt; int &gt; &amp;nodes)</td></tr>
<tr class="separator:a99094e047812eb44a7c2b3b82091f560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab34783e729bb5fc99042893f6bfcbb2f"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:ab34783e729bb5fc99042893f6bfcbb2f"><td class="memTemplItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ab34783e729bb5fc99042893f6bfcbb2f">GetWeaklyConnectedComponents</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph)</td></tr>
<tr class="separator:ab34783e729bb5fc99042893f6bfcbb2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7986b01cf61a31c09a27b4a97db6a83"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html#ad7986b01cf61a31c09a27b4a97db6a83">IsValidPermutation</a> (const std::vector&lt; int &gt; &amp;v)</td></tr>
<tr class="separator:ad7986b01cf61a31c09a27b4a97db6a83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95c44a2c444a459f0866bd5607537314"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:a95c44a2c444a459f0866bd5607537314"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a95c44a2c444a459f0866bd5607537314">RemoveSelfArcsAndDuplicateArcs</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph)</td></tr>
<tr class="separator:a95c44a2c444a459f0866bd5607537314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77ac83968fcb358183853127d83d595a"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:a77ac83968fcb358183853127d83d595a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a77ac83968fcb358183853127d83d595a">RemoveCyclesFromPath</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph, std::vector&lt; int &gt; *arc_path)</td></tr>
<tr class="separator:a77ac83968fcb358183853127d83d595a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3215b610ebe65cde55008dc1367c434e"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:a3215b610ebe65cde55008dc1367c434e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a3215b610ebe65cde55008dc1367c434e">PathHasCycle</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph, const std::vector&lt; int &gt; &amp;arc_path)</td></tr>
<tr class="separator:a3215b610ebe65cde55008dc1367c434e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a901881f9035f66a4204da4c0ea3e5"><td class="memTemplParams" colspan="2">template&lt;class Graph &gt; </td></tr>
<tr class="memitem:a00a901881f9035f66a4204da4c0ea3e5"><td class="memTemplItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutil.html#a00a901881f9035f66a4204da4c0ea3e5">ComputeOnePossibleReverseArcMapping</a> (const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;graph, bool die_if_not_symmetric)</td></tr>
<tr class="separator:a00a901881f9035f66a4204da4c0ea3e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a74fc6e241bfc96048a5612a62fa34d11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74fc6e241bfc96048a5612a62fa34d11">&#9670;&nbsp;</a></span>DenseIntStableTopologicalSorter</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2020-10-09 12:00:09 +02:00
<td class="memname">typedef ::<a class="el" href="classutil_1_1internal_1_1_dense_int_topological_sorter_tpl.html">util::internal::DenseIntTopologicalSorterTpl</a>&lt; true&gt; <a class="el" href="namespaceutil.html#a74fc6e241bfc96048a5612a62fa34d11">DenseIntStableTopologicalSorter</a></td>
2020-09-02 09:42:51 +02:00
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="topologicalsorter_8h_source.html#l00232">232</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="af1e0eacbfb0b5de3f7453de0f9a48201"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1e0eacbfb0b5de3f7453de0f9a48201">&#9670;&nbsp;</a></span>DenseIntTopologicalSorter</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2020-10-09 12:00:09 +02:00
<td class="memname">typedef ::<a class="el" href="classutil_1_1internal_1_1_dense_int_topological_sorter_tpl.html">util::internal::DenseIntTopologicalSorterTpl</a>&lt; false&gt; <a class="el" href="namespaceutil.html#af1e0eacbfb0b5de3f7453de0f9a48201">DenseIntTopologicalSorter</a></td>
2020-09-02 09:42:51 +02:00
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="topologicalsorter_8h_source.html#l00241">241</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="a2f76166dbe0c4055a1f256235ad00478"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f76166dbe0c4055a1f256235ad00478">&#9670;&nbsp;</a></span>Graph</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2020-10-09 12:00:09 +02:00
<td class="memname">typedef <a class="el" href="classutil_1_1_list_graph.html">ListGraph</a> <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a></td>
2020-09-02 09:42:51 +02:00
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_8h_source.html#l02354">2354</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a2d1e9c029dfaa2e8dfd58862836440b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d1e9c029dfaa2e8dfd58862836440b9">&#9670;&nbsp;</a></span>GraphToStringFormat</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespaceutil.html#a2d1e9c029dfaa2e8dfd58862836440b9">GraphToStringFormat</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2d1e9c029dfaa2e8dfd58862836440b9a59afa9bae775818b44690c5d14cdf8d0"></a>PRINT_GRAPH_ARCS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2d1e9c029dfaa2e8dfd58862836440b9ac932364714f74e3ca75990c8126019a1"></a>PRINT_GRAPH_ADJACENCY_LISTS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2d1e9c029dfaa2e8dfd58862836440b9ada36744a3f529ceb03e7c1faa842854d"></a>PRINT_GRAPH_ADJACENCY_LISTS_SORTED&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="io_8h_source.html#l00038">38</a> of file <a class="el" href="io_8h_source.html">io.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a6b60a1e770e9ea02f9a55ee83c0c4254"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b60a1e770e9ea02f9a55ee83c0c4254">&#9670;&nbsp;</a></span>BeginEndRange() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
2020-10-09 12:00:09 +02:00
<td class="memname"><a class="el" href="classutil_1_1_begin_end_wrapper.html">BeginEndWrapper</a>&lt;Iterator&gt; util::BeginEndRange </td>
2020-09-02 09:42:51 +02:00
<td>(</td>
<td class="paramtype">Iterator&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Iterator&#160;</td>
<td class="paramname"><em>end</em>&#160;</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="iterators_8h_source.html#l00058">58</a> of file <a class="el" href="iterators_8h_source.html">iterators.h</a>.</p>
</div>
</div>
<a id="a8355949dec0fbbe93b76f528257c3507"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8355949dec0fbbe93b76f528257c3507">&#9670;&nbsp;</a></span>BeginEndRange() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
2020-10-09 12:00:09 +02:00
<td class="memname"><a class="el" href="classutil_1_1_begin_end_wrapper.html">BeginEndWrapper</a>&lt;Iterator&gt; util::BeginEndRange </td>
2020-09-02 09:42:51 +02:00
<td>(</td>
<td class="paramtype">std::pair&lt; Iterator, Iterator &gt;&#160;</td>
<td class="paramname"><em>begin_end</em></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="iterators_8h_source.html#l00062">62</a> of file <a class="el" href="iterators_8h_source.html">iterators.h</a>.</p>
</div>
</div>
<a id="a00a901881f9035f66a4204da4c0ea3e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00a901881f9035f66a4204da4c0ea3e5">&#9670;&nbsp;</a></span>ComputeOnePossibleReverseArcMapping()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; int &gt; ComputeOnePossibleReverseArcMapping </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>die_if_not_symmetric</em>&#160;</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_2util_8h_source.html#l00386">386</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="ae5f98804c317dda817bff628d868c4dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5f98804c317dda817bff628d868c4dd">&#9670;&nbsp;</a></span>CopyGraph()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &gt; CopyGraph </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_2util_8h_source.html#l00262">262</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="a37be0131ae922e30a286797a0bef0c96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37be0131ae922e30a286797a0bef0c96">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[1/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_list_graph.html">ListGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Outgoing&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Base::kNilArc&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4d0ae05975a2063f2edbeb749f690fc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d0ae05975a2063f2edbeb749f690fc7">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[2/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Incoming&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Base::kNilArc&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a863ccdb51afb5ef92fe6c94188a5f7e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a863ccdb51afb5ef92fe6c94188a5f7e0">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[3/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OppositeIncoming&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Base::kNilArc&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3098e161a6aceeca482be78d2d221b3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3098e161a6aceeca482be78d2d221b3b">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[4/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Outgoing&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Base::kNilArc&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a22b5dcc01043ab8da01ebab71ec3ad31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22b5dcc01043ab8da01ebab71ec3ad31">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[5/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OutgoingOrOppositeIncoming&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Base::kNilArc&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3c022b68f68916770fe09996df2f35a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c022b68f68916770fe09996df2f35a3">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[6/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_mixed_graph.html">ReverseArcMixedGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Incoming&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Base::kNilArc&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6ce1a67d16c75b202f56301321a457c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ce1a67d16c75b202f56301321a457c6">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[7/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_mixed_graph.html">ReverseArcMixedGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OppositeIncoming&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Base::kNilArc&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab3308688d13e59e2351bef038ce1fdb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3308688d13e59e2351bef038ce1fdb0">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[8/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_mixed_graph.html">ReverseArcMixedGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Outgoing&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DirectArcLimit(node)&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a97910ddfce7560b406aa3f4939434eb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97910ddfce7560b406aa3f4939434eb8">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[9/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_mixed_graph.html">ReverseArcMixedGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OutgoingOrOppositeIncoming&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DirectArcLimit(node)&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2a51d676cd5d9354bfe1f80d09c44f39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a51d676cd5d9354bfe1f80d09c44f39">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[10/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_static_graph.html">ReverseArcStaticGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Incoming&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ReverseArcLimit(node)&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1728675285eb75f9f18d6ed7c134d0b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1728675285eb75f9f18d6ed7c134d0b6">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[11/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_static_graph.html">ReverseArcStaticGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OppositeIncoming&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ReverseArcLimit(node)&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2cc2a1037195d237820edc97d35404be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cc2a1037195d237820edc97d35404be">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[12/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_static_graph.html">ReverseArcStaticGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Outgoing&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DirectArcLimit(node)&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1db1a919e67261878ff8abda53e664c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1db1a919e67261878ff8abda53e664c7">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[13/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_reverse_arc_static_graph.html">ReverseArcStaticGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OutgoingOrOppositeIncoming&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DirectArcLimit(node)&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af3c40fc068f645d9dcd15c332e44fc25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3c40fc068f645d9dcd15c332e44fc25">&#9670;&nbsp;</a></span>DEFINE_RANGE_BASED_ARC_ITERATION() <span class="overload">[14/14]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::DEFINE_RANGE_BASED_ARC_ITERATION </td>
<td>(</td>
2020-10-09 12:00:09 +02:00
<td class="paramtype"><a class="el" href="classutil_1_1_static_graph.html">StaticGraph</a>&#160;</td>
2020-09-02 09:42:51 +02:00
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Outgoing&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DirectArcLimit(node)&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a551780458cf6bf0170ab36e9eb7d88eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a551780458cf6bf0170ab36e9eb7d88eb">&#9670;&nbsp;</a></span>DenseIntStableTopologicalSort()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DenseIntStableTopologicalSort </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int &gt; *&#160;</td>
<td class="paramname"><em>topological_order</em>&#160;</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="topologicalsorter_8h_source.html#l00459">459</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="ab5d7c8313ca0fd87a7d5445081e97b0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5d7c8313ca0fd87a7d5445081e97b0c">&#9670;&nbsp;</a></span>DenseIntStableTopologicalSortOrDie()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; int &gt; DenseIntStableTopologicalSortOrDie </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>&#160;</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="topologicalsorter_8h_source.html#l00486">486</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="ab334681e638994051039e44e8789d3f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab334681e638994051039e44e8789d3f5">&#9670;&nbsp;</a></span>DenseIntTopologicalSort()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DenseIntTopologicalSort </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int &gt; *&#160;</td>
<td class="paramname"><em>topological_order</em>&#160;</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="topologicalsorter_8h_source.html#l00452">452</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="af5ba39bfb98a77b28ace8a45cfb9e855"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5ba39bfb98a77b28ace8a45cfb9e855">&#9670;&nbsp;</a></span>DenseIntTopologicalSortOrDie()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; int &gt; DenseIntTopologicalSortOrDie </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>&#160;</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="topologicalsorter_8h_source.html#l00481">481</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="a01ae95d99994fa2890e2e927033eac18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01ae95d99994fa2890e2e927033eac18">&#9670;&nbsp;</a></span>EqualRange() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
2020-10-09 12:00:09 +02:00
<td class="memname"><a class="el" href="classutil_1_1_begin_end_wrapper.html">BeginEndWrapper</a>&lt;typename MultiMap::const_iterator&gt; util::EqualRange </td>
2020-09-02 09:42:51 +02:00
<td>(</td>
<td class="paramtype">const MultiMap &amp;&#160;</td>
<td class="paramname"><em>multi_map</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const typename MultiMap::key_type &amp;&#160;</td>
<td class="paramname"><em>key</em>&#160;</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="iterators_8h_source.html#l00076">76</a> of file <a class="el" href="iterators_8h_source.html">iterators.h</a>.</p>
</div>
</div>
<a id="aec325ff78fd1f5eb0ca0e22cac85ef5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec325ff78fd1f5eb0ca0e22cac85ef5f">&#9670;&nbsp;</a></span>EqualRange() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
2020-10-09 12:00:09 +02:00
<td class="memname"><a class="el" href="classutil_1_1_begin_end_wrapper.html">BeginEndWrapper</a>&lt;typename MultiMap::iterator&gt; util::EqualRange </td>
2020-09-02 09:42:51 +02:00
<td>(</td>
<td class="paramtype">MultiMap &amp;&#160;</td>
<td class="paramname"><em>multi_map</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const typename MultiMap::key_type &amp;&#160;</td>
<td class="paramname"><em>key</em>&#160;</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="iterators_8h_source.html#l00071">71</a> of file <a class="el" href="iterators_8h_source.html">iterators.h</a>.</p>
</div>
</div>
<a id="aa435ca6f81746d48541552b46f2e3440"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa435ca6f81746d48541552b46f2e3440">&#9670;&nbsp;</a></span>FindCycleInDenseIntGraph()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_MUST_USE_RESULT std::vector&lt; int &gt; FindCycleInDenseIntGraph </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>&#160;</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="topologicalsorter_8cc_source.html#l00288">288</a> of file <a class="el" href="topologicalsorter_8cc_source.html">topologicalsorter.cc</a>.</p>
</div>
</div>
<a id="a366d433bd2afb387ea527c581447dffc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a366d433bd2afb387ea527c581447dffc">&#9670;&nbsp;</a></span>GetConnectedComponents()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; int &gt; GetConnectedComponents </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const UndirectedGraph &amp;&#160;</td>
<td class="paramname"><em>graph</em>&#160;</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="connected__components_8h_source.html#l00287">287</a> of file <a class="el" href="connected__components_8h_source.html">connected_components.h</a>.</p>
</div>
</div>
<a id="a99094e047812eb44a7c2b3b82091f560"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99094e047812eb44a7c2b3b82091f560">&#9670;&nbsp;</a></span>GetSubgraphOfNodes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &gt; GetSubgraphOfNodes </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>nodes</em>&#160;</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_2util_8h_source.html#l00294">294</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="ab34783e729bb5fc99042893f6bfcbb2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab34783e729bb5fc99042893f6bfcbb2f">&#9670;&nbsp;</a></span>GetWeaklyConnectedComponents()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;int&gt; util::GetWeaklyConnectedComponents </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_2util_8h_source.html#l00133">133</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="a7cab01cf2313ef202fdb8d1540430c1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cab01cf2313ef202fdb8d1540430c1c">&#9670;&nbsp;</a></span>GraphHasDuplicateArcs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool GraphHasDuplicateArcs </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_2util_8h_source.html#l00199">199</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="a9aedc5b3920b0ce89959be43ece7625b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9aedc5b3920b0ce89959be43ece7625b">&#9670;&nbsp;</a></span>GraphHasSelfArcs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool GraphHasSelfArcs </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_2util_8h_source.html#l00191">191</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="aa94a02ae5c14feb50676668f2de166dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa94a02ae5c14feb50676668f2de166dc">&#9670;&nbsp;</a></span>GraphIsSymmetric()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool GraphIsSymmetric </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_2util_8h_source.html#l00217">217</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="ab66702bf387ec38027c1f94444872510"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab66702bf387ec38027c1f94444872510">&#9670;&nbsp;</a></span>GraphIsWeaklyConnected()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool GraphIsWeaklyConnected </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_2util_8h_source.html#l00246">246</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="a372b5c94ec5d30f923449516ebc2a963"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a372b5c94ec5d30f923449516ebc2a963">&#9670;&nbsp;</a></span>GraphToString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string GraphToString </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceutil.html#a2d1e9c029dfaa2e8dfd58862836440b9">GraphToStringFormat</a>&#160;</td>
<td class="paramname"><em>format</em>&#160;</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="io_8h_source.html#l00107">107</a> of file <a class="el" href="io_8h_source.html">io.h</a>.</p>
</div>
</div>
<a id="a3459b0819c97e869f99ed00ad78b0883"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3459b0819c97e869f99ed00ad78b0883">&#9670;&nbsp;</a></span>IsSubsetOf0N()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IsSubsetOf0N </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em>&#160;</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_2util_8cc_source.html#l00018">18</a> of file <a class="el" href="graph_2util_8cc_source.html">graph/util.cc</a>.</p>
</div>
</div>
<a id="ad7986b01cf61a31c09a27b4a97db6a83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7986b01cf61a31c09a27b4a97db6a83">&#9670;&nbsp;</a></span>IsValidPermutation()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool util::IsValidPermutation </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_2util_8h_source.html#l00144">144</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="a3215b610ebe65cde55008dc1367c434e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3215b610ebe65cde55008dc1367c434e">&#9670;&nbsp;</a></span>PathHasCycle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool PathHasCycle </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>arc_path</em>&#160;</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_2util_8h_source.html#l00375">375</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="a8c227a057c1ce9d46b1185abf77ad91e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c227a057c1ce9d46b1185abf77ad91e">&#9670;&nbsp;</a></span>Permute() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void util::Permute </td>
<td>(</td>
<td class="paramtype">const IntVector &amp;&#160;</td>
<td class="paramname"><em>permutation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Array *&#160;</td>
<td class="paramname"><em>array_to_permute</em>&#160;</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#l00737">737</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="ac497881c4166bc694adc4bee62746118"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac497881c4166bc694adc4bee62746118">&#9670;&nbsp;</a></span>Permute() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void util::Permute </td>
<td>(</td>
<td class="paramtype">const IntVector &amp;&#160;</td>
<td class="paramname"><em>permutation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; bool &gt; *&#160;</td>
<td class="paramname"><em>array_to_permute</em>&#160;</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#l00748">748</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="a9470623ca7db3c4a62ce3b326c6b07d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9470623ca7db3c4a62ce3b326c6b07d8">&#9670;&nbsp;</a></span>PermuteWithExplicitElementType()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void util::PermuteWithExplicitElementType </td>
<td>(</td>
<td class="paramtype">const IntVector &amp;&#160;</td>
<td class="paramname"><em>permutation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Array *&#160;</td>
<td class="paramname"><em>array_to_permute</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ElementType&#160;</td>
<td class="paramname"><em>unused</em>&#160;</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#l00724">724</a> of file <a class="el" href="graph_8h_source.html">graph.h</a>.</p>
</div>
</div>
<a id="ac1f20692bcd36ed6d01b970af9eb2972"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1f20692bcd36ed6d01b970af9eb2972">&#9670;&nbsp;</a></span>ReadGraphFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2020-10-09 12:00:09 +02:00
<td class="memname"><a class="el" href="structabsl_1_1_status_or.html">absl::StatusOr</a>&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> * &gt; ReadGraphFile </td>
2020-09-02 09:42:51 +02:00
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>filename</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>directed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int &gt; *&#160;</td>
<td class="paramname"><em>num_nodes_with_color_or_null</em>&#160;</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="io_8h_source.html#l00132">132</a> of file <a class="el" href="io_8h_source.html">io.h</a>.</p>
</div>
</div>
<a id="aab5724a929530fa1d28749dc82852388"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab5724a929530fa1d28749dc82852388">&#9670;&nbsp;</a></span>RemapGraph()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &gt; RemapGraph </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>new_node_index</em>&#160;</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_2util_8h_source.html#l00275">275</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="a77ac83968fcb358183853127d83d595a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77ac83968fcb358183853127d83d595a">&#9670;&nbsp;</a></span>RemoveCyclesFromPath()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RemoveCyclesFromPath </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int &gt; *&#160;</td>
<td class="paramname"><em>arc_path</em>&#160;</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_2util_8h_source.html#l00350">350</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="a95c44a2c444a459f0866bd5607537314"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95c44a2c444a459f0866bd5607537314">&#9670;&nbsp;</a></span>RemoveSelfArcsAndDuplicateArcs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt; <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &gt; RemoveSelfArcsAndDuplicateArcs </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="graph_2util_8h_source.html#l00328">328</a> of file <a class="el" href="graph_2util_8h_source.html">graph/util.h</a>.</p>
</div>
</div>
<a id="a1e2d5c05e25343bc8e4fbccce0000d51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e2d5c05e25343bc8e4fbccce0000d51">&#9670;&nbsp;</a></span>Reverse()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2020-10-09 12:00:09 +02:00
<td class="memname"><a class="el" href="classutil_1_1_begin_end_reverse_iterator_wrapper.html">BeginEndReverseIteratorWrapper</a>&lt;Container&gt; util::Reverse </td>
2020-09-02 09:42:51 +02:00
<td>(</td>
<td class="paramtype">const Container &amp;&#160;</td>
<td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="iterators_8h_source.html#l00098">98</a> of file <a class="el" href="iterators_8h_source.html">iterators.h</a>.</p>
</div>
</div>
<a id="ad150c7b6ee948e66c2abeadb4ce2d3e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad150c7b6ee948e66c2abeadb4ce2d3e4">&#9670;&nbsp;</a></span>StableTopologicalSort() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_MUST_USE_RESULT bool util::StableTopologicalSort </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; T &gt; *&#160;</td>
<td class="paramname"><em>topological_order</em>&#160;</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="topologicalsorter_8h_source.html#l00475">475</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="a4af619041e395824341b2def36c1de6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4af619041e395824341b2def36c1de6f">&#9670;&nbsp;</a></span>StableTopologicalSort() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool util::StableTopologicalSort </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; T &gt; *&#160;</td>
<td class="paramname"><em>topological_order</em>&#160;</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="topologicalsorter_8h_source.html#l00475">475</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="af7583b83e073657b301db60692ad0390"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7583b83e073657b301db60692ad0390">&#9670;&nbsp;</a></span>StableTopologicalSortOrDie()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; T &gt; StableTopologicalSortOrDie </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>&#160;</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="topologicalsorter_8h_source.html#l00498">498</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="af41e869886ca4b1bacaeb24fa76343f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af41e869886ca4b1bacaeb24fa76343f0">&#9670;&nbsp;</a></span>TopologicalSort() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ABSL_MUST_USE_RESULT bool util::TopologicalSort </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; T &gt; *&#160;</td>
<td class="paramname"><em>topological_order</em>&#160;</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="topologicalsorter_8h_source.html#l00467">467</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="ae1d38e9433c8c471ee54f1f4e9f538af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1d38e9433c8c471ee54f1f4e9f538af">&#9670;&nbsp;</a></span>TopologicalSort() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool util::TopologicalSort </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; T &gt; *&#160;</td>
<td class="paramname"><em>topological_order</em>&#160;</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="topologicalsorter_8h_source.html#l00467">467</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="aeb4b373ef569ec99917c4566aac1b741"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb4b373ef569ec99917c4566aac1b741">&#9670;&nbsp;</a></span>TopologicalSortOrDie()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; T &gt; TopologicalSortOrDie </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; T, T &gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>arcs</em>&#160;</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="topologicalsorter_8h_source.html#l00492">492</a> of file <a class="el" href="topologicalsorter_8h_source.html">topologicalsorter.h</a>.</p>
</div>
</div>
<a id="a45fca0c4762006176ad5622ec40dea9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45fca0c4762006176ad5622ec40dea9c">&#9670;&nbsp;</a></span>WriteGraphToFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">absl::Status WriteGraphToFile </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespaceutil.html#a2f76166dbe0c4055a1f256235ad00478">Graph</a> &amp;&#160;</td>
<td class="paramname"><em>graph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>filename</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>directed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>num_nodes_with_color</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
2020-10-09 12:00:09 +02:00
<p class="definition">Definition at line <a class="el" href="io_8h_source.html#l00225">225</a> of file <a class="el" href="io_8h_source.html">io.h</a>.</p>
2020-09-02 09:42:51 +02:00
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.18-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceutil.html">util</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
2020-10-09 12:00:09 +02:00
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.20 </li>
2020-09-02 09:42:51 +02:00
</ul>
</div>
</body>
</html>