Class NumberedDFSDiscoverTimeIterator<T>
java.lang.Object
java.util.AbstractCollection<T>
java.util.AbstractList<T>
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, SequencedCollection<T>
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 AbstractList
modCount -
Constructor Summary
ConstructorsConstructorDescriptionConstructor DFSFinishTimeIterator.NumberedDFSDiscoverTimeIterator(NumberedGraph<T> G, @Nullable 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 voidprotected voidsetPendingChildren(T v, Iterator<? extends T> iterator) Method setPendingChildren.Methods inherited from class ArrayList
add, add, addAll, addAll, addFirst, addLast, clear, clone, contains, ensureCapacity, equals, forEach, get, getFirst, getLast, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeFirst, removeIf, removeLast, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSizeMethods inherited from class AbstractCollection
containsAll, toStringMethods inherited from interface Collection
parallelStream, stream, toArrayMethods inherited from interface Iterator
forEachRemainingMethods inherited from interface List
containsAll, reversed
-
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, @Nullable 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:
getPendingChildrenin classDFSDiscoverTimeIterator<T>- Returns:
- Object
-
setPendingChildren
Method setPendingChildren.- Specified by:
setPendingChildrenin classDFSDiscoverTimeIterator<T>
-
init
-
getConnected
Description copied from class:DFSDiscoverTimeIteratorget the out edges of a given node- Specified by:
getConnectedin classDFSDiscoverTimeIterator<T>- Parameters:
n- the node of which to get the out edges- Returns:
- the out edges
-