Dotty Documentation


trait WorklistAlgorithm
extends Object

Simple implementation of a worklist algorithm. A processing function is applied repeatedly to the first element in the worklist, as long as the stack is not empty.

The client class should mix-in this class and initialize the worklist field and define the processElement method. Then call the run method providing a function that initializes the worklist.

[-] Constructors

[-] Members

[+] class WList
[+] type Elem =
[+] val worklist : WList
[+] def dequeue : Elem

Remove and return the first element to be processed from the worklist.

[+] def processElement ( e: Elem ) : Unit

Process the current element from the worklist.

[+] def run ( initWorklist: => Unit ) : Unit

Run the iterative algorithm until the worklist remains empty. The initializer is run once before the loop starts and should initialize the worklist.