Boost logo

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