|
|
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();