@Quaoar I recently found your blog and finally took the time to read it all. Great info and thanks so much for putting it out there.
One subject that grabbed my attention was the Attributed Adjacency Graph (AAG) as I have done quite a bit of similar work. Out of curiosity, I took a peek at the AnalysisSitus, AAG code. I based my work off of boost::graph and I spent a lot of time frustrated and confused, but at this point I am glad I did. What I like:
Constant time graph adapters, like reverse_graph, filtered_graph.
graphviz generation is supported and a must for me to reason and debug complicated graphs. picture attached.
Numerous built in algos and visitor pattern for custom DFS and BFS.
What I don't like, typical for heavily template libraries:
ugly code.
long compiles.
never ending compiler error messages.
boost graph has additional quirks that are hard work through.
Anyway I am curious about your decision to create your own graph structure. Did you look at others?
One subject that grabbed my attention was the Attributed Adjacency Graph (AAG) as I have done quite a bit of similar work. Out of curiosity, I took a peek at the AnalysisSitus, AAG code. I based my work off of boost::graph and I spent a lot of time frustrated and confused, but at this point I am glad I did. What I like:
Constant time graph adapters, like reverse_graph, filtered_graph.
graphviz generation is supported and a must for me to reason and debug complicated graphs. picture attached.
Numerous built in algos and visitor pattern for custom DFS and BFS.
What I don't like, typical for heavily template libraries:
ugly code.
long compiles.
never ending compiler error messages.
boost graph has additional quirks that are hard work through.
Anyway I am curious about your decision to create your own graph structure. Did you look at others?