|
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