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