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.
sequences of memory access paths connected with dependencies.Modifier and Type | Class and Description |
---|---|
static class |
MemoryAccessStructureIterator.Mode |
Constructor and Description |
---|
MemoryAccessStructureIterator(MemoryGraphAbstraction abstraction,
java.util.List<MemoryAccessType> accessTypes,
java.util.List<MemoryAccessConstraints> accessConstraints,
MemoryAccessConstraints constraints,
MemoryAccessStructureIterator.Mode mode,
int countLimit) |
Modifier and Type | Method and Description |
---|---|
void |
addDependencyFilter(TriPredicate<MemoryAccess,MemoryAccess,BufferDependency> filter) |
void |
addFilterBuilder(FilterBuilder filter) |
void |
addHazardFilter(TriPredicate<MemoryAccess,MemoryAccess,BufferHazard.Instance> filter) |
void |
addStructureFilter(Predicate<MemoryAccessStructure> filter) |
void |
addUnitedDependencyFilter(BiPredicate<MemoryAccess,BufferUnitedDependency> filter) |
void |
addUnitedHazardFilter(BiPredicate<MemoryAccess,BufferUnitedHazard> filter) |
MemoryAccessStructureIterator |
clone() |
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, MemoryAccessStructureIterator.Mode mode, int countLimit)
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 addHazardFilter(TriPredicate<MemoryAccess,MemoryAccess,BufferHazard.Instance> filter)
public void addDependencyFilter(TriPredicate<MemoryAccess,MemoryAccess,BufferDependency> filter)
public void addUnitedHazardFilter(BiPredicate<MemoryAccess,BufferUnitedHazard> filter)
public void addUnitedDependencyFilter(BiPredicate<MemoryAccess,BufferUnitedDependency> filter)
public void addStructureFilter(Predicate<MemoryAccessStructure> filter)
public void addFilterBuilder(FilterBuilder filter)