Module dev.civl.gmc

Class StackEntry<STATE,TRANSITION>

java.lang.Object
dev.civl.gmc.concurrent.StackEntry<STATE,TRANSITION>
All Implemented Interfaces:
Iterator<TRANSITION>

public class StackEntry<STATE,TRANSITION> extends Object implements Iterator<TRANSITION>
The stack entry that is going to be pushed onto the stack during the search. The stack entry also serves as the iterator of the ample set or ample set complement of the source state.
  • Constructor Details

    • StackEntry

      public StackEntry(ConcurrentNode<STATE> node, Collection<TRANSITION> transitions, boolean full)
      Parameters:
      node - The node that wraps the source state.
      transitions - The ample set or ample set complement of the source state.
      full - Whether the collection is ample set complement or not.
  • Method Details

    • peek

      public TRANSITION peek()
      Returns:
      the current transition but not move the transitionIterator.
    • next

      public TRANSITION next()
      Specified by:
      next in interface Iterator<STATE>
      Returns:
      the current transition and also move the transitionIterator.
    • getTid

      public int getTid()
    • isFull

      public boolean isFull()
    • setFull

      public void setFull(boolean full)
    • getNode

      public ConcurrentNode<STATE> getNode()
    • getTransitionIterator

      public Iterator<TRANSITION> getTransitionIterator()
    • source

      public STATE source()
    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<STATE>
    • getState

      public STATE getState()
    • getMinimumSuccessorStackIndex

      public int getMinimumSuccessorStackIndex()
    • setMinimumSuccessorStackIndex

      public void setMinimumSuccessorStackIndex(int minimumSuccessorStackIndex)
    • getTransitions

      public Collection<TRANSITION> getTransitions()
    • getExpand

      public boolean getExpand()
    • setExpand

      public void setExpand(boolean expand)
    • getChildrenThreadsCounter

      public AtomicInteger getChildrenThreadsCounter()
    • incrementCounter

      public void incrementCounter()