|
Boost Users : |
From: abhishek.v_at_[hidden]
Date: 2007-12-07 04:36:08
Hi
I m able to use the transitive closure using simple definition of adj_list
as
typedef adjacency_list <setS, vecS, bidirectionalS, property
<vertex_name_t, std::string>, property <edge_weight_t, int> > Graph;
and then calling
transitive_closure(g, TC);
graph_traits <Graph>::vertex_iterator vi, vend;
for (tie(vi, vend) = vertices(TC); vi != vend; ++vi)
{
file_op << "\n " << vertices_name[*vi] ;
}
Gives me correct output.
o/p :- A
B
C
D
Where A,B,C,D represent name of the vertices
But when i try to the graph in bundled properties like
struct Process
{
string name;
};
typedef adjacency_list <setS, vecS, bidirectionalS,Process, property
<edge_weight_t, int> > Graph;
transitive_closure(g, TC);
graph_traits <Graph>::vertex_iterator vi, vend;
for (tie(vi, vend) = vertices(TC); vi != vend; ++vi)
{
file_op << "\n " << TC[*vi].name ;
}
Gives me correct output.
o/p :-
Means in the second case it returns me empty string for the name of the
vertices what could be the reason for this.
Kindly help
Thanks in Advance
Abhishek Vyas
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
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