addEdge method
- Edge<
E> edge
override
Adds an edge from to the graph.
Returns true if the edge was added, false if it was already present.
If the edge was added, the graph must:
- Add the edge to the graph so that containsEdge returns
true; - Yield
targetas a successor ofsourcein successors; - If
sourcehas no predecessors, returntruefor containsRoot;
In addition, the graph may, depending on the implementation:
- Add
sourceandtargetto the graph if they are not already present; - Consider the inverse also an edge, i.e. for undirected graphs.
Implementation
@override
bool addEdge(Edge<E> edge) {
final a = super.addEdge(edge);
final b = super.addEdge(edge.reversed);
assert(a == b, 'Inconsistent undirected edges');
return a;
}