A base interface for graphs.
Most algorithms in this library are implemented in terms of graphs, which are collections of nodes and edges, but there are two types of graphs:
- Graph, which represents edges without weights.
 - WeightedGraph, which represents edges with weights.
 
This interface provides a common base class for both types of graphs, allowing algorithms to be implemented in terms of GraphBase rather than Graph or WeightedGraph specifically if they support both types.
Example
// An algorithm that accepts only unweighted graphs.
void acceptsOnlyUnweighted(Graph<String> graph) {}
// An algorithm that accepts only weighted graphs.
void acceptsOnlyWeighted(WeightedGraph<String, int> graph) {}
// An algorithm that accepts both unweighted and weighted graphs.
void acceptsBoth(GraphBase<String> graph) {
  acceptsOnlyUnweighted(graph.asUnweighted());
}
- Implemented types
 - 
    
- WalkableBase<
E>  
 - WalkableBase<
 - Implementers
 
Properties
- hashCode → int
 - 
  The hash code for this object.
  no setterinherited
 - isEmpty → bool
 - 
  Returns 
trueif the walkable collection has no nodes.no setterinherited - isNotEmpty → bool
 - 
  Returns 
trueif the walkable collection has one or more nodes.no setterinherited - 
  roots
  → Iterable<
E>  - 
  Each node that is exposed as a root node of the walkable collection.
  no setterinherited
 - runtimeType → Type
 - 
  A representation of the runtime type of the object.
  no setterinherited
 
Methods
- 
  asUnweighted(
) → Walkable< E>  - 
  Returns a view of this walkable as an unweighted walkable.
  inherited
 - 
  containsEdge(
Edge< E> edge) → bool - 
  Returns whether the collection contains an 
edgeconnecting two nodes.inherited - 
  containsRoot(
E node) → bool  - 
  Returns whether the collection contains a root node.
  inherited
 - 
  noSuchMethod(
Invocation invocation) → dynamic  - 
  Invoked when a nonexistent method or property is accessed.
  inherited
 - 
  removeEdge(
Edge< E> edge) → void - 
  Removes an 
edgefrom the graph. - 
  successors(
E node) → Iterable< void>  - 
  Returns each distinct node that is a direct successor of the given 
node.inherited - 
  toString(
) → String  - 
  A string representation of this object.
  inherited
 
Operators
- 
  operator ==(
Object other) → bool  - 
  The equality operator.
  inherited