[graph] "get" bundled properties removed?

Hi, The "get" function for bundled properties has been removed in the 1.51 release of boost and I don't know what is the new way to do this. This code doesn't compile anymore:
boost::write_graphviz( os, g.getGraph(), make_simple_node_writer( get( &Vertex::_name, g.getGraph() ) ), make_simple_node_writer( get( &ProcessEdge::_name, g.getGraph() ) ) ); https://github.com/tuttleofx/TuttleOFX/blob/master/libraries/tuttle/src/tutt...
The following code has been completely removed from "boost/graph/adjacency_list.hpp": " // Support for bundled properties #ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES template<typename OutEdgeListS, typename VertexListS, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS, typename T, typename Bundle> inline typename property_map<adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>, T Bundle::*>::type get(T Bundle::* p, adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>& g) { typedef typename property_map<adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>, T Bundle::*>::type result_type; return result_type(&g, p); } template<typename OutEdgeListS, typename VertexListS, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS, typename T, typename Bundle> inline typename property_map<adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>, T Bundle::*>::const_type get(T Bundle::* p, adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS> const & g) { typedef typename property_map<adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>, T Bundle::*>::const_type result_type; return result_type(&g, p); } template<typename OutEdgeListS, typename VertexListS, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS, typename T, typename Bundle, typename Key> inline T get(T Bundle::* p, adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS> const & g, const Key& key) { return get(get(p, g), key); } template<typename OutEdgeListS, typename VertexListS, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS, typename T, typename Bundle, typename Key> inline void put(T Bundle::* p, adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>& g, const Key& key, const T& value) { put(get(p, g), key, value); } #endif " What is the replacement to this "get" accessor? Regards, Fabien

On Tue, 11 Sep 2012, Fabien Castan wrote:
Hi,
The "get" function for bundled properties has been removed in the 1.51 release of boost and I don't know what is the new way to do this.
This code doesn't compile anymore:
boost::write_graphviz( os, g.getGraph(), make_simple_node_writer( get( &Vertex::_name, g.getGraph() ) ), make_simple_node_writer( get( &ProcessEdge::_name, g.getGraph() ) ) ); https://github.com/tuttleofx/TuttleOFX/blob/master/libraries/tuttle/src/tutt...
That syntax is still supposed to work; it was just changed to be implemented in a different way. What is your full error message, and what compiler are you using? -- Jeremiah Willcock

That syntax is still supposed to work; it was just changed to be implemented in a different way. What is your full error message, and what compiler are you using?
Error with g++ 4.6.3 http://pastebin.com/RGqZR0i0 Error with clang version 3.0-6ubuntu3 (LLVM 3.0) http://pastebin.com/KAHJZ9KD

On Wed, 12 Sep 2012, Fabien Castan wrote:
That syntax is still supposed to work; it was just changed to be implemented in a different way. What is your full error message, and what compiler are you using?
Error with g++ 4.6.3 http://pastebin.com/RGqZR0i0
Error with clang version 3.0-6ubuntu3 (LLVM 3.0) http://pastebin.com/KAHJZ9KD
Check with the newest trunk version of Boost; I believe I fixed this issue yesterday or so. -- Jeremiah Willcock
participants (2)
-
Fabien Castan
-
Jeremiah Willcock