Class

org.opencypher.okapi.trees

TreeNode

Related Doc: package trees

Permalink

abstract class TreeNode[T <: TreeNode[T]] extends Product with Traversable[T]

This is the basic tree node class. Usually it makes more sense to use AbstractTreeNode, which uses reflection to generate the children and withNewChildren field/method. Our benchmarks show that manually implementing them can result in a speedup of a factor of ~3 for tree rewrites, so in performance critical places it might make sense to extend TreeNode instead.

This class uses array operations instead of Scala collections, both for improved performance as well as to save stack frames during recursion, which allows it to operate on trees that are several thousand nodes high.

Self Type
T
Linear Supertypes
Traversable[T], GenTraversable[T], GenericTraversableTemplate[T, Traversable], TraversableLike[T, Traversable[T]], GenTraversableLike[T, Traversable[T]], Parallelizable[T, ParIterable[T]], TraversableOnce[T], GenTraversableOnce[T], FilterMonadic[T, Traversable[T]], HasNewBuilder[T, Traversable[T]], Product, Equals, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TreeNode
  2. Traversable
  3. GenTraversable
  4. GenericTraversableTemplate
  5. TraversableLike
  6. GenTraversableLike
  7. Parallelizable
  8. TraversableOnce
  9. GenTraversableOnce
  10. FilterMonadic
  11. HasNewBuilder
  12. Product
  13. Equals
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TreeNode()(implicit arg0: ClassTag[T])

    Permalink

