123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
- <title>GTL - Graph Template Library: biconnectivity Class Reference</title>
- <link href="doxygen.css" rel="stylesheet" type="text/css">
- </head>
- <body>
- <p class="links">
- <a href="../index.html">Home</a> |
- Documentation |
- <a href="../register.html">Download</a> |
- <a href="../platforms.html">Platforms</a> |
- <a href="../refer.html">Projects</a> |
- <a href="../lists.html">Mailing Lists</a> |
- <a href="../history.html">Version History</a>
- </p>
- <!-- Generated by Doxygen 1.5.3 -->
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li class="current"><a href="classes.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li><a href="classes.html"><span>Alphabetical List</span></a></li>
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
- <h1>biconnectivity Class Reference</h1><!-- doxytag: class="biconnectivity" --><!-- doxytag: inherits="dfs" -->Biconnectivity-test and low-numbers.
- <a href="#_details">More...</a>
- <p>
- <div class="dynheader">
- Inheritance diagram for biconnectivity:</div>
- <div class="dynsection">
- <p><center><img src="a00115.gif" border="0" usemap="#a00116" alt="Inheritance graph"></center>
- <map name="a00116">
- <area shape="rect" href="a00008.html" title="Depth-First-Search (DFS) algorithm." alt="" coords="37,81,77,105"><area shape="rect" href="a00001.html" title="Abstract baseclass for all algoritm-classes." alt="" coords="19,7,96,31"></map>
- <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
- <div class="dynheader">
- Collaboration diagram for biconnectivity:</div>
- <div class="dynsection">
- <p><center><img src="a00117.gif" border="0" usemap="#a00118" alt="Collaboration graph"></center>
- <map name="a00118">
- <area shape="rect" href="a00008.html" title="Depth-First-Search (DFS) algorithm." alt="" coords="655,137,695,161"><area shape="rect" href="a00001.html" title="Abstract baseclass for all algoritm-classes." alt="" coords="401,73,479,97"><area shape="rect" href="a00020.html" title="A node in a graph." alt="" coords="415,208,465,232"><area shape="rect" title="last" alt="" coords="463,215,471,223"><area shape="rect" title="last" alt="" coords="751,195,759,203"><area shape="rect" title="start" alt="" coords="463,209,471,217"><area shape="rect" title="start" alt="" coords="651,153,659,161"><area shape="rect" title="int_node" alt="" coords="411,205,419,213"><area shape="rect" title="int_node" alt="" coords="463,205,471,213"><area shape="rect" href="a00021.html" title="node_map\< int \>" alt="" coords="379,8,501,32"><area shape="rect" title="low_num\ncut_count" alt="" coords="497,5,505,13"><area shape="rect" title="low_num\ncut_count" alt="" coords="795,179,803,187"><area shape="rect" title="comp_number\ndfs_number" alt="" coords="475,29,483,37"><area shape="rect" title="comp_number\ndfs_number" alt="" coords="661,133,669,141"><area shape="rect" href="a00019.html" title="ne_map\< node, int, graph, allocator\< int \> \>" alt="" coords="21,8,304,32"><area shape="rect" href="a00011.html" title="edge_map\< int \>" alt="" coords="379,121,501,145"><area shape="rect" title="used" alt="" coords="497,133,505,141"><area shape="rect" title="used" alt="" coords="651,144,659,152"><area shape="rect" href="a00019.html" title="ne_map\< edge, int, graph, allocator\< int \> \>" alt="" coords="21,121,304,145"><area shape="rect" href="a00021.html" title="node_map\< node \>" alt="" coords="371,271,509,295"><area shape="rect" title="first_child" alt="" coords="505,277,513,285"><area shape="rect" title="first_child" alt="" coords="776,204,784,212"><area shape="rect" title="preds" alt="" coords="495,267,503,275"><area shape="rect" title="preds" alt="" coords="664,159,672,167"><area shape="rect" href="a00019.html" title="ne_map\< node, node, graph, allocator\< node \> \>" alt="" coords="5,271,320,295"></map>
- <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
- <p>
- <a href="a00119.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
- <tr><td></td></tr>
- <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#9f0c49a04d285f3e45520af863d6cf50">biconnectivity</a> ()</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates <a class="el" href="a00004.html" title="Biconnectivity-test and low-numbers.">biconnectivity</a> <a class="el" href="a00001.html" title="Abstract baseclass for all algoritm-classes.">algorithm</a> object. <a href="#9f0c49a04d285f3e45520af863d6cf50"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#f8e2bb061de4a08f95a2a3a94fdbd797">~biconnectivity</a> ()</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys <a class="el" href="a00004.html" title="Biconnectivity-test and low-numbers.">biconnectivity</a> <a class="el" href="a00001.html" title="Abstract baseclass for all algoritm-classes.">algorithm</a> object. <a href="#f8e2bb061de4a08f95a2a3a94fdbd797"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#5db0b38d8d01af52720d6941103de4f2">check</a> (<a class="el" href="a00014.html">graph</a> &G)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether the <a class="el" href="a00001.html" title="Abstract baseclass for all algoritm-classes.">algorithm</a> can be applied. <a href="#5db0b38d8d01af52720d6941103de4f2"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a1a4b091fd8b2bbea2b36b91bab713af">reset</a> ()</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Resets algorithm. <a href="#a1a4b091fd8b2bbea2b36b91bab713af"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#e0d0b47a16da24c0f124cb989ccf5846">low_number</a> (const <a class="el" href="a00020.html">node</a> &n) const </td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">low-number. <a href="#e0d0b47a16da24c0f124cb989ccf5846"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#2db9457fbbfb6a832234d8455e807198">is_biconnected</a> () const </td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Biconnectivity-test. <a href="#2db9457fbbfb6a832234d8455e807198"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#f6fe3286b7cb24e0da460cfdbf733d79">store_components</a> () const </td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the storing of <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> is enabled. <a href="#f6fe3286b7cb24e0da460cfdbf733d79"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#b7c9e256a4d7a4ffea33b20f014e1f69">store_components</a> (bool set)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Enables or disables the storing of biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a>. <a href="#b7c9e256a4d7a4ffea33b20f014e1f69"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#774fd08203a6d164605afc4cdc8b9201">make_biconnected</a> (bool set)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">If enabled edges will be added to the <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> in order to make it biconnected, if cutpoints are discovered. <a href="#774fd08203a6d164605afc4cdc8b9201"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#2db912e8bc1a89e431116824434e836d">make_biconnected</a> () const </td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns whether addition of edges neccessary to make <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> biconnected is enabled. <a href="#2db912e8bc1a89e431116824434e836d"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">list< <a class="el" href="a00010.html">edge</a> >::iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#c5295da180114bffbbfd621d644d4c58">additional_begin</a> ()</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Begin of edges added to make <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> biconnected. <a href="#c5295da180114bffbbfd621d644d4c58"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">list< <a class="el" href="a00010.html">edge</a> >::iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#447a86f387efd181b25b8bacf3365e75">additional_end</a> ()</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">End of edges added to make <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> biconnected. <a href="#447a86f387efd181b25b8bacf3365e75"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">cutpoint_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#473197552874aaf148e847838144eed7">cut_points_begin</a> ()</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Start iteration over all cutpoints found. <a href="#473197552874aaf148e847838144eed7"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">cutpoint_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#78cb06c1d056b9519622a67a92e85b6e">cut_points_end</a> ()</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">End of iteration over all cutpoints. <a href="#78cb06c1d056b9519622a67a92e85b6e"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">component_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#c0b7253533edc3f1412f771cb35bf04a">components_begin</a> ()</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Start iteration over all biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> (if enabled during last call to run). <a href="#c0b7253533edc3f1412f771cb35bf04a"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">component_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#0bd1c70975e664174e591efd64f8dc71">components_end</a> ()</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">End of iteration over all biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a>. <a href="#0bd1c70975e664174e591efd64f8dc71"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#c984168e3c2b1b92fc20def2b38fb07f">number_of_components</a> () const </td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Number von biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> detected during the last run. <a href="#c984168e3c2b1b92fc20def2b38fb07f"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#c13bfac43192225a9161b0bf0827f600">init_handler</a> (<a class="el" href="a00014.html">graph</a> &)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Handler called before the start of DFS. <a href="#c13bfac43192225a9161b0bf0827f600"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#caf5548cba90ee5b6ae3a542ac13e767">entry_handler</a> (<a class="el" href="a00014.html">graph</a> &, <a class="el" href="a00020.html">node</a> &, <a class="el" href="a00020.html">node</a> &)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Handler called when touching node <em>n</em>. <a href="#caf5548cba90ee5b6ae3a542ac13e767"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#cf4ca6d67f23498c43cfc3669c80417c">before_recursive_call_handler</a> (<a class="el" href="a00014.html">graph</a> &, <a class="el" href="a00010.html">edge</a> &, <a class="el" href="a00020.html">node</a> &)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Handler called when a unused node <em>n</em> connected to the actual node by <em>e</em> is found. <a href="#cf4ca6d67f23498c43cfc3669c80417c"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#9a2e5d5f934d5ff1d93c545414a7dab5">after_recursive_call_handler</a> (<a class="el" href="a00014.html">graph</a> &, <a class="el" href="a00010.html">edge</a> &, <a class="el" href="a00020.html">node</a> &)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Handler called after the algorithm returns from the subtree starting at <em>n</em> connected to the actual node by <em>e</em>. <a href="#9a2e5d5f934d5ff1d93c545414a7dab5"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#54c5d1deed1c326f5934f4181770612b">old_adj_node_handler</a> (<a class="el" href="a00014.html">graph</a> &, <a class="el" href="a00010.html">edge</a> &, <a class="el" href="a00020.html">node</a> &)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Handler called when a already marked node <em>n</em> connected to the actual node by <em>e</em> is found during the search of all adjacent edges of the actual node. <a href="#54c5d1deed1c326f5934f4181770612b"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#e67b0c7d2677f0f60d46995ff244a6d0">new_start_handler</a> (<a class="el" href="a00014.html">graph</a> &, <a class="el" href="a00020.html">node</a> &)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Called when DFS is started with start-node <em>n</em>. <a href="#e67b0c7d2677f0f60d46995ff244a6d0"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#cbb12e89c368f4346f36d09888d8bfb0">leave_handler</a> (<a class="el" href="a00014.html">graph</a> &, <a class="el" href="a00020.html">node</a> &, <a class="el" href="a00020.html">node</a> &)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Handler called after all the adjacent edges of <em>n</em> have been examined. <a href="#cbb12e89c368f4346f36d09888d8bfb0"></a><br></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#eade3bbc61d1046ba80ec88988f72c44">end_handler</a> (<a class="el" href="a00014.html">graph</a> &)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">Handler called at the end of DFS. <a href="#eade3bbc61d1046ba80ec88988f72c44"></a><br></td></tr>
- </table>
- <hr><a name="_details"></a><h2>Detailed Description</h2>
- Biconnectivity-test and low-numbers.
- <p>
- <dl class="rcs" compact><dt><b>Date</b></dt><dd></dd></dl>
- <dl class="rcs" compact><dt><b>Revision</b></dt><dd></dd></dl>
- <p>
- Obviously there is a close relationship between DFS and the testing of <a class="el" href="a00004.html" title="Biconnectivity-test and low-numbers.">biconnectivity</a>. Thus this test takes advantage of the possibility to add pieces of code to the DFS-class in order to calculate the low-numbers.<p>
- As default no biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> will be stored and no edges will be added to make the <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> biconnected. The test will run on the whole <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a>, even if it is not connected. <hr><h2>Constructor & Destructor Documentation</h2>
- <a class="anchor" name="9f0c49a04d285f3e45520af863d6cf50"></a><!-- doxytag: member="biconnectivity::biconnectivity" ref="9f0c49a04d285f3e45520af863d6cf50" args="()" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">biconnectivity::biconnectivity </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Creates <a class="el" href="a00004.html" title="Biconnectivity-test and low-numbers.">biconnectivity</a> <a class="el" href="a00001.html" title="Abstract baseclass for all algoritm-classes.">algorithm</a> object.
- <p>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00008.html#2399808134dbabf6aa5e1b2e35a73954" title="Constructor.">dfs::dfs</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="f8e2bb061de4a08f95a2a3a94fdbd797"></a><!-- doxytag: member="biconnectivity::~biconnectivity" ref="f8e2bb061de4a08f95a2a3a94fdbd797" args="()" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual biconnectivity::~biconnectivity </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"><code> [inline, virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Destroys <a class="el" href="a00004.html" title="Biconnectivity-test and low-numbers.">biconnectivity</a> <a class="el" href="a00001.html" title="Abstract baseclass for all algoritm-classes.">algorithm</a> object.
- <p>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00008.html#998e0c28d20bbbbb5a0d705371e4ed00" title="Destructor.">dfs::~dfs</a> </dd></dl>
- </div>
- </div><p>
- <hr><h2>Member Function Documentation</h2>
- <a class="anchor" name="5db0b38d8d01af52720d6941103de4f2"></a><!-- doxytag: member="biconnectivity::check" ref="5db0b38d8d01af52720d6941103de4f2" args="(graph &G)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual int biconnectivity::check </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="a00014.html">graph</a> & </td>
- <td class="paramname"> <em>G</em> </td>
- <td> ) </td>
- <td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Checks whether the <a class="el" href="a00001.html" title="Abstract baseclass for all algoritm-classes.">algorithm</a> can be applied.
- <p>
- Necessary preconditions:<ul>
- <li>G is undirected.</li><li>storing of predecessors is enabled.</li><li>DFS may be applied</li></ul>
- <p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td><a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a>. </td></tr>
- </table>
- </dl>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="a00001.html#f1a0078e153aa99c24f9bdf0d97f67105114c20e4a96a76b5de9f28bf15e282b">algorithm::GTL_OK</a> if binconnectivity-test can be applied to <em>G</em>. </dd></dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00008.html#a7c864a6f3a120720138b187b3ed95b5" title="Enables or disables scanning of the whole graph.">dfs::scan_whole_graph</a>, <a class="el" href="a00008.html#7043f46eb3887cbcbb1391fc783407a4" title="Enables or disables the storing of predecessors.">dfs::store_preds</a> </dd></dl>
- <p>Reimplemented from <a class="el" href="a00008.html#908f4ea617ed59767ed334b39a2771d0">dfs</a>.</p>
- </div>
- </div><p>
- <a class="anchor" name="a1a4b091fd8b2bbea2b36b91bab713af"></a><!-- doxytag: member="biconnectivity::reset" ref="a1a4b091fd8b2bbea2b36b91bab713af" args="()" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual void biconnectivity::reset </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Resets algorithm.
- <p>
- Prepares the algorithm to be applied to another graph. <em>Please</em> <em>note:</em> The options an algorithm may support do <em>not</em> get reset by this. It is just to reset internally used datastructures.
- <p>Reimplemented from <a class="el" href="a00008.html#1c893f699517cc72624cf171b7bc4da4">dfs</a>.</p>
- </div>
- </div><p>
- <a class="anchor" name="e0d0b47a16da24c0f124cb989ccf5846"></a><!-- doxytag: member="biconnectivity::low_number" ref="e0d0b47a16da24c0f124cb989ccf5846" args="(const node &n) const " -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int biconnectivity::low_number </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="a00020.html">node</a> & </td>
- <td class="paramname"> <em>n</em> </td>
- <td> ) </td>
- <td width="100%"> const<code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- low-number.
- <p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>n</em> </td><td><a class="el" href="a00020.html" title="A node in a graph.">node</a>. </td></tr>
- </table>
- </dl>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>low-number of n. </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="2db9457fbbfb6a832234d8455e807198"></a><!-- doxytag: member="biconnectivity::is_biconnected" ref="2db9457fbbfb6a832234d8455e807198" args="() const " -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool biconnectivity::is_biconnected </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"> const<code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Biconnectivity-test.
- <p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> is biconnected. </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="f6fe3286b7cb24e0da460cfdbf733d79"></a><!-- doxytag: member="biconnectivity::store_components" ref="f6fe3286b7cb24e0da460cfdbf733d79" args="() const " -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool biconnectivity::store_components </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"> const<code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Returns whether the storing of <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> is enabled.
- <p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff storing of <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> is enabled. </dd></dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#c0b7253533edc3f1412f771cb35bf04a" title="Start iteration over all biconnected components (if enabled during last call to run)...">biconnectivity::components_begin</a>, <a class="el" href="a00004.html#0bd1c70975e664174e591efd64f8dc71" title="End of iteration over all biconnected components.">biconnectivity::components_end</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="b7c9e256a4d7a4ffea33b20f014e1f69"></a><!-- doxytag: member="biconnectivity::store_components" ref="b7c9e256a4d7a4ffea33b20f014e1f69" args="(bool set)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void biconnectivity::store_components </td>
- <td>(</td>
- <td class="paramtype">bool </td>
- <td class="paramname"> <em>set</em> </td>
- <td> ) </td>
- <td width="100%"><code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Enables or disables the storing of biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a>.
- <p>
- If this feature is enabled, the whole <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> will be scanned in order to get all the biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> even if the <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> isn't connected. By default this feature is disabled.<p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>set</em> </td><td>if true each biconnected component will be stored. </td></tr>
- </table>
- </dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#c0b7253533edc3f1412f771cb35bf04a" title="Start iteration over all biconnected components (if enabled during last call to run)...">biconnectivity::components_begin</a>, <a class="el" href="a00004.html#0bd1c70975e664174e591efd64f8dc71" title="End of iteration over all biconnected components.">biconnectivity::components_end</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="774fd08203a6d164605afc4cdc8b9201"></a><!-- doxytag: member="biconnectivity::make_biconnected" ref="774fd08203a6d164605afc4cdc8b9201" args="(bool set)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void biconnectivity::make_biconnected </td>
- <td>(</td>
- <td class="paramtype">bool </td>
- <td class="paramname"> <em>set</em> </td>
- <td> ) </td>
- <td width="100%"><code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- If enabled edges will be added to the <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> in order to make it biconnected, if cutpoints are discovered.
- <p>
- The list of added edges can be accessed via additional_begin and additional_end.<p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>set</em> </td><td>if true additional edges will we inserted to make the <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> biconnected. </td></tr>
- </table>
- </dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#c5295da180114bffbbfd621d644d4c58" title="Begin of edges added to make graph biconnected.">biconnectivity::additional_begin</a>, <a class="el" href="a00004.html#447a86f387efd181b25b8bacf3365e75" title="End of edges added to make graph biconnected.">biconnectivity::additional_end</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="2db912e8bc1a89e431116824434e836d"></a><!-- doxytag: member="biconnectivity::make_biconnected" ref="2db912e8bc1a89e431116824434e836d" args="() const " -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool biconnectivity::make_biconnected </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"> const<code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Returns whether addition of edges neccessary to make <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> biconnected is enabled.
- <p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff addition edges is enabled. </dd></dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#c5295da180114bffbbfd621d644d4c58" title="Begin of edges added to make graph biconnected.">biconnectivity::additional_begin</a>, <a class="el" href="a00004.html#447a86f387efd181b25b8bacf3365e75" title="End of edges added to make graph biconnected.">biconnectivity::additional_end</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="c5295da180114bffbbfd621d644d4c58"></a><!-- doxytag: member="biconnectivity::additional_begin" ref="c5295da180114bffbbfd621d644d4c58" args="()" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">list<<a class="el" href="a00010.html">edge</a>>::iterator biconnectivity::additional_begin </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"><code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Begin of edges added to make <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> biconnected.
- <p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>begin of additional edges </dd></dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#774fd08203a6d164605afc4cdc8b9201" title="If enabled edges will be added to the graph in order to make it biconnected, if cutpoints...">biconnectivity::make_biconnected</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="447a86f387efd181b25b8bacf3365e75"></a><!-- doxytag: member="biconnectivity::additional_end" ref="447a86f387efd181b25b8bacf3365e75" args="()" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">list<<a class="el" href="a00010.html">edge</a>>::iterator biconnectivity::additional_end </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"><code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- End of edges added to make <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> biconnected.
- <p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>end of additional edges </dd></dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#774fd08203a6d164605afc4cdc8b9201" title="If enabled edges will be added to the graph in order to make it biconnected, if cutpoints...">biconnectivity::make_biconnected</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="473197552874aaf148e847838144eed7"></a><!-- doxytag: member="biconnectivity::cut_points_begin" ref="473197552874aaf148e847838144eed7" args="()" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cutpoint_iterator biconnectivity::cut_points_begin </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"><code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Start iteration over all cutpoints found.
- <p>
- A cutpoints is a <a class="el" href="a00020.html" title="A node in a graph.">node</a> whose removal will disconnect the <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a>, thus a <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> with no cutpoints is biconnected and vice versa.<p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>iterator to first cutpoint. </dd></dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#78cb06c1d056b9519622a67a92e85b6e" title="End of iteration over all cutpoints.">biconnectivity::cut_points_end</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="78cb06c1d056b9519622a67a92e85b6e"></a><!-- doxytag: member="biconnectivity::cut_points_end" ref="78cb06c1d056b9519622a67a92e85b6e" args="()" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cutpoint_iterator biconnectivity::cut_points_end </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"><code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- End of iteration over all cutpoints.
- <p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>one-past-the-end iterator. </dd></dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#473197552874aaf148e847838144eed7" title="Start iteration over all cutpoints found.">biconnectivity::cut_points_begin</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="c0b7253533edc3f1412f771cb35bf04a"></a><!-- doxytag: member="biconnectivity::components_begin" ref="c0b7253533edc3f1412f771cb35bf04a" args="()" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">component_iterator biconnectivity::components_begin </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"><code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Start iteration over all biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> (if enabled during last call to run).
- <p>
- Components are represented as a pair consisting of a list of nodes and a list of edges, i.e. if it is of type component_iterator then *it is of type pair<list<<a class="el" href="a00020.html" title="A node in a graph.">node</a>>,list<<a class="el" href="a00010.html" title="An edge in a graph.">edge</a>> >.<p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>iterator to first component </dd></dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#f6fe3286b7cb24e0da460cfdbf733d79" title="Returns whether the storing of components is enabled.">biconnectivity::store_components</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="0bd1c70975e664174e591efd64f8dc71"></a><!-- doxytag: member="biconnectivity::components_end" ref="0bd1c70975e664174e591efd64f8dc71" args="()" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">component_iterator biconnectivity::components_end </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"><code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- End of iteration over all biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a>.
- <p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>end of iteration over biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> </dd></dl>
- <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00004.html#f6fe3286b7cb24e0da460cfdbf733d79" title="Returns whether the storing of components is enabled.">biconnectivity::store_components</a> </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="c984168e3c2b1b92fc20def2b38fb07f"></a><!-- doxytag: member="biconnectivity::number_of_components" ref="c984168e3c2b1b92fc20def2b38fb07f" args="() const " -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int biconnectivity::number_of_components </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td width="100%"> const<code> [inline]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Number von biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a> detected during the last run.
- <p>
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>number of biconnected <a class="el" href="a00007.html" title="Connected components algorithm.">components</a>. </dd></dl>
- </div>
- </div><p>
- <a class="anchor" name="c13bfac43192225a9161b0bf0827f600"></a><!-- doxytag: member="biconnectivity::init_handler" ref="c13bfac43192225a9161b0bf0827f600" args="(graph &)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual void biconnectivity::init_handler </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="a00014.html">graph</a> & </td>
- <td class="paramname"> <em>G</em> </td>
- <td> ) </td>
- <td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Handler called before the start of DFS.
- <p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>graph for which DFS was invoked. </td></tr>
- </table>
- </dl>
- <p>Reimplemented from <a class="el" href="a00008.html#cc82574cd42ab8256e685374bee5fabb">dfs</a>.</p>
- </div>
- </div><p>
- <a class="anchor" name="caf5548cba90ee5b6ae3a542ac13e767"></a><!-- doxytag: member="biconnectivity::entry_handler" ref="caf5548cba90ee5b6ae3a542ac13e767" args="(graph &, node &, node &)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual void biconnectivity::entry_handler </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="a00014.html">graph</a> & </td>
- <td class="paramname"> <em>G</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00020.html">node</a> & </td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00020.html">node</a> & </td>
- <td class="paramname"> <em>f</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Handler called when touching node <em>n</em>.
- <p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>graph for which DFS was invoked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>actual node. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>f</em> </td><td>predecessor. </td></tr>
- </table>
- </dl>
- <p>Reimplemented from <a class="el" href="a00008.html#73dabe5882226b53494a487b7c34f1d1">dfs</a>.</p>
- </div>
- </div><p>
- <a class="anchor" name="cf4ca6d67f23498c43cfc3669c80417c"></a><!-- doxytag: member="biconnectivity::before_recursive_call_handler" ref="cf4ca6d67f23498c43cfc3669c80417c" args="(graph &, edge &, node &)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual void biconnectivity::before_recursive_call_handler </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="a00014.html">graph</a> & </td>
- <td class="paramname"> <em>G</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00010.html">edge</a> & </td>
- <td class="paramname"> <em>e</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00020.html">node</a> & </td>
- <td class="paramname"> <em>n</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Handler called when a unused node <em>n</em> connected to the actual node by <em>e</em> is found.
- <p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>graph for which DFS was invoked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>e</em> </td><td>edge connecting the actual node to the unused one. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>unused node. </td></tr>
- </table>
- </dl>
- <p>Reimplemented from <a class="el" href="a00008.html#e3f095c9fe6106e82c24543da4844ea3">dfs</a>.</p>
- </div>
- </div><p>
- <a class="anchor" name="9a2e5d5f934d5ff1d93c545414a7dab5"></a><!-- doxytag: member="biconnectivity::after_recursive_call_handler" ref="9a2e5d5f934d5ff1d93c545414a7dab5" args="(graph &, edge &, node &)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual void biconnectivity::after_recursive_call_handler </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="a00014.html">graph</a> & </td>
- <td class="paramname"> <em>G</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00010.html">edge</a> & </td>
- <td class="paramname"> <em>e</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00020.html">node</a> & </td>
- <td class="paramname"> <em>n</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Handler called after the algorithm returns from the subtree starting at <em>n</em> connected to the actual node by <em>e</em>.
- <p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>graph for which DFS was invoked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>e</em> </td><td>edge connecting the actual node to the unused one. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>unused node. </td></tr>
- </table>
- </dl>
- <p>Reimplemented from <a class="el" href="a00008.html#25ae75fe08f1d8c0fedcf9dcae09d092">dfs</a>.</p>
- </div>
- </div><p>
- <a class="anchor" name="54c5d1deed1c326f5934f4181770612b"></a><!-- doxytag: member="biconnectivity::old_adj_node_handler" ref="54c5d1deed1c326f5934f4181770612b" args="(graph &, edge &, node &)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual void biconnectivity::old_adj_node_handler </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="a00014.html">graph</a> & </td>
- <td class="paramname"> <em>G</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00010.html">edge</a> & </td>
- <td class="paramname"> <em>e</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00020.html">node</a> & </td>
- <td class="paramname"> <em>n</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Handler called when a already marked node <em>n</em> connected to the actual node by <em>e</em> is found during the search of all adjacent edges of the actual node.
- <p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>graph for which DFS was invoked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>e</em> </td><td>edge connecting the actual node to the old one. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>used node. </td></tr>
- </table>
- </dl>
- <p>Reimplemented from <a class="el" href="a00008.html#df1c667188e632761c63f529537c544c">dfs</a>.</p>
- </div>
- </div><p>
- <a class="anchor" name="e67b0c7d2677f0f60d46995ff244a6d0"></a><!-- doxytag: member="biconnectivity::new_start_handler" ref="e67b0c7d2677f0f60d46995ff244a6d0" args="(graph &, node &)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual void biconnectivity::new_start_handler </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="a00014.html">graph</a> & </td>
- <td class="paramname"> <em>G</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00020.html">node</a> & </td>
- <td class="paramname"> <em>n</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Called when DFS is started with start-node <em>n</em>.
- <p>
- This is particularly useful when DFS was invoked with the <a class="el" href="a00008.html#a7c864a6f3a120720138b187b3ed95b5" title="Enables or disables scanning of the whole graph.">scan_whole_graph</a> option.<p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>graph for which DFS was invoked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>start-node. </td></tr>
- </table>
- </dl>
- <p>Reimplemented from <a class="el" href="a00008.html#3b5fbea7a7baed9946cfb4444a7f20ea">dfs</a>.</p>
- </div>
- </div><p>
- <a class="anchor" name="cbb12e89c368f4346f36d09888d8bfb0"></a><!-- doxytag: member="biconnectivity::leave_handler" ref="cbb12e89c368f4346f36d09888d8bfb0" args="(graph &, node &, node &)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual void biconnectivity::leave_handler </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="a00014.html">graph</a> & </td>
- <td class="paramname"> <em>G</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00020.html">node</a> & </td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="a00020.html">node</a> & </td>
- <td class="paramname"> <em>f</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Handler called after all the adjacent edges of <em>n</em> have been examined.
- <p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>graph for which DFS was invoked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>actual node. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>f</em> </td><td>predecessor. </td></tr>
- </table>
- </dl>
- <p>Reimplemented from <a class="el" href="a00008.html#8071fc4e82deff7ceb2790cd4eb42280">dfs</a>.</p>
- </div>
- </div><p>
- <a class="anchor" name="eade3bbc61d1046ba80ec88988f72c44"></a><!-- doxytag: member="biconnectivity::end_handler" ref="eade3bbc61d1046ba80ec88988f72c44" args="(graph &)" -->
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">virtual void biconnectivity::end_handler </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="a00014.html">graph</a> & </td>
- <td class="paramname"> <em>G</em> </td>
- <td> ) </td>
- <td width="100%"><code> [virtual]</code></td>
- </tr>
- </table>
- </div>
- <div class="memdoc">
- <p>
- Handler called at the end of DFS.
- <p>
- <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>graph for which DFS was invoked. </td></tr>
- </table>
- </dl>
- <p>Reimplemented from <a class="el" href="a00008.html#b96c7c6183856dd9e356fdcf50835b32">dfs</a>.</p>
- </div>
- </div><p>
- <p class="links">
- <a href="http://www.uni-passau.de/">University of Passau</a>
- -
- <a href="http://www.fmi.uni-passau.de/">FMI</a>
- -
- <a href="http://www.fmi.uni-passau.de/fmi/lehrstuehle/brandenburg/">Theoretical
- Computer Science</a>
- </p>
- <div class="copyright">
- Design © 2002, 2003 <a href="mailto:raitner@fmi.uni-passau.de">Marcus Raitner</a>, University of Passau
- </div>
- </body>
- </html>
|