Packages

final case class Location[A](tree: Tree[A], lefts: Forest[A], rights: Forest[A], parents: List[Parent[A]]) extends Product with Serializable

Zipper navigation and modification for Tree.

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Location
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Location(tree: Tree[A], lefts: Forest[A], rights: Forest[A], parents: List[Parent[A]])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def child(n: Int): Option[Location[A]]

    Move to the nth child.

  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def deepRight: Option[Location[A]]

    Move to the deepest rightmost node.

    Move to the deepest rightmost node.

    Annotations
    @tailrec()
  8. def delete: Option[Location[A]]

    Delete the focused node and then move right, otherwise left, otherwise up.

  9. def depth: Int

    Depth of location from the root.

  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. def forest: Forest[A]

    This node and its siblings.

  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  14. def insertChild(n: Int, newTree: Tree[A]): Location[A]

    Insert as the nth child and focus on the new node.

  15. def insertLeft(newTree: Tree[A]): Location[A]

    Insert to the left and focus on the new node.

  16. def insertLeftmostChild(newTree: Tree[A]): Location[A]

    Insert as the leftmost child and focus on the new node.

  17. def insertRight(newTree: Tree[A]): Location[A]

    Insert to the right and focus on the new node.

  18. def insertRightmostChild(newTree: Tree[A]): Location[A]

    Insert as the rightmost child and focus on the new node.

  19. def isBranch: Boolean

    Is this a branch node (has children)?

  20. def isChild: Boolean

    Is this a child node?

  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def isLeaf: Boolean

    Is this a leaf node (no children)?

  23. def isLeftmost: Boolean

    Is this the leftmost sibling node?

  24. def isRightmost: Boolean

    Is this the rightmost sibling node?

  25. def isRoot: Boolean

    Is this the root node?

  26. def left: Option[Location[A]]

    Move to the left sibling.

  27. def leftmostChild: Option[Location[A]]

    Move to the leftmost child.

  28. val lefts: Forest[A]
  29. def modify(f: (Tree[A]) ⇒ Tree[A]): Location[A]

    Modify the focused node.

  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. def next: Option[Location[A]]

    Move to the next location in the hierarchy in depth-first order.

  32. def nextRight: Option[Location[A]]

    Move to the right, otherwise the next possible right in a parent.

    Move to the right, otherwise the next possible right in a parent.

    Annotations
    @tailrec()
  33. final def notify(): Unit
    Definition Classes
    AnyRef
  34. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  35. def parent: Option[Location[A]]

    Move to the parent.

  36. val parents: List[Parent[A]]
  37. def path: List[Location[A]]

    Path from here up to the root.

  38. def prev: Option[Location[A]]

    Move to the previous location in the hierarchy in depth-first order.

  39. def right: Option[Location[A]]

    Move to the right sibling.

  40. def rightmostChild: Option[Location[A]]

    Move to the rightmost child.

  41. val rights: Forest[A]
  42. def root: Location[A]

    Move to the root.

    Move to the root.

    Annotations
    @tailrec()
  43. def set(tree: Tree[A]): Location[A]

    Replace the focused node.

  44. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  45. def toString(): String
    Definition Classes
    Location → AnyRef → Any
  46. val tree: Tree[A]
  47. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped