Package com.ibm.wala.util.graph.traverse
Class NumberedDFSDiscoverTimeIterator<T>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.ArrayList<T>
com.ibm.wala.util.graph.traverse.DFSDiscoverTimeIterator<T>
com.ibm.wala.util.graph.traverse.NumberedDFSDiscoverTimeIterator<T>
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<T>
,Collection<T>
,Iterator<T>
,List<T>
,RandomAccess
This class implements depth-first search over a NumberedGraph, return an enumeration of the nodes of the graph in order of
increasing discover time. This class follows the outNodes of the graph nodes to define the graph, but this behavior can be
changed by overriding the getConnected method.
- See Also:
-
Field Summary
FieldsFields inherited from class java.util.AbstractList
modCount
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor DFSFinishTimeIterator.NumberedDFSDiscoverTimeIterator
(NumberedGraph<T> G, Iterator<? extends T> nodes) Construct a depth-first enumerator across the (possibly improper) subset of nodes reachable from the nodes in the given enumeration.Construct a depth-first enumerator starting with a particular node in a directed graph. -
Method Summary
Modifier and TypeMethodDescriptiongetConnected
(T n) get the out edges of a given nodeMethod getPendingChildren.protected void
protected void
setPendingChildren
(T v, Iterator<? extends T> iterator) Method setPendingChildren.Methods inherited from class com.ibm.wala.util.graph.traverse.DFSDiscoverTimeIterator
hasNext, init, init, next, remove, visitEdge
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
Methods inherited from class java.util.AbstractCollection
containsAll, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, stream, toArray
Methods inherited from interface java.util.Iterator
forEachRemaining
Methods inherited from interface java.util.List
containsAll
-
Field Details
-
G
The Graph being traversed
-
-
Constructor Details
-
NumberedDFSDiscoverTimeIterator
Construct a depth-first enumerator starting with a particular node in a directed graph.- Parameters:
G
- the graph whose nodes to enumerate- Throws:
IllegalArgumentException
- if G is null
-
NumberedDFSDiscoverTimeIterator
public NumberedDFSDiscoverTimeIterator(NumberedGraph<T> G, Iterator<? extends T> nodes) throws IllegalArgumentException Construct a depth-first enumerator across the (possibly improper) subset of nodes reachable from the nodes in the given enumeration.- Parameters:
G
- the graph whose nodes to enumeratenodes
- the set of nodes from which to start searching- Throws:
IllegalArgumentException
- if G is nullIllegalArgumentException
- if nodes == null
-
NumberedDFSDiscoverTimeIterator
Constructor DFSFinishTimeIterator.- Throws:
NullPointerException
- if G is null
-
-
Method Details
-
getPendingChildren
Method getPendingChildren.- Specified by:
getPendingChildren
in classDFSDiscoverTimeIterator<T>
- Returns:
- Object
-
setPendingChildren
Method setPendingChildren.- Specified by:
setPendingChildren
in classDFSDiscoverTimeIterator<T>
-
init
-
getConnected
Description copied from class:DFSDiscoverTimeIterator
get the out edges of a given node- Specified by:
getConnected
in classDFSDiscoverTimeIterator<T>
- Parameters:
n
- the node of which to get the out edges- Returns:
- the out edges
-