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. |
Implementing types
Documented types in this API reference. Indirect relationships are marked.
Methods
7 items
Equals(obj: object?) -> bool
Determines whether the specified object is equal to the current object.
Inherited from Object.Equals
Static member:
FromResidual(residual: TResidual) -> TSelf
Constructs this carrier from a residual propagated by another carrier.
Defined by IPropagatable<TSelf, TOutput, TResidual>.FromResidual · Required implementation (no default).
GetHashCode() -> int
Serves as the default hash function.
Inherited from Object.GetHashCode
GetType() -> Type
Gets the System.Type of the current instance.
Inherited from Object.GetType
ToString() -> string?
Returns a string that represents the current object.
Inherited from Object.ToString
TryGetOutput(output: out TOutput) -> bool
Attempts to extract the value on the continuing path.
Defined by IPropagatable<TSelf, TOutput, TResidual>.TryGetOutput · Required implementation (no default).
TryGetResidual(residual: out TResidual) -> bool
Attempts to extract the value on the early-return path.
Defined by IPropagatable<TSelf, TOutput, TResidual>.TryGetResidual · Required implementation (no default).
Operators
1 item
Static extension member:
implicit conversion<T>(value: IPropagatable<TSelf, TOutput, TResidual>?) -> Optional<IPropagatable<TSelf, TOutput, TResidual>>
Converts a nullable reference to `Some`, or to `None` when it is `null`.
Extension from OptionalExtensions1<T>.op_Implicit