
On Tue, 3 Jan 2012, Jens Müller wrote:
Hi,
http://www.boost.org/doc/libs/1_48_0/libs/graph/doc/MutablePropertyGraph.htm... (I cannot find docs for VertexMutablePropertyGraph or EdgeMutablePropertyGraph) says that the types boost::graph_traits<G>::vertex_property_type and boost::graph_traits<G>::edge_property_type must exist.
However, the concept checks (in boost/graph/graph_concepts.hpp) check for vertex_property_type<G>::type and edge_property_type<G>::type, respectively.
Several questions:
1. Should there be separate docs for VertexMutablePropertyGraph and EdgeMutablePropertyGraph?
Perhaps -- I don't know whether it was intended that a graph might have vertex properties but not edge properties. No algorithms appear to use either of the concept checks.
2. Should there be an actual concept check implementation for MutablePropertyGraph combining the two?
Yes, I think so.
3. Should the concept check look for boost::graph_traits<G>::vertex_property_type instead of ertex_property_type<G>::type? [and the same for edge]
No -- the documentation should be updated.
4. For the LEDA adapter, i.e., external adaptation, do I have to specialize vertex_property_type<G> and edge_property_type<G>?
Yes. You may also need to be careful to avoid a problem like the one in https://svn.boost.org/trac/boost/ticket/1021 (I don't know how LEDA properties work). -- Jeremiah Willcock