Arc
type of the digraph.
For example, if the given digraph has an Euler tour (i.e it has only one non-trivial component and the in-degree is equal to the out-degree for all nodes), then the following code will put the arcs of g
to the vector et
according to an Euler tour of g
.
std::vector<ListDigraph::Arc> et; for(DiEulerIt<ListDigraph> e(g); e!=INVALID; ++e) et.push_back(e);
g
has no Euler tour, then the resulted walk will not be closed or not contain all arcs. #include <lemon/euler.h>
Public Member Functions | |
DiEulerIt (const GR &gr, typename GR::Node start=INVALID) | |
Constructor. | |
operator Arc () | |
Arc conversion. | |
bool | operator== (Invalid) |
Compare with INVALID . | |
bool | operator!= (Invalid) |
Compare with INVALID . | |
DiEulerIt & | operator++ () |
Next arc of the tour. | |
Arc | operator++ (int) |
Postfix incrementation. |
Constructor.
gr | A digraph. | |
start | The starting point of the tour. If it is not given, the tour will start from the first node that has an outgoing arc. |
DiEulerIt& operator++ | ( | ) | [inline] |
Next arc of the tour
Arc operator++ | ( | int | ) | [inline] |
Postfix incrementation.
Arc
, not a DiEulerIt, as one may expect.