trait GraphTraversalImpl[N, E <: Edge[N]] extends GraphTraversal[N, E] with TraverserImpl[N, E] with State[N, E]
Default implementation of the functionality defined by GraphTraversal except for algorithms that are placed in TraverserImpl.
- Self Type
- GraphTraversalImpl[N, E] with TraverserImpl[N, E]
- Alphabetic
- By Inheritance
- GraphTraversalImpl
- State
- TraverserImpl
- GraphTraversal
- GraphBase
- Serializable
- GraphOps
- OuterElems
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- trait BaseInnerEdge extends InnerEdgeLike[NodeT] with InnerEdge with Equals
- Definition Classes
- GraphBase
- trait BaseInnerNode extends Node with InnerNode
- Definition Classes
- GraphBase
- abstract class BaseNodeBase extends BaseInnerNode
- Attributes
- protected
- Definition Classes
- GraphBase
- sealed trait EdgeOrdering extends Ordering[EdgeT] with ElemOrdering
Ordering for the path dependent type EdgeT.
Ordering for the path dependent type EdgeT.
- Definition Classes
- GraphBase
- trait EdgeSet extends AnySet[EdgeT] with ExtSetMethods[EdgeT] with Serializable
- Definition Classes
- GraphBase
- sealed trait ElemOrdering extends AnyRef
Base trait for graph
Ordering
s.Base trait for graph
Ordering
s.- Attributes
- protected
- Definition Classes
- GraphBase
- trait Node extends Serializable
- Definition Classes
- GraphBase
- sealed trait NodeOrdering extends Ordering[NodeT] with ElemOrdering
Ordering for the path dependent type NodeT.
Ordering for the path dependent type NodeT.
- Definition Classes
- GraphBase
- trait NodeSet extends AnySet[NodeT] with ExtSetMethods[NodeT]
- Definition Classes
- GraphBase
- trait InnerEdge extends InnerElem
- Definition Classes
- GraphOps
- sealed trait InnerElem extends AnyRef
- Definition Classes
- GraphOps
- trait InnerNode extends InnerElem
- Definition Classes
- GraphOps
- sealed abstract class AbstractTopologicalOrder[+A, +T] extends AbstractIterable[T]
Topologically ordered nodes or layers of a topological order of a graph or of an isolated graph component.
Topologically ordered nodes or layers of a topological order of a graph or of an isolated graph component.
- A
one of
NodeT
,N
- T
one of
A
or(Int, Iterable[A])
- Definition Classes
- GraphTraversal
- abstract class Component extends Properties
Represents a component of
this
graph.Represents a component of
this
graph. Edges and bridges are computed lazily. Components will be instantiated by componentTraverser or strongComponentTraverser.- Definition Classes
- GraphTraversal
- abstract class ComponentTraverser extends FluentProperties[ComponentTraverser] with Properties with Iterable[Component]
Controls the properties of graph traversals with no specific root and allows you to produce the (weakly) connected components by a traversal or call methods like
findCycle
that work component-wise.Controls the properties of graph traversals with no specific root and allows you to produce the (weakly) connected components by a traversal or call methods like
findCycle
that work component-wise.- Definition Classes
- GraphTraversal
- trait Cycle extends Path
Represents a cycle in this graph listing the nodes and connecting edges on it with the following syntax:
Represents a cycle in this graph listing the nodes and connecting edges on it with the following syntax:
cycle ::= start-end-node { edge node } edge start-end-node
All nodes and edges on the path are distinct except the start and end nodes that are equal. A cycle contains at least a start node followed by any number of consecutive pairs of an edge and a node and the end node equaling to the start node. The first element is the start node, the second is an edge with its tail being the start node and its head being the third element etc.
- Definition Classes
- GraphTraversal
- trait ExtendedNodeVisitor[U] extends (NodeT) => U
Template for extended node visitors.
Template for extended node visitors. While the default node visitor of the type
NodeT => U
passes solely the inner node being visited, extended node visitors pass the following traversal state information:- the inner node currently visited as with a standard node visitor
- the number of nodes visited so far and
- the current depth in terms of the underlying algorithm and
- a reference to a specific informer that may be pattern matched to collect even further data specific to the implementation.
- Definition Classes
- GraphTraversal
- abstract class FluentProperties[+C <: FluentProperties[C]] extends AnyRef
Properties and methods for creating modified properties in a fluent-interface manner.
Properties and methods for creating modified properties in a fluent-interface manner.
- Attributes
- protected
- Definition Classes
- GraphTraversal
- abstract class InnerEdgeTraverser extends TraverserMethods[EdgeT, InnerEdgeTraverser] with Traverser[EdgeT, InnerEdgeTraverser]
Controls the properties of inner-edge graph traversals.
Controls the properties of inner-edge graph traversals. To start a traversal call one of the graph traversal methods or any appropriate method inherited from scala.collection.Iterable on this instance.
- Definition Classes
- GraphTraversal
- abstract class InnerElemTraverser extends TraverserMethods[InnerElem, InnerElemTraverser] with Traverser[InnerElem, InnerElemTraverser]
Controls the properties of inner-element graph traversals.
Controls the properties of inner-element graph traversals. To start a traversal call one of the graph traversal methods or any appropriate method inherited from scala.collection.Iterable on this instance.
- Attributes
- protected
- Definition Classes
- GraphTraversal
- abstract class InnerNodeDownUpTraverser extends TraverserMethods[(Boolean, NodeT), InnerNodeDownUpTraverser] with Traverser[(Boolean, NodeT), InnerNodeDownUpTraverser]
Controls the properties of inner-node down-up graph traversals.
Controls the properties of inner-node down-up graph traversals. To start a traversal call one of the graph traversal methods or any appropriate method inherited from scala.collection.Iterable on this instance.
- Definition Classes
- GraphTraversal
- abstract class InnerNodeTraverser extends TraverserMethods[NodeT, InnerNodeTraverser] with Traverser[NodeT, InnerNodeTraverser]
Controls the properties of inner-node graph traversals.
Controls the properties of inner-node graph traversals. To start a traversal call one of the graph traversal methods or any appropriate method inherited from scala.collection.Iterable on this instance.
- Definition Classes
- GraphTraversal
- case class Layer(index: Int, _nodes: IndexedSeq[NodeT]) extends Product with Serializable
Represents a topological sort layer.
Represents a topological sort layer.
- Definition Classes
- GraphTraversal
- final class LayeredTopologicalOrder[+A] extends AbstractTopologicalOrder[A, (Int, Iterable[A])]
Layers of a topological order of a graph or of an isolated graph component.
Layers of a topological order of a graph or of an isolated graph component. The layers of a topological sort can roughly be defined as follows:
- layer 0 contains all nodes having no predecessors,
- layer n contains those nodes that have only predecessors in ancestor layers with at least one of them contained in layer n - 1
- A
one of
NodeT
,N
- Definition Classes
- GraphTraversal
- abstract class OuterEdgeTraverser extends TraverserMethods[E, OuterEdgeTraverser] with Traverser[E, OuterEdgeTraverser]
Controls the properties of outer-edge graph traversals.
Controls the properties of outer-edge graph traversals. To start a traversal call one of the graph traversal methods or any appropriate method inherited from scala.collection.Iterable on this instance.
- Definition Classes
- GraphTraversal
- trait OuterElemTraverser extends TraverserMethods[OuterElem, OuterElemTraverser] with Traverser[OuterElem, OuterElemTraverser]
Controls the properties of outer-element graph traversals.
Controls the properties of outer-element graph traversals. To start a traversal call one of the graph traversal methods or any appropriate method inherited from scala.collection.Iterable on this instance.
- Definition Classes
- GraphTraversal
- abstract class OuterNodeDownUpTraverser extends TraverserMethods[(Boolean, N), OuterNodeDownUpTraverser] with Traverser[(Boolean, N), OuterNodeDownUpTraverser]
Controls the properties of outer-node down-up graph traversals.
Controls the properties of outer-node down-up graph traversals. To start a traversal call one of the graph traversal methods or any appropriate method inherited from scala.collection.Iterable on this instance.
- Definition Classes
- GraphTraversal
- abstract class OuterNodeTraverser extends TraverserMethods[N, OuterNodeTraverser] with Traverser[N, OuterNodeTraverser]
Controls the properties of outer-node graph traversals.
Controls the properties of outer-node graph traversals. To start a traversal call one of the graph traversal methods or any appropriate method inherited from scala.collection.Iterable on this instance.
- Definition Classes
- GraphTraversal
- trait Path extends Walk
Represents a path in this graph where
Represents a path in this graph where
path
::= node { edge node }
Nodes and edges on the path are distinct. A walk/path contains at least one node followed by any number of consecutive pairs of an edge and a node. The first element is the start node, the second is an edge with its source being the start node and its target being the third element etc.
- Definition Classes
- GraphTraversal
- trait PathBuilder extends WalkBuilder with Builder[InnerElem, Path]
A
Builder
for valid paths in this graph.A
Builder
for valid paths in this graph.Nodes and edges may be added either alternating or node by node respectively edge by edge. Either way, the builder ensures that the added elements build a valid path.
A node addition fails if either the node to be added is already contained or the node is not a direct successor of the previously added node or of the target node of the previously added edge. An edge addition fails if either the edge to be added is is already contained or the edge is not an outgoing edge from the previously added node or of the target node of the previously added edge.
It is recommended using
add
instead of+=
to track failed additions.- Definition Classes
- GraphTraversal
- trait Properties extends SubgraphProperties
Properties controlling traversals.
Properties controlling traversals.
- Attributes
- protected
- Definition Classes
- GraphTraversal
- abstract class StrongComponentTraverser extends FluentProperties[StrongComponentTraverser] with Properties with Iterable[Component]
Controls the properties of graph traversals with no specific root and allows you to produce the strongly connected components by a traversal.
Controls the properties of graph traversals with no specific root and allows you to produce the strongly connected components by a traversal.
- Definition Classes
- GraphTraversal
- trait SubgraphProperties extends AnyRef
Properties controlling the scope of traversals.
Properties controlling the scope of traversals.
- Attributes
- protected
- Definition Classes
- GraphTraversal
- final class TopologicalOrder[+A] extends AbstractTopologicalOrder[A, A]
A traversable topological order of nodes of a graph or of an isolated graph component.
A traversable topological order of nodes of a graph or of an isolated graph component.
- A
one of
NodeT
,N
- Definition Classes
- GraphTraversal
- case class TopologicalSortFailure extends Product with Serializable
Failure result of a topological sort with a possible hint of candidate cycle nodes.
Failure result of a topological sort with a possible hint of candidate cycle nodes.
- Definition Classes
- GraphTraversal
- trait Traverser[A, +CC <: Traverser[A, CC]] extends TraverserMethods[A, CC] with Properties with ForeachBasedDetachingIterable[A]
Controls the properties of consecutive graph traversals starting at a root node.
Controls the properties of consecutive graph traversals starting at a root node. Provides methods to refine the properties and to invoke traversals. Instances will be created by innerNodeTraverser etc.
- Definition Classes
- GraphTraversal
- trait TraverserInnerNode extends BaseInnerNode
- Definition Classes
- GraphTraversal
- abstract class TraverserMethods[A, +CC <: TraverserMethods[A, CC]] extends FluentProperties[CC]
The
root
-related methods Traverser will inherit.The
root
-related methods Traverser will inherit.- Attributes
- protected
- Definition Classes
- GraphTraversal
- trait Walk extends Iterable[InnerElem]
Represents a walk in this graph where
walk
::= node { edge node }
A walk/path contains at least one node followed by any number of consecutive pairs of an edge and a node.Represents a walk in this graph where
walk
::= node { edge node }
A walk/path contains at least one node followed by any number of consecutive pairs of an edge and a node. The first element is the start node, the second is an edge with its source being the start node and its target being the third element etc.- Definition Classes
- GraphTraversal
- trait WalkBuilder extends Builder[InnerElem, Walk]
A
Builder
for valid walks in this graph.A
Builder
for valid walks in this graph.Nodes and edges may be added either alternating or node by node respectively edge by edge. Either way, the builder ensures that the added elements build a valid walk.
A node addition fails if the node to be added is not a direct successor of the previously added node or of the target node of the previously added edge. An edge addition fails if the edge to be added is not an outgoing edge from the previously added node or of the target node of the previously added edge.
It is recommended using
add
instead of+=
to track failed additions.- Definition Classes
- GraphTraversal
- class Weight extends AnyRef
Stores a value and an edge weight function for use in weight-based traversals that may be defined by
withMaxWeight
.Stores a value and an edge weight function for use in weight-based traversals that may be defined by
withMaxWeight
.- Definition Classes
- GraphTraversal
- class AnyEdgeLazyCycle extends (GraphTraversalImpl.this)#AnyEdgeLazyPath with (GraphTraversalImpl.this)#Cycle
- Attributes
- protected
- class AnyEdgeLazyPath extends (GraphTraversalImpl.this)#SimpleLazyPath
LazyPath
where edges are selected by taking the first one fitting.LazyPath
where edges are selected by taking the first one fitting.- Attributes
- protected
- case class ComponentTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters, subgraphNodes: (GraphTraversalImpl.this)#NodePredicate, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate, ordering: (GraphTraversalImpl.this)#ElemOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight]) extends (GraphTraversalImpl.this)#ComponentTraverser with Product with Serializable
- Attributes
- protected
- trait DownUpTraverser[A, +CC <: (GraphTraversalImpl.this)#DownUpTraverser[A, CC]] extends (GraphTraversalImpl.this)#TraverserMethods[A, CC] with (GraphTraversalImpl.this)#Impl[A, CC]
- Attributes
- protected
- type EdgePredicate = ((GraphTraversalImpl.this)#EdgeT) => Boolean
- Definition Classes
- GraphOps
- abstract type EdgeSetT <: (GraphTraversalImpl.this)#EdgeSet
- Definition Classes
- GraphBase
- abstract type EdgeT <: InnerEdgeLike[(GraphTraversalImpl.this)#NodeT] with (GraphTraversalImpl.this)#BaseInnerEdge
- case class InnerEdgeTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None) extends (GraphTraversalImpl.this)#InnerEdgeTraverser with (GraphTraversalImpl.this)#Impl[(GraphTraversalImpl.this)#EdgeT, (GraphTraversalImpl.this)#InnerEdgeTraverserImpl] with Product with Serializable
- Attributes
- protected
- case class InnerElemTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None) extends (GraphTraversalImpl.this)#InnerElemTraverser with (GraphTraversalImpl.this)#Impl[(GraphTraversalImpl.this)#InnerElem, (GraphTraversalImpl.this)#InnerElemTraverserImpl] with Product with Serializable
- Attributes
- protected
- case class InnerNodeDownUpTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None) extends (GraphTraversalImpl.this)#InnerNodeDownUpTraverser with (GraphTraversalImpl.this)#DownUpTraverser[(Boolean, (GraphTraversalImpl.this)#NodeT), (GraphTraversalImpl.this)#InnerNodeDownUpTraverserImpl] with Product with Serializable
- Attributes
- protected
- trait InnerNodeTraversalImpl extends (GraphTraversalImpl.this)#TraverserInnerNode with (GraphTraversalImpl.this)#InnerNodeState
- case class InnerNodeTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None) extends (GraphTraversalImpl.this)#InnerNodeTraverser with (GraphTraversalImpl.this)#Impl[(GraphTraversalImpl.this)#NodeT, (GraphTraversalImpl.this)#InnerNodeTraverserImpl] with Product with Serializable
- Attributes
- protected
- type Layers = Iterable[(GraphTraversalImpl.this)#Layer]
The result of a topological sort in the layered view.
The result of a topological sort in the layered view.
- Definition Classes
- GraphTraversal
- abstract class LazyPath extends (GraphTraversalImpl.this)#Path
Path based on the passed collection of nodes with lazy evaluation of edges.
Path based on the passed collection of nodes with lazy evaluation of edges.
- Attributes
- protected
- final class MapPathTraversable[T] extends Iterable[T]
Enables lazy traversing of a
Map
withkey = source, value = target
.Enables lazy traversing of a
Map
withkey = source, value = target
.- Attributes
- protected
- class MinWeightEdgeLazyPath extends (GraphTraversalImpl.this)#SimpleLazyPath
LazyPath
with edges selected by minimal weight.LazyPath
with edges selected by minimal weight.- Attributes
- protected
- class MultiEdgeLazyCycle extends (GraphTraversalImpl.this)#MultiEdgeLazyPath with (GraphTraversalImpl.this)#Cycle
- Attributes
- protected
- class MultiEdgeLazyPath extends (GraphTraversalImpl.this)#LazyPath
LazyPath
with edge selection such that there exists no duplicate edge in the path.LazyPath
with edge selection such that there exists no duplicate edge in the path.- Attributes
- protected
- type NodePredicate = ((GraphTraversalImpl.this)#NodeT) => Boolean
- Definition Classes
- GraphOps
- abstract type NodeSetT <: (GraphTraversalImpl.this)#NodeSet
- Definition Classes
- GraphBase
- abstract type NodeT <: (GraphTraversalImpl.this)#InnerNodeTraversalImpl
- Definition Classes
- GraphTraversalImpl → GraphTraversal → GraphBase → GraphOps
- case class OuterEdgeTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None) extends (GraphTraversalImpl.this)#OuterEdgeTraverser with (GraphTraversalImpl.this)#Impl[E, (GraphTraversalImpl.this)#OuterEdgeTraverserImpl] with Product with Serializable
- Attributes
- protected
- case class OuterElemTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None) extends (GraphTraversalImpl.this)#TraverserMethods[(GraphTraversalImpl.this)#OuterElem, (GraphTraversalImpl.this)#OuterElemTraverser] with (GraphTraversalImpl.this)#OuterElemTraverser with (GraphTraversalImpl.this)#Impl[(GraphTraversalImpl.this)#OuterElem, (GraphTraversalImpl.this)#OuterElemTraverserImpl] with Product with Serializable
- Attributes
- protected
- case class OuterNodeDownUpTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None) extends (GraphTraversalImpl.this)#OuterNodeDownUpTraverser with (GraphTraversalImpl.this)#DownUpTraverser[(Boolean, N), (GraphTraversalImpl.this)#OuterNodeDownUpTraverserImpl] with Product with Serializable
- Attributes
- protected
- case class OuterNodeTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None) extends (GraphTraversalImpl.this)#OuterNodeTraverser with (GraphTraversalImpl.this)#Impl[N, (GraphTraversalImpl.this)#OuterNodeTraverserImpl] with Product with Serializable
- Attributes
- protected
- class PathBuilderImpl extends (GraphTraversalImpl.this)#WalkBuilderImpl with (GraphTraversalImpl.this)#PathBuilder
- final class ReverseStackTraversable[S <: NodeElement] extends Iterable[(GraphTraversalImpl.this)#NodeT]
Efficient reverse
foreach
overcomingStack
's deficiency not to overwritereverseIterator
.Efficient reverse
foreach
overcomingStack
's deficiency not to overwritereverseIterator
.- Attributes
- protected
- abstract class SimpleLazyPath extends (GraphTraversalImpl.this)#LazyPath
LazyPath
with deferred edges selection.LazyPath
with deferred edges selection.- Attributes
- protected
- class StrongComponentImpl extends (GraphTraversalImpl.this)#Component
- Attributes
- protected
- case class StrongComponentTraverserImpl(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters, subgraphNodes: (GraphTraversalImpl.this)#NodePredicate, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate, ordering: (GraphTraversalImpl.this)#ElemOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight]) extends (GraphTraversalImpl.this)#StrongComponentTraverser with Product with Serializable
- Attributes
- protected
- type TopoSortSetup = (Buffer[(GraphTraversalImpl.this)#NodeT], Map[(GraphTraversalImpl.this)#NodeT, Int])
- Attributes
- protected
- type TopologicalSort = Either[(GraphTraversalImpl.this)#TopologicalSortFailure, (GraphTraversalImpl.this)#TopologicalOrder[(GraphTraversalImpl.this)#NodeT]]
- Definition Classes
- GraphTraversal
- class WalkBuilderImpl extends (GraphTraversalImpl.this)#WalkBuilder
- class WeakComponentImpl extends (GraphTraversalImpl.this)#Component
- Attributes
- protected
- sealed case class OuterEdge(edge: E) extends OuterElem with Product with Serializable
To be mixed in by edge classes to allow passing them to
Graph(...)
.To be mixed in by edge classes to allow passing them to
Graph(...)
.- Definition Classes
- OuterElems
- trait OuterElem extends AnyRef
- Definition Classes
- OuterElems
- sealed case class OuterNode(node: N) extends OuterElem with Product with Serializable
Wraps any type to be accepted when calling
Graph(...)
.Wraps any type to be accepted when calling
Graph(...)
.- Definition Classes
- OuterElems
- trait InnerNodeState extends AnyRef
- Definition Classes
- State
- trait Impl[A, +CC <: GraphTraversalImpl.Traverser[A, CC] with GraphTraversalImpl.Impl[A, CC]] extends GraphTraversalImpl.TraverserMethods[A, CC] with GraphTraversalImpl.Traverser[A, CC]
- Attributes
- protected[collection]
- Definition Classes
- TraverserImpl
Abstract Value Members
- abstract def concat[N2 >: N, E2 >: E <: Edge[N2]](isolatedNodes: IterableOnce[N2], edges: IterableOnce[E2])(implicit e: <:<[E2, Edge[N2]]): GraphTraversal[N2, E2]
Creates a new graph by adding all
edges
andisolatedNodes
omitting duplicates.Creates a new graph by adding all
edges
andisolatedNodes
omitting duplicates. The new graph is upcasted if any of the arguments is an upcast ofN
respectivelyE
. Useunion
to concatenate all nodes and edges of another graph.- isolatedNodes
to be concatenated. Nodes that are implicitly defined by any edge in
edges
will be ignored.- edges
to be concatenated.
- Definition Classes
- GraphOps
- abstract def contains(edge: E): Boolean
Whether the given outer edge is contained in this graph.
Whether the given outer edge is contained in this graph.
- Definition Classes
- GraphOps
- abstract def contains(node: N): Boolean
Whether the given outer node is contained in this graph.
Whether the given outer node is contained in this graph.
- Definition Classes
- GraphOps
- abstract def edges: (GraphTraversalImpl.this)#EdgeSetT
The edge set of this
Graph
commonly referred to as E(G).The edge set of this
Graph
commonly referred to as E(G).- returns
Set of all contained edges.
- Definition Classes
- GraphBase
- abstract def filter(nodeP: (GraphTraversalImpl.this)#NodePredicate = anyNode, edgeP: (GraphTraversalImpl.this)#EdgePredicate = anyEdge): GraphTraversal[N, E]
Computes a new graph with nodes satisfying
nodeP
and edges satisfyingedgeP
.Computes a new graph with nodes satisfying
nodeP
and edges satisfyingedgeP
. If bothnodeP
andedgeP
have default values the original graph is retained.- Definition Classes
- GraphOps
- abstract def find(edge: E): Option[(GraphTraversalImpl.this)#EdgeT]
Searches this graph for an inner edge that wraps an outer edge equalling to the given outer edge.
Searches this graph for an inner edge that wraps an outer edge equalling to the given outer edge.
- Definition Classes
- GraphOps
- abstract def find(node: N): Option[(GraphTraversalImpl.this)#NodeT]
Searches this graph for an inner node that wraps an outer node equalling to the given outer node.
Searches this graph for an inner node that wraps an outer node equalling to the given outer node.
- Definition Classes
- GraphOps
- abstract def flatMap[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fEdge: ((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC[NN]])(implicit w: <:<[E, AnyEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is generic. Otherwise see
flatMapBound
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The higher kind of the generic edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fEdge
To apply to all edges of this graph. This function is passed the current inner edge and its ends after being mapped by
fNode
. Since the inner edge is passed you can also examine its context. Callouter
to get the outer edge of type E.- returns
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Definition Classes
- GraphOps
- abstract def flatMap[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN])(implicit w1: <:<[E, GenericMapper], w2: =:=[EC[N], E], t: ClassTag[EC[NN]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes returned by
fNode
and an edge structure that remains intact where possible.Creates a new graph with nodes returned by
fNode
and an edge structure that remains intact where possible.You can call this flavor only if this graph's edge type is generic. Otherwise see
flatMapBound
.If this graph also contains typed edges, the typed edge's partial
map
function will be called to replace the ends. If the partial function is not defined, there will be an attempt to fall back to a generic edge. If that attempt also fails the edge will be dropped. So, if you have a mixed graph with generic and typed edges, prefer mapping edges directly to avoid leaving edges out.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The higher kind of the generic edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node. IffNode
returns several new nodes with none equaling to the original node, the first new node is accepted to be the result of the node transformation. For more flexibility pass your own edge mapper to the overload.- returns
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Definition Classes
- GraphOps
- abstract def flatMapBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fEdge: ((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC])(implicit w: <:<[E, AnyEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is typed. Otherwise see
flatMap
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fEdge
To apply to all edges of this graph. This function is passed the current inner edge and its ends after being mapped by
fNode
. Since the inner edge is passed you can also examine its context. Callouter
to get the outer edge of type E.- returns
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Definition Classes
- GraphOps
- abstract def flatMapBound(fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[N])(implicit w1: <:<[E, PartialMapper]): GraphTraversal[N, E]
Creates a new graph with nodes returned by
fNode
and an edge structure that remains intact where possible.Creates a new graph with nodes returned by
fNode
and an edge structure that remains intact where possible.You can call this flavor only if this graph's edge type is typed. Otherwise see
flatMap
.- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node. IffNode
returns several new nodes with none equaling to the original node, the first new node is accepted to be the result of the node transformation. For more flexibility pass your own edge mapper to the overload.
- Definition Classes
- GraphOps
- abstract def flatMapDiHyper[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fDiHyperEdge: ((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC[NN]], fEdge: Option[((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC[NN]]])(implicit w: <:<[E, AnyDiHyperEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is generic. Otherwise see
flatMapDiHyperBound
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The higher kind of the generic edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fDiHyperEdge
To apply to all directed hyperedges in this graph. This function is passed the existing inner directed hyperedge and its sources and targets after being mapped by
fNode
. Since the inner directed hyperedge is passed you can also examine the edge context. Callouter
to get the outer directed hyperedge of type E.- fEdge
To apply to any directed or undirected edge in this possibly mixed graph. If not present simple edges will be mapped by the mandatory edge mapper you supply. You are recommended supplying
Some
unless you know that the graph does not contain any simple edge.- returns
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Definition Classes
- GraphOps
- abstract def flatMapDiHyperBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fDiHyperEdge: ((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC], fEdge: Option[((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC]])(implicit w: <:<[E, AnyDiHyperEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is typed. Otherwise see
flatMapDiHyper
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fDiHyperEdge
To apply to all directed hyperedges in this graph. This function is passed the existing inner directed hyperedge and its sources and targets after being mapped by
fNode
. Since the inner directed hyperedge is passed you can also examine the edge context. Callouter
to get the outer directed hyperedge of type E.- fEdge
To apply to any directed or undirected edge in this possibly mixed graph. If not present simple edges will be mapped by the mandatory edge mapper you supply. You are recommended supplying
Some
unless you know that the graph does not contain any simple edge.- returns
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Definition Classes
- GraphOps
- abstract def flatMapHyper[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fHyperEdge: ((GraphTraversalImpl.this)#EdgeT, Seq[NN]) => Seq[EC[NN]], fDiHyperEdge: Option[((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC[NN]]], fEdge: Option[((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC[NN]]])(implicit w: <:<[E, AnyHyperEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is generic. Otherwise see
flatMapHyperBound
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The higher kind of the generic edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fHyperEdge
To apply to all hyperedges in this graph. This function is passed the current inner hyperedge and its ends after being mapped by
fNode
. Since the inner hyperedge is passed you can also examine its context. Callouter
to get the outer hyperedge of type E.- fDiHyperEdge
To apply to any directed hyperedge in this possibly mixed graph. If not present directed hyperedges will be mapped by the mandatory
fDiHyperEdge
. You are recommended supplyingSome
unless you know that the graph does not contain any directed hyperedge.- fEdge
To apply to any directed or undirected edge in this possibly mixed graph. If not present simple edges will be mapped by the mandatory edge mapper you supply. You are recommended supplying
Some
unless you know that the graph does not contain any simple edge.- returns
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Definition Classes
- GraphOps
- abstract def flatMapHyperBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fHyperEdge: ((GraphTraversalImpl.this)#EdgeT, Seq[NN]) => Seq[EC], fDiHyperEdge: Option[((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC]], fEdge: Option[((GraphTraversalImpl.this)#EdgeT, Seq[NN], Seq[NN]) => Seq[EC]])(implicit w: <:<[E, AnyHyperEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is typed. Otherwise see
flatMapHyper
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fHyperEdge
To apply to all hyperedges in this graph. This function is passed the current inner hyperedge and its ends after being mapped by
fNode
. Since the inner hyperedge is passed you can also examine its context. Callouter
to get the outer hyperedge of type E.- fDiHyperEdge
To apply to any directed hyperedge in this possibly mixed graph. If not present directed hyperedges will be mapped by the mandatory
fDiHyperEdge
. You are recommended supplyingSome
unless you know that the graph does not contain any directed hyperedge.- fEdge
To apply to any directed or undirected edge in this possibly mixed graph. If not present simple edges will be mapped by the mandatory edge mapper you supply. You are recommended supplying
Some
unless you know that the graph does not contain any simple edge.- returns
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Definition Classes
- GraphOps
- abstract def foldLeft[B](z: B)(opNode: (B, (GraphTraversalImpl.this)#NodeT) => B, opEdge: (B, (GraphTraversalImpl.this)#EdgeT) => B): B
Applies a node-specific and an edge-specific binary operator to a cumulated value.
Applies a node-specific and an edge-specific binary operator to a cumulated value. First
opNode
is called for all nodes thanopEdge
for all edges.- B
the result type of the binary operator.
- z
the start value that is passed to
opNode
the first time.- opNode
the binary operator that is passed the cumulated value and an inner node.
- opEdge
the binary operator that is passed the cumulated value and an inner edge.
- returns
the cumulated value.
- Definition Classes
- GraphOps
- abstract def get(edge: E): (GraphTraversalImpl.this)#EdgeT
Short for
find(edge).get
.Short for
find(edge).get
.- Definition Classes
- GraphOps
- Exceptions thrown
NoSuchElementException
if the edge is not found.
- abstract def get(node: N): (GraphTraversalImpl.this)#NodeT
Short for
find(node).get
.Short for
find(node).get
.- Definition Classes
- GraphOps
- Exceptions thrown
NoSuchElementException
if the node is not found.
- abstract def isDirected: Boolean
Whether all edges of this graph are directed.
Whether all edges of this graph are directed.
- Definition Classes
- GraphOps
- abstract def isHyper: Boolean
Whether this graph contains at least one hyperedge.
Whether this graph contains at least one hyperedge.
- Definition Classes
- GraphOps
- abstract def isMixed: Boolean
Whether this graph contains at least one directed and one undirected edge.
Whether this graph contains at least one directed and one undirected edge.
- Definition Classes
- GraphOps
- abstract def isMulti: Boolean
Whether this graph contains at least one multi-edge.
Whether this graph contains at least one multi-edge. We defnie multi-edges by
- two or more directed edges having the same source and target
- two or more undirected edges connecting the same nodes
- two or more (directed) hyperedges that, after being decomposed into (directed) edges, yield any multy-edge as stipulated above.
- Definition Classes
- GraphOps
- abstract def iterator: Iterator[(GraphTraversalImpl.this)#InnerElem]
Iterator over all inner nodes and edges.
Iterator over all inner nodes and edges.
- Definition Classes
- GraphOps
- abstract def map[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fEdge: ((GraphTraversalImpl.this)#EdgeT, NN, NN) => EC[NN])(implicit w: <:<[E, AnyEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is generic. Otherwise see
mapBound
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The higher kind of the generic edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fEdge
To apply to all edges of this graph. This function is passed the current inner edge and its ends after being mapped by
fNode
. Since the inner edge is passed you can also examine its context. Callouter
to get the outer edge of type E.- returns
The mapped graph with possibly changed node and edge type parameters.
- Definition Classes
- GraphOps
- abstract def map[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN)(implicit w1: <:<[E, GenericMapper], w2: =:=[EC[N], E], t: ClassTag[EC[NN]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes mapped by
fNode
and with an untouched edge structure otherwise.Creates a new graph with nodes mapped by
fNode
and with an untouched edge structure otherwise.You can call this flavor only if this graph's edge type is generic. Otherwise see
mapBound
.If this graph also contains typed edges, the typed edge's partial
map
function will be called to replace the ends. If the partial function is not defined, there will be an attempt to fall back to a generic edge. If that attempt also fails the edge will be dropped. So, if you have a mixed graph with generic and typed edges, prefer mapping edges directly to avoid leaving edges out.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The higher kind of the generic edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- returns
The mapped graph with possibly changed node and edge type parameters.
- Definition Classes
- GraphOps
- abstract def mapBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fEdge: ((GraphTraversalImpl.this)#EdgeT, NN, NN) => EC)(implicit w: <:<[E, AnyEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is typed. Otherwise see
map
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fEdge
To apply to all edges of this graph. This function is passed the current inner edge and its ends after being mapped by
fNode
. Since the inner edge is passed you can also examine its context. Callouter
to get the outer edge of type E.- returns
The mapped graph with possibly changed node and edge type parameters.
- Definition Classes
- GraphOps
- abstract def mapBound(fNode: ((GraphTraversalImpl.this)#NodeT) => N)(implicit w1: <:<[E, PartialMapper]): GraphTraversal[N, E]
Creates a new graph with nodes mapped by
fNode
and with an untouched edge structure otherwise.Creates a new graph with nodes mapped by
fNode
and with an untouched edge structure otherwise.You can call this flavor only if this graph's edge type is typed. Otherwise see
map
.- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- returns
The mapped graph with possibly changed node and edge type parameters.
- Definition Classes
- GraphOps
- abstract def mapDiHyper[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fDiHyperEdge: ((GraphTraversalImpl.this)#EdgeT, OneOrMore[NN], OneOrMore[NN]) => EC[NN], fEdge: Option[((GraphTraversalImpl.this)#EdgeT, NN, NN) => EC[NN]])(implicit w: <:<[E, AnyDiHyperEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is generic. Otherwise see
mapDiHyperBound
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The higher kind of the generic edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fDiHyperEdge
To apply to all directed hyperedges in this graph. This function is passed the existing inner directed hyperedge and its sources and targets after being mapped by
fNode
. Since the inner directed hyperedge is passed you can also examine the edge context. Callouter
to get the outer directed hyperedge of type E.- fEdge
To apply to any directed or undirected edge in this possibly mixed graph. If not present simple edges will be mapped by the mandatory edge mapper you supply. You are recommended supplying
Some
unless you know that the graph does not contain any simple edge.- returns
The mapped graph with possibly changed node and edge type parameters.
- Definition Classes
- GraphOps
- abstract def mapDiHyperBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fDiHyperEdge: ((GraphTraversalImpl.this)#EdgeT, OneOrMore[NN], OneOrMore[NN]) => EC, fEdge: Option[((GraphTraversalImpl.this)#EdgeT, NN, NN) => EC])(implicit w: <:<[E, AnyDiHyperEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is typed. Otherwise see
mapDiHyper
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fDiHyperEdge
To apply to all directed hyperedges in this graph. This function is passed the existing inner directed hyperedge and its sources and targets after being mapped by
fNode
. Since the inner directed hyperedge is passed you can also examine the edge context. Callouter
to get the outer directed hyperedge of type E.- fEdge
To apply to any directed or undirected edge in this possibly mixed graph. If not present simple edges will be mapped by the mandatory edge mapper you supply. You are recommended supplying
Some
unless you know that the graph does not contain any simple edge.- returns
The mapped graph with possibly changed node and edge type parameters.
- Definition Classes
- GraphOps
- abstract def mapHyper[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fHyperEdge: ((GraphTraversalImpl.this)#EdgeT, Several[NN]) => EC[NN], fDiHyperEdge: Option[((GraphTraversalImpl.this)#EdgeT, OneOrMore[NN], OneOrMore[NN]) => EC[NN]], fEdge: Option[((GraphTraversalImpl.this)#EdgeT, NN, NN) => EC[NN]])(implicit w: <:<[E, AnyHyperEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is generic. Otherwise see
mapHyperBound
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The higher kind of the generic edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fHyperEdge
To apply to all hyperedges in this graph. This function is passed the current inner hyperedge and its ends after being mapped by
fNode
. Since the inner hyperedge is passed you can also examine its context. Callouter
to get the outer hyperedge of type E.- fDiHyperEdge
To apply to any directed hyperedge in this possibly mixed graph. If not present directed hyperedges will be mapped by the mandatory
fDiHyperEdge
. You are recommended supplyingSome
unless you know that the graph does not contain any directed hyperedge.- fEdge
To apply to any directed or undirected edge in this possibly mixed graph. If not present simple edges will be mapped by the mandatory edge mapper you supply. You are recommended supplying
Some
unless you know that the graph does not contain any simple edge.- returns
The mapped graph with possibly changed node and edge type parameters.
- Definition Classes
- GraphOps
- abstract def mapHyperBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fHyperEdge: ((GraphTraversalImpl.this)#EdgeT, Several[NN]) => EC, fDiHyperEdge: Option[((GraphTraversalImpl.this)#EdgeT, OneOrMore[NN], OneOrMore[NN]) => EC], fEdge: Option[((GraphTraversalImpl.this)#EdgeT, NN, NN) => EC])(implicit w: <:<[E, AnyHyperEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is typed. Otherwise see
mapHyper
.- NN
The node type of the resulting graph which may be unchanged or different from this graph's node type.
- EC
The edge type parameter of this graph.
- fNode
To apply to all nodes of this graph. Since the inner node is passed you can also examine the node context. Call
outer
to get the value of typeN
of the node.- fHyperEdge
To apply to all hyperedges in this graph. This function is passed the current inner hyperedge and its ends after being mapped by
fNode
. Since the inner hyperedge is passed you can also examine its context. Callouter
to get the outer hyperedge of type E.- fDiHyperEdge
To apply to any directed hyperedge in this possibly mixed graph. If not present directed hyperedges will be mapped by the mandatory
fDiHyperEdge
. You are recommended supplyingSome
unless you know that the graph does not contain any directed hyperedge.- fEdge
To apply to any directed or undirected edge in this possibly mixed graph. If not present simple edges will be mapped by the mandatory edge mapper you supply. You are recommended supplying
Some
unless you know that the graph does not contain any simple edge.- returns
The mapped graph with possibly changed node and edge type parameters.
- Definition Classes
- GraphOps
- abstract def newDiHyperEdge(outer: E, sources: OneOrMore[(GraphTraversalImpl.this)#NodeT], targets: OneOrMore[(GraphTraversalImpl.this)#NodeT]): (GraphTraversalImpl.this)#EdgeT
- Attributes
- protected
- Definition Classes
- GraphBase
- abstract def newEdge(outer: E, node_1: (GraphTraversalImpl.this)#NodeT, node_2: (GraphTraversalImpl.this)#NodeT): (GraphTraversalImpl.this)#EdgeT
- Attributes
- protected
- Definition Classes
- GraphBase
- abstract def newHyperEdge(outer: E, nodes: Several[(GraphTraversalImpl.this)#NodeT]): (GraphTraversalImpl.this)#EdgeT
- Attributes
- protected
- Definition Classes
- GraphBase
- abstract def newNode(n: N): (GraphTraversalImpl.this)#NodeT
- Attributes
- protected
- Definition Classes
- GraphBase
- abstract def nodes: (GraphTraversalImpl.this)#NodeSetT
The node (vertex) set of this
Graph
commonly referred to as V(G).The node (vertex) set of this
Graph
commonly referred to as V(G).- returns
Set of all contained nodes.
- Definition Classes
- GraphBase
- abstract def outerIterator: Iterator[(GraphTraversalImpl.this)#OuterElem]
Iterator over all inner nodes and edges.
Iterator over all inner nodes and edges.
- Definition Classes
- GraphOps
- abstract def removedAll(isolatedNodes: IterableOnce[N], edges: IterableOnce[E]): GraphTraversal[N, E]
- Attributes
- protected
- Definition Classes
- GraphOps
- abstract def toIterable: Iterable[(GraphTraversalImpl.this)#InnerElem]
Iterable over all nodes and edges.
Iterable over all nodes and edges.
- Definition Classes
- GraphOps
- abstract def toOuterIterable: Iterable[(GraphTraversalImpl.this)#OuterElem]
Iterable over all nodes and edges.
Iterable over all nodes and edges.
- Definition Classes
- GraphOps
Concrete Value Members
- object BaseInnerEdge
- Definition Classes
- GraphBase
- Annotations
- @transient()
- object EdgeOrdering extends Serializable
Ordering for the path dependent type EdgeT.
Ordering for the path dependent type EdgeT.
- Definition Classes
- GraphBase
- object NoOrdering extends ElemOrdering with Serializable
The empty ElemOrdering.
The empty ElemOrdering.
- Definition Classes
- GraphBase
- object Node extends Serializable
- Definition Classes
- GraphBase
- Annotations
- @transient()
- object NodeOrdering extends Serializable
- Definition Classes
- GraphBase
- object InnerEdge
- Definition Classes
- GraphOps
- object InnerNode
- Definition Classes
- GraphOps
- object Cycle
- Definition Classes
- GraphTraversal
- object ExtendedNodeVisitor
- Definition Classes
- GraphTraversal
- object Informer
- Definition Classes
- GraphTraversal
- object Path extends Serializable
- Definition Classes
- GraphTraversal
- object SubgraphProperties
- Attributes
- protected
- Definition Classes
- GraphTraversal
- object TraverserInnerNode extends Serializable
- Definition Classes
- GraphTraversal
- Annotations
- @transient()
- object Walk
- Definition Classes
- GraphTraversal
- object Weight
- Definition Classes
- GraphTraversal
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def &(that: AnyGraph[N, E]): GraphTraversal[N, E]
Alias for
intersect
.Alias for
intersect
.- Definition Classes
- GraphOps
- Annotations
- @inline()
- final def &~(that: AnyGraph[N, E]): GraphTraversal[N, E]
Alias for
diff
.Alias for
diff
.- Definition Classes
- GraphOps
- Annotations
- @inline()
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from GraphTraversalImpl[N, E] toany2stringadd[GraphTraversalImpl[N, E]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- final def ++[N2 >: N, E2 >: E <: Edge[N2]](edges: IterableOnce[E2])(implicit e: <:<[E2, Edge[N2]]): GraphTraversal[N2, E2]
Alias for
concat(edges)
.Alias for
concat(edges)
.- Definition Classes
- GraphOps
- Annotations
- @inline()
- final def ++[N2 >: N, E2 >: E <: Edge[N2]](isolatedNodes: IterableOnce[N2], edges: IterableOnce[E2])(implicit e: <:<[E2, Edge[N2]]): GraphTraversal[N2, E2]
Alias for
concat(isolatedNodes, edges)
.Alias for
concat(isolatedNodes, edges)
.- Definition Classes
- GraphOps
- Annotations
- @inline()
- def ->[B](y: B): (GraphTraversalImpl[N, E], B)
- Implicit
- This member is added by an implicit conversion from GraphTraversalImpl[N, E] toArrowAssoc[GraphTraversalImpl[N, E]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final val anyEdge: (GraphTraversalImpl.this)#EdgePredicate
Default edge filter letting path all edges (non-filter).
- final def anyEdgeSelector(from: (GraphTraversalImpl.this)#NodeT, to: (GraphTraversalImpl.this)#NodeT): Option[(GraphTraversalImpl.this)#EdgeT]
An arbitrary edge between
from
andto
that is available most efficiently.An arbitrary edge between
from
andto
that is available most efficiently.- Definition Classes
- GraphTraversal
- Annotations
- @inline()
- final val anyNode: (GraphTraversalImpl.this)#NodePredicate
Default node filter letting traverse all nodes (non-filter).
- final lazy val anyOrdering: AnyOrdering[N]
- Attributes
- protected
- Definition Classes
- GraphBase
- final def apply(edge: E): Boolean
Whether the given edge is contained in this graph.
Whether the given edge is contained in this graph.
- Definition Classes
- GraphOps
- Annotations
- @inline()
- final def apply(node: N): Boolean
Whether the given node is contained in this graph.
Whether the given node is contained in this graph.
- Definition Classes
- GraphOps
- Annotations
- @inline()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clearNodeStates(flags: FlagWord, flagsExt: ExtBitSet): Unit
- Attributes
- protected
- Definition Classes
- State
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def componentTraverser(parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#ComponentTraverserImpl
Creates a ComponentTraverser responsible for invoking graph traversal methods in all (weakly) connected components of this possibly disconnected graph.
Creates a ComponentTraverser responsible for invoking graph traversal methods in all (weakly) connected components of this possibly disconnected graph.
- parameters
The properties controlling subsequent traversals.
- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.- maxWeight
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.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def concat[N2 >: N, E2 >: E <: Edge[N2]](edges: IterableOnce[E2])(implicit e: <:<[E2, Edge[N2]]): GraphTraversal[N2, E2]
Same as
concat(isolatedNodes, edges)
but with emptyisolatedNodes
.Same as
concat(isolatedNodes, edges)
but with emptyisolatedNodes
. This method is useful if you don't need to pass any isolated node.- Definition Classes
- GraphOps
- final def cycle(results: Option[((GraphTraversalImpl.this)#NodeT, Stack[CycleStackElem])], edgeFilter: (GraphTraversalImpl.this)#EdgePredicate): Option[(GraphTraversalImpl.this)#Cycle]
- Attributes
- protected
- final def cycle(maybeStart: Option[(GraphTraversalImpl.this)#NodeT], stack: Stack[Element], edgeFilter: (GraphTraversalImpl.this)#EdgePredicate): Option[(GraphTraversalImpl.this)#Cycle]
- Attributes
- protected
- final lazy val defaultEdgeOrdering: (GraphTraversalImpl.this)#EdgeOrdering
- Definition Classes
- GraphBase
- final lazy val defaultNodeOrdering: (GraphTraversalImpl.this)#NodeOrdering
- Definition Classes
- GraphBase
- final def defaultPathSize: Int
- Attributes
- protected
- Definition Classes
- GraphTraversal
- Annotations
- @inline()
- final def diff(that: AnyGraph[N, E]): GraphTraversal[N, E]
Computes a new graph that is the difference of this graph and
that
graph.Computes a new graph that is the difference of this graph and
that
graph.- Definition Classes
- GraphOps
- def dump(store: FlagStore): ExtBitSet
- Attributes
- protected
- Definition Classes
- State
- def dumpDirty: ExtBitSet
Returns a copy of the current
dirty
-flags for dump purposes.Returns a copy of the current
dirty
-flags for dump purposes.- Definition Classes
- State
- def dumpInUse: ExtBitSet
Returns a copy of the current
inUse
-flags for dump purposes.Returns a copy of the current
inUse
-flags for dump purposes.- Definition Classes
- State
- final def elementCount: Int
The number of nodes and edges.
The number of nodes and edges.
- Definition Classes
- GraphOps
- Annotations
- @inline()
- def ensuring(cond: (GraphTraversalImpl[N, E]) => Boolean, msg: => Any): GraphTraversalImpl[N, E]
- Implicit
- This member is added by an implicit conversion from GraphTraversalImpl[N, E] toEnsuring[GraphTraversalImpl[N, E]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (GraphTraversalImpl[N, E]) => Boolean): GraphTraversalImpl[N, E]
- Implicit
- This member is added by an implicit conversion from GraphTraversalImpl[N, E] toEnsuring[GraphTraversalImpl[N, E]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): GraphTraversalImpl[N, E]
- Implicit
- This member is added by an implicit conversion from GraphTraversalImpl[N, E] toEnsuring[GraphTraversalImpl[N, E]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): GraphTraversalImpl[N, E]
- Implicit
- This member is added by an implicit conversion from GraphTraversalImpl[N, E] toEnsuring[GraphTraversalImpl[N, E]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def expectedMaxNodes(divisor: Int, min: Int = 128): Int
- Attributes
- protected
- def filterNot(nodeP: (GraphTraversalImpl.this)#NodePredicate = noNode, edgeP: (GraphTraversalImpl.this)#EdgePredicate = noEdge): GraphTraversal[N, E]
Computes a new graph without nodes satisfying
nodeP
and without edges satisfyingePred
.Computes a new graph without nodes satisfying
nodeP
and without edges satisfyingePred
. If bothnodeP
andePred
have default values the original graph is retained.- Definition Classes
- GraphOps
- final def findCycle[U](implicit visitor: ((GraphTraversalImpl.this)#InnerElem) => U = empty): Option[(GraphTraversalImpl.this)#Cycle]
Finds a cycle in
this
graph in any of its components and callsvisitor
for each inner element visited during the search.Finds a cycle in
this
graph in any of its components and callsvisitor
for each inner element visited during the search. SeecomponentTraverser
for more control by means ofFluentProperties
.- Definition Classes
- GraphTraversal
- final def findCycleContaining[U](node: (GraphTraversalImpl.this)#NodeT)(implicit visitor: ((GraphTraversalImpl.this)#InnerElem) => U = empty): Option[(GraphTraversalImpl.this)#Cycle]
Finds a cycle that contains
node
and callsvisitor
for each inner element visited during the search.Finds a cycle that contains
node
and callsvisitor
for each inner element visited during the search.- Definition Classes
- GraphTraversal
- final def flatMap[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fEdge: (Seq[NN], Seq[NN]) => Seq[EC[NN]])(implicit w: <:<[E, AnyEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.See overload except the parameter
- fEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def flatMapBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fEdge: (Seq[NN], Seq[NN]) => Seq[EC])(implicit w: <:<[E, AnyEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is typed. Otherwise see
flatMap
.See overload except the parameter
- fEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def flatMapDiHyper[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fDiHyperEdge: (Seq[NN], Seq[NN]) => Seq[EC[NN]], fEdge: Option[(Seq[NN], Seq[NN]) => Seq[EC[NN]]] = None)(implicit w: <:<[E, AnyDiHyperEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is generic. Otherwise see
flatMapDiHyperBound
.See overload except the parameter
- fDiHyperEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def flatMapDiHyperBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fDiHyperEdge: (Seq[NN], Seq[NN]) => Seq[EC], fEdge: Option[(Seq[NN], Seq[NN]) => Seq[EC]] = None)(implicit w: <:<[E, AnyDiHyperEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is typed. Otherwise see
flatMapDiHyper
.See overload except the parameter
- fDiHyperEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def flatMapHyper[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fHyperEdge: (Seq[NN]) => Seq[EC[NN]], fDiHyperEdge: Option[(Seq[NN], Seq[NN]) => Seq[EC[NN]]] = None, fEdge: Option[(Seq[NN], Seq[NN]) => Seq[EC[NN]]] = None)(implicit w: <:<[E, AnyHyperEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is generic. Otherwise see
flatMapHyperBound
.See overload except the parameter
- fHyperEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def flatMapHyperBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => Seq[NN], fHyperEdge: (Seq[NN]) => Seq[EC], fDiHyperEdge: Option[(Seq[NN], Seq[NN]) => Seq[EC]] = None, fEdge: Option[(Seq[NN], Seq[NN]) => Seq[EC]] = None)(implicit w: <:<[E, AnyHyperEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.Creates a new graph with nodes and edges returned by
fNode
respectivelyfEdge
.You can call this flavor only if this graph's edge type is typed. Otherwise see
flatMapHyper
.See overload except the parameter
- fHyperEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def foldLeftOuter[B](z: B)(opNode: (B, N) => B, opEdge: (B, E) => B): B
Same as
foldLeft
except the second parameter of the binary operators.Same as
foldLeft
except the second parameter of the binary operators.- opNode
the binary operator that is passed the cumulated value and an outer node.
- opEdge
the binary operator that is passed the cumulated value and an outer edge.
- Definition Classes
- GraphOps
- final def forInDegrees(nodes: Iterable[(GraphTraversalImpl.this)#NodeT] with (GraphTraversalImpl.this)#SubgraphProperties, maybeHandle: Option[Handle] = None, includeAnyway: Option[(GraphTraversalImpl.this)#NodeT] = None, includeInDegree: (GraphTraversalImpl.this)#NodePredicate = anyNode): (GraphTraversalImpl.this)#TopoSortSetup
Calculates in-degrees of nodes spanned by
nodes
.Calculates in-degrees of nodes spanned by
nodes
.- nodes
supplies the nodes for which the degree is to be calculated
- maybeHandle
to be used to mark visited nodes
- includeAnyway
include this node in the resulting list of nodes without predecessors irrespective of its in degree
- includeInDegree
optionally filters predecessor nodes when calculating the in degree
- returns
tuple of
- nodes without predecessors in the component spanned by
nodes
- map of visited nodes to their in degrees
- nodes without predecessors in the component spanned by
- Attributes
- protected
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def initialize(nodes: Iterable[N], edges: Iterable[E]): Unit
Populates this graph with
nodes
andedges
.Populates this graph with
nodes
andedges
. The implementing class will typically have a constructor with the same parameters which is invoked byfrom
of the companion object.- nodes
The isolated (and optionally any other) outer nodes that the node set of this graph is to be populated with.
- edges
The outer edges that the edge set of this graph is to be populated with. Nodes being the end of any of these edges will be added to the node set.
- Attributes
- protected
- Definition Classes
- GraphBase
- def innerEdgeTraverser(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#InnerEdgeTraverserImpl
Creates a InnerEdgeTraverser based on
scala.collection.Iterable[EdgeT]
.Creates a InnerEdgeTraverser based on
scala.collection.Iterable[EdgeT]
.- root
The node where subsequent graph traversals start.
- parameters
The properties controlling subsequent traversals.
- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def innerElemTraverser(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#InnerElemTraverserImpl
Creates a InnerElemTraverser based on
scala.collection.Iterable[InnerElem]
.Creates a InnerElemTraverser based on
scala.collection.Iterable[InnerElem]
.- root
The node where subsequent graph traversals start.
- parameters
The properties controlling subsequent traversals.
- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.- maxWeight
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.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def innerNodeDownUpTraverser(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#InnerNodeDownUpTraverserImpl
Creates a InnerNodeDownUpTraverser based on
scala.collection.Iterable[(Boolean, NodeT)]
where theBoolean
parameter istrue
if the traversal takes place in downward andfalse
if it takes place in upward direction.Creates a InnerNodeDownUpTraverser based on
scala.collection.Iterable[(Boolean, NodeT)]
where theBoolean
parameter istrue
if the traversal takes place in downward andfalse
if it takes place in upward direction.- root
The node where subsequent graph traversals start.
- parameters
The properties controlling subsequent traversals. A
kind
different fromDepthFirst
will be ignored.- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.- maxWeight
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.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def innerNodeTraverser(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#InnerNodeTraverserImpl
Creates a InnerNodeTraverser based on
scala.collection.Iterable[NodeT]
.Creates a InnerNodeTraverser based on
scala.collection.Iterable[NodeT]
.- root
The node where subsequent graph traversals start.
- parameters
The properties controlling subsequent traversals.
- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.- maxWeight
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.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- final def intersect(that: AnyGraph[N, E]): GraphTraversal[N, E]
Computes the intersection between this graph and
that
graph.Computes the intersection between this graph and
that
graph.- Definition Classes
- GraphOps
- final def isAcyclic: Boolean
Whether
this
graph has no cycle.Whether
this
graph has no cycle.- Definition Classes
- GraphTraversal
- Annotations
- @inline()
- def isComplete: Boolean
Whether all nodes are pairwise adjacent.
Whether all nodes are pairwise adjacent.
- returns
true
if this graph is complete,false
if this graph contains any independent nodes.
- Definition Classes
- GraphTraversal
- def isConnected: Boolean
Whether
this
graph is connected if it is undirected or weakly connected if it is directed.Whether
this
graph is connected if it is undirected or weakly connected if it is directed.- Definition Classes
- GraphTraversal
- final def isCustomEdgeFilter(f: (GraphTraversalImpl.this)#EdgePredicate): Boolean
true
iff
is not equivalent toanyEdge
.true
iff
is not equivalent toanyEdge
.- Definition Classes
- GraphBase
- Annotations
- @inline()
- final def isCustomNodeFilter(f: (GraphTraversalImpl.this)#NodePredicate): Boolean
true
iff
is not equivalent toanyNode
.true
iff
is not equivalent toanyNode
.- Definition Classes
- GraphBase
- Annotations
- @inline()
- final def isCyclic: Boolean
Whether
this
graph has at least one cycle in any of its components.Whether
this
graph has at least one cycle in any of its components.- Definition Classes
- GraphTraversal
- Annotations
- @inline()
- final def isEmpty: Boolean
Whether this graph contains any node or any edge.
Whether this graph contains any node or any edge.
- Definition Classes
- GraphOps
- Annotations
- @inline()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def isTrivial: Boolean
true
if this graph has at most 1 node.true
if this graph has at most 1 node.- Definition Classes
- GraphOps
- Annotations
- @inline()
- final def map[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fEdge: (NN, NN) => EC[NN])(implicit w: <:<[E, AnyEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
See overload except the parameter
- fEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def mapBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fEdge: (NN, NN) => EC)(implicit w: <:<[E, AnyEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
See overload except the parameter
- fEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def mapDiHyper[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fDiHyperEdge: (OneOrMore[NN], OneOrMore[NN]) => EC[NN], fEdge: Option[(NN, NN) => EC[NN]] = None)(implicit w: <:<[E, AnyDiHyperEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is generic. Otherwise see
mapDiHyperBound
.See overload except the parameter
- fDiHyperEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def mapDiHyperBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fDiHyperEdge: (OneOrMore[NN], OneOrMore[NN]) => EC, fEdge: Option[(NN, NN) => EC] = None)(implicit w: <:<[E, AnyDiHyperEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is typed. Otherwise see
mapDiHyper
.See overload except the parameter
- fDiHyperEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def mapHyper[NN, EC[X] <: Edge[X]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fHyperEdge: (Several[NN]) => EC[NN], fDiHyperEdge: Option[(OneOrMore[NN], OneOrMore[NN]) => EC[NN]] = None, fEdge: Option[(NN, NN) => EC[NN]] = None)(implicit w: <:<[E, AnyHyperEdge[N]]): GraphTraversal[NN, EC[NN]]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is generic. Otherwise see
mapHyperBound
.See overload except the parameter
- fHyperEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def mapHyperBound[NN, EC <: Edge[NN]](fNode: ((GraphTraversalImpl.this)#NodeT) => NN, fHyperEdge: (Several[NN]) => EC, fDiHyperEdge: Option[(OneOrMore[NN], OneOrMore[NN]) => EC] = None, fEdge: Option[(NN, NN) => EC] = None)(implicit w: <:<[E, AnyHyperEdge[N]]): GraphTraversal[NN, EC]
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
Creates a new graph with nodes and edges that are computed by the supplied mapping functions.
You can call this flavor only if this graph's edge type is typed. Otherwise see
mapHyper
.See overload except the parameter
- fHyperEdge
has a simplified signature in this overload leaving out the inner edge. This comes in handy whenever you don't need to inspect inner edges.
- Definition Classes
- GraphOps
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newPathBuilder(start: (GraphTraversalImpl.this)#NodeT)(implicit sizeHint: Int = defaultPathSize, edgeSelector: ((GraphTraversalImpl.this)#NodeT, (GraphTraversalImpl.this)#NodeT) => Option[(GraphTraversalImpl.this)#EdgeT]): (GraphTraversalImpl.this)#PathBuilderImpl
Instantiates a PathBuilder for this graph.
Instantiates a PathBuilder for this graph.
- start
The node this path starts at.
- sizeHint
Expected maximum number of nodes on this path.
- edgeSelector
Determines the edge to be selected between neighbor nodes if an edge is not supplied explicitly. This is only relevant in case of multigraphs.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def newWalkBuilder(start: (GraphTraversalImpl.this)#NodeT)(implicit sizeHint: Int = defaultPathSize, edgeSelector: ((GraphTraversalImpl.this)#NodeT, (GraphTraversalImpl.this)#NodeT) => Option[(GraphTraversalImpl.this)#EdgeT]): (GraphTraversalImpl.this)#WalkBuilderImpl
Instantiates a WalkBuilder for this graph.
Instantiates a WalkBuilder for this graph.
- start
The node this walk starts at.
- sizeHint
Expected maximum number of nodes on this walk.
- edgeSelector
Determines the edge to be selected between neighbor nodes if an edge is not supplied explicitly. This is only relevant in case of multigraphs.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def nextHandle: Handle
Avoid calling this directly, prefer
withHandle
instead.Avoid calling this directly, prefer
withHandle
instead.- Attributes
- protected
- Definition Classes
- State
- final val noEdge: (GraphTraversalImpl.this)#EdgePredicate
Edge predicate always returning
false
. - final val noNode: (GraphTraversalImpl.this)#NodePredicate
Node predicate always returning
false
. - final def nonTrivial: Boolean
true
if this graph has at least 2 nodes.true
if this graph has at least 2 nodes.- Definition Classes
- GraphOps
- Annotations
- @inline()
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def order: Int
The order - commonly referred to as |G| - of this graph equaling to the number of nodes.
- def outerEdgeTraverser(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#OuterEdgeTraverserImpl
Creates a OuterEdgeTraverser based on
scala.collection.Iterable[E[N]]
.Creates a OuterEdgeTraverser based on
scala.collection.Iterable[E[N]]
.- root
The node where subsequent graph traversals start.
- parameters
The properties controlling subsequent traversals.
- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.- maxWeight
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.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def outerElemTraverser(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#OuterElemTraverserImpl
Creates a OuterElemTraverser based on
scala.collection.Iterable[OuterElem]
.Creates a OuterElemTraverser based on
scala.collection.Iterable[OuterElem]
.- root
The node where subsequent graph traversals start.
- parameters
The properties controlling subsequent traversals.
- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.- maxWeight
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.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def outerNodeDownUpTraverser(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#OuterNodeDownUpTraverserImpl
Creates a OuterNodeDownUpTraverser based on
scala.collection.Iterable[(Boolean, N)]
where theBoolean
parameter istrue
if the traversal takes place in downward andfalse
if it takes place in upward direction.Creates a OuterNodeDownUpTraverser based on
scala.collection.Iterable[(Boolean, N)]
where theBoolean
parameter istrue
if the traversal takes place in downward andfalse
if it takes place in upward direction.- root
The node where subsequent graph traversals start.
- parameters
The properties controlling subsequent traversals. A
kind
different fromDepthFirst
will be ignored.- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def outerNodeTraverser(root: (GraphTraversalImpl.this)#NodeT, parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#OuterNodeTraverserImpl
Creates a OuterNodeTraverser based on
scala.collection.Iterable[N]
.Creates a OuterNodeTraverser based on
scala.collection.Iterable[N]
.- root
The node where subsequent graph traversals start.
- parameters
The properties controlling subsequent traversals.
- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.- maxWeight
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.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- def releaseHandle(handle: Handle): Unit
Avoid calling this directly, prefer
withHandle
instead.Avoid calling this directly, prefer
withHandle
instead.- Attributes
- protected
- Definition Classes
- State
- final def size: Int
The size - commonly referred to as |E| - of this graph equaling to the number of edges.
- def strongComponentTraverser(parameters: Parameters = Parameters(), subgraphNodes: (GraphTraversalImpl.this)#NodePredicate = anyNode, subgraphEdges: (GraphTraversalImpl.this)#EdgePredicate = anyEdge, ordering: (GraphTraversalImpl.this)#ElemOrdering = NoOrdering, maxWeight: Option[(GraphTraversalImpl.this)#Weight] = None): (GraphTraversalImpl.this)#StrongComponentTraverserImpl
Creates a StrongComponentTraverser.
Creates a StrongComponentTraverser.
- parameters
The properties controlling subsequent traversals.
- subgraphNodes
Restricts subsequent graph traversals to visit only nodes holding this predicate.
- subgraphEdges
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- ordering
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering.- maxWeight
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.
- Definition Classes
- GraphTraversalImpl → GraphTraversal
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def topologicalSort[U](implicit visitor: ((GraphTraversalImpl.this)#InnerElem) => U = empty): (GraphTraversalImpl.this)#TopologicalSort
Sorts this graph topologically.
Sorts this graph topologically. Hooks are ignored.
- visitor
called for each inner node or inner edge visited during the sort. See
componentTraverser
for more control by means ofFluentProperties
.
- Definition Classes
- GraphTraversal
- final def topologicalSortByComponent[U](implicit visitor: ((GraphTraversalImpl.this)#InnerElem) => U = empty): Iterable[(GraphTraversalImpl.this)#TopologicalSort]
Sorts every isolated component of this graph topologically.
Sorts every isolated component of this graph topologically. Hooks are ignored.
- visitor
called for each inner node or inner edge visited during the sort. See
componentTraverser
for more control by means ofFluentProperties
.
- Definition Classes
- GraphTraversal
- def totalWeight: Double
The Sum of the weight of all edges.
- final def union[N2 >: N, E2 >: E <: Edge[N2]](that: AnyGraph[N2, E2]): GraphTraversal[N2, E2]
Computes the union between this graph and
that
graph.Computes the union between this graph and
that
graph.- Definition Classes
- GraphOps
- Annotations
- @inline()
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withHandle[T](reuse: Option[Handle] = None)(block: (Handle) => T): T
Executes a code block in the context of a new or reused state handler.
Executes a code block in the context of a new or reused state handler.
- returns
The result of the code block executed.
- Attributes
- protected
- Definition Classes
- State
- def withHandles[T](nr: Int, reuse: Array[Handle] = Array.empty[Handle])(block: (Array[Handle]) => T): T
Executes a code block in the context
nr
new state handlers or alternatively in the context of the state handlersreuse
.Executes a code block in the context
nr
new state handlers or alternatively in the context of the state handlersreuse
.- returns
The result of the code block executed.
- Attributes
- protected
- Definition Classes
- State
- final def |(that: AnyGraph[N, E]): GraphTraversal[N, E]
Alias for
union
.Alias for
union
.- Definition Classes
- GraphOps
- Annotations
- @inline()
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from GraphTraversalImpl[N, E] toStringFormat[GraphTraversalImpl[N, E]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (GraphTraversalImpl[N, E], B)
- Implicit
- This member is added by an implicit conversion from GraphTraversalImpl[N, E] toArrowAssoc[GraphTraversalImpl[N, E]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
Welcome to the Graph for Scala API reference. Some suggested entry points:
AnyGraph
immutable.Graph
and its inner nodesmutable.Graph
and its inner nodes.edges
package and its subpackageshyperedges
package and its subpackages.labeled edges
packagemultilabeled edges
packagelabeled hyperedges
packagemultilabeled hyperedges
packageordered labeled hyperedges
packageordered multilabeled hyperedges
objectgeneric
package.GraphTraversal
andTraverserInnerNode
.RandomGraph
.GraphGen
.