D graph library -- update

w0rp devw0rp at gmail.com
Thu Jul 11 11:14:00 PDT 2013


I don't like it. Here is why.

1. You can only use a size_t type as the vertex type. What about 
strings?
2. The distinction between directed and undirected graphs is made 
with an boolean type parameter? Why not an enum? Better yet, why 
not just use interfaces? (You are already using classes and 
garbage collected memory.)
3. I have to control the graph's capacity manually, and I can't 
use arbitrary numbers for edges.
4. Adding an edge doesn't add vertices.

My most common use of graphs is to start from nothing, build from 
adding edges arbitrarily, usually from IDs which may be integers, 
and may be strings, and then use graph algorithms to gain some 
understanding of the relation between objects mapped to these 
IDs. With this library, this will be difficult or impossible.


More information about the Digitalmars-d mailing list