public final class MemoryAccessStructureIterator extends java.lang.Object implements ru.ispras.testbase.knowledge.iterator.Iterator<MemoryAccessStructure>
MemoryAccessStructureIterator
implements an iterator of memory access structures, i.e.
templates over memory access instructions (loads and stores).Constructor and Description |
---|
MemoryAccessStructureIterator(MemoryGraphAbstraction abstraction,
java.util.List<MemoryAccessType> accessTypes,
java.util.List<MemoryAccessConstraints> accessConstraints,
MemoryAccessConstraints constraints) |
Modifier and Type | Method and Description |
---|---|
void |
addAccessFilter(Predicate<MemoryAccess> filter) |
void |
addDependencyFilter(TriPredicate<MemoryAccess,MemoryAccess,MemoryDependency> filter) |
void |
addFilterBuilder(FilterBuilder filter) |
void |
addHazardFilter(TriPredicate<MemoryAccess,MemoryAccess,MemoryHazard> filter) |
void |
addStructureFilter(Predicate<MemoryAccessStructure> filter) |
void |
addUnitedDependencyFilter(BiPredicate<MemoryAccess,MemoryUnitedDependency> filter) |
void |
addUnitedHazardFilter(BiPredicate<MemoryAccess,MemoryUnitedHazard> filter) |
MemoryAccessStructureIterator |
clone() |
java.util.List<MemoryAccessType> |
getAccessTypes() |
boolean |
hasValue() |
void |
init() |
void |
next() |
void |
stop() |
MemoryAccessStructure |
value() |
public MemoryAccessStructureIterator(MemoryGraphAbstraction abstraction, java.util.List<MemoryAccessType> accessTypes, java.util.List<MemoryAccessConstraints> accessConstraints, MemoryAccessConstraints constraints)
public java.util.List<MemoryAccessType> getAccessTypes()
public void init()
init
in interface ru.ispras.testbase.knowledge.iterator.Iterator<MemoryAccessStructure>
public boolean hasValue()
hasValue
in interface ru.ispras.testbase.knowledge.iterator.Iterator<MemoryAccessStructure>
public MemoryAccessStructure value()
value
in interface ru.ispras.testbase.knowledge.iterator.Iterator<MemoryAccessStructure>
public void next()
next
in interface ru.ispras.testbase.knowledge.iterator.Iterator<MemoryAccessStructure>
public void stop()
stop
in interface ru.ispras.testbase.knowledge.iterator.Iterator<MemoryAccessStructure>
public MemoryAccessStructureIterator clone()
clone
in interface ru.ispras.testbase.knowledge.iterator.Iterator<MemoryAccessStructure>
clone
in class java.lang.Object
public void addAccessFilter(Predicate<MemoryAccess> filter)
public void addHazardFilter(TriPredicate<MemoryAccess,MemoryAccess,MemoryHazard> filter)
public void addDependencyFilter(TriPredicate<MemoryAccess,MemoryAccess,MemoryDependency> filter)
public void addUnitedHazardFilter(BiPredicate<MemoryAccess,MemoryUnitedHazard> filter)
public void addUnitedDependencyFilter(BiPredicate<MemoryAccess,MemoryUnitedDependency> filter)
public void addStructureFilter(Predicate<MemoryAccessStructure> filter)
public void addFilterBuilder(FilterBuilder filter)