
I cannot get calls to write_graphviz to work when using anything other than vecS for the vertex and edge descriptors. I get the following error: graphviz.hpp:255: error: no matching function for call to ‘get (boost ::bgl_named_params <boost::bundle_property_map<boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, VertInfo, boost::no_property, boost::no_property, boost::listS>, size_t, VertInfo, int>, boost::vertex_index_t, boost::no_property>&, const long unsigned int&)’ I am using bundled properties for the vertex properties, as shown below. Any ideas as to why the setS and listS containers do not work with write_graphvis? James --------------------------------- struct VertInfo { string name; int index; }; template<typename GraphT> struct VertWriter{ typedef typename graph_traits<GraphT>::vertex_descriptor Vertex; VertWriter( GraphT& _g ) : g(_g) {} void operator()( ostream& os, const Vertex& v ) const{ os << "[label=\"" << g[v].name << "\"]"; } private: GraphT& g; }; int main() { // typedef adjacency_list< vecS, vecS, directedS, VertInfo > Graph; // works. typedef adjacency_list< listS, listS, directedS, VertInfo > Graph; // doesn't work. Graph G; // populate the graph with vertex info set on each vertex... VertWriter<Graph> vw(G); boost::default_writer dw; write_graphviz( cout, G, vw, dw, dw ); } ----------------------------------- NOTE: I have also tried write_graphviz( cout, G, vw, dw, dw, vertex_index_map( boost::get(&VertInfo::index,G) ) ); which gives the same compiler error.