+int add_arc (struct graph *g, unsigned int vi, unsigned int vj);
+void del_arc (struct graph *g, unsigned int vi, unsigned int vj);
+
+int add_edge (struct graph *g, unsigned int vi, unsigned int vj);
+void del_edge (struct graph *g, unsigned int vi, unsigned int vj);
+
+static __inline__ unsigned int
+vertex_id (struct graph *g, struct vertex *v)
+{
+ return (unsigned int)(v - g->v);
+}