|
|
The following Vertex member functions are defined for both the generic and user-derived Vertex types:
Set_of_p<Graph> graphs() const; // Which Graphs include this Vertex? int in_graph(const Graph& g) const; // Is this Vertex in g?
There are also a set of member functions that retrieve information about the Edges that are associated with this Vertex:
Set_of_p<Edge> edges() const; // all Edges attached to this Vertex, // over all Graphs Set_of_p<Edge> in_edges() const; // all in Edges attached to this Vertex Set_of_p<Edge> out_edges() const; // all out Edges attached to this Vertex Set_of_p<Edge> loop_edges() const; // all loop Edges attached to this Vertex
and the Edges that are associated with this Vertex in a given Graph g:
Set_of_p<Edge> edges_g(const Graph& g) const; // all Edges attached to this Vertex in g Set_of_p<Edge> in_edges_g(const Graph& g) const; // all in Edges attached to this Vertex in g Set_of_p<Edge> out_edges_g(const Graph& g) const; // all out Edges attached to this Vertex in g Set_of_p<Edge> loop_edges_g(const Graph& g) const; // all loop Edges attached to this Vertex in g
Then, for a Graph g1 and Vertex v the following operations are legal:
Set_of_p<Edge> eset = v.edges_g(g1); if (v.in_graph(g1)) ... ; etc.
For instance, in our example, we might want to retrieve the edges associated with Module J over all Graphs. We would simple invoke
mod("J")->edges();