
Boost Users : 
Subject: Re: [Boostusers] [graph] Convert bidirectional graphs into directed graphs
From: Juan Antonio Farré Basurte (jafb_at_[hidden])
Date: 20090319 02:08:12
>> I need to convert any bidirectional graph into an
>> adjacency_list<vecS,vecS,directedS>,
>> but looks
like the copy constructor cannot handle it (needs the same type in input).
>> I don't see any simple way to convert any directed graph
into an adjacency_list<vecS,vecS,directedS>.
>> Is there any moreorlesssimple way to do it that I don't know? May be there is a
way to copy graphs constrained not by the concrete type of the graph,
>> but only, may be, on graph concepts?
>> Thanks,
>
> There's no direct conversion between *any* bidirectional graph and a directed adjancency_list. If you're talking about any
bidirectional adjacency list and a directed one, you shouldn't actually need to convert them.
>
> As an alternative, you could use
copy_graph.
>
I need to do a copy of the graph before writing it into graphml or graphviz as a workaround
for the problem I
reported with subject
[graph] Looks like there is a bug in some graphwriting function
, which in my second message with the
same subject I clarified the problem was related with
creating dynamic_properties from bundled properties. It doesn't work with const graphs
and I don't trust just performing a const_cast. I want to make sure that the input graph to
my graphwriting functions is not modified at
all.
One solution would be just to do
Graph *copy=new Graph(graph);
where Graph is the graphtype template parameter, but
this would require Graph to model
Assignable, and I don't want to impose that. Also, copying the graph into a directed
(not bidirectional)
adjacency_list will save memory.
copy_graph is perfect for my needs, as graphwriting boost functions already require the graph
to
model VertexListGraph (and, in general, the code I'm developing too).
Sorry for not remembering about copy_graph and thank you very much
:)
Juan
Boostusers 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