GenTree

sealed abstract
class GenTree[+N, +L]
Companion
object
class Object
trait Matchable
class Any
class Leaf[L]
class Node[N, L]

Value members

Abstract methods

def isLeaf: Boolean
def leftOption: Option[GenTree[N, L]]
def rightOption: Option[GenTree[N, L]]
def valueEither: Either[N, L]

Concrete methods

final
def ===[N1 >: N, L1 >: L](that: GenTree[N1, L1])(using evidence$30: Eq[N1], evidence$31: Eq[L1]): Boolean
final
def bimap[N1, L1](f: N => N1, g: L => L1): GenTree[N1, L1]
final
def bitraverse[F[_], N1, L1](f: N => F[N1], g: L => F[L1])(using evidence$25: Apply[F]): F[GenTree[N1, L1]]
final
def button: Button[N, L]
final
def isLeft[N1 >: N, L1 >: L](that: GenTree[N1, L1])(using evidence$15: Eq[N1], evidence$16: Eq[L1]): Boolean
final
def isLeftOf[N1 >: N, L1 >: L](that: GenTree[N1, L1])(using evidence$17: Eq[N1], evidence$18: Eq[L1]): Boolean
final
def isRight[N1 >: N, L1 >: L](that: GenTree[N1, L1])(using evidence$19: Eq[N1], evidence$20: Eq[L1]): Boolean
final
def isRightOf[N1 >: N, L1 >: L](that: GenTree[N1, L1])(using evidence$21: Eq[N1], evidence$22: Eq[L1]): Boolean
final
def leafCount: Int
final
def nodeCount: Int
final
def postOrder[F[_]](f: Button[N, L] => F[Unit])(using evidence$29: Monad[F]): F[Unit]
final
def preOrder[F[_]](f: Button[N, L] => F[Unit])(using evidence$28: Monad[F]): F[Unit]
final
def reducePostOrder[Z](f: L => Z)(g: (Z, Z, N) => Z): Z
final
def reducePostOrderM[F[_], Z](f: L => F[Z])(g: (Z, Z, N) => F[Z])(using evidence$26: Monad[F]): F[Z]
final
def scanPostOrder[Z](f: L => Z)(g: (Z, Z, N) => Z): GenTree[Z, Z]
final
def scanPostOrderM[F[_], Z](f: L => F[Z])(g: (Z, Z, N) => F[Z])(using evidence$27: Monad[F]): F[GenTree[Z, Z]]
final
def show[N1 >: N, L1 >: L](using evidence$32: Show[N1], evidence$33: Show[L1]): String
final
def sibling[N1 >: N, L1 >: L](that: GenTree[N1, L1])(using evidence$23: Eq[N1], evidence$24: Eq[L1]): Option[GenTree[N1, L1]]
final
def size: Int
final
final