Hi!


I am currently trying to implement a new graph type which I want to use with the BGL. The graph implements the Incidence Graph concept and should work out of the box with DFS algorithm of the BGL. However, I had to find out that the edge_descriptor must obey an EqualityComparison concept which keeps DFS from compiling. My current edge_descriptor is just a typedef to std::pair<vertex_descriptor, vertex_descriptor>. The vertex_descriptor itself is a custom object I wrote myself.

This is actually documented in the quickbook version of the documents... which are incomplete and not distributed :)

I am actually working on them today... A rare case of free time before I have to teach a class.

I found out that if vertex_descriptor is something like std::size_t for which all sort of operators are defined, everything is ok. So I suppose it is sufficient to supply equality operators and the like for my custom vertex_descriptor and I will be fine, right? Can I get the newer quickbook version documents somewhere? svn? What branch? Would be great as it looks like graph documentation is rather out-dated, e.g. the parallel library is now in boost, but nowhere documented.
 
 
Another problem turns out to appear with the copy-graph algorithm. This algorithm tries to copy vertex_all-property maps and edge_all property maps which I simply do not have defined in my custom graph as I only support the vertex_index mechanism. So what to do here? How can I tell copy-graph that these maps are not existent?

Any help would be great here as I have the impression to hit limits of the documentation (the Equality-thing is not mentioned in the docs, at least I did not find it...).

I'm not particularly familiar with the inner workings of the algorithm. Do you actually need the algorithm? Most graph data structures are CopyConstructible and Assignable (Semiregular, I think). If your graphs are of the same type, you could probably use those features.

Well, yes I need it. I am using the same program with different underlying graphs, depending on what I want to do. So I definetly would like to make things work with copy_graph ... I looked into the definition of adjacency_list, but this is a beast in my eyes and is not well readable to me. So this vertex_all-property is still puzzling me...

Thanks a lot,

Sebastian
 
 
Andrew Sutton
andrew.n.sutton@gmail.com

_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users