h8io.stages.operators.And
See theAnd companion object
final case class And [- I , + LO , + RO , + E ](left : Stage [I , LO , E ], right : Stage [I , RO , E ]) extends BaseBinaryOperator [I , LO , RO , (LO , RO ), E ]
A binary operator that applies left and right to the same input sequentially, producing a tuple of both outputs when both succeed.
The evaluation is short-circuit on the left side:
If left yields h8io.stages.Yield.Some, right is applied to the same input.
If right also yields Some, the result is Yield.Some((leftOut, rightOut), ...).
If right yields None, the result is Yield.None(mergedStatus, ...).
If left yields h8io.stages.Yield.None, right is not applied and the result is Yield.None(leftStatus, ...).
Statuses from both sides are merged with combine.
Type parameters
E
the error type (covariant)
I
the shared input type (contravariant)
LO
the left output type (covariant)
RO
the right output type (covariant)
Value parameters
left
the first stage to apply
right
the second stage to apply when left succeeds
Attributes
Companion
object
Graph
Reset zoom Hide graph Show graph
Supertypes
trait Serializable
trait Product
trait Equals
trait
Stage [
I , (
LO ,
RO ),
E ]
trait
I => Yield [
I , (
LO ,
RO ),
E ]
class Object
trait Matchable
class Any
Show all
Members list
Processes in and returns the Yield carrying the optional output, the status and the continuation.
Processes in and returns the Yield carrying the optional output, the status and the continuation.
A stage that throws from here must have released its own resources first — see the ''Lifecycle'' section above.
Attributes
Definition Classes
Returns this stage's Evolution without consuming an input.
Returns this stage's Evolution without consuming an input.
Called instead of apply whenever 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. Like apply, skip() may perform side effects — a decorator, for instance, may advance or release the inner stage it owns.
Attributes
Definition Classes
Composes two instances of Function1 in a new Function1, with this function applied first.
Composes two instances of Function1 in a new Function1, with this function applied first.
Type parameters
A
the result type of function g
Value parameters
g
a function R => A
Attributes
Returns
a new function f such that f(x) == g(apply(x))
Inherited from:
Function1
Composes two instances of Function1 in a new Function1, with this function applied last.
Composes two instances of Function1 in a new Function1, with this function applied last.
Type parameters
A
the type to which function g can be applied
Value parameters
g
a function A => T1
Attributes
Returns
a new function f such that f(x) == apply(g(x))
Inherited from:
Function1
An iterator over the names of all the elements of this product.
An iterator over the names of all the elements of this product.
Attributes
Inherited from:
Product
An iterator over all the elements of this product.
An iterator over all the elements of this product.
Attributes
Returns
in the default implementation, an Iterator[Any]
Inherited from:
Product
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
Attributes
Returns
a string representation of the object.
Definition Classes
Function1 -> Any
Inherited from:
Function1
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.
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.
Attributes
Inherited from:
Stage