A binary operator that applies two stages independently to the same input and combines their outputs into a cats.data.Ior (inclusive-or).
All four combinations of left/right presence are handled:
| Left result | Right result | Output |
|---|---|---|
Yield.Some |
Yield.Some |
Ior.Both(l, r) |
Yield.Some |
Yield.None |
Ior.Left(l) |
Yield.None |
Yield.Some |
Ior.Right(r) |
Yield.None |
Yield.None |
Yield.None |
Unlike h8io.stages.operators.And (which skips right when left yields no output) and h8io.stages.operators.Or (which skips right when left yields one), IOr always applies both stages, making it the inclusive variant.
Statuses from both stages are merged with combine. The evolution pairs corresponding branches symmetrically (like h8io.stages.operators.IAnd).
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 stage producing the left side of the
Ior - right
-
the stage producing the right side of the
Ior
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any