com.twitter.cassovary.graph

QueueBasedTraverser

trait QueueBasedTraverser extends Traverser

General schema for some Traversers (like BFS, DFS). QueueBasedTraverser keeps nodes to visit next in a queue. It iteratively visits nodes from the front of the queue in order based on the type of traversal and optionally adds new nodes to the queue.

Linear Supertypes
Traverser, Iterator[Node], TraversableOnce[Node], GenTraversableOnce[Node], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. QueueBasedTraverser
  2. Traverser
  3. Iterator
  4. TraversableOnce
  5. GenTraversableOnce
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class GroupedIterator[B >: A] extends AbstractIterator[Seq[B]] with Iterator[Seq[B]]

    Definition Classes
    Iterator

Abstract Value Members

  1. abstract def depth(node: Int): Option[Int]

    Depth of visit of a given node.

  2. abstract def dir: GraphDir

    Direction of the walk.

  3. abstract def graph: Graph

    Graph to be traversed.

  4. abstract def homeNodeIds: Seq[Int]

    Nodes to start the traversal from.

  5. abstract def nodePriority: GraphTraverserNodePriority

    The priority of nodes adding to the queue.

  6. abstract def shouldBeEnqueued(color: Color): Boolean

    Checks if the node of a given color should be enqueued.

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def ++[B >: Node](that: ⇒ GenTraversableOnce[B]): Iterator[B]

    Definition Classes
    Iterator
  5. def /:[B](z: B)(op: (B, Node) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  6. def :\[B](z: B)(op: (Node, B) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  7. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  8. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  9. object GraphTraverserNodePriority extends Enumeration

    The priority of nodes adding to the queue.

  10. def addString(b: StringBuilder): StringBuilder

    Definition Classes
    TraversableOnce
  11. def addString(b: StringBuilder, sep: String): StringBuilder

    Definition Classes
    TraversableOnce
  12. def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

    Definition Classes
    TraversableOnce
  13. def aggregate[B](z: B)(seqop: (B, Node) ⇒ B, combop: (B, B) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  14. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  15. def buffered: BufferedIterator[Node]

    Definition Classes
    Iterator
  16. def chooseNodesToEnqueue(node: Node): Seq[Int]

    Returns nodes ids that should be added to the queue after visiting node.

  17. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. def collect[B](pf: PartialFunction[Node, B]): Iterator[B]

    Definition Classes
    Iterator
    Annotations
    @migration
    Migration

    (Changed in version 2.8.0) collect has changed. The previous behavior can be reproduced with toSeq.

  19. def collectFirst[B](pf: PartialFunction[Node, B]): Option[B]

    Definition Classes
    TraversableOnce
  20. lazy val coloring: NodeColoring

    We mark nodes using 3 'colors': Unenqueued, Enqueued, Visited.

    We mark nodes using 3 'colors': Unenqueued, Enqueued, Visited. Initially every node is implicitly marked with Unenqueued.

    Node is marked Enqueued, when we add it to the queue. We mark it Visited just before returning with iterator's next function.

  21. def contains(elem: Any): Boolean

    Definition Classes
    Iterator
  22. def copyToArray[B >: Node](xs: Array[B], start: Int, len: Int): Unit

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  23. def copyToArray[B >: Node](xs: Array[B]): Unit

    Definition Classes
    TraversableOnce → GenTraversableOnce
  24. def copyToArray[B >: Node](xs: Array[B], start: Int): Unit

    Definition Classes
    TraversableOnce → GenTraversableOnce
  25. def copyToBuffer[B >: Node](dest: Buffer[B]): Unit

    Definition Classes
    TraversableOnce
  26. def corresponds[B](that: GenTraversableOnce[B])(p: (Node, B) ⇒ Boolean): Boolean

    Definition Classes
    Iterator
  27. def count(p: (Node) ⇒ Boolean): Int

    Definition Classes
    TraversableOnce → GenTraversableOnce
  28. lazy val degreeLimit: Limit

  29. lazy val depthLimit: Limit

  30. def drop(n: Int): Iterator[Node]

    Definition Classes
    Iterator
  31. def dropWhile(p: (Node) ⇒ Boolean): Iterator[Node]

    Definition Classes
    Iterator
  32. def duplicate: (Iterator[Node], Iterator[Node])

    Definition Classes
    Iterator
  33. def enqueue(nodes: Seq[Int], from: Option[Int]): Unit

    Enqueues nodes added after from node is visited (or None when equeueing initial nodes).

    Enqueues nodes added after from node is visited (or None when equeueing initial nodes).

    Attributes
    protected
  34. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  35. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  36. def exists(p: (Node) ⇒ Boolean): Boolean

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  37. def filter(p: (Node) ⇒ Boolean): Iterator[Node]

    Definition Classes
    Iterator
  38. def filterNot(p: (Node) ⇒ Boolean): Iterator[Node]

    Definition Classes
    Iterator
  39. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  40. def find(p: (Node) ⇒ Boolean): Option[Node]

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  41. def findNextNodeToVisit(): Option[Int]

    Finds in the queue the node that will be visited next.

    Finds in the queue the node that will be visited next.

    Attributes
    protected
  42. def flatMap[B](f: (Node) ⇒ GenTraversableOnce[B]): Iterator[B]

    Definition Classes
    Iterator
  43. def fold[A1 >: Node](z: A1)(op: (A1, A1) ⇒ A1): A1

    Definition Classes
    TraversableOnce → GenTraversableOnce
  44. def foldLeft[B](z: B)(op: (B, Node) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  45. def foldRight[B](z: B)(op: (Node, B) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  46. def forall(p: (Node) ⇒ Boolean): Boolean

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  47. def foreach[U](f: (Node) ⇒ U): Unit

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  48. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  49. def getExistingNodeById(graph: Graph, id: Int): Node

    Traverser only visits node Ids listed in some node's edges, and thus we know that node must exist, safe to assume graph.

    Traverser only visits node Ids listed in some node's edges, and thus we know that node must exist, safe to assume graph.getNodeById return non-None value

    Attributes
    protected
    Definition Classes
    Traverser
  50. def grouped[B >: Node](size: Int): GroupedIterator[B]

    Definition Classes
    Iterator
  51. def hasDefiniteSize: Boolean

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  52. def hasNext: Boolean

    Definition Classes
    QueueBasedTraverser → Iterator
  53. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  54. def indexOf[B >: Node](elem: B): Int

    Definition Classes
    Iterator
  55. def indexWhere(p: (Node) ⇒ Boolean): Int

    Definition Classes
    Iterator
  56. def isEmpty: Boolean

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  57. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  58. def isTraversableAgain: Boolean

    Definition Classes
    Iterator → GenTraversableOnce
  59. def length: Int

    Definition Classes
    Iterator
  60. def limitAddedToQueue(nodes: Seq[Int]): Seq[Int]

    If the queue is longer than the number of nodes that can be visited due to maxSteps bound, cuts the list of nodes that are to be added to the queue in order not to add too many of them.

    If the queue is longer than the number of nodes that can be visited due to maxSteps bound, cuts the list of nodes that are to be added to the queue in order not to add too many of them.

    Assumes that all nodes in the queue are being visited.

  61. lazy val limits: Limits

    Options to limit traverser walk.

  62. def map[B](f: (Node) ⇒ B): Iterator[B]

    Definition Classes
    Iterator
  63. def max[B >: Node](implicit cmp: Ordering[B]): Node

    Definition Classes
    TraversableOnce → GenTraversableOnce
  64. def maxBy[B](f: (Node) ⇒ B)(implicit cmp: Ordering[B]): Node

    Definition Classes
    TraversableOnce → GenTraversableOnce
  65. lazy val maxSteps: Option[Long]

  66. def min[B >: Node](implicit cmp: Ordering[B]): Node

    Definition Classes
    TraversableOnce → GenTraversableOnce
  67. def minBy[B](f: (Node) ⇒ B)(implicit cmp: Ordering[B]): Node

    Definition Classes
    TraversableOnce → GenTraversableOnce
  68. def mkString: String

    Definition Classes
    TraversableOnce → GenTraversableOnce
  69. def mkString(sep: String): String

    Definition Classes
    TraversableOnce → GenTraversableOnce
  70. def mkString(start: String, sep: String, end: String): String

    Definition Classes
    TraversableOnce → GenTraversableOnce
  71. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  72. def next(): Node

    Definition Classes
    QueueBasedTraverser → Iterator
  73. def nonEmpty: Boolean

    Definition Classes
    TraversableOnce → GenTraversableOnce
  74. final def notify(): Unit

    Definition Classes
    AnyRef
  75. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  76. var numEnqueuedEver: Long

    Number of nodes ever enqueued in the queue.

    Number of nodes ever enqueued in the queue.

    Attributes
    protected
  77. def padTo[A1 >: Node](len: Int, elem: A1): Iterator[A1]

    Definition Classes
    Iterator
  78. def partition(p: (Node) ⇒ Boolean): (Iterator[Node], Iterator[Node])

    Definition Classes
    Iterator
  79. def patch[B >: Node](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]

    Definition Classes
    Iterator
  80. lazy val prevNbrCounter: Option[PrevNbrCounter]

    Optional counter of previous nodes to a given node.

  81. def processNode(node: Node): Node

    Performs action needed when visiting a node.

    Performs action needed when visiting a node.

    Attributes
    protected
  82. def product[B >: Node](implicit num: Numeric[B]): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  83. val queue: IntArrayFIFOQueue

    Queue that stores nodes to be visited next.

    Queue that stores nodes to be visited next.

    Attributes
    protected
  84. def reduce[A1 >: Node](op: (A1, A1) ⇒ A1): A1

    Definition Classes
    TraversableOnce → GenTraversableOnce
  85. def reduceLeft[B >: Node](op: (B, Node) ⇒ B): B

    Definition Classes
    TraversableOnce
  86. def reduceLeftOption[B >: Node](op: (B, Node) ⇒ B): Option[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  87. def reduceOption[A1 >: Node](op: (A1, A1) ⇒ A1): Option[A1]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  88. def reduceRight[B >: Node](op: (Node, B) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  89. def reduceRightOption[B >: Node](op: (Node, B) ⇒ B): Option[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  90. def reversed: List[Node]

    Attributes
    protected[this]
    Definition Classes
    TraversableOnce
  91. def sameElements(that: Iterator[_]): Boolean

    Definition Classes
    Iterator
  92. def scanLeft[B](z: B)(op: (B, Node) ⇒ B): Iterator[B]

    Definition Classes
    Iterator
  93. def scanRight[B](z: B)(op: (Node, B) ⇒ B): Iterator[B]

    Definition Classes
    Iterator
  94. def seq: Iterator[Node]

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  95. val shouldBeDequeuedBeforeProcessing: Boolean

    Set to true to deque a node from the queue before processing.

  96. def size: Int

    Definition Classes
    TraversableOnce → GenTraversableOnce
  97. def slice(from: Int, until: Int): Iterator[Node]

    Definition Classes
    Iterator
  98. def sliding[B >: Node](size: Int, step: Int): GroupedIterator[B]

    Definition Classes
    Iterator
  99. def span(p: (Node) ⇒ Boolean): (Iterator[Node], Iterator[Node])

    Definition Classes
    Iterator
  100. def sum[B >: Node](implicit num: Numeric[B]): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  101. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  102. def take(n: Int): Iterator[Node]

    Definition Classes
    Iterator
  103. def takeWhile(p: (Node) ⇒ Boolean): Iterator[Node]

    Definition Classes
    Iterator
  104. def to[Col[_]](implicit cbf: CanBuildFrom[Nothing, Node, Col[Node]]): Col[Node]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  105. def toArray[B >: Node](implicit arg0: ClassTag[B]): Array[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  106. def toBuffer[B >: Node]: Buffer[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  107. def toIndexedSeq: IndexedSeq[Node]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  108. def toIterable: Iterable[Node]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  109. def toIterator: Iterator[Node]

    Definition Classes
    Iterator → GenTraversableOnce
  110. def toList: List[Node]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  111. def toMap[T, U](implicit ev: <:<[Node, (T, U)]): Map[T, U]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  112. def toSeq: Seq[Node]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  113. def toSet[B >: Node]: Set[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  114. def toStream: Stream[Node]

    Definition Classes
    Iterator → GenTraversableOnce
  115. def toString(): String

    Definition Classes
    Iterator → AnyRef → Any
  116. def toTraversable: Traversable[Node]

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  117. def toVector: Vector[Node]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  118. def visitNode(node: Node): Unit

    Action performed when visiting node node (before iteratur retuns node).

    Action performed when visiting node node (before iteratur retuns node). Should be implemented in subclass.

  119. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  120. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  121. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  122. def withFilter(p: (Node) ⇒ Boolean): Iterator[Node]

    Definition Classes
    Iterator
  123. def zip[B](that: Iterator[B]): Iterator[(Node, B)]

    Definition Classes
    Iterator
  124. def zipAll[B, A1 >: Node, B1 >: B](that: Iterator[B], thisElem: A1, thatElem: B1): Iterator[(A1, B1)]

    Definition Classes
    Iterator
  125. def zipWithIndex: Iterator[(Node, Int)]

    Definition Classes
    Iterator

Deprecated Value Members

  1. def /:\[A1 >: Node](z: A1)(op: (A1, A1) ⇒ A1): A1

    Definition Classes
    GenTraversableOnce
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) use fold instead

Inherited from Traverser

Inherited from Iterator[Node]

Inherited from TraversableOnce[Node]

Inherited from GenTraversableOnce[Node]

Inherited from AnyRef

Inherited from Any

Ungrouped