Interface
IPropagatable<TSelf, TOutput, TResidual>
interface IPropagatable<TSelf, TOutput, TResidual>
Namespace: System
Assembly: Raven.Core.dll
Source file: Propagation.rvn
Inheritance: object → IPropagatable<TSelf, TOutput, TResidual>
Defines the protocol used by Raven's postfix propagation operator (?).
A propagatable type exposes its successful output and residual channels
without requiring the compiler to know its concrete representation. The
enclosing return type uses FromResidual to reconstruct an early return.
Type parameters
| Name | Description |
|---|---|
TSelf |
The concrete carrier type. |
TOutput |
The value produced when propagation continues. |
TResidual |
The value carried when propagation returns early. |
Methods
3 items
static func FromResidual(residual: TResidual) -> TSelf
Constructs this carrier from a residual propagated by another carrier.
func TryGetOutput(out output: TOutput) -> bool
Attempts to extract the value on the continuing path.
func TryGetResidual(out residual: TResidual) -> bool
Attempts to extract the value on the early-return path.