
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