
Hi, I am fairly new to the Boost Graph Libraries and am facing a problem in my code. I would appreciate your help with it. I have a program which already uses the BGL successfully. I just tried to implement as additional thing based on similar lines as existing code but the program gives me a "Segmentation Fault". [i am trying to define a New Custom vertex property called vertex_length ( in addition to earlier defined ones like vertex_coordinate_r,vertex_coordinate, vertex_depth) which gives distance from a root vertex to vertex under consideration] The.hpp contains: namespace boost { enum vertex_coordinate_t {vertex_coordinate = 1000}; enum vertex_coordinate_r_t {vertex_coordinate_r = 1001}; enum vertex_depth_t {vertex_depth = 1002}; enum vertex_length_t {vertex_length = 1003}; enum edge_generation_t {edge_generation = 1004}; BOOST_INSTALL_PROPERTY(vertex, coordinate); BOOST_INSTALL_PROPERTY(vertex, coordinate_r); BOOST_INSTALL_PROPERTY(vertex, depth); BOOST_INSTALL_PROPERTY(vertex, length); *// Line added by me* BOOST_INSTALL_PROPERTY(edge, generation); } typedef boost::property<boost::vertex_coordinate_t, Coordinate3D, boost::property<boost::vertex_coordinate_r_t, Coordinate3D, boost::property<boost::vertex_depth_t, int, boost::property<boost::vertex_length_t, int > > > > VertexProperty; typedef boost::property<boost::edge_generation_t, int> EdgeProperty; and later on inside a class: typedef boost::property_map<graph_t, boost::vertex_coordinate_t>::type v_coordinate_map_t; typedef boost::property_map<graph_t, boost::vertex_coordinate_r_t>::type v_coordinate_r_map_t; typedef boost::property_map<graph_t, boost::vertex_depth_t>::type v_depth_map_t; typedef boost::property_map<graph_t, boost::vertex_length_t>::type v_length_map_t; *// Line added by me* typedef boost::property_map<graph_t, boost::edge_generation_t>::type e_generation_map_t; ..............................................and so on.. While debugging, I have noticed that in the constructor - m_v_vertex_PROPERTY = boost::get(boost::vertex_PROPERTY, mygraph) where PROPERTY is either vertex_coordinate_r, vertex_coordinate, vertex_depth works well but does not work for vertex_length. When watched, the variable m_v_vertex_length gives "No symbol "m_v_vertex_length" in current context". I think there is problem in installing the property. What could be going wrong? Thanks for your help.
participants (1)
-
Shalmali Bodas