Type Members

  1. type Self = Traversable[T]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableLike
  2. class WithFilter extends FilterMonadic[A, Repr]

    Permalink
    Definition Classes
    TraversableLike

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean

    Permalink
    Definition Classes
    Equals
  2. abstract def productArity: Int

    Permalink
    Definition Classes
    Product
  3. abstract def productElement(n: Int): Any

    Permalink
    Definition Classes
    Product
  4. abstract def withNewChildren(newChildren: Array[T]): T

    Permalink

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def ++[B >: T, That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  4. def ++:[B >: T, That](that: Traversable[B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike
  5. def ++:[B >: T, That](that: TraversableOnce[B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike
  6. def /:[B](z: B)(op: (B, T) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  7. def :\[B](z: B)(op: (T, B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  8. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def addString(b: StringBuilder): StringBuilder

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

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

    Permalink
    Definition Classes
    TraversableOnce
  12. def aggregate[B](z: ⇒ B)(seqop: (B, T) ⇒ B, combop: (B, B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  13. def argString: String

    Permalink

    Turns all arguments in args into a string that describes the arguments.

    Turns all arguments in args into a string that describes the arguments.

    returns

    argument string

  14. def args: Iterator[Any]

    Permalink

    Arguments that should be printed.

    Arguments that should be printed. The default implementation excludes children.

  15. def arity: Int

    Permalink
  16. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  17. def children: Array[T]

    Permalink
  18. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. def collect[B, That](pf: PartialFunction[T, B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  20. def collectFirst[B](pf: PartialFunction[T, B]): Option[B]

    Permalink
    Definition Classes
    TraversableOnce
  21. def companion: GenericCompanion[Traversable]

    Permalink
    Definition Classes
    Traversable → GenTraversable → GenericTraversableTemplate
  22. def containsChild(other: T): Boolean

    Permalink

    Checks if other is a direct child of this tree.

    Checks if other is a direct child of this tree.

    other

    other tree

    returns

    true, iff other is a direct child of this tree

  23. def containsTree(other: T): Boolean

    Permalink

    Checks if the parameter tree is contained within this tree.

    Checks if the parameter tree is contained within this tree. A tree always contains itself.

    other

    other tree

    returns

    true, iff other is contained in that tree

  24. def copyToArray[B >: T](xs: Array[B], start: Int, len: Int): Unit

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  25. def copyToArray[B >: T](xs: Array[B]): Unit

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

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  27. def copyToBuffer[B >: T](dest: Buffer[B]): Unit

    Permalink
    Definition Classes
    TraversableOnce
  28. def count(p: (T) ⇒ Boolean): Int

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  29. def drop(n: Int): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  30. def dropWhile(p: (T) ⇒ Boolean): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  31. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  33. def exists(p: (T) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  34. def filter(p: (T) ⇒ Boolean): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  35. def filterNot(p: (T) ⇒ Boolean): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  36. def finalize(): Unit

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

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  38. def flatMap[B, That](f: (T) ⇒ GenTraversableOnce[B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike → FilterMonadic
  39. def flatten[B](implicit asTraversable: (T) ⇒ GenTraversableOnce[B]): Traversable[B]

    Permalink
    Definition Classes
    GenericTraversableTemplate
  40. def fold[A1 >: T](z: A1)(op: (A1, A1) ⇒ A1): A1

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  41. def foldLeft[B](z: B)(op: (B, T) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  42. def foldRight[B](z: B)(op: (T, B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  43. def forall(p: (T) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  44. def foreach[O](f: (T) ⇒ O): Unit

    Permalink
    Definition Classes
    TreeNode → GenericTraversableTemplate → TraversableLike → GenTraversableLike → TraversableOnce → GenTraversableOnce → FilterMonadic
  45. def genericBuilder[B]: Builder[B, Traversable[B]]

    Permalink
    Definition Classes
    GenericTraversableTemplate
  46. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  47. def groupBy[K](f: (T) ⇒ K): Map[K, Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  48. def hasDefiniteSize: Boolean

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  49. def hashCode(): Int

    Permalink
    Definition Classes
    TreeNode → AnyRef → Any
  50. def head: T

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  51. def headOption: Option[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  52. def height: Int

    Permalink
  53. def init: Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  54. def inits: Iterator[Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike
  55. def isEmpty: Boolean

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  56. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  57. def isLeaf: Boolean

    Permalink
  58. final def isTraversableAgain: Boolean

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike → GenTraversableOnce
  59. def last: T

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  60. def lastOption: Option[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  61. def map[O <: TreeNode[O]](f: (T) ⇒ O)(implicit arg0: ClassTag[O]): O

    Permalink
  62. def map[B, That](f: (T) ⇒ B)(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike → FilterMonadic
  63. def max[B >: T](implicit cmp: Ordering[B]): T

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

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  65. def min[B >: T](implicit cmp: Ordering[B]): T

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  66. def minBy[B](f: (T) ⇒ B)(implicit cmp: Ordering[B]): T

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  67. def mkString: String

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

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

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

    Permalink
    Definition Classes
    AnyRef
  71. def newBuilder: Builder[T, Traversable[T]]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    GenericTraversableTemplate → HasNewBuilder
  72. def nonEmpty: Boolean

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

    Permalink
    Definition Classes
    AnyRef
  74. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  75. def par: ParIterable[T]

    Permalink
    Definition Classes
    Parallelizable
  76. def parCombiner: Combiner[T, ParIterable[T]]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableLike → Parallelizable
  77. def partition(p: (T) ⇒ Boolean): (Traversable[T], Traversable[T])

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  78. def pretty(implicit depth: Int = 0): String

    Permalink

    Prints the tree node and its children recursively in a tree-style layout.

    Prints the tree node and its children recursively in a tree-style layout.

    depth

    indentation depth used by the recursive call

    returns

    tree-style representation of that node and all (grand-)children

  79. def product[B >: T](implicit num: Numeric[B]): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  80. def productIterator: Iterator[Any]

    Permalink
    Definition Classes
    Product
  81. def productPrefix: String

    Permalink
    Definition Classes
    Product
  82. def reduce[A1 >: T](op: (A1, A1) ⇒ A1): A1

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  83. def reduceLeft[B >: T](op: (B, T) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce
  84. def reduceLeftOption[B >: T](op: (B, T) ⇒ B): Option[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  85. def reduceOption[A1 >: T](op: (A1, A1) ⇒ A1): Option[A1]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  86. def reduceRight[B >: T](op: (T, B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  87. def reduceRightOption[B >: T](op: (T, B) ⇒ B): Option[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  88. def repr: Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  89. def reversed: List[T]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableOnce
  90. def scan[B >: T, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  91. def scanLeft[B, That](z: B)(op: (B, T) ⇒ B)(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  92. def scanRight[B, That](z: B)(op: (T, B) ⇒ B)(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) The behavior of scanRight has changed. The previous behavior can be reproduced with scanRight.reverse.

  93. def seq: Traversable[T]

    Permalink
    Definition Classes
    Traversable → GenTraversable → Parallelizable → TraversableOnce → GenTraversableOnce
  94. def size: Int

    Permalink
    Definition Classes
    TreeNode → GenTraversableLike → TraversableOnce → GenTraversableOnce
  95. def slice(from: Int, until: Int): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  96. def span(p: (T) ⇒ Boolean): (Traversable[T], Traversable[T])

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  97. def splitAt(n: Int): (Traversable[T], Traversable[T])

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  98. def stringPrefix: String

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  99. def sum[B >: T](implicit num: Numeric[B]): B

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

    Permalink
    Definition Classes
    AnyRef
  101. def tail: Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  102. def tails: Iterator[Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike
  103. def take(n: Int): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  104. def takeWhile(p: (T) ⇒ Boolean): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  105. def thisCollection: Traversable[T]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableLike
  106. def to[Col[_]](implicit cbf: CanBuildFrom[Nothing, T, Col[T]]): Col[T]

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  107. def toArray[B >: T](implicit arg0: ClassTag[B]): Array[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  108. def toBuffer[B >: T]: Buffer[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  109. def toCollection(repr: Traversable[T]): Traversable[T]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableLike
  110. def toIndexedSeq: IndexedSeq[T]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  111. def toIterable: Iterable[T]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  112. def toIterator: Iterator[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableOnce
  113. def toList: List[T]

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

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  115. def toSeq: Seq[T]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  116. def toSet[B >: T]: Set[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  117. def toStream: Stream[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableOnce
  118. def toString(): String

    Permalink
    Definition Classes
    TreeNode → TraversableLike → AnyRef → Any
  119. def toTraversable: Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
    Annotations
    @deprecatedOverriding( ... , "2.11.0" )
  120. def toVector: Vector[T]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  121. def transpose[B](implicit asTraversable: (T) ⇒ GenTraversableOnce[B]): Traversable[Traversable[B]]

    Permalink
    Definition Classes
    GenericTraversableTemplate
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) transpose throws an IllegalArgumentException if collections are not uniformly sized.

  122. def unzip[A1, A2](implicit asPair: (T) ⇒ (A1, A2)): (Traversable[A1], Traversable[A2])

    Permalink
    Definition Classes
    GenericTraversableTemplate
  123. def unzip3[A1, A2, A3](implicit asTriple: (T) ⇒ (A1, A2, A3)): (Traversable[A1], Traversable[A2], Traversable[A3])

    Permalink
    Definition Classes
    GenericTraversableTemplate
  124. def view(from: Int, until: Int): TraversableView[T, Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike
  125. def view: TraversableView[T, Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike
  126. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  129. def withFilter(p: (T) ⇒ Boolean): FilterMonadic[T, Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike → FilterMonadic

Inherited from Traversable[T]

Inherited from GenTraversable[T]

Inherited from GenericTraversableTemplate[T, Traversable]

Inherited from TraversableLike[T, Traversable[T]]

Inherited from GenTraversableLike[T, Traversable[T]]

Inherited from Parallelizable[T, ParIterable[T]]

Inherited from TraversableOnce[T]

Inherited from GenTraversableOnce[T]

Inherited from FilterMonadic[T, Traversable[T]]

Inherited from HasNewBuilder[T, Traversable[T]]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped