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.