<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Sig" rel="Chapter" href="Sig.html"> <link title="Sig_pack" rel="Chapter" href="Sig_pack.html"> <link title="Dot_ast" rel="Chapter" href="Dot_ast.html"> <link title="Util" rel="Chapter" href="Util.html"> <link title="Persistent" rel="Chapter" href="Persistent.html"> <link title="Imperative" rel="Chapter" href="Imperative.html"> <link title="Delaunay" rel="Chapter" href="Delaunay.html"> <link title="Builder" rel="Chapter" href="Builder.html"> <link title="Classic" rel="Chapter" href="Classic.html"> <link title="Rand" rel="Chapter" href="Rand.html"> <link title="Oper" rel="Chapter" href="Oper.html"> <link title="Path" rel="Chapter" href="Path.html"> <link title="Traverse" rel="Chapter" href="Traverse.html"> <link title="Coloring" rel="Chapter" href="Coloring.html"> <link title="Topological" rel="Chapter" href="Topological.html"> <link title="Components" rel="Chapter" href="Components.html"> <link title="Kruskal" rel="Chapter" href="Kruskal.html"> <link title="Flow" rel="Chapter" href="Flow.html"> <link title="Graphviz" rel="Chapter" href="Graphviz.html"> <link title="Gml" rel="Chapter" href="Gml.html"> <link title="Dot" rel="Chapter" href="Dot.html"> <link title="Pack" rel="Chapter" href="Pack.html"> <link title="Gmap" rel="Chapter" href="Gmap.html"> <link title="Minsep" rel="Chapter" href="Minsep.html"> <link title="Cliquetree" rel="Chapter" href="Cliquetree.html"> <link title="Mcs_m" rel="Chapter" href="Mcs_m.html"> <link title="Md" rel="Chapter" href="Md.html"> <link title="Strat" rel="Chapter" href="Strat.html"><title>Traverse</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">G</span> =<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">module</span> <span class="constructor">V</span> : <span class="constructor">Sig</span>.<span class="constructor">COMPARABLE</span><br> <span class="keyword">val</span> iter_vertex : (<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fold_vertex : (<span class="constructor">V</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> iter_succ : (<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> <span class="constructor">V</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fold_succ : (<span class="constructor">V</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> <span class="constructor">V</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Dfs</span> :<br> <span class="keyword">functor</span> (<span class="constructor">G</span> : <span class="constructor">G</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">val</span> iter :<br> ?pre:(<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> ?post:(<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> prefix : (<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> postfix : (<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter_component :<br> ?pre:(<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> ?post:(<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> <span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> prefix_component :<br> (<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> <span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> postfix_component :<br> (<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> <span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> iterator<br> <span class="keyword">val</span> start : <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">Dfs</span>.iterator<br> <span class="keyword">val</span> step : <span class="constructor">Traverse</span>.<span class="constructor">Dfs</span>.iterator <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">Dfs</span>.iterator<br> <span class="keyword">val</span> get : <span class="constructor">Traverse</span>.<span class="constructor">Dfs</span>.iterator <span class="keywordsign">-></span> <span class="constructor">G</span>.<span class="constructor">V</span>.t<br> <span class="keyword">val</span> has_cycle : <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Bfs</span> :<br> <span class="keyword">functor</span> (<span class="constructor">G</span> : <span class="constructor">G</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">val</span> iter : (<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter_component : (<span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> <span class="constructor">G</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> iterator<br> <span class="keyword">val</span> start : <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">Bfs</span>.iterator<br> <span class="keyword">val</span> step : <span class="constructor">Traverse</span>.<span class="constructor">Bfs</span>.iterator <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">Bfs</span>.iterator<br> <span class="keyword">val</span> get : <span class="constructor">Traverse</span>.<span class="constructor">Bfs</span>.iterator <span class="keywordsign">-></span> <span class="constructor">G</span>.<span class="constructor">V</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">GM</span> =<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">module</span> <span class="constructor">V</span> : <span class="keyword">sig</span> <span class="keyword">type</span> t <span class="keyword">end</span><br> <span class="keyword">val</span> iter_vertex : (<span class="constructor">Traverse</span>.<span class="constructor">GM</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">GM</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter_succ :<br> (<span class="constructor">Traverse</span>.<span class="constructor">GM</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">GM</span>.t <span class="keywordsign">-></span> <span class="constructor">Traverse</span>.<span class="constructor">GM</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">module</span> <span class="constructor">Mark</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> clear : <span class="constructor">Traverse</span>.<span class="constructor">GM</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get : <span class="constructor">Traverse</span>.<span class="constructor">GM</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> set : <span class="constructor">Traverse</span>.<span class="constructor">GM</span>.<span class="constructor">V</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Mark</span> :<br> <span class="keyword">functor</span> (<span class="constructor">G</span> : <span class="constructor">GM</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">val</span> dfs : <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> has_cycle : <span class="constructor">Traverse</span>.<span class="constructor">G</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>