1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| // vertex
struct VertexProperties
{
int id;
int label;
VertexProperties(unsigned i=0, unsigned l=0) : id(i), label(l) {}
};
// edge
struct EdgeProperties
{
unsigned id;
unsigned label;
EdgeProperties(unsigned i=0, unsigned l=0) : id(i), label(l) {}
};
// Graph
struct GraphProperties
{
unsigned id;
unsigned label;
GraphProperties(unsigned i=0, unsigned l=0) : id(i), label(l) {}
};
// adjency list
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS,
VertexProperties,
EdgeProperties,
GraphProperties> Graph;
// descriptors
typedef boost::graph_traits<Graph>::vertex_descriptor vertex_t;
typedef std::pair<boost::graph_traits<Graph>::edge_descriptor, bool> edge_t;
// iterators
typedef graph_traits<Graph>::vertex_iterator vertex_iter;
typedef graph_traits<Graph>::edge_iterator edge_iter; |