|
Boost Users : |
From: Todd A. Gibson (tgibson_at_[hidden])
Date: 2005-07-06 12:23:02
Hello,
I am working with brandes_betweenness_centrality in the BGL and am
having difficulty correctly constructing the syntax for retrieving an
EdgeCentralityMap using exterior properties. I can successfully
invoke the function using bundled properties:
struct EdgeAttrs {
unsigned int index;
double weight;
};
template<class GraphType>
boost::python::list betweenness_centrality(GraphType& g)
{
typedef typename GraphType::edge_descriptor Edge;
std::vector<float> centmap(num_vertices(g));
std::vector<float> edgecent(num_edges(g));
brandes_betweenness_centrality (g,
centrality_map(make_iterator_property_map(centmap.begin(),
boost::get(vertex_index, g), float()))
.edge_centrality_map(make_iterator_property_map(edgecent.begin(),
boost::get(&EdgeAttrs::index, g),float()))
.weight_map(boost::get(&EdgeAttrs::weight, g)));
...
Among my attempts, here's a typical one that won't compile:
typedef typename std::map<Edge, double> EdgeMap;
EdgeMap myedges;
//...
boost::associative_property_map< EdgeMap > edge_assoc_map(myedges);
brandes_betweenness_centrality(g, ...
.edge_centrality_map(edge_assoc_map) ...)
Can someone enlighten me?
Thanks,
-TAG
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