Package org.jgrapht.alg.isomorphism
Class VF2MappingIterator<V,E>
- java.lang.Object
-
- org.jgrapht.alg.isomorphism.VF2MappingIterator<V,E>
-
- All Implemented Interfaces:
java.util.Iterator<GraphMapping<V,E>>
- Direct Known Subclasses:
VF2GraphMappingIterator
,VF2SubgraphMappingIterator
abstract class VF2MappingIterator<V,E> extends java.lang.Object implements java.util.Iterator<GraphMapping<V,E>>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Comparator<E>
edgeComparator
protected java.lang.Boolean
hadOneMapping
protected IsomorphicGraphMapping<V,E>
nextMapping
protected GraphOrdering<V,E>
ordering1
protected GraphOrdering<V,E>
ordering2
protected java.util.ArrayDeque<VF2State<V,E>>
stateStack
protected java.util.Comparator<V>
vertexComparator
-
Constructor Summary
Constructors Constructor Description VF2MappingIterator(GraphOrdering<V,E> ordering1, GraphOrdering<V,E> ordering2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
hasNext()
protected abstract IsomorphicGraphMapping<V,E>
match()
This function moves over all mappings between graph1 and graph2.protected IsomorphicGraphMapping<V,E>
matchAndCheck()
IsomorphicGraphMapping<V,E>
next()
void
remove()
-
-
-
Field Detail
-
vertexComparator
protected java.util.Comparator<V> vertexComparator
-
edgeComparator
protected java.util.Comparator<E> edgeComparator
-
nextMapping
protected IsomorphicGraphMapping<V,E> nextMapping
-
hadOneMapping
protected java.lang.Boolean hadOneMapping
-
ordering1
protected GraphOrdering<V,E> ordering1
-
ordering2
protected GraphOrdering<V,E> ordering2
-
-
Constructor Detail
-
VF2MappingIterator
public VF2MappingIterator(GraphOrdering<V,E> ordering1, GraphOrdering<V,E> ordering2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator)
-
-
Method Detail
-
match
protected abstract IsomorphicGraphMapping<V,E> match()
This function moves over all mappings between graph1 and graph2. It changes the state of the whole iterator.- Returns:
- null or one matching between graph1 and graph2
-
matchAndCheck
protected IsomorphicGraphMapping<V,E> matchAndCheck()
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<V>
-
next
public IsomorphicGraphMapping<V,E> next()
- Specified by:
next
in interfacejava.util.Iterator<V>
-
remove
public void remove()
- Specified by:
remove
in interfacejava.util.Iterator<V>
-
-