$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] [graph] Is reverse_graph<> read-only?
From: Jeremiah Willcock (jewillco_at_[hidden])
Date: 2011-03-08 15:57:12
On Tue, 8 Mar 2011, al.zatv wrote:
> Jeremiah Willcock <jewillco_at_[hidden]> wrote, Fri, 18 Feb 2011 02:14:08 
> +0300:
>
>>>>> Is reverse_graph<> in Boost::Graph Library, read-only?
>>>> It appears to be read-only.  It should be possible to add mutation; it 
>>>> just isn't there yet.  Do you need that feature?
>
>> other case, though.  Could you please add in the rest of the mutating
>> functions so that I can add your code to BGL?
>
>
> Hello! I find the time and add all mutable functions. Not fast, but I did 
> it:) I attach them to this message.
>
> I also wrote small test program, but may be it must be tested more deeply. I 
> want to find way to do it with minimal writing of code. What do you think?
>
>
> And, one problem: it doesn't pass test for MutableBidirectionalGraphConcept. 
> For example:
>
> 	typedef adjacency_list<setS, vecS, bidirectionalS> fwdGraph;
> 	typedef reverse_graph<fwdGraph,fwdGraph&> Graph;
> 	//TODO: this fails:  function_requires< 
> MutableBidirectionalGraphConcept<Graph> >();
>
> It is in attached test file. Could you please drop a look at this?
I'm taking a look; one issue is that your test file is not valid C++03 (it 
uses C++0x auto).  Some of your failures were because of other issues in 
BGL; those are now fixed (r69726 in trunk).  I had failures in your code 
even without uncommenting anything; I think there are two issues:
1. You are using G::vertex_property_type rather than 
vertex_property_type<G>::type to get the list of vertex properties, and 
the same for edge properties.  The member forms of those traits are not 
defined for reverse_graph.
2. You don't have a remove_edge overload that takes an out_edge_iterator 
as the first parameter (you have one for edge_iterator, but that is not 
the same thing).
-- Jeremiah Willcock