First, Thank Doug for answering my previous question on parallel edges.
Now, my question is:
How to access bundled property individually?
 

I defined my graph like this:


struct Node
{
  int label;
  int mode[3];
  //...;
};
struct Edge
{
  double nCommBord;
};
 
typedef boost::adjacency_list<
    boost::setS, boost::vecS, boost::undirectedS,
    Node, Edge> Graph;

but when I want to access property nCommBord of Edge, there seems to be wrong with my property_map type definition. Anyone can point out for me, what is the right version(I cannot seem to find any comment on this kind of usage)?
 
//get edgeWeight property
property_map<Graph, &Edge::nCommBord>::type p_e = get(&Edge::nCommBord, *rowGraph);
 
The error:
c:\...\VCProjects\...xxx.cpp(55) : error C2974: 'boost::property_map' : invalid template argument for 'Property', type expected
        c:\Boost\include\boost-1_33_1\boost\graph\properties.hpp(205) : see declaration of 'boost::property_map'

Thanks,
 
Shufei


Connect to the next generation of MSN Messenger  Get it now!