
On Tue, 8 Mar 2011, al.zatv wrote:
Jeremiah Willcock
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
fwdGraph; typedef reverse_graph 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