Trees

org.specs2.data.Trees
See theTrees companion object
trait Trees

Utility methods for Trees

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Trees.type
Self type

Members list

Value members

Concrete methods

def allPaths[A](tree: Tree[A]): List[List[A]]

Attributes

Returns

all the paths from root to leaves

def bottomUp[A, B](t: Tree[A], f: (A, LazyList[B]) => B): Tree[B]

map a Tree from leaves to root by replacing each node with the result of a function taking that node and the mapping of all its children.

map a Tree from leaves to root by replacing each node with the result of a function taking that node and the mapping of all its children.

This is used in JUnit to map a Tree[Description] where no Description objects are related to a Tree[Description] where each node returns the children nodes on the "getChildren" method

Attributes

def clean[A](t: Tree[Option[A]])(using initial: A): Tree[A]

remove None nodes from a tree

remove None nodes from a tree

Attributes

def flattenLeft[A](tree: Tree[A]): LazyList[A]

flatten the tree using a foldLeft to avoid SOF

flatten the tree using a foldLeft to avoid SOF

Attributes

def flattenSubForests[A](tree: Tree[A]): Tree[A]
def parentLocs[T](t: TreeLoc[T], ps: Seq[TreeLoc[T]]): Seq[TreeLoc[T]]

Attributes

Returns

the list of all parent locs from a given TreeLoc

def prune[A, B](t: Tree[A], f: A => Option[B]): Option[Tree[B]]

remove nodes from a tree if they are None according to a function f

remove nodes from a tree if they are None according to a function f

Attributes

def prune[A](t: Tree[A], f: Tree[A] => Option[A])(using initial: A): Tree[A]

remove nodes from a tree if they are None according to a function f

remove nodes from a tree if they are None according to a function f

Attributes

def size[A](t: TreeLoc[A]): Int

Attributes

Returns

the number of nodes in a TreeLoc

Givens

Givens

given treeIsSized[T]: treeIsSized[T]
given treeLocIsSized[T]: treeLocIsSized[T]

Extensions

Extensions

extension [A, B](t: Tree[A])
def bottomUp(f: (A, LazyList[B]) => B): Tree[B]

extension methods for the Tree trait

extension methods for the Tree trait

Attributes

def prune(f: A => Option[B]): Option[Tree[B]]

extension methods for the Tree trait

extension methods for the Tree trait

Attributes

extension [A](t: Tree[A])
def allPaths(using nothing: Int): List[List[A]]
def flattenLeft(using nothing: Int): LazyList[A]
def flattenSubForests(using nothing: Int): Tree[A]
def prune(f: Tree[A] => Option[A])(using initial: A): Tree[A]
def size: Int
extension [A](t: Tree[Option[A]])
def clean(using initial: A, nothing: Int): Tree[A]

This implicit can be used to remove None nodes in a Tree

This implicit can be used to remove None nodes in a Tree

Attributes

extension [T](t: TreeLoc[T])
def addChild(c: T): TreeLoc[T]

Implicit definition to add more functionalities to the TreeLoc class

Implicit definition to add more functionalities to the TreeLoc class

Attributes

def addFirstChild(c: T): TreeLoc[T]

Implicit definition to add more functionalities to the TreeLoc class

Implicit definition to add more functionalities to the TreeLoc class

Attributes

def getParent: TreeLoc[T]

Implicit definition to add more functionalities to the TreeLoc class

Implicit definition to add more functionalities to the TreeLoc class

Attributes

def insertDownLast(c: T): TreeLoc[T]

Implicit definition to add more functionalities to the TreeLoc class

Implicit definition to add more functionalities to the TreeLoc class

Attributes

def parentLocs: Seq[TreeLoc[T]]

Implicit definition to add more functionalities to the TreeLoc class

Implicit definition to add more functionalities to the TreeLoc class

Attributes

def size(using nothing: Int): Int

Implicit definition to add more functionalities to the TreeLoc class

Implicit definition to add more functionalities to the TreeLoc class

Attributes

def updateLabel(f: T => T): TreeLoc[T]

Implicit definition to add more functionalities to the TreeLoc class

Implicit definition to add more functionalities to the TreeLoc class

Attributes