Boost logo

Boost Users :

Subject: Re: [Boost-users] Custom Edge Properties (boost-graph) - struct
From: Kya Bey (kyabey_at_[hidden])
Date: 2010-03-15 00:12:21


Hi All ,

I've been trying to use a custom structure for describing the various edge
properties of a graph. I'm defining a graph as the following

struct edge_properties {
    int capacity ;
    double weight ;
    typedef struct edge_properties_tag kind ; // NOT SURE what this does ?
};

typedef boost::adjacency_list<listS, vecS, bidirectionalS,
                              property<vertex_name_t, std::string>,
                              edge_properties > Graph;

This allows me to create a Graph instance g. I've been trying to retrieve
the edge properties via a get call, but have not been able to do so.

To retrieve the vertex properties doing the following works

property_map<Graph, vertex_name_t>::type v_names ;
v_names = get(vertex_name,g) ;

But on attempting to do something similar for retrieving the edge properties
always fails with the following error message

"test.cpp: 75: error: expected primary-expression before ',' token"

test.cpp

71: property_map<Graph, edge_properties>::type epr;
72: property_map<Graph, vertex_name_t>::type v_names ;

74: v_names = get(vertex_name,g) ;
75: epr = get(edge_properties,g) ;

I've tried various variants but seems to me i'm missing something
fundamental in the way boost-graph keeps the edge_properties hidden.
Any pointers will be useful.

Thanks in advance



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