object RepeatStep

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RepeatStep
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. class FifoWorklist[A] extends Worklist[A]

    queue based worklist for RepeatBehaviour.SearchAlgorithm.BreadthFirst

  2. class LifoWorklist[A] extends Worklist[A]

    stack based worklist for RepeatBehaviour.SearchAlgorithm.DepthFirst

  3. trait Worklist[A] extends AnyRef

    stores work still to do.

    stores work still to do. depending on the underlying collection type, the behaviour of the repeat step changes

  4. case class WorklistItem[A](traversal: Iterator[A], depth: Int) extends Product with Serializable

Value Members

  1. def apply[A](repeatTraversal: (Traversal[A]) => Traversal[A], behaviour: RepeatBehaviour[A]): (A) => Traversal[A]

    See also

    Traversal.repeat for a detailed overview Implementation note: using recursion results in nicer code, but uses the JVM stack, which only has enough space for ~10k steps. So instead, this uses a programmatic Stack which is semantically identical. The RepeatTraversalTests cover this case.