Boost logo

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