Graph-related functionality such as traversals, path finding, cycle detection etc. All algorithms including breadth-first, depth-first, white-gray-black search and Dijkstra's algorithm are tail recursive.
Before starting a traversal a Traverser
such as scalax.collection.GraphTraversal#InnerNodeTraverser is instantiated explicitly or implicitly. It holds settings like maxDepth
, subgraph
or ordering
providing a fine-grained control of the traversal. Traverser
s also extend scala.collection.Iterable
meaning that you can process the visited nodes and edges in a functional way.
Attributes
- See also
- Companion
- object
- Graph
-
- Supertypes
-
trait Serializableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
Show all
- Self type
-
Members list
Type members
Classlikes
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.
Type parameters
- A
-
one of
NodeT
,N
- T
-
one of
A
or(Int, Iterable[A])
Attributes
- Supertypes
-
class AbstractIterable[T]trait Iterable[T]trait IterableOnce[T]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class LayeredTopologicalOrder[A]class TopologicalOrder[A]
Represents a component of this
graph. Edges and bridges are computed lazily. Components will be instantiated by componentTraverser or strongComponentTraverser.
Represents a component of this
graph. Edges and bridges are computed lazily. Components will be instantiated by componentTraverser or strongComponentTraverser.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class StrongComponentImplclass WeakComponentImpl
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.
Attributes
- Supertypes
- Known subtypes
-
class ComponentTraverserImpl
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.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class AnyEdgeLazyCycleclass MultiEdgeLazyCycle
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ExtendedNodeVisitor.type
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:
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.
Attributes
- Companion
- object
- Supertypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Informer.type
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.
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.
Attributes
- Supertypes
- Known subtypes
-
class InnerEdgeTraverserImpl
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.
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.
Attributes
- Supertypes
-
class Objecttrait Matchableclass AnyShow all
- Known subtypes
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.
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.
Attributes
- Supertypes
- Known subtypes
-
class InnerNodeTraverserImpl
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: a. layer 0 contains all nodes having no predecessors, a. layer n contains those nodes that have only predecessors in ancestor layers with at least one of them contained in layer n - 1
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: a. layer 0 contains all nodes having no predecessors, a. layer n contains those nodes that have only predecessors in ancestor layers with at least one of them contained in layer n - 1
Type parameters
- A
-
one of
NodeT
,N
Attributes
- Supertypes
-
class Objecttrait Matchableclass AnyShow all
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.
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.
Attributes
- Supertypes
-
trait ForeachBasedDetachingIterable[E]trait Iterable[E]trait IterableOnce[E]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class OuterEdgeTraverserImpl
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.
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.
Attributes
- Supertypes
- Known subtypes
-
class OuterElemTraverserImpl
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.
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.
Attributes
- Supertypes
-
class Objecttrait Matchableclass AnyShow all
- Known subtypes
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.
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.
Attributes
- Supertypes
-
trait ForeachBasedDetachingIterable[N]trait Iterable[N]trait IterableOnce[N]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class OuterNodeTraverserImpl
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.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
trait Cycleclass AnyEdgeLazyCycleclass MultiEdgeLazyCycleclass LazyPathclass MultiEdgeLazyPathclass SimpleLazyPathclass AnyEdgeLazyPathclass MinWeightEdgeLazyPathShow all
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.
Attributes
- Supertypes
- Known subtypes
-
class PathBuilderImpl
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.
Attributes
- Supertypes
- Known subtypes
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.
Type parameters
- A
-
one of
NodeT
,N
Attributes
- Supertypes
-
class AbstractIterable[A]trait Iterable[A]trait IterableOnce[A]class Objecttrait Matchableclass AnyShow all
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.
Value parameters
- candidateCycleNodes
-
- If the set is not empty, at least one of the candidate nodes lies on a cycle.
- An empty set is only returned if, in any of the components, no node without a predecessor exists so the algorithm was stopped before any cycle node could have been determined.
Attributes
- Supertypes
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.
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.
Attributes
- Supertypes
-
trait ForeachBasedDetachingIterable[A]trait Iterable[A]trait IterableOnce[A]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class InnerEdgeTraverserclass InnerEdgeTraverserImplclass InnerNodeDownUpTraverserclass InnerNodeTraverserclass InnerNodeTraverserImplclass OuterEdgeTraverserclass OuterEdgeTraverserImpltrait OuterElemTraverserclass OuterElemTraverserImplclass OuterNodeDownUpTraverserclass OuterNodeTraverserclass OuterNodeTraverserImplShow all
- Self type
-
CC
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TraverserInnerNode.type
Attributes
- Companion
- object
- Supertypes
-
trait BaseInnerNodetrait InnerNodetrait InnerElemtrait Nodetrait Serializableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait GraphInnerNodeclass InnerNodeImplclass InnerNodeImpltrait NodeBasetrait GraphLikeInnerNodetrait InnerNodeTraversalImplShow all
- Self type
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.
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.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
trait Pathtrait Cycleclass AnyEdgeLazyCycleclass MultiEdgeLazyCycleclass LazyPathclass MultiEdgeLazyPathclass SimpleLazyPathclass AnyEdgeLazyPathclass MinWeightEdgeLazyPathShow all
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.
Attributes
- Supertypes
- Known subtypes
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
.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Inherited classlikes
Attributes
- Inherited from:
- GraphBase
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- GraphBase
- Supertypes
- Known subtypes
-
trait GraphInnerNodeclass InnerNodeImplclass InnerNodeImpltrait NodeBasetrait GraphLikeInnerNodetrait TraverserInnerNodetrait InnerNodeTraversalImplShow all
Ordering for the path dependent type EdgeT.
Ordering for the path dependent type EdgeT.
Attributes
- Inherited from:
- GraphBase
- Supertypes
-
trait Serializableclass Objecttrait Matchableclass Any
Ordering for the path dependent type EdgeT.
Ordering for the path dependent type EdgeT.
Attributes
- Inherited from:
- GraphBase
- Supertypes
- Known subtypes
Attributes
- Inherited from:
- GraphBase
- Supertypes
-
trait Serializabletrait ExtSetMethods[EdgeT]trait FilterableSet[EdgeT]trait Equalstrait IterableOnce[EdgeT]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait GraphEdgeSettrait AdjacencyListBaseEdgeSetclass AdjacencyListEdgeSetclass AdjacencyListEdgeSettrait GraphLikeEdgeSet
Attributes
- Inherited from:
- GraphOps
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- GraphOps
- Supertypes
- Known subtypes
-
trait BaseInnerEdgetrait GraphInnerEdge
Attributes
- Inherited from:
- GraphOps
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait InnerEdgetrait BaseInnerEdgetrait GraphInnerEdgetrait InnerNodetrait BaseInnerNodetrait GraphInnerNodeclass InnerNodeImplclass InnerNodeImpltrait NodeBasetrait GraphLikeInnerNodetrait TraverserInnerNodetrait InnerNodeTraversalImplShow all
Attributes
- Inherited from:
- GraphOps
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- GraphOps
- Supertypes
- Known subtypes
-
trait BaseInnerNodetrait GraphInnerNodeclass InnerNodeImplclass InnerNodeImpltrait NodeBasetrait GraphLikeInnerNodetrait TraverserInnerNodetrait InnerNodeTraversalImplShow all
The empty ElemOrdering.
The empty ElemOrdering.
Attributes
- Inherited from:
- GraphBase
- Supertypes
-
trait Serializableclass Objecttrait Matchableclass Any
Attributes
- Inherited from:
- GraphBase
- Supertypes
-
trait Serializableclass Objecttrait Matchableclass Any
- Known subtypes
-
trait BaseInnerNodetrait GraphInnerNodeclass InnerNodeImplclass InnerNodeImpltrait NodeBasetrait GraphLikeInnerNodetrait TraverserInnerNodetrait InnerNodeTraversalImplShow all
Attributes
- Inherited from:
- GraphBase
- Supertypes
-
class Objecttrait Matchableclass Any
Ordering for the path dependent type NodeT.
Attributes
- Inherited from:
- GraphBase
- Supertypes
-
trait ExtSetMethods[NodeT]trait FilterableSet[NodeT]trait Equalstrait IterableOnce[NodeT]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait GraphNodeSettrait AdjacencyListBaseNodeSetclass AdjacencyListNodeSetclass AdjacencyListNodeSettrait GraphLikeNodeSet
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(...)
.
Attributes
- Inherited from:
- OuterElems
- Supertypes
Attributes
- Inherited from:
- OuterElems
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Wraps any type to be accepted when calling Graph(...)
.
Wraps any type to be accepted when calling Graph(...)
.
Attributes
- Inherited from:
- OuterElems
- Supertypes
Types
The result of a topological sort in the layered view.
The result of a topological sort in the layered view.
Attributes
Value members
Abstract methods
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.
Value parameters
- 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.
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Creates a InnerEdgeTraverser based on scala.collection.Iterable[EdgeT]
.
Creates a InnerEdgeTraverser based on scala.collection.Iterable[EdgeT]
.
Value parameters
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals.
- root
-
The node where subsequent graph traversals start.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Creates a InnerElemTraverser based on scala.collection.Iterable[InnerElem]
.
Creates a InnerElemTraverser based on scala.collection.Iterable[InnerElem]
.
Value parameters
- 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.
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals.
- root
-
The node where subsequent graph traversals start.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Creates a InnerNodeDownUpTraverser based on scala.collection.Iterable[(Boolean, NodeT)]
where the Boolean
parameter is true
if the traversal takes place in downward and false
if it takes place in upward direction.
Creates a InnerNodeDownUpTraverser based on scala.collection.Iterable[(Boolean, NodeT)]
where the Boolean
parameter is true
if the traversal takes place in downward and false
if it takes place in upward direction.
Value parameters
- 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.
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals. A
kind
different fromDepthFirst
will be ignored. - root
-
The node where subsequent graph traversals start.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Creates a InnerNodeTraverser based on scala.collection.Iterable[NodeT]
.
Creates a InnerNodeTraverser based on scala.collection.Iterable[NodeT]
.
Value parameters
- 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.
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals.
- root
-
The node where subsequent graph traversals start.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Instantiates a PathBuilder for this graph.
Instantiates a PathBuilder for this graph.
Value parameters
- 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.
- sizeHint
-
Expected maximum number of nodes on this path.
- start
-
The node this path starts at.
Attributes
Instantiates a WalkBuilder for this graph.
Instantiates a WalkBuilder for this graph.
Value parameters
- 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.
- sizeHint
-
Expected maximum number of nodes on this walk.
- start
-
The node this walk starts at.
Attributes
Creates a OuterEdgeTraverser based on scala.collection.Iterable[E[N]]
.
Creates a OuterEdgeTraverser based on scala.collection.Iterable[E[N]]
.
Value parameters
- 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.
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals.
- root
-
The node where subsequent graph traversals start.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Creates a OuterElemTraverser based on scala.collection.Iterable[OuterElem]
.
Creates a OuterElemTraverser based on scala.collection.Iterable[OuterElem]
.
Value parameters
- 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.
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals.
- root
-
The node where subsequent graph traversals start.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Creates a OuterNodeDownUpTraverser based on scala.collection.Iterable[(Boolean, N)]
where the Boolean
parameter is true
if the traversal takes place in downward and false
if it takes place in upward direction.
Creates a OuterNodeDownUpTraverser based on scala.collection.Iterable[(Boolean, N)]
where the Boolean
parameter is true
if the traversal takes place in downward and false
if it takes place in upward direction.
Value parameters
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals. A
kind
different fromDepthFirst
will be ignored. - root
-
The node where subsequent graph traversals start.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Creates a OuterNodeTraverser based on scala.collection.Iterable[N]
.
Creates a OuterNodeTraverser based on scala.collection.Iterable[N]
.
Value parameters
- 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.
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals.
- root
-
The node where subsequent graph traversals start.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Creates a StrongComponentTraverser.
Creates a StrongComponentTraverser.
Value parameters
- 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.
- ordering
-
If a
NodeOrdering
orEdgeOrdering
different fromNoOrdering
is supplied neighbor nodes will visited during the traversal according to this ordering. - parameters
-
The properties controlling subsequent traversals.
- subgraphEdges
-
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
- subgraphNodes
-
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Attributes
Concrete methods
An arbitrary edge between from
and to
that is available most efficiently.
An arbitrary edge between from
and to
that is available most efficiently.
Attributes
Finds a cycle in this
graph in any of its components and calls visitor
for each inner element visited during the search. See componentTraverser
for more control by means of FluentProperties
.
Finds a cycle in this
graph in any of its components and calls visitor
for each inner element visited during the search. See componentTraverser
for more control by means of FluentProperties
.
Attributes
Finds a cycle that contains node
and calls visitor
for each inner element visited during the search.
Finds a cycle that contains node
and calls visitor
for each inner element visited during the search.
Attributes
Whether this
graph has no cycle.
Whether this
graph has no cycle.
Attributes
Whether all nodes are pairwise adjacent.
Whether all nodes are pairwise adjacent.
Attributes
- Returns
-
true
if this graph is complete,false
if this graph contains any independent nodes.
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.
Attributes
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.
Attributes
Sorts this graph topologically. Hooks are ignored.
Sorts this graph topologically. Hooks are ignored.
Value parameters
- visitor
-
called for each inner node or inner edge visited during the sort. See
componentTraverser
for more control by means ofFluentProperties
.
Attributes
Sorts every isolated component of this graph topologically. Hooks are ignored.
Sorts every isolated component of this graph topologically. Hooks are ignored.
Value parameters
- visitor
-
called for each inner node or inner edge visited during the sort. See
componentTraverser
for more control by means ofFluentProperties
.
Attributes
Inherited methods
Alias for intersect
.
Alias for diff
.
Alias for concat(edges)
.
Alias for concat(isolatedNodes, edges)
.
Whether the given edge is contained in this graph.
Whether the given node is contained in this graph.
Same as concat(isolatedNodes, edges)
but with empty isolatedNodes
. This method is useful if you don't need to pass any isolated node.
Same as concat(isolatedNodes, edges)
but with empty isolatedNodes
. This method is useful if you don't need to pass any isolated node.
Attributes
- Inherited from:
- GraphOps
Creates a new graph by adding all edges
and isolatedNodes
omitting duplicates. The new graph is upcasted if any of the arguments is an upcast of N
respectively E
. Use union
to concatenate all nodes and edges of another graph.
Creates a new graph by adding all edges
and isolatedNodes
omitting duplicates. The new graph is upcasted if any of the arguments is an upcast of N
respectively E
. Use union
to concatenate all nodes and edges of another graph.
Value parameters
- edges
-
to be concatenated.
- isolatedNodes
-
to be concatenated. Nodes that are implicitly defined by any edge in
edges
will be ignored.
Attributes
- Inherited from:
- GraphOps
Whether the given outer edge is contained in this graph.
Whether the given outer node is contained in this graph.
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.
Attributes
- Inherited from:
- GraphOps
The edge set of this Graph
commonly referred to as E(G).
The edge set of this Graph
commonly referred to as E(G).
Attributes
- Returns
-
Set of all contained edges.
- Inherited from:
- GraphBase
The number of nodes and edges.
Computes a new graph with nodes satisfying nodeP
and edges satisfying edgeP
. If both nodeP
and edgeP
have default values the original graph is retained.
Computes a new graph with nodes satisfying nodeP
and edges satisfying edgeP
. If both nodeP
and edgeP
have default values the original graph is retained.
Attributes
- Inherited from:
- GraphOps
Computes a new graph without nodes satisfying nodeP
and without edges satisfying ePred
. If both nodeP
and ePred
have default values the original graph is retained.
Computes a new graph without nodes satisfying nodeP
and without edges satisfying ePred
. If both nodeP
and ePred
have default values the original graph is retained.
Attributes
- Inherited from:
- GraphOps
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.
Attributes
- Inherited from:
- GraphOps
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.
Attributes
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
See overload except the parameter
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is generic. Otherwise see flatMapBound
.
Type parameters
- EC
-
The higher kind of the generic edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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.
Attributes
- Returns
-
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Inherited from:
- GraphOps
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.
Type parameters
- EC
-
The higher kind of the generic edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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.
Attributes
- Returns
-
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is typed. Otherwise see flatMap
.
See overload except the parameter
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is typed. Otherwise see flatMap
.
Type parameters
- EC
-
The edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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.
Attributes
- Returns
-
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Inherited from:
- GraphOps
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
.
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is generic. Otherwise see flatMapDiHyperBound
.
See overload except the parameter
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is generic. Otherwise see flatMapDiHyperBound
.
Type parameters
- EC
-
The higher kind of the generic edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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.
Attributes
- Returns
-
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is typed. Otherwise see flatMapDiHyper
.
See overload except the parameter
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is typed. Otherwise see flatMapDiHyper
.
Type parameters
- EC
-
The edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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.
Attributes
- Returns
-
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is generic. Otherwise see flatMapHyperBound
.
See overload except the parameter
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is generic. Otherwise see flatMapHyperBound
.
Type parameters
- EC
-
The higher kind of the generic edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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. - 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.
Attributes
- Returns
-
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is typed. Otherwise see flatMapHyper
.
See overload except the parameter
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
Creates a new graph with nodes and edges returned by fNode
respectively fEdge
.
You can call this flavor only if this graph's edge type is typed. Otherwise see flatMapHyper
.
Type parameters
- EC
-
The edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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. - 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.
Attributes
- Returns
-
A new graph of possibly changed node and edge types and of any new structure depending on your edge mapper(s).
- Inherited from:
- GraphOps
Applies a node-specific and an edge-specific binary operator to a cumulated value. First opNode
is called for all nodes than opEdge
for all edges.
Applies a node-specific and an edge-specific binary operator to a cumulated value. First opNode
is called for all nodes than opEdge
for all edges.
Type parameters
- B
-
the result type of the binary operator.
Value parameters
- opEdge
-
the binary operator that is passed the cumulated value and an inner edge.
- opNode
-
the binary operator that is passed the cumulated value and an inner node.
- z
-
the start value that is passed to
opNode
the first time.
Attributes
- Returns
-
the cumulated value.
- Inherited from:
- GraphOps
Same as foldLeft
except the second parameter of the binary operators.
Same as foldLeft
except the second parameter of the binary operators.
Value parameters
- opEdge
-
the binary operator that is passed the cumulated value and an outer edge.
- opNode
-
the binary operator that is passed the cumulated value and an outer node.
Attributes
- Inherited from:
- GraphOps
Short for find(edge).get
.
Short for find(edge).get
.
Attributes
- Throws
-
NoSuchElementException
if the edge is not found.
- Inherited from:
- GraphOps
Short for find(node).get
.
Short for find(node).get
.
Attributes
- Throws
-
NoSuchElementException
if the node is not found.
- Inherited from:
- GraphOps
Computes the intersection between this graph and that
graph.
true
if f
is not equivalent to anyEdge
.
true
if f
is not equivalent to anyNode
.
Whether all edges of this graph are directed.
Whether this graph contains any node or any edge.
Whether this graph contains at least one hyperedge.
Whether this graph contains at least one directed and one undirected edge.
Whether this graph contains at least one directed and one undirected edge.
Attributes
- Inherited from:
- GraphOps
Whether this graph contains at least one multi-edge. We defnie multi-edges by a. two or more directed edges having the same source and target a. two or more undirected edges connecting the same nodes a. two or more (directed) hyperedges that, after being decomposed into (directed) edges, yield any multy-edge as stipulated above.
Whether this graph contains at least one multi-edge. We defnie multi-edges by a. two or more directed edges having the same source and target a. two or more undirected edges connecting the same nodes a. two or more (directed) hyperedges that, after being decomposed into (directed) edges, yield any multy-edge as stipulated above.
Attributes
- Inherited from:
- GraphOps
true
if this graph has at most 1 node.
Iterator over all inner nodes and edges.
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
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
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
.
Type parameters
- EC
-
The higher kind of the generic edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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.
Attributes
- Returns
-
The mapped graph with possibly changed node and edge type parameters.
- Inherited from:
- GraphOps
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.
Type parameters
- EC
-
The higher kind of the generic edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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.
Attributes
- Returns
-
The mapped graph with possibly changed node and edge type parameters.
- Inherited from:
- GraphOps
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
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
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
.
Type parameters
- EC
-
The edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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.
Attributes
- Returns
-
The mapped graph with possibly changed node and edge type parameters.
- Inherited from:
- GraphOps
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
.
Value parameters
- 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.
Attributes
- Returns
-
The mapped graph with possibly changed node and edge type parameters.
- Inherited from:
- GraphOps
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
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
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
.
Type parameters
- EC
-
The higher kind of the generic edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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.
Attributes
- Returns
-
The mapped graph with possibly changed node and edge type parameters.
- Inherited from:
- GraphOps
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
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
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
.
Type parameters
- EC
-
The edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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.
Attributes
- Returns
-
The mapped graph with possibly changed node and edge type parameters.
- Inherited from:
- GraphOps
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
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
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
.
Type parameters
- EC
-
The higher kind of the generic edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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. - 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.
Attributes
- Returns
-
The mapped graph with possibly changed node and edge type parameters.
- Inherited from:
- GraphOps
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
Value parameters
- 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.
Attributes
- Inherited from:
- GraphOps
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
.
Type parameters
- EC
-
The edge type parameter of this graph.
- NN
-
The node type of the resulting graph which may be unchanged or different from this graph's node type.
Value parameters
- 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. - 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. - 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.
Attributes
- Returns
-
The mapped graph with possibly changed node and edge type parameters.
- Inherited from:
- GraphOps
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).
Attributes
- Returns
-
Set of all contained nodes.
- Inherited from:
- GraphBase
true
if this graph has at least 2 nodes.
The order - commonly referred to as |G| - of this graph equaling to the number of nodes.
The order - commonly referred to as |G| - of this graph equaling to the number of nodes.
Attributes
- Inherited from:
- GraphBase
Iterator over all inner nodes and edges.
Attributes
- Inherited from:
- GraphOps
The size - commonly referred to as |E| - of this graph equaling to the number of edges.
The size - commonly referred to as |E| - of this graph equaling to the number of edges.
Attributes
- Inherited from:
- GraphBase
Iterable over all nodes and edges.
Iterable over all nodes and edges.
The Sum of the weight of all edges.
Computes the union between this graph and that
graph.