pub struct Zip3<S1: Stream<Item = T1>, S2: Stream<Item = T2>, S3: Stream<Item = T3>, T1, T2, T3> { /* private fields */ }
Implementations§
Trait Implementations§
Source§impl<S1: Stream<Item = T1>, S2: Stream<Item = T2>, S3: Stream<Item = T3>, T1, T2, T3> FusedStream for Zip3<S1, S2, S3, T1, T2, T3>
impl<S1: Stream<Item = T1>, S2: Stream<Item = T2>, S3: Stream<Item = T3>, T1, T2, T3> FusedStream for Zip3<S1, S2, S3, T1, T2, T3>
Source§fn is_terminated(&self) -> bool
fn is_terminated(&self) -> bool
Returns
true
if the stream should no longer be polled.Source§impl<S1: Stream<Item = T1>, S2: Stream<Item = T2>, S3: Stream<Item = T3>, T1, T2, T3> Stream for Zip3<S1, S2, S3, T1, T2, T3>
impl<S1: Stream<Item = T1>, S2: Stream<Item = T2>, S3: Stream<Item = T3>, T1, T2, T3> Stream for Zip3<S1, S2, S3, T1, T2, T3>
Source§type Item = (T1, T2, T3)
type Item = (T1, T2, T3)
Values yielded by the stream.
impl<'__pin, S1: Stream<Item = T1>, S2: Stream<Item = T2>, S3: Stream<Item = T3>, T1, T2, T3> Unpin for Zip3<S1, S2, S3, T1, T2, T3>where
PinnedFieldsOf<__Origin<'__pin, S1, S2, S3, T1, T2, T3>>: Unpin,
Auto Trait Implementations§
impl<S1, S2, S3, T1, T2, T3> Freeze for Zip3<S1, S2, S3, T1, T2, T3>
impl<S1, S2, S3, T1, T2, T3> RefUnwindSafe for Zip3<S1, S2, S3, T1, T2, T3>where
S1: RefUnwindSafe,
T1: RefUnwindSafe,
S2: RefUnwindSafe,
T2: RefUnwindSafe,
S3: RefUnwindSafe,
T3: RefUnwindSafe,
impl<S1, S2, S3, T1, T2, T3> Send for Zip3<S1, S2, S3, T1, T2, T3>
impl<S1, S2, S3, T1, T2, T3> Sync for Zip3<S1, S2, S3, T1, T2, T3>
impl<S1, S2, S3, T1, T2, T3> UnwindSafe for Zip3<S1, S2, S3, T1, T2, T3>where
S1: UnwindSafe,
T1: UnwindSafe,
S2: UnwindSafe,
T2: UnwindSafe,
S3: UnwindSafe,
T3: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> RxExt for T
impl<T> RxExt for T
Source§fn race<S: Stream<Item = Self::Item>>(
self,
other: S,
) -> Race<Self, S, Self::Item>where
Self: Sized,
fn race<S: Stream<Item = Self::Item>>(
self,
other: S,
) -> Race<Self, S, Self::Item>where
Self: Sized,
Starts polling itself as well as the provided other
Stream
.
The first one to emit an event “wins” and proceeds to emit all its next events.
The “loser” is discarded and will not be polled further. Read moreSource§fn start_with<I: IntoIterator<Item = Self::Item>>(
self,
iter: I,
) -> StartWith<Self>where
Self: Sized,
fn start_with<I: IntoIterator<Item = Self::Item>>(
self,
iter: I,
) -> StartWith<Self>where
Self: Sized,
Precedes all emitted events with the items of an iter. Read more
Source§fn end_with<I: IntoIterator<Item = Self::Item>>(self, iter: I) -> EndWith<Self>where
Self: Sized,
fn end_with<I: IntoIterator<Item = Self::Item>>(self, iter: I) -> EndWith<Self>where
Self: Sized,
Follows all emitted events with the items of an iter. Read more
Transforms a
Stream
into a broadcast one, which can be subscribed to more than once, after cloning the shared version. Read moreTransforms a
Stream
into a broadcast one, which can be subscribed to more than once, after cloning the shared version. Read moreTransforms a
Stream
into a broadcast one, which can be subscribed to more than once, after cloning the shared version. Read moreSource§fn switch_map<S: Stream, F: FnMut(Self::Item) -> S>(
self,
f: F,
) -> SwitchMap<Self, S, F>where
Self: Sized,
fn switch_map<S: Stream, F: FnMut(Self::Item) -> S>(
self,
f: F,
) -> SwitchMap<Self, S, F>where
Self: Sized,
Like
flat_map
, except that switched Stream
is interrupted when the parent Stream
emits a next event. Read moreSource§fn pairwise(self) -> Pairwise<Self>where
Self: Sized,
fn pairwise(self) -> Pairwise<Self>where
Self: Sized,
Emits pairs of the previous and next events as a tuple. Read more
Source§fn debounce<Fut: Future, F: Fn(&Self::Item) -> Fut>(
self,
f: F,
) -> Debounce<Self, Fut, F>where
Self: Sized,
fn debounce<Fut: Future, F: Fn(&Self::Item) -> Fut>(
self,
f: F,
) -> Debounce<Self, Fut, F>where
Self: Sized,
Delays events using a debounce time window.
The event will emit when this window closes and when no other event
was emitted while this window was open. Read more
Source§fn throttle<Fut: Future, F: Fn(&Self::Item) -> Fut>(
self,
f: F,
) -> Throttle<Self, Fut, F>where
Self: Sized,
fn throttle<Fut: Future, F: Fn(&Self::Item) -> Fut>(
self,
f: F,
) -> Throttle<Self, Fut, F>where
Self: Sized,
Creates a new interval from the closure, whenever a new event is emitted from the parent
Stream
.
This event is immediately emitted, however for as long as the interval is now open, no
subsequent events will be emitted. Read moreSource§fn buffer<Fut: Future<Output = bool>, F: Fn(&Self::Item, usize) -> Fut>(
self,
f: F,
) -> Buffer<Self, Fut, F>where
Self: Sized,
fn buffer<Fut: Future<Output = bool>, F: Fn(&Self::Item, usize) -> Fut>(
self,
f: F,
) -> Buffer<Self, Fut, F>where
Self: Sized,
Creates chunks of buffered data. Read more
Source§fn window<Fut: Future<Output = bool>, F: Fn(&Self::Item, usize) -> Fut>(
self,
f: F,
) -> Window<Self, Fut, F>where
Self: Sized,
fn window<Fut: Future<Output = bool>, F: Fn(&Self::Item, usize) -> Fut>(
self,
f: F,
) -> Window<Self, Fut, F>where
Self: Sized,
Creates chunks of buffered data as new
Stream
s. Read moreSource§fn distinct(self) -> Distinct<Self>
fn distinct(self) -> Distinct<Self>
Ensures that all emitted events are unique.
Events are required to implement
Hash
. Read moreSource§fn distinct_until_changed(self) -> DistinctUntilChanged<Self>
fn distinct_until_changed(self) -> DistinctUntilChanged<Self>
Ensures that all emitted events are unique within immediate sequence.
Events are required to implement
Hash
. Read moreSource§fn materialize(self) -> Materialize<Self>where
Self: Sized,
fn materialize(self) -> Materialize<Self>where
Self: Sized,
Converts all events of a
Stream
into Notification
events.
When the Stream
is done, it will first emit a final Notification::Complete
event. Read moreSource§fn dematerialize<T>(self) -> Dematerialize<Self, T>
fn dematerialize<T>(self) -> Dematerialize<Self, T>
The inverse of materialize.
Use this transformer to translate a
Stream
emitting Notification
events back
into a Stream
emitting original events. Read moreSource§fn delay<Fut: Future, F: Fn() -> Fut>(self, f: F) -> Delay<Self, Fut, F>where
Self: Sized,
fn delay<Fut: Future, F: Fn() -> Fut>(self, f: F) -> Delay<Self, Fut, F>where
Self: Sized,
Delays emitting events using an initial time window, provided by a closure. Read more
Source§fn with_latest_from<S: Stream>(
self,
stream: S,
) -> CombineLatest2<Self, S, Self::Item, S::Item>
fn with_latest_from<S: Stream>( self, stream: S, ) -> CombineLatest2<Self, S, Self::Item, S::Item>
Acts just like a
CombineLatest2
, where every next event is a tuple pair
containing the last emitted events from both Stream
s. Read moreSource§impl<T> StreamExt for T
impl<T> StreamExt for T
Source§fn next(&mut self) -> Next<'_, Self>where
Self: Unpin,
fn next(&mut self) -> Next<'_, Self>where
Self: Unpin,
Creates a future that resolves to the next item in the stream. Read more
Source§fn into_future(self) -> StreamFuture<Self>
fn into_future(self) -> StreamFuture<Self>
Source§fn map<T, F>(self, f: F) -> Map<Self, F>
fn map<T, F>(self, f: F) -> Map<Self, F>
Maps this stream’s items to a different type, returning a new stream of
the resulting type. Read more
Source§fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
Creates a stream which gives the current iteration count as well as
the next value. Read more
Source§fn filter<Fut, F>(self, f: F) -> Filter<Self, Fut, F>
fn filter<Fut, F>(self, f: F) -> Filter<Self, Fut, F>
Filters the values produced by this stream according to the provided
asynchronous predicate. Read more
Source§fn filter_map<Fut, T, F>(self, f: F) -> FilterMap<Self, Fut, F>
fn filter_map<Fut, T, F>(self, f: F) -> FilterMap<Self, Fut, F>
Filters the values produced by this stream while simultaneously mapping
them to a different type according to the provided asynchronous closure. Read more
Source§fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>
Computes from this stream’s items new items of a different type using
an asynchronous closure. Read more
Source§fn collect<C>(self) -> Collect<Self, C>
fn collect<C>(self) -> Collect<Self, C>
Transforms a stream into a collection, returning a
future representing the result of that computation. Read more
Source§fn unzip<A, B, FromA, FromB>(self) -> Unzip<Self, FromA, FromB>
fn unzip<A, B, FromA, FromB>(self) -> Unzip<Self, FromA, FromB>
Converts a stream of pairs into a future, which
resolves to pair of containers. Read more
Source§fn concat(self) -> Concat<Self>
fn concat(self) -> Concat<Self>
Concatenate all items of a stream into a single extendable
destination, returning a future representing the end result. Read more
Source§fn count(self) -> Count<Self>where
Self: Sized,
fn count(self) -> Count<Self>where
Self: Sized,
Drives the stream to completion, counting the number of items. Read more
Source§fn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F>
fn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F>
Execute an accumulating asynchronous computation over a stream,
collecting all the values into one final result. Read more
Source§fn any<Fut, F>(self, f: F) -> Any<Self, Fut, F>
fn any<Fut, F>(self, f: F) -> Any<Self, Fut, F>
Execute predicate over asynchronous stream, and return
true
if any element in stream satisfied a predicate. Read moreSource§fn all<Fut, F>(self, f: F) -> All<Self, Fut, F>
fn all<Fut, F>(self, f: F) -> All<Self, Fut, F>
Execute predicate over asynchronous stream, and return
true
if all element in stream satisfied a predicate. Read moreSource§fn flatten(self) -> Flatten<Self>
fn flatten(self) -> Flatten<Self>
Flattens a stream of streams into just one continuous stream. Read more
Source§fn flatten_unordered(
self,
limit: impl Into<Option<usize>>,
) -> FlattenUnorderedWithFlowController<Self, ()>
fn flatten_unordered( self, limit: impl Into<Option<usize>>, ) -> FlattenUnorderedWithFlowController<Self, ()>
Flattens a stream of streams into just one continuous stream. Polls
inner streams produced by the base stream concurrently. Read more
Source§fn flat_map_unordered<U, F>(
self,
limit: impl Into<Option<usize>>,
f: F,
) -> FlatMapUnordered<Self, U, F>
fn flat_map_unordered<U, F>( self, limit: impl Into<Option<usize>>, f: F, ) -> FlatMapUnordered<Self, U, F>
Maps a stream like
StreamExt::map
but flattens nested Stream
s
and polls them concurrently, yielding items in any order, as they made
available. Read moreSource§fn scan<S, B, Fut, F>(self, initial_state: S, f: F) -> Scan<Self, S, Fut, F>
fn scan<S, B, Fut, F>(self, initial_state: S, f: F) -> Scan<Self, S, Fut, F>
Combinator similar to
StreamExt::fold
that holds internal state
and produces a new stream. Read moreSource§fn skip_while<Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F>
fn skip_while<Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F>
Skip elements on this stream while the provided asynchronous predicate
resolves to
true
. Read moreSource§fn take_while<Fut, F>(self, f: F) -> TakeWhile<Self, Fut, F>
fn take_while<Fut, F>(self, f: F) -> TakeWhile<Self, Fut, F>
Take elements from this stream while the provided asynchronous predicate
resolves to
true
. Read moreSource§fn take_until<Fut>(self, fut: Fut) -> TakeUntil<Self, Fut>
fn take_until<Fut>(self, fut: Fut) -> TakeUntil<Self, Fut>
Take elements from this stream until the provided future resolves. Read more
Source§fn for_each<Fut, F>(self, f: F) -> ForEach<Self, Fut, F>
fn for_each<Fut, F>(self, f: F) -> ForEach<Self, Fut, F>
Runs this stream to completion, executing the provided asynchronous
closure for each element on the stream. Read more
Source§fn for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F,
) -> ForEachConcurrent<Self, Fut, F>
fn for_each_concurrent<Fut, F>( self, limit: impl Into<Option<usize>>, f: F, ) -> ForEachConcurrent<Self, Fut, F>
Runs this stream to completion, executing the provided asynchronous
closure for each element on the stream concurrently as elements become
available. Read more
Source§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
Creates a new stream of at most
n
items of the underlying stream. Read moreSource§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Creates a new stream which skips
n
items of the underlying stream. Read moreSource§fn catch_unwind(self) -> CatchUnwind<Self>where
Self: Sized + UnwindSafe,
fn catch_unwind(self) -> CatchUnwind<Self>where
Self: Sized + UnwindSafe,
Catches unwinding panics while polling the stream. Read more
Source§fn boxed<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + Send + 'a>>
fn boxed<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + Send + 'a>>
Wrap the stream in a Box, pinning it. Read more
Source§fn boxed_local<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a>>where
Self: Sized + 'a,
fn boxed_local<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a>>where
Self: Sized + 'a,
Wrap the stream in a Box, pinning it. Read more
Source§fn buffered(self, n: usize) -> Buffered<Self>
fn buffered(self, n: usize) -> Buffered<Self>
An adaptor for creating a buffered list of pending futures. Read more
Source§fn buffer_unordered(self, n: usize) -> BufferUnordered<Self>
fn buffer_unordered(self, n: usize) -> BufferUnordered<Self>
An adaptor for creating a buffered list of pending futures (unordered). Read more
Source§fn zip<St>(self, other: St) -> Zip<Self, St>
fn zip<St>(self, other: St) -> Zip<Self, St>
An adapter for zipping two streams together. Read more
Source§fn peekable(self) -> Peekable<Self>where
Self: Sized,
fn peekable(self) -> Peekable<Self>where
Self: Sized,
Creates a new stream which exposes a
peek
method. Read moreSource§fn chunks(self, capacity: usize) -> Chunks<Self>where
Self: Sized,
fn chunks(self, capacity: usize) -> Chunks<Self>where
Self: Sized,
An adaptor for chunking up items of the stream inside a vector. Read more
Source§fn ready_chunks(self, capacity: usize) -> ReadyChunks<Self>where
Self: Sized,
fn ready_chunks(self, capacity: usize) -> ReadyChunks<Self>where
Self: Sized,
An adaptor for chunking up ready items of the stream inside a vector. Read more
Source§fn forward<S>(self, sink: S) -> Forward<Self, S>
fn forward<S>(self, sink: S) -> Forward<Self, S>
A future that completes after the given stream has been fully processed
into the sink and the sink has been flushed and closed. Read more
Source§fn split<Item>(self) -> (SplitSink<Self, Item>, SplitStream<Self>)
fn split<Item>(self) -> (SplitSink<Self, Item>, SplitStream<Self>)
Source§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Do something with each item of this stream, afterwards passing it on. Read more
Source§fn left_stream<B>(self) -> Either<Self, B>
fn left_stream<B>(self) -> Either<Self, B>
Source§fn right_stream<B>(self) -> Either<B, Self>
fn right_stream<B>(self) -> Either<B, Self>
Source§fn poll_next_unpin(&mut self, cx: &mut Context<'_>) -> Poll<Option<Self::Item>>where
Self: Unpin,
fn poll_next_unpin(&mut self, cx: &mut Context<'_>) -> Poll<Option<Self::Item>>where
Self: Unpin,
A convenience method for calling
Stream::poll_next
on Unpin
stream types.