Listing 3: Constructing a compile-time property list
struct Point { double x_,y_; }; enum vertex_coord_t { vertex_coord = 0 }; namespace boost { BOOST_INSTALL_PROPERTY(vertex, coord); } enum vertex_insidecurve_t { vertex_insidecurve = 1 }; namespace boost { BOOST_INSTALL_PROPERTY(vertex, insidecurve); } typedef boost::property<vertex_coord_t, Point, boost::property<vertex_insidecurve_t,bool> > VertexProp; End of Listing