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,
>>
>> http://www.boost.org/doc/libs/1_48_0/libs/graph/doc/MutablePropertyGraph.html
>> (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.

Done.

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

Done.

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
> https://svn.boost.org/trac/boost/ticket/1021 (I don't know how LEDA
> properties work).

I will do that later.

   -- Jens




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk