Class

monix.tail.Iterant

Visitor

Related Doc: package Iterant

Permalink

abstract class Visitor[F[_], A, R] extends (Iterant[F, A]) ⇒ R

Implements the Visitor Pattern for interpreting the Iterant data structure.

This can be used as an alternative to pattern matching and is used in the implementation of Iterant for performance reasons.

WARN: this being a class instead of a recursive function, it means that it often has to keep "shared state". Keeping shared state is great for performance, but breaks referential transparency, so use with care.

Linear Supertypes
(Iterant[F, A]) ⇒ R, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Visitor
  2. Function1
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Visitor()

    Permalink

Abstract Value Members

  1. abstract def fail(e: Throwable): R

    Permalink

    Processes unhandled errors.

  2. abstract def visit(ref: Halt[F, A]): R

    Permalink

    Processes Iterant.Halt.

  3. abstract def visit(ref: Last[F, A]): R

    Permalink

    Processes Iterant.Last.

  4. abstract def visit[S](ref: Scope[F, S, A]): R

    Permalink

    Processes Iterant.Scope.

  5. abstract def visit(ref: Concat[F, A]): R

    Permalink

    Processes Iterant.Concat.

  6. abstract def visit(ref: Suspend[F, A]): R

    Permalink

    Processes Iterant.Suspend.

  7. abstract def visit(ref: NextCursor[F, A]): R

    Permalink

    Processes Iterant.NextCursor.

  8. abstract def visit(ref: NextBatch[F, A]): R

    Permalink

    Processes Iterant.NextBatch.

  9. abstract def visit(ref: Next[F, A]): R

    Permalink

    Processes Iterant.Next.

Concrete Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (R) ⇒ A): (Iterant[F, A]) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. def apply(fa: Iterant[F, A]): R

    Permalink
    Definition Classes
    Visitor → Function1
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def compose[A](g: (A) ⇒ Iterant[F, A]): (A) ⇒ R

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  18. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  19. def toString(): String

    Permalink
    Definition Classes
    Function1 → AnyRef → Any
  20. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from (Iterant[F, A]) ⇒ R

Inherited from AnyRef

Inherited from Any

Ungrouped