This iterator class lists the edges of a minimum cut found by GomoryHu. Before using it, you must allocate a GomoryHu class and call its run() method.
This example computes the value of the minimum cut separating s from t.
GomoryHu<Graph> gom(g, capacities); gom.run(); int value=0; for(GomoryHu<Graph>::MinCutEdgeIt e(gom,s,t); e!=INVALID; ++e) value+=capacities[e];
The result will be the same as the value returned by gom.minCutValue(s,t).
#include <lemon/gomory_hu.h>
Public Member Functions | |
| MinCutEdgeIt (GomoryHu const &gomory, const Node &s, const Node &t, bool side=true) | |
| operator typename Graph::Arc () const | |
| operator typename Graph::Edge () const | |
| MinCutEdgeIt & | operator++ () |
| Graph::Arc | operator++ (int) |
| Postfix incrementation. | |
| MinCutEdgeIt | ( | GomoryHu const & | gomory, |
| const Node & | s, | ||
| const Node & | t, | ||
| bool | side = true |
||
| ) | [inline] |
Constructor.
| gomory | The GomoryHu class. You must call its run() method before initializing this iterator. |
| s | The base node. |
| t | The node you want to separate from node s. |
| side | If it is true (default) then the listed arcs will be oriented from the nodes of the component containing s, otherwise they will be oriented in the opposite direction. |
| operator typename Graph::Arc | ( | ) | const [inline] |
Conversion to Arc.
| operator typename Graph::Edge | ( | ) | const [inline] |
Conversion to Edge.
| MinCutEdgeIt& operator++ | ( | ) | [inline] |
Next edge.
| Graph::Arc operator++ | ( | int | ) | [inline] |
Postfix incrementation.
Arc, not a MinCutEdgeIt, as one may expect.
1.7.3