
Hi all, I've found very few references to the use of bundled properties for graph properties, as opposed to edge and vertex properties. Are these supported? I find that I can supply a bundled property type name for the adjacency_list constructor, but cannot use "get_property" to access individual field values. This type of syntax works: adjlist.m_property.fieldname = whatever; but this does not: get_property(adjlist, &graphproptype::fieldname) = whatever; although it seems like the second form would be proper (for data hiding, and also the documentation suggests this is right - at least for old-style internal properties). To be specific, the following code does not compile: // test case for bundled graph properties #include <boost/graph/adjacency_list.hpp> #include <iostream> using namespace std; using namespace boost; /// circuit graph vertex properties struct VertexProps { }; /// circuit graph edge props struct EdgeProps { }; /// graph properties struct GraphProps { int blah; }; typedef adjacency_list<vecS, // storage for vertices vecS, // storage for edges directedS, // edges are directed VertexProps, EdgeProps, GraphProps> TestGraph; int main(int argc, char **argv) { TestGraph mygraph; set_property(mygraph, &GraphProps::blah, 1); } /usr/include/boost/graph/adjacency_list.hpp: In function void boost::set_property(boost::adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>&, Tag, const Value&) [with OEL = boost::vecS, VL = boost::vecS, DirS = boost::directedS, VP = VertexProps, EP = EdgeProps, GP = GraphProps, EL = boost::listS, Tag = int GraphProps::*, Value = int]: test_graphprops.cpp:29: instantiated from here /usr/include/boost/graph/adjacency_list.hpp:433: error: no matching function for call to get_property_value(GraphProps&, int GraphProps::*) Any suggestions? Thanks and Regards, Jeff Trull