Boost logo

Boost :

Subject: Re: [boost] [Graph] Concept check VertexMutablePropertyGraph
From: Jens Müller (blog_at_[hidden])
Date: 2012-01-05 17:13:25

Am 05.01.2012 14:15, schrieb Jeremiah Willcock:
> On Tue, 3 Jan 2012, Jens Müller wrote:
>> Hi,
>> (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.

I leave that out for now. I first have to understand the structure of
the Graph and Propery concepts better. Unlike MutablePropertyGraph,
PropertyGraph also has the PropertyTag as template parameter.

To be honest, I don't really see a reason to check whether a Graph has
property maps at all - I would want to know whether it has a specific
property ...

>> 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.


Patch is attached.

>> 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
> (I don't know how LEDA
> properties work).

I will do that later.

   -- Jens

Boost list run by bdawes at, gregod at, cpdaniel at, john at