>> 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 more-or-less-simple 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 graph-writing 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 graph-writing functions is not modified at
all.
One solution would be just to do
Graph *copy=new Graph(graph);
where Graph is the graph-type 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 graph-writing 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