-
Notifications
You must be signed in to change notification settings - Fork 135
Home
Welcome to the dg wiki!
At the moment, here are just some notes I'm taking about the project. These should serve me, so if you don't get them, wait until release :)
== Why just a template and not some proper classes hierarchy? ==
That's because some nice hierarchy does not have much sense here. Image this:
Node // implementation independent node
NodeImpl
DependenceGraph:
Node *getEntry()
Node *getExit()
begin() // Node * iterator
end() // Node * iterator
DependenceGraphImpl:
all the methods...
Ok, you have nice hierarchy, but how do you use DependenceGraph? You can get nodes, iterate over nodes, but Node * has no information about what is really inside and what is the semantics of the node. You can slice it, but what you get? Just a graph with nodes and edges, but you don't know what the nodes mean. So therefore the DependenceGraph is a template and the main class you should use is the one that you derive from it, not a generic interface.