|
Boost Users : |
From: yg-boost-users_at_[hidden]
Date: 2003-02-12 14:28:01
I have the following code in one of my header files:
struct vertex_type_t {
typedef boost::vertex_property_tag kind;
};
enum vtype { ROOT, INNER, LEAF };
typedef boost::property<vertex_type_t, enum vtype> vertex_type;
typedef boost::property<boost::vertex_index_t, int, vertex_type>
vertex_index;
typedef boost::property<boost::vertex_name_t,
std::string, vertex_type> vertex_property;
typedef boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, vertex_property, edge_property> tree;
Notice the error: The vertex properties are not chained
together. Rather, the actual vertex property that is added to the
graph points to vertex_type, and the vertex_index /also/ points to the
vertex_type!
Now the strange thing: I have been running this and using all of the
vertex properties, including vertex_index, without any problems, but
when I noticed this, and tried setting the last template parameter of
vertex_property to vertex_index instead I get segmentation faults. I
have no idea why this is.
Björn
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