Boost logo

Boost Users :

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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net