rincedd/largenet2 — Issue #2: make directed/undirected a compile-time decision
Author: rincedd
Created: 2011-12-07 16:27:24+00:00
State: open

I wonder if the possibility of mixed graphs, i.e. containing both directed and undirected edges at the same time, is so useful. Of course, this might be the case in some real-world networks, but for simulation purposes undirected edges in a directed graph can always be represented as two directed edges?

So, distinguishing between directed and undirected *graphs* instead of edges at compile time seems like a good idea. This would involve making the `ElementFactory` a template on the directedness, so that there would be different factories for directed and undirected elements. Then of course nodes would be different for directed and undirected graphs, as they store their adjacent edges differently. Could this be moved to some edge storage policy?

For compatibility with `boost::graph`, this would also improve things a lot.