pub trait Boundedness:
SingletonBound<UnderlyingBound = Self>
+ KeyedSingletonBound<UnderlyingBound = Self>
+ OptionalBound<UnderlyingBound = Self>
+ Sealed {
type AggregatedOptional: OptionalBound<UnderlyingBound = Self>;
type PreserveOrderIfBounded<InO: Ordering>: Ordering;
const BOUNDED: bool;
const BOUND_KIND: BoundKind = _;
}Expand description
A marker trait indicating whether a stream’s length is bounded (finite) or unbounded (potentially infinite).
Implementors of this trait use it to signal the boundedness property of a stream.
Required Associated Constants§
Provided Associated Constants§
Sourceconst BOUND_KIND: BoundKind = _
const BOUND_KIND: BoundKind = _
The BoundKind corresponding to this type.
Required Associated Types§
Sourcetype AggregatedOptional: OptionalBound<UnderlyingBound = Self>
type AggregatedOptional: OptionalBound<UnderlyingBound = Self>
The OptionalBound of an optional produced by aggregating a stream with this
boundedness (e.g. reduce/max/min/first/last).
A Bounded stream yields a Bounded optional. An Unbounded stream yields an
InitNone optional: such an aggregation is materialized at a top-level location where
its state persists across ticks, so once the first element arrives the result becomes
non-null and stays non-null (its value may still change).
Sourcetype PreserveOrderIfBounded<InO: Ordering>: Ordering
type PreserveOrderIfBounded<InO: Ordering>: Ordering
Determines the output ordering of a join based on this (right/build) side’s boundedness.
When this side is Bounded, the join accumulates this side first and then
streams the left side through, preserving the left side’s ordering InO.
When this side is Unbounded, a symmetric hash join is used and ordering is lost.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".