<ocamldoc with-contents="true"><title>Stog library reference documentation : Stog_graph.S</title><contents><div class="ocamldoc-page"> <code class="code"><span class="keyword">sig</span><br/>   <span class="keyword">type</span> key<br/>   <span class="keyword">type</span> edge_data<br/>   <span class="keyword">type</span> t<br/>   <span class="keyword">val</span> create : unit <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t<br/>   <span class="keyword">val</span> marshal : <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span> string<br/>   <span class="keyword">val</span> unmarshal : string <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t<br/>   <span class="keyword">val</span> succ :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span> (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data) list<br/>   <span class="keyword">val</span> pred :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span> (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data) list<br/>   <span class="keyword">val</span> add :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t<br/>   <span class="keyword">val</span> rem :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span><br/>     (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t<br/>   <span class="keyword">val</span> rem_all :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t<br/>   <span class="keyword">val</span> isolate : <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t<br/>   <span class="keyword">val</span> remove_node : <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t<br/>   <span class="keyword">val</span> pred_roots :<br/>     ?ignore_deps:<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data list <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key list<br/>   <span class="keyword">val</span> succ_roots : <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key list<br/>   <span class="keyword">val</span> recursive_succs :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     ?pred:(<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key list<br/>   <span class="keyword">val</span> recursive_preds :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     ?pred:(<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key list<br/>   <span class="keyword">val</span> reverse : <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t<br/>   <span class="keyword">val</span> fold_succ :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span><br/>      (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data) list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span><br/>     <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br/>   <span class="keyword">val</span> fold_pred :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span><br/>      (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data) list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span><br/>     <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br/>   <span class="keyword">val</span> iter_succ :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span><br/>      (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data) list <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br/>     unit<br/>   <span class="keyword">val</span> iter_pred :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span><br/>      (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data) list <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br/>     unit<br/>   <span class="keyword">val</span> dot_of_graph :<br/>     ?f_edge:(<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data <span class="keywordsign">-></span> string * (string * string) list) <span class="keywordsign">-></span><br/>     f_node:(<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span> string * string * (string * string) list) <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span> string<br/>   <span class="keyword">val</span> nodes_by_pred_order : <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span> <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key list<br/>   <span class="keyword">val</span> shortest_path :<br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>     (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.t <span class="keywordsign">-></span><br/>      <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span><br/>      (float * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data) option) <span class="keywordsign">-></span><br/>     <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key <span class="keywordsign">-></span><br/>     (<span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.edge_data * <span class="constructor">Stog_graph</span>.<span class="constructor">S</span>.key) list<br/> <span class="keyword">end</span></code></div></contents></ocamldoc>