ForwardingGraph<V, E> class

Graph that forwards to a delegate implementation.

Inheritance
Available extensions

Constructors

ForwardingGraph(Graph<V, E> delegate)

Properties

defaultToStringPrinter → ObjectPrinter
Override to configure the empty ObjectPrinter.
no setterinherited
delegate → Graph<V, E>
final
edges → Iterable<Edge<V, E>>
Returns the edges of this graph.
no setteroverride
hashCode → int
The hash code for this object.
no setterinherited
isDirected → bool
Returns true, if the graph is directed.
no setteroverride
isUnmodifiable → bool
Returns true, if the graph is unmodifiable.
no setteroverride
reversed → Graph<V, E>

Available on Graph<V, E>, provided by the ReversedGraphExtension extension

Returns a graph where all edges point in the opposite direction.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
toStringPrinter → ObjectPrinter
Override and call super to add values to the ObjectPrinter.
no setterinherited
unmodifiable → Graph<V, E>

Available on Graph<V, E>, provided by the UnmodifiableGraphExtension extension

Returns a graph that throws an exception when being modified.
no setter
vertexStrategy → StorageStrategy<V>
Returns a strategy to store vertices.
no setteroverride
vertices → Iterable<V>
Returns the vertices of this graph.
no setteroverride

Methods

addEdge(V source, V target, {E? value}) → void
Adds an edge between source and target vertex. Optionally associates the provided value with the edge. If the edge already exists, replaces the existing edge data.
override
addVertex(V vertex) → void
Adds a vertex to this graph.
override
addVertices(Iterable<V> vertices) → void
Adds all vertices to this graph.
inherited
allShortestPaths({num edgeCost(V source, V target)?, StorageStrategy<V>? vertexStrategy}) → FloydWarshall<V>

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Computes all shortest paths between all pairs of vertices in a graph.
breadthFirst(V vertex, {StorageStrategy<V>? vertexStrategy}) → Iterable<V>

Available on Graph<V, E>, provided by the BreadthFirstGraphExtension extension

Traverses the vertices in a breadth-first order, starting with vertex.
breadthFirstAll(Iterable<V> vertices, {StorageStrategy<V>? vertexStrategy}) → Iterable<V>

Available on Graph<V, E>, provided by the BreadthFirstGraphExtension extension

Traverses the vertices in a breadth-first order, starting with vertices.
complement({bool allowSelfLoops = false, E? edge(V source, V target)?}) → Graph<V, E>

Available on Graph<V, E>, provided by the LogicalGraphExtension extension

Returns the complement of this graph, that is a graph with the same vertices but with edges between vertices that had no edge.
connected() → Iterable<Graph<V, E>>

Available on Graph<V, E>, provided by the ConnectedGraphExtension extension

Returns an iterable of the connected sub-graphs.
copy({bool empty = false}) → Graph<V, E>

Available on Graph<V, E>, provided by the CopyGraphExtension extension

Creates a copy of this graph.
depthFirst(V vertex, {StorageStrategy<V>? vertexStrategy}) → Iterable<V>

Available on Graph<V, E>, provided by the DepthFirstGraphExtension extension

Traverses the vertices in a depth-first order, starting with vertex.
depthFirstAll(Iterable<V> vertices, {StorageStrategy<V>? vertexStrategy}) → Iterable<V>

Available on Graph<V, E>, provided by the DepthFirstGraphExtension extension

Traverses the vertices in a depth-first order, starting with vertices.
depthFirstPostOrder(V vertex, {StorageStrategy<V>? vertexStrategy}) → Iterable<V>

Available on Graph<V, E>, provided by the DepthFirstPostOrderGraphExtension extension

Traverses the vertices in a depth-first order, starting with vertex.
depthFirstPostOrderAll(Iterable<V> vertices, {StorageStrategy<V>? vertexStrategy}) → Iterable<V>

Available on Graph<V, E>, provided by the DepthFirstPostOrderGraphExtension extension

Traverses the vertices in a depth-first order, starting with vertices.
edgesOf(V vertex) → Iterable<Edge<V, E>>
Returns the incoming and outgoing edges of vertex.
override
findCliques({StorageStrategy<V>? vertexStrategy}) → Iterable<Set<V>>

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Returns the maximal cliques in this undirected graph. The implementation uses the Bron–Kerbosch algorithm and runs in exponential time.
getEdge(V source, V target) → Edge<V, E>?
Returns the edge between source and target, or null.
override
hasCycle({StorageStrategy<V>? vertexStrategy}) → bool

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Checks if the directed graph has a cycle.
incomingEdgesOf(V vertex) → Iterable<Edge<V, E>>
Returns the incoming edges of vertex.
override
intersection(Graph<V, E> other, {bool edgeCompare(V source, V target, E a, E b)?, E edgeMerge(V source, V target, E a, E b)?}) → Graph<V, E>

Available on Graph<V, E>, provided by the LogicalGraphExtension extension

Returns the intersection of this graph and other. This is a graph with the nodes and edges present in both graphs. edgeMerge specifies how parallel edges are merged, if unspecified the last one is used.
isBipartite({StorageStrategy<V>? vertexStrategy}) → bool

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Checks if the graph is bipartite.
map<VR, ER>({VR vertex(V vertex)?, ER? edge(Edge<V, E> edge)?, StorageStrategy<VR>? vertexStrategy}) → Graph<VR, ER>

Available on Graph<V, E>, provided by the MapGraphExtension extension

Creates a new graph by mapping vertices and edges to new values.
maxFlow({num edgeCapacity(V source, V target)?, StorageStrategy<V>? vertexStrategy}) → DinicMaxFlow<V>

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Returns an object that can compute the maximum flow between different vertices of this graph using the Dinic max flow algorithm.
minCut({num edgeWeight(V source, V target)?, StorageStrategy<V>? vertexStrategy}) → StoerWagnerMinCut<V, E>

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Returns an object that computes the min-cut using the Stoer-Wagner algorithm.
neighboursOf(V vertex) → Iterable<V>
Returns the vertices that are adjacent to a vertex.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
outgoingEdgesOf(V vertex) → Iterable<Edge<V, E>>
Returns the outgoing edges of vertex.
override
predecessorsOf(V vertex) → Iterable<V>
Returns the vertices that come before a vertex.
override
putEdge(V source, V target, E ifAbsent()) → E
Look up the value of the edge between source and target, or add a new edge with the value of ifAbsent if it isn't there.
inherited
randomWalk(V vertex, {num edgeProbability(V source, V target)?, bool selfAvoiding = false, Random? random, StorageStrategy<V>? vertexStrategy}) → Iterable<V>

Available on Graph<V, E>, provided by the RandomWalkGraphExtension extension

Traverses the vertices in a random order.
removeEdge(V source, V target) → void
Removes an edge between source and target from this graph.
override
removeVertex(V vertex) → void
Removes a vertex from this graph.
override
shortestPath(V source, V target, {num edgeCost(V source, V target)?, num costEstimate(V vertex)?, bool includeAlternativePaths = false, bool hasNegativeEdges = false, StorageStrategy<V>? vertexStrategy}) → Path<V, num>?

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Performs a search for the shortest path between source and target.
shortestPathAll(V source, {Predicate1<V>? targetPredicate, num edgeCost(V source, V target)?, num costEstimate(V vertex)?, bool includeAlternativePaths = false, bool hasNegativeEdges = false, StorageStrategy<V>? vertexStrategy}) → Iterable<Path<V, num>>

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Performs a search for the shortest paths starting at source.
spanningTree({V? startVertex, num edgeWeight(V source, V target)?, Comparator<num>? weightComparator, StorageStrategy<V>? vertexStrategy}) → Graph<V, E>

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Returns the spanning tree of the graph.
stronglyConnected({StorageStrategy<V>? vertexStrategy}) → Iterable<Set<V>>

Available on Graph<V, E>, provided by the AlgorithmsGraphExtension extension

Returns the strongly connected components in this directed graph. The implementation uses the Tarjan's algorithm and runs in linear time.
successorsOf(V vertex) → Iterable<V>
Returns the vertices that come after a vertex.
override
toDot({Map<String, String>? graphAttributes, String vertexLabel(V vertex)?, Map<String, String> vertexAttributes(V vertex)?, String edgeLabel(Edge<V, E> edge)?, Map<String, String> edgeAttributes(Edge<V, E> edge)?}) → String

Available on Graph<V, E>, provided by the ExportGraphExtension extension

Export this graph to DOT Language typically used to describe Graphviz graphs.
topological(V vertex, {StorageStrategy<V>? vertexStrategy}) → Iterable<V>

Available on Graph<V, E>, provided by the TopologicalGraphExtension extension

Traverses the vertices in a topological order, starting with vertex.
topologicalAll(Iterable<V> vertices, {StorageStrategy<V>? vertexStrategy}) → Iterable<V>

Available on Graph<V, E>, provided by the TopologicalGraphExtension extension

Traverses the vertices in a topological order, starting with vertices.
toString() → String
Standard Object.toString implementation. Do not override, instead implement toStringPrinter to customize.
inherited
union(Graph<V, E> other, {E edgeMerge(V source, V target, E a, E b)?}) → Graph<V, E>

Available on Graph<V, E>, provided by the LogicalGraphExtension extension

Returns the union of this graph and other. This is a graph with the nodes and edges present in either of the two graphs. edgeMerge specifies how parallel edges are merged, if unspecified the last one is used.
where({bool vertexPredicate(V vertex)?, bool edgePredicate(Edge<V, E> edge)?}) → Graph<V, E>

Available on Graph<V, E>, provided by the WhereGraphExtension extension

Returns a new lazy Graph with all vertices that satisfy the vertexPredicate and all edges that satisfy the edgePredicate.

Operators

operator ==(Object other) → bool
The equality operator.
inherited