[Lemon-devel] Some design topics

Balazs Dezso deba at inf.elte.hu
Mon Jan 8 12:11:04 CET 2007


Dear Developers,

I would like to define a less strict Lemon Iterator concept.
The Invalid should be convertible to our iterator and two iterators can be 
checked by equality operator. In my opinion it is in many time too strict so 
we should define a less strict concept which does not provide equality 
checking and invalid conversion. It should provide just validity checking:

New concept:
bool operator==(Invalid)
bool operator!=(Invalid)

Instead of:
SomeIt(Invalid)
bool operator==(SomeIt)
bool operator!=(SomeIt)

The graph iterators shold be strict iteratots but some other cases the new one 
can be implemented in more efficient way.

Other important topic is the flow algorithms and the undirected graphs. The 
undirected graphs can be used in flow algorithms because they are also 
directed graphs too. By the way some constructions, by example residual 
graphs, could be implemented easier and more efficient in the undirected 
case. I think the flow algorithms design could be take care of the efficient 
undirected implementations.

Best, Balazs



More information about the Lemon-devel mailing list