trait Alterator[+S <: Any, -I, +O, +E] extends Stage[I, O, E]
A h8io.stages.Stage that wraps another stage (the alterand).
Alterator is the base trait for all unary operators and decorators that modify the behavior of a single inner
stage. Resource disposal is the responsibility of the h8io.stages.Evolution returned by apply or skip —
concrete subclasses must ensure their evolution delegates dispose to alterand's evolution.
Do not mix Alterator with traits that supply the stage's own continuation — its skip, evolve or
dispose (e.g. SAMStage, Stagnation). An alterator's evolution has to be built from alterand's: a mixin
that answers this instead — and both of those seal it that way — leaves alterand neither evolved nor disposed,
with nothing to signal it.
Traits that only shape apply are safe to mix in, since they leave the continuation to the alterator itself:
SafeStage and Fruitful are both used that way here (see h8io.stages.operators.Safe and
h8io.stages.operators.Lift).
- S
the concrete type of the wrapped stage (covariant)
- I
the input type (contravariant)
- O
the output type (covariant)
- E
the error type (covariant)
- Alphabetic
- By Inheritance
- Alterator
- Stage
- Function1
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def alterand: S
The wrapped stage whose behavior is modified by this operator.
- abstract def apply(in: I): Yield[I, O, E]
Processes
inand returns the Yield carrying the optional output, the status and the continuation. - abstract def skip(): Evolution[I, O, E]
Returns this stage's Evolution without consuming an input.
Returns this stage's Evolution without consuming an input.
Called instead of
applywhenever the stage takes part in a run but has nothing to process: the upstream yielded no output, or a binary operator excluded this branch. The evolution must be the one the stage would have returned had it run. Likeapply,skip()may perform side effects — a decorator, for instance, may advance or release the inner stage it owns.- Definition Classes
- Stage
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def andThen[A](g: (Yield[I, O, E]) => A): (I) => A
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def compose[A](g: (A) => I): (A) => Yield[I, O, E]
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Function1 → AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def ~>[_O, _E >: E](that: Stage[O, _O, _E]): Stage[I, _O, _E]
Composes this stage with
that, feeding this stage's output into it.Composes this stage with
that, feeding this stage's output into it. See the Composition section above for what happens when there is no output to feed.- Definition Classes
- Stage
- Annotations
- @inline()
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)