Contains algorithms and local values to be used by the algorithms.
Contains algorithms and local values to be used by the algorithms. Last target reusability and best possible run-time performance.
Finds a node connected with root
by any number of edges with any direction
for which the predicate pred
holds considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Finds a node connected with root
by any number of edges with any direction
for which the predicate pred
holds considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
For directed or mixed graphs the node to be found is weekly connected with this node.
root
itself does not count as a match. This is also true if it has a hook.
If several connected nodes exist with pred
the algorithm selects any one of these.
The predicate which must hold true for the resulting node.
An optional function that is applied for its side-effect to every element visited during graph traversal.
A node with the predicate pred
or None
if either
pred
orFinds a cycle starting the search at root
$INTOACC, if any.
Finds a cycle starting the search at root
$INTOACC, if any.
The resulting cycle may start at any node connected with this
node.
$OPTVISITOR
A cycle or None
if either
root
orFinds a predecessor of root
for which the predicate pred
holds considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Finds a predecessor of root
for which the predicate pred
holds considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
root
itself does not count as a match. This is also true if it has a hook.
If several predecessors exist the algorithm selects the first of them found.
The predicate which must hold true for the resulting node.
An optional function that is applied for its side-effect to every element visited during graph traversal.
A node with the predicate pred
or None
if either
pred
orroot
but due to withSubgraph settings this path was out of scope.Finds a successor of root
for which the predicate pred
holds considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Finds a successor of root
for which the predicate pred
holds considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
root
itself does not count as a match. This is also true if it has a hook.
If several successors holding pred
exist any one of them may be returned.
The predicate which must hold for the resulting node.
An optional function that is applied for its side-effect to every element visited during graph traversal.
A node with the predicate pred
or None
if either
pred
orChecks whether potentialPredecessor
is a predecessor of root
considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Checks whether potentialPredecessor
is a predecessor of root
considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Same as isSuccessorOf
.
The node which is potentially a predecessor of root
.
An optional function that is applied for its side-effect to every element visited during graph traversal.
true
if a path exists from potentialPredecessor
to root
and
it had not to be excluded due to subgraph
properties.
Checks whether potentialSuccessor
is a successor of this node considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Checks whether potentialSuccessor
is a successor of this node considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Same as isPredecessorOf
.
The node which is potentially a successor of this node.
An optional function that is applied for its side-effect to every element visited during graph traversal.
true
if a path exists from this node to potentialSuccessor
and
it had not to be excluded due to a subgraph*
restriction.
Checks whether potentialConnected
is a node (not necessarily directly)
connected with root
by any number of edges with any direction considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Checks whether potentialConnected
is a node (not necessarily directly)
connected with root
by any number of edges with any direction considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
For directed or mixed graphs it is satisfactory that potentialConnected
is
weekly connected with root
.
The node which is potentially connected with root
.
An optional function that is applied for its side-effect to every element visited during graph traversal.
true
if a path exists from this node to potentialConnected
and
it had not to be excluded due to subgraph
properties.
Same as hasSuccessor
.
Same as hasSuccessor
.
Same as hasPredecessor
.
Same as hasPredecessor
.
An optional maximum weight that limits the scope of the traversal or search.
An optional maximum weight that limits the scope of the traversal or search. If defined and the sum of edge weights between the root of the traversal and a node exceeds the given maximum, that node will no more be visited.
If a NodeOrdering
or EdgeOrdering
different from NoOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
If a NodeOrdering
or EdgeOrdering
different from NoOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
The properties controlling subsequent traversals.
The properties controlling subsequent traversals.
Finds a path from root
to potentialSuccessor
considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Finds a path from root
to potentialSuccessor
considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
The node a path is to be found to.
An optional function that is applied for its side-effect to every element visited during graph traversal.
A path to potentialSuccessor
or None
if either
pred
orFinds a path from root
to a successor of root
for which pred
holds $CONSIDERING
root
itself does not count as a match.
Finds a path from root
to a successor of root
for which pred
holds $CONSIDERING
root
itself does not count as a match. This is also true if it has a hook.
If several successors exist the algorithm selects any one of these.
The predicate which must hold true for the successor.
$OPTVISITOR
A path to a node with the predicate pred
or None
if either
pred
orThe node where subsequent graph traversals start.
The node where subsequent graph traversals start.
(Changed in version 2.9.0) The behavior of scanRight
has changed. The previous behavior can be reproduced with scanRight.reverse.
Finds the shortest path from root
to potentialSuccessor
$CONSIDERING The calculation is based on the weight of the edges on the path.
Finds the shortest path from root
to potentialSuccessor
$CONSIDERING The calculation is based on the weight of the edges on the path.
Edges have a default weight of 1L
that can be overridden by custom edges.
A weight function yielding any numeric type may also be passed to shortestPathTo
.
The node the shortest path is to be found to.
Function to determine the weight of edges. If supplied, this function takes precedence over edge weights.
$OPTVISITOR
The shortest path to potentialSuccessor
or None
if either
potentialSuccessor
orpotentialSuccessor
but $DUETOSUBGFinds the shortest path from root
to potentialSuccessor
considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Finds the shortest path from root
to potentialSuccessor
considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method. The calculation is based on the weight of the edges on the path.
Edges have a default weight of 1L
that can be overridden by custom edges.
A weight function yielding any numeric type may also be passed to shortestPathTo
.
The node the shortest path is to be found to.
Function to determine the weight of edges. If supplied, this function takes precedence over edge weights.
The shortest path to potentialSuccessor
or None
if either
potentialSuccessor
orpotentialSuccessor
but due to withSubgraph settings this path was out of scope.Finds the shortest path from root
to potentialSuccessor
considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method.
Finds the shortest path from root
to potentialSuccessor
considering all traversal properties passed to the traverser
factory method like scalax.collection.GraphTraversal#innerNodeTraverser
or altered by any with*
method. The calculation is based on the weight of the edges on the path.
Edges have a default weight of 1L
that can be overridden by custom edges.
A weight function yielding any numeric type may also be passed to shortestPathTo
.
The node the shortest path is to be found to.
An optional function that is applied for its side-effect to every element visited during graph traversal.
The shortest path to potentialSuccessor
or None
if either
potentialSuccessor
orpotentialSuccessor
but due to withSubgraph settings this path was out of scope.Restricts subsequent graph traversals to walk only along edges that hold this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Completes a traversal and creates a new connected graph populated with the elements visited.
Completes a traversal and creates a new connected graph populated with the elements visited.
Sorts the component designated by the given node topologically.
Sorts the component designated by the given node topologically. Only nodes connected with this node will be included in the resulting topological order. If the graph is known to be connected choose GraphTraversal#topologicalSort instead. $SEEFLUENT
If true
, the topological sort will be partial in that it will only
include successors of root
. withSubgraph
restricts the successor nodes to
be included but not predecessors that will be excluded in total.
Function to be called for each inner node or inner edge visited during the sort.
(Changed in version 2.9.0) transpose
throws an IllegalArgumentException
if collections are not uniformly sized.
Creates a new FluentProperties based on this
except for an updated direction
.
Creates a new FluentProperties based on this
except for an updated direction
.
Creates a new FluentProperties based on this
except for an updated kind
.
Creates a new FluentProperties based on this
except for an updated kind
.
Creates a new FluentProperties based on this
except for an updated maxDepth
.
Creates a new FluentProperties based on this
except for an updated maxDepth
.
Creates a new FluentProperties based on this
except for an updated maxWeight
having the given max
and the default weight function returning edge.weight
.
Creates a new FluentProperties based on this
except for an updated maxWeight
having the given max
and the default weight function returning edge.weight
.
Creates a new FluentProperties based on this
except for an updated maxWeight
having the given max
value and the given weight function.
Creates a new FluentProperties based on this
except for an updated maxWeight
having the given max
value and the given weight function.
Creates a new FluentProperties based on this
except for an updated maxWeight
.
Creates a new FluentProperties based on this
except for an updated maxWeight
.
Creates a new FluentProperties based on this
except for an updated ordering
.
Creates a new FluentProperties based on this
except for an updated ordering
.
Creates a new FluentProperties based on this
except for an updated parameters
.
Creates a new FluentProperties based on this
except for an updated parameters
.
Creates a new FluentProperties based on this
except for an updated root
.
Creates a new FluentProperties based on this
except for an updated root
.
Creates a new FluentProperties based on this
except for an updated subgraphNodes
and/or subgraphEdges
.
Creates a new FluentProperties based on this
except for an updated subgraphNodes
and/or subgraphEdges
.
(outerElemTraverser: MonadOps[OuterElem[N, E]]).filter(p)
(outerElemTraverser: MonadOps[OuterElem[N, E]]).flatMap(f)
(outerElemTraverser: MonadOps[OuterElem[N, E]]).map(f)
(outerElemTraverser: OuterNode[(GraphTraversalImpl.this)#OuterElemTraverser]).stringPrefix
(outerElemTraverser: OuterNode[(GraphTraversalImpl.this)#OuterElemTraverser]).toString()
(outerElemTraverser: MonadOps[OuterElem[N, E]]).withFilter(p